Not sure yet! But some ideas are starting to crystalize… curious to hear what folks think!
My main focus with what I did last night was to a) copy and update all the “hosting” related documentation into the farmOS 2.x branch, and b) review and outline what other pages/sections are currently on farmOS.org that will need a new home…
There are a few different goals/interests here… all very interrelated, and I’m trying to think about them with an eye towards incremental rollout. They are:
- Making it easy to “start fresh” on a redesigned “community portal”.
- Ensuring that 1.x and 2.x docs are available/accessible to those who need them.
- Preserving history.
The path to achieving all of these (incrementally) is starting to fall together in my mind… and hopefully it compliments the ideas you have for the redesign (and makes it easier)!
Regarding #1 (“making it easy to start fresh”) - wouldn’t it be nice to start a brand new
main branch for the new farmOS.org site from scratch, without any shared history or baggage from the existing
7.x-1.x branch? We could start fresh with a nice homepage, and pick and choose which pages/sections from the old branch make sense to keep (and would have some liberty to adapt them). This would mainly include the general community pages/sections, I think (eg:
docs/donate.md, etc). But we could leave behind anything that is really specific to 1.x or 2.x of farmOS…
… which leads into #2 (“ensuring that 1.x and 2.x docs are available”).
As a first step, 2.x docs are going to be available at https://docs.farmOS.org (previously https://2x.farmOS.org). This is built directly from the
/docs directory of the farmOS 2.x branch, so it can be maintained and updated alongside farmOS itself as it changes. So that covers “making 2.x docs accessible”… (as an incremental step, at least)
As for 1.x docs, I think that’s still an open question in my mind… do we create a new https://1x.farmOS.org as a “snapshot” of the current farmOS.org repo’s
7.x-1.x branch? Maybe we remove a bunch of the misc content, so it’s just the user guide and hosting info (assuming everything else gets recreated in the new portal or ported to farmOS 2.x)? And add a message to the effect of “this is for the OLD version of farmOS, click here for latest docs”? That could be an easy way to have an “archival” 1.x docs site, when 2.x becomes the officially recommended version. And this could be done incrementally if the redesign comes together before 2.x as well, I think. Open to ideas on this!
In either case, one thing I would like to do (which shouldn’t really affect any of the above decisions), is merge the existing history of the farmOS.org
7.x-1.x branch into the farmOS
2.x branch, in the same way that I will be doing with the
7.x-1.x branch of farmOS itself. And to be clear, by “merge” I mean the following:
# Perform final merge of 7.x-1.x into the current branch using the "ours" # strategy to discard all changes from 7.x-1.x. This serves to indicate # that 7.x-1.x has been incorporated into the new main line, thus preserving # its full history, commit counts, contributor/author info, etc. git merge -s ours --allow-unrelated-histories origin/7.x-1.x
That’s what these two issues are for, specifically:
- Consider merging 7.x-1.x documentation into farmOS repository · Issue #22 · farmOS/farmOS.org · GitHub
The reason to do this is to achieve #3 (“preservation of history”). I see these two
7.x-1.x branches as legacies of farmOS’s past, and are valuable to preserve in their own right, even though they will no longer be maintained. By merging them both into the
2.x branch of farmOS itself, we preserve them in the core Git tree, and we also get the benefit of including all the contributors to farmOS.org in the farmOS GitHub contribution summaries - which is good for a lot of reasons, IMO. It serves to celebrate everyone that has contributed to farmOS and farmOS.org during the 1.x life-cycle, while at the same time creating a nice clean break and redefining farmOS.org’s new role moving forward (the new “community portal”!)
I made a quick whiteboard sketch to try to convey how this looks from a high level in my mind:
- The RED “farmOS 2.x” represents the 2.x branch of farmOS - It will become the new default branch.
- The GREEN “farmOS 7.x-1.x” represents the 7.x-1.x branch of farmOS - When it comes time to make 2.x the default branch, it will be merged into 2.x. But notice that I did leave a little green line coming off of it, which represents some minimal support for dependency/security updates for folks still on 1.x (TBD how long we support that).
- The MAGENTA “farmOS.org 7.x-1.x” represents the 7.x-1.x branch of farmOS.org - This can be merged into 2.x at the same time as the GREEN merge. We could potentially DELETE this branch from the farmOS.org repository at that point. But perhaps we have another little magenta line coming off of that that represents the “archival 1.x docs” that I described above (or we create a new repo for that in the legacy GitHub organization).
- The MAGENTA “farmOS.org main” represents a proposed NEW branch of the farmOS.org repository, which is a clean start (notice how it does not branch off of the 7.x-1.x line, but starts as a new branch with a unique history and initial commit).
What do y’all think?