Version Picker Issues on Dev Manual
Hi there,
I've noticed some confusing behavior of the version picker in the lower left corner of the dev manual.
- clicking on any link to the dev maunal on https://docs.nextcloud.com/ will open the desired version, but the version picker in the lower left corner will always say "latest" independent of the actual version. the only way to check which version you're currently reading is checking the URL. This is my main source of confusion
- In the version picker, only the last few versions are available, never the complete history back to version 12. This may not be critical, but it's still surprising IMO.
- the stable version is available only as
stablein the version picker, not through the explicit version number. At the time of writing the issue that means: In the version picker, I seelatest,stable, 31, 30, 29, but not 32. Replacingstablewith32in the url does work, however. This, too, might not be too bad at first glance, but makes permalinking harder and IMO can also make it less transparent whatstablerefers to
What I already saw is that you build the dev manual with sphinx, but didn't quite understand the configuration and how the hosting is done. In this workflow builds are run, but uploads only go to artifact-storage, no actual deployment IISC. In the sphinx config, I found
https://github.com/nextcloud/documentation/blob/96a9c541be91db2f777d90a2ba96dc290e149ccd/developer_manual/conf.py#L66-L70
which looks a bit surprising to me. The available versions apparently are defined at
https://github.com/nextcloud/documentation/blob/96a9c541be91db2f777d90a2ba96dc290e149ccd/conf.py#L50-L65
so my points 2 & 3 would likely be relatively easy to address. If you agree with my suggestions, then I'd be happy to send a PR for that. I couldn't find anything about point 1 though. If you have pointers on what'd need to be addressed, I'd also be happy to PR.
Looking forward to your reply.
Best Hinrich
PS: I chose the "blank issue" rather than the "Documentation Improvement" issue template as this is more of a meta/configuration-bug, not about the actual content. If you prefer to have the issue in the template, I'm happy to re-create.
I agreeāthese issues annoy me too! And they impact all the manuals (dev, admin, user) essentially similarly. š
I think your suspicions are āin the ballparkā (though I might be wrong as well!).
There are likely various possible solutions.
When I've looked a bit, the challenges tend to pop up in three areas:
-
URL building/mapping
-
Cross-branch matters[^1]
- Builds and deploys for different manual versions happen from within the context of the relevant branch (or version).
- i.e. configuration differences, like static version ranges/mapping embedded in
conf.py.
-
Static docs
- The distributed HTML docs (effectively static artifacts, either embedded within Nextcloud or distributed separately) may have a different perspective on what is ālatest,ā compared to the live website.
- Same goes for PDF documentation.
(I'm personally less concerned about this last one.)
P.S. These matters overall are (presumably) mingled in with a roadblock I recently encountered while trying to automatically have the end-of-support banner appear on older branches as they age out.
[^1]: The way docs for different release trees are managed and built interacts with conf.py's perspective in each build context. For example, the master branch always represents whatever is truly latest. Builds from that branch are considered ālatestā (at build time). In contrast, the stable32 branch represents the most recent iteration of the v32 manualābut at build time, the context doesnāt inherently āknowā that itās not the latest for v32. :)