Open jduckles opened 7 years ago
Here are some resources to consider (the current release process that relies on github for hosting):
For point 3., maybe the same principle as the one use in the release could be used:
I think this could be a good solution, and is related to this thread that we've had going on for awhile. https://github.com/datacarpentry/R-ecology-lesson/issues/154
I recommend to make the language a first class citizen on this proposal because (1) it shows to our community that we care about localisation and (2) avoid the need to redirect in the future. For example,
-
https://lessons.carpentries.org/https://lessons.carpentries.org/<carpentry>/<language_code>/<lesson_name>/
redirects to https://lessons.carpentries.org/<carpentry>/<language_code>/<lesson_name>/latest/
;https://lessons.carpentries.org/<carpentry>/<language_code>/<lesson_name>/<version>
returns the home page of <lesson_name>
in <language_code>
when <version>
is one of the following
YYYY-MM
, where YYYY
is the year of release and MM
is the month of release;latest
, a alias for the latest release (this is the same name used by Read the Docs);dev
, a alias for the version stored on GitHub Pages server (this is a special case where we will redirect users).One thing that might need to be considered.
For the current releases, YYYY.MM
is used (with a .
instead of -
), like Ubuntu but making the year more explicit:
@twitwi you win .
While I know we love living on the development branch 😬 for our lessons, I've been chewing on an idea to better streamline how we build and maintain the web presence for core lessons.
Background
We currently leverage GitHub Pages to build both development and production lessons. In fact we don't really make a distinction between development and production. This can cause problems, such as:
Proposal
Summary: Unify URL scheme for lessons, old and new on a single static content server. Move to a release model where the most recently released version of a lesson is the one we recommend teaching from. GitHub pages hosted versions of the lessons become the development versions of the lessons (and should have visual controls when rendered that note them as such).
The official location for lessons becomes a URL of the form:
Where
<carpentry>
would be one if[swc,dc]
and<lesson_name>
is just the underlying repository's name.<version>
would be the tagged release version with special version aliases ofcurrent
anddev
to point to the most-recent tagged release andgh-pages
branches respectively.We could optionally manage language translations using the two-letter language code added to the the proposed URL scheme.
Actions required
dev
,current
aliases to appropriate folders on the static hostdev
andold
versions that note them as not the currently official lesson (with a link to the current version).I think this proposal should allow us to keep the status quo https://swcarpentry.github.io URL scheme for now, but move to preferring https://lessons.carpentries.org for release tagged versions of the lessons.
What am I missing in terms of unintended consequences or gottchas this kind of change might have?
Once we've gone through a bit of discussion, I'll experiment with making a script to do 1 & 2 but I could use help with ideas for how to best do 3.
@tracykteal @k8hertweck @rgaiacs