How can we better handle multiple versions of the documentation for a project?
Nobody has claimed this yet.
- Dominant language
- Dockerfile
- Stars
- 600
- Forks
- 158
- Avg merge
- 16h 8m
- Merged PRs (30d)
- 21
Description
I'm currently maintaining two distinct versions of NUnit Console andEngine. The 4.0 is up to alpha 6 with lots of usage. My documentation is only for differences and is found here: https://github.com/nunit/nunit-console/wiki. My original plan was to completely revise the documentation when 4.0 is released, using the wiki pages as a guide.
This no longer sounds so good. The changes in 4.0 are extensive, many of them breaking. It would probably take me a week or two to completely redo the docs for the new release, leaving users without documentation for that period. In addition, the 3.x docs, needed by users who don't upgrade to 4.0, would become unavailable.
It seems to me that this is a general problem, although my particular case is extreme due to the breaking changes. Even minor releases call for documentation of new features, which is usually postponed because it would confuse users to post documentation for an unreleased feature. Nevertheless, by creating -dev releases, we gave given rise to a community of users of exactly those features.
It seems to me that we need some way to allow for at least two and up to three different sets of docs.
- The current stable release, which is now on the website.
- In cases where a release, perhaps a major release, is under development for a long time with alpha or beta releases, the latest pre-release.
- The latest dev release, representing the current state of master or main.
Questions that come to mind...
- Where do we want ll of these? In the docs repo? Should some of them in the individual repos?
- How can we set things up so that we can very quickly promote a release from one level to the next?
- Do we want to retain a copy of the last previous stable release somewhere? If so, where and for what types of upgrades?
I'll be glad to work on the implementation of this for the console project, if we can agree on an overall approach.
I do have some tentative answers to some of my questions but I'll hold them till others have had a chance to react.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the docs repository and the NUnit Console wiki linked in the issue, then compare the needs of stable, pre-release, and development documentation. Done would require an agreed versioning and promotion approach, including where each documentation set is hosted and how previous stable docs are retained.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation, release
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100