Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Curate Trainings #672

Closed
19 tasks done
stevepiercy opened this issue Oct 16, 2022 · 38 comments
Closed
19 tasks done

Curate Trainings #672

stevepiercy opened this issue Oct 16, 2022 · 38 comments
Assignees
Milestone

Comments

@stevepiercy
Copy link
Contributor

stevepiercy commented Oct 16, 2022

We have several outdated, unmaintained, and unsupported trainings. We need to curate them. @polyester, @pbauer, @ksuess, and I discussed how to proceed. We should notify Authors to update their trainings, and let Authors know of their planned status. Here's the suggested plan in sequence.

Communication

Deployment of archive

  • Identify where https://training.plone.org/5/ exists on the server:
    • /var/www/training.plone.org/5/
  • Upgrade Sphinx Book Theme to the latest version. This release includes features for a banner announcement and dark mode. See Add dark mode #533
  • On March 31, 2023, or soon thereafter, create a new branch 2022 for the archived trainings. Updates to that branch may continue to be deployed.
  • Set up an auto-deploy of the branch 2022 to /var/www/2022.training.plone.org/ on the server.
  • Set up a permanent redirect 301 from /5/* to 2022.training.plone.org/* to remove indexing of /5/ and use 2022.training.plone.org instead.
  • Clean up configuration and links for 2022 archive #756.
  • Delete /var/www/training.plone.org/5/ from the server.

Deployment of main

  • main continues to be the current branch to be automatically deployed always and forever to https://training.plone.org/.
  • Remove the archived trainings from main, retaining only the current trainings. Archive trainings #757
  • On the home page of training.plone.org, mention historic trainings by year. Archive trainings #757

Annual deployment

  • Every year, by December 1, create a new branch for that current year and create a permanent snapshot under that year's URL. For example, only the trainings that were conducted during 2023 would appear in the 2023 branch and under the URL /2023/.

@pbauer @ksuess @polyester @spereverde @fredvd please let me know if this sounds reasonable or if I missed anything.

@stevepiercy stevepiercy added this to the Plone 6.0 milestone Oct 16, 2022
@stevepiercy stevepiercy self-assigned this Oct 16, 2022
@stevepiercy stevepiercy moved this from New to In Progress in Release Plone 6 docs Oct 16, 2022
@stevepiercy
Copy link
Contributor Author

@plone/documentation-team @plone/training-authors @plone/training-team @pbauer @ksuess @spereverde would y'all please review the spreadsheet (https://docs.google.com/spreadsheets/d/1Wmg03uXD3fIRYz33xPFnzaFbLYdxjhKq10NAKDswFxg/edit#gid=0) and let me know whether the information is correct, especially whether or not to retain or archive each of the trainings that is currently published?

I will create a post to the Community Forum this week to announce archival of old trainings for transparency.

Thank you!

@stevepiercy
Copy link
Contributor Author

It's time to try to clean up the Trainings once again. @fredvd said I will be granted access to the machines that host Training and Documentation so that I can manage these things. However we need to make sure I know any history that should be preserved.

@pbauer @ksuess @polyester @spereverde @fredvd @ericof please review the above plan and linked spreadsheet, and let me know if there is anything that should be changed or considered. Thank you!

@ksuess
Copy link
Member

ksuess commented Mar 8, 2023

https://training.plone.org/volto/index.html is still valid. The PloneConf 2022 training "Volto and React" is as far as I know a combo of trainings "React", "Volto" and "Volto Hands-On".

@ksuess
Copy link
Member

ksuess commented Mar 8, 2023

@stevepiercy, your plan sounds reasonable to me.

@ksuess
Copy link
Member

ksuess commented Mar 8, 2023

My current and urgent problem is:
Google lists links to for example https://training.plone.org/5/mastering-plone/dexterity.html instead of https://training.plone.org/mastering-plone/dexterity.html (without '/5/')
This would not bother me if https://training.plone.org/5/ would show the same as https://training.plone.org/. But '/5/' is outdated, no clue which tag or branch or whatever this points to.

@stevepiercy
Copy link
Contributor Author

My current and urgent problem is: Google lists links to for example https://training.plone.org/5/mastering-plone/dexterity.html instead of https://training.plone.org/mastering-plone/dexterity.html (without '/5/') This would not bother me if https://training.plone.org/5/ would show the same as https://training.plone.org/. But '/5/' is outdated, no clue which tag or branch or whatever this points to.

Would a redirect permanent 301 from /5/ to /2022/ handle this satisfactorily? Or should it be to /?

@ksuess
Copy link
Member

ksuess commented Mar 8, 2023

My current and urgent problem is: Google lists links to for example https://training.plone.org/5/mastering-plone/dexterity.html instead of https://training.plone.org/mastering-plone/dexterity.html (without '/5/') This would not bother me if https://training.plone.org/5/ would show the same as https://training.plone.org/. But '/5/' is outdated, no clue which tag or branch or whatever this points to.

Would a redirect permanent 301 from /5/ to /2022/ handle this satisfactorily? Or should it be to /?

I think a redirect permanent 301 from /5/ to /2022/ would be fine, as this is the snapshot, you were speaking about. I am still curious where this /5/ code lives, as I cannot see a tag or branch for this.

The important point of my problem is, that only the main training.plone.org should be indexed and listed in search results of Google, etc.., not training.plone.org/5/ nor training.plone.org/2022/.
For this an authorized person needs insight in the web server setup. Without this insight, currently I have no clue, why Google does not already list training.plone.org/ (instead of training.plone.org/5/)
I hope I could describe it now a bit better…

@stevepiercy
Copy link
Contributor Author

The important point of my problem is, that only the main training.plone.org should be indexed and listed in search results of Google, etc.., not training.plone.org/5/ nor training.plone.org/2022/.

If you don't want them indexed, then we should delete old trainings. I don't think we want to do that. I think there is value in retaining older trainings as well as older versions of specific trainings and allowing them to be indexed. The whole purpose of using a year in the URL is to indicate to the reader that this training occurred in a given year and might not be up-to-date. We can do that with an announcement banner, which the theme supports.

Do we instead want to deploy a snapshot at a different hostname? This would be similar to Plone Documentation versions and branches. For example, should we do:

  • training.plone.org - Default and main branch
  • 2022.training.plone.org - Trainings from PloneConf 2022 (and earlier) and 2022 branch
  • 2023.training.plone.org - Trainings from PloneConf 2023 only and 2023 branch

why Google does not already list training.plone.org/ (instead of training.plone.org/5/)

Good question. I can look into the Matomo stats. I suspect that there are still a lot of external links that contain 5 in their URL. External links are a key factor for SEO ranking.

I updated the todo list at the top of this issue. Now they are logically grouped together, and I revised a few items for clarity.

@fredvd
Copy link
Member

fredvd commented Mar 9, 2023

@ksuess I had a quick chat with Paul. I forgot myself, but the redirect for both training and docs are defined in an Ansible setup we have used and are still using for the current docs.plone.org. Here they are:

"docs.plone.org":
  locations:
    - location: "~^/3/?(.*)$"
      alias: "/var/www/docs.plone.org/3/$1"
    - location: "~^/4/?(.*)$"
      alias: "/var/www/docs.plone.org/4/$1"
  rewrites:
    - "^/5/en/(.*)$ https://docs.plone.org/$1 last"
    - "^/5/en$ https://docs.plone.org last"
    - "^/5$ https://docs.plone.org last"
    - "^/4$ https://docs.plone.org/4/en last"
    - "^/3$ https://docs.plone.org/3/en last"
    - "^/reference_manuals/external/plone.api/? http://docs.plone.org/develop/plone.api/docs/index.html permanent"
    - "^/reference_manuals/external/plone.app.robotframework/? http://docs.plone.org/external/plone.app.robotframework/docs/source/index.html permanent"
    - "^/reference_manuals/external/plone.app.theming/? http://docs.plone.org/external/plone.app.theming/docs/index.html permanent"
    - "^/views/more_view_examples.html? https://docs.plone.org/develop/plone/views/more_view_examples.html permanent"
    - "^/external/plone.api(.*)$ https://docs.plone.org/develop/plone.api$1 permanent"


"training.plone.org":
  aliases: []

  locations:
    - location: "~^/5/?(.*)$"
      alias: "/var/www/training.plone.org/5/$1"
    - location: "~^/4/?(.*)$"
      alias: "/var/www/training.plone.org/4/$1"

This is what gets applied to the nginx config. (edit, I wrote apache before)

@ksuess
Copy link
Member

ksuess commented Mar 9, 2023

The important point of my problem is, that only the main training.plone.org should be indexed and listed in search results of Google, etc.., not training.plone.org/5/ nor training.plone.org/2022/.

If you don't want them indexed, then we should delete old trainings. I don't think we want to do that. I think there is value in retaining older trainings as well as older versions of specific trainings and allowing them to be indexed. The whole purpose of using a year in the URL is to indicate to the reader that this training occurred in a given year and might not be up-to-date. We can do that with an announcement banner, which the theme supports.

Do we instead want to deploy a snapshot at a different hostname? This would be similar to Plone Documentation versions and branches. For example, should we do:

* `training.plone.org` - Default and `main` branch

* `2022.training.plone.org` - Trainings from PloneConf 2022 (and earlier) and `2022` branch

* `2023.training.plone.org` - Trainings from PloneConf 2023 only and `2023` branch

why Google does not already list training.plone.org/ (instead of training.plone.org/5/)

Good question. I can look into the Matomo stats. I suspect that there are still a lot of external links that contain 5 in their URL. External links are a key factor for SEO ranking.

I updated the todo list at the top of this issue. Now they are logically grouped together, and I revised a few items for clarity.

+1 from me for all the above.

Just to be sure, that we are speaking of the same when speaking about archiving. This means deleting the training identified as outdated (-> Google sheet). They are still available under /2022/*

Your hint that obviously many external links still exist that have the form /5/** is very valuable. So if we can reduce these external links and no crazy stuff is configured, then Googling would lead me to training.plone.org/** and not training.plone.org/5/**.

:-)

@ksuess
Copy link
Member

ksuess commented Mar 9, 2023

  • location: "~^/5/?(.*)$"
    alias: "/var/www/training.plone.org/5/$1"

Thank you @fredvd, now we know where /2022/ should be deployed to.

@stevepiercy
Copy link
Contributor Author

For Matomo stats, I checked entry pages since we started collecting stats, and /5/ is not in the list. @fredvd is that the correct place in Matomo to look for where people come from?

@stevepiercy
Copy link
Contributor Author

stevepiercy commented Mar 9, 2023

Changes to plan:

Deployment of archive

Add location on server:

  • /var/www/training.plone.org/5/

This was replaced:

  • Set up an auto-deploy of the branch 2022 to the location of https://training.plone.org/5/ on the server.

...with this:

  • Set up an auto-deploy of the branch 2022 to /var/www/training.plone.org/2022/ on the server.

Added:

  • Delete /var/www/training.plone.org/5/.

@stevepiercy
Copy link
Contributor Author

Just to be sure, that we are speaking of the same when speaking about archiving. This means deleting the training identified as outdated (-> Google sheet). They are still available under /2022/*

Correct, but with a modification, per discussion. Archived trainings would be available in the branch 2022 and at the URL 2022.training.plone.org. We would remove outdated/obsolete trainings from main and training.plone.org.

Your hint that obviously many external links still exist that have the form /5/** is very valuable. So if we can reduce these external links and no crazy stuff is configured, then Googling would lead me to training.plone.org/** and not training.plone.org/5/**.

This theory has no supporting evidence, unless I misinterpreted Matomo stats. In any case a redirect permanent from 5 to 2022 should kill off 5 and we can slap an announcement banner on the page to warn users if they should happen to land there. We can also add a robots.txt to remove it from indexing, as Google is pretty good about that. I've added that to the plan:

Deployment of archive

  • Add robots.txt to 2022 so that it is no longer indexed.

@polyester
Copy link
Member

Google search dashboard would be our friend here; it's pretty good at assigning which versions of URL's are canonical.

I can probably do this, but at @work crunch this week, so can't really tend to that until the weekend

@stevepiercy
Copy link
Contributor Author

Google search dashboard would be our friend here; it's pretty good at assigning which versions of URL's are canonical.

Should I have access to this as well?

@polyester
Copy link
Member

yes, you should. Let me try to work through the horrible Google UI when it's not late at night here

@stevepiercy
Copy link
Contributor Author

@alecpm @calvinhp @cdw9 @cekk @ebrehault @ericof @fulv @jackahl @jensens @ksuess @MrTango @oz123 @pbauer @robgietema @smcmahon @sneridagh @thet @tiberiuichim @tomgross @tschorr you are an author or presenter of a Plone training. Please review the plan at the top of this issue, and reply by 2023-03-31 if you think that we should change whether your training should be archived or retained. Thank you for your collaboration!

@cdw9
Copy link
Member

cdw9 commented Mar 9, 2023

I agree Transmogrifier can be archived

@ebrehault
Copy link
Member

I agree Angular SDK for Plone can be archived.

@cekk
Copy link
Member

cekk commented Mar 10, 2023

You can archive gatsby too

@tschorr
Copy link
Contributor

tschorr commented Mar 10, 2023

I agree Deploying and Operating Plone on WSGI can be archived.

@pbauer
Copy link
Member

pbauer commented Mar 11, 2023

I agree with the plan.

@pbauer
Copy link
Member

pbauer commented Mar 11, 2023

The Plone Workflow training should be retained though since it it is still 100% valid.

There is also Use, Integrate and develop Patterns for Plone 6 Classic which is not part of the repo but should be in the list of trainings.

@stevepiercy
Copy link
Contributor Author

The Plone Workflow training should be retained though since it it is still 100% valid.

Updated to "retain".

There is also Use, Integrate and develop Patterns for Plone 6 Classic which is not part of the repo but should be in the list of trainings.

Should it be moved into this repo, not just a link to an external site? The Sphinx Book Theme, which is based on PyData Theme, might support its functionality.

Also is the training in a separate repo? I could not find it.

@ksuess
Copy link
Member

ksuess commented Mar 11, 2023

It's weekend, I know, no hurry please.

Remark: A redirect of /5/* to 2022.training.plone.org/* with a banner "this is a 2022 snapshot. See training.plone.org" gets more importance since a newby posts /5/ urls on community.plone.org, which is outdated.

@spereverde
Copy link
Member

I agree with the plan.
I'll have a better look at the spreadsheet after the weekend
Just to know, is there some place where we can still find an overview of the archived trainings if they will no longer be indexed.
I ask because sometimes they could still provide some insight for bugfixing or general "historical" info.

@tomgross
Copy link
Member

Most of the Solr training is still relevant but I have no plans to update it. If no one wants to take over it can be archived.

@stevepiercy
Copy link
Contributor Author

Remark: A redirect of /5/* to 2022.training.plone.org/* with a banner "this is a 2022 snapshot. See training.plone.org" gets more importance since a newby posts /5/ urls on community.plone.org, which is outdated.

Thanks for catching that. Updated the plan for this item:

  • Set up a permanent redirect 301 from /5/* to 2022.training.plone.org/* to remove indexing of /5/ and use 2022.training.plone.org instead.

@stevepiercy
Copy link
Contributor Author

Just to know, is there some place where we can still find an overview of the archived trainings if they will no longer be indexed.

Thank you for the reminder. It was discussed, but I forgot to include it. I have added it to the plan as this item:

  • On the home page of training.plone.org, mention historic trainings by year.

@stevepiercy
Copy link
Contributor Author

Most of the Solr training is still relevant but I have no plans to update it. If no one wants to take over it can be archived.

I think we can say this for all archived trainings: "This training may still be useful for the latest Plone versions, but it may need to be updated. We seek contributors who still use this training to update or maintain it for the latest versions." Or something to that effect.

@ksuess
Copy link
Member

ksuess commented Mar 14, 2023

You gave the trainings "React an Volto", @jackahl and @iFlameing. Is the "Volto" training superseeded by "Volto Hands-On" training? Should "Volto" training be retained or archived, what do you think?

@stevepiercy
Copy link
Contributor Author

You gave the trainings "React an Volto", @jackahl and @iFlameing. Is the "Volto" training superseeded by "Volto Hands-On" training? Should "Volto" training be retained or archived, what do you think?

During the Volto Team meeting, we confirmed the plan. Only "Volto" training will be archived, and the other three retained.

@stevepiercy
Copy link
Contributor Author

I've created PRs to update links in preparation for the cutover to archive old trainings. Some cannot be merged until we have https://2022.training.plone.org/ ready.

Next up, work on upgrading the theme to the latest versions.

@stevepiercy
Copy link
Contributor Author

Here's the preview: https://deploy-preview-752--plone-training.netlify.app/

And the PR: #752.

This theme upgrade is needed primarily to thoroughly test it for its application to Documentation and other Plone docs, but also to take advantage of features that are only available in the latest version, such as an announcement banner.

@stevepiercy
Copy link
Contributor Author

Moving forward!

I updated the todo list.

I removed the mention of creating a tag, because a branch name is adequate for this project.

I removed "Add robots.txt to 2022 so that it is no longer indexed." because we actually do want the old trainings to be indexed and searched, and it is fine to do that with the banner announcement.

@stevepiercy
Copy link
Contributor Author

This is now complete. Thank you everyone for your contributions to make this happen. 🎉 🍺

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests