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
[RFC] Bug 1616869 - Documentation overhaul specification #1570
Conversation
I think a first step should be avoiding using role names that have an established connotation in Pontoon (contributor, administrator, manager). Contributor -> Occasional developer?
I'm also not clear what the expectation here is. I'd expect the specification to only have the agreed plan (i.e. the outcome of the discussion)? |
First of all, I really like that you are working on this issue! I don't see the need for distinction between two groups of developers (new and core). As a core developer, I still look into the Local setup and Contributing guidelines from time to time. I can also see (more senior) new developers jumping to technical documentation. I'd call Managers "Project Managers", because that's how we call them. :-) I've seen the same terminology in other localization platforms, as well as "Localization managers". |
As a small team I don't think we can afford spending time developing our own documentation solution, not even maintaining our own wiki deployment. I'd go with a hosted documentation solution like ReadTheDocs, because it's the cheapest option. It's also not that much harder to click twice to edit than clicking once to edit the wiki page. :-) |
Ultimately yes, that's what's going to happen, but I wanted to try to use this like Python does, as a "Request for comments". This PR should be a living thing, and the document will evolve with comments, until we reach a consensus. |
I'm not sure I understand this. The problem with RTD is that documentation is in a git repo, on GitHub, and thus requires some technical skills to be able to edit it (a wiki is a much simpler tool to use for the average person). It's not really about the number of clicks, unless I misunderstood you? :curious: |
There's "Edit on GitHub" link on top of each page on RTD, and once you get to GitHub, you just click the Edit (pencil) again which takes you to the editor: It's harder than wiki, it's not WYSIWYG, and someone needs to merge the PR, but I think it's not a bad editing experience. In fact, a confirmation step before updating technical documentation is IMO a plus. |
specs/0102-documentation-overhaul.md
Outdated
**Cons** | ||
|
||
- Two distinct documentations to maintain, which is more difficult. | ||
- There might be confusion about what to put where. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll need to define criteria, for sure.
specs/0102-documentation-overhaul.md
Outdated
**Pros** | ||
|
||
- Hosted with Pontoon's code base, allowing to enforce documentation updates along with code changes. | ||
- Localization is technically possible, but I don't know how difficult it would be. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually performing localization or are we talking about multilingual publishing, or both?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is about the technical side, enabling localization. I didn't consider the translation work in this document.
specs/0102-documentation-overhaul.md
Outdated
|
||
**Cons** | ||
|
||
- Contributing to the documentation is difficult as it requires making a pull request on GitHub. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's the current barrier to entry for localizer-documentation too.
specs/0102-documentation-overhaul.md
Outdated
- Very easy to edit, by anyone interested in doing so. | ||
- Some wikis support content localization out of the box. | ||
|
||
**Cons** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moderation may add overhead too.
Leaving some personal opinions here: I'd prefer for all docs to be in the pontoon repo. I'm not sure how much impact localizing docs should have on our decision. I think it falls into the same bucket of "yes and" as localizing Pontoon itself. We shouldn't pay too much attention on hosting. Anything that can be built can be put into an S3 bucket and served from there in the end. There is the idea that PMs can write markdown and not restructured text. Support for markdown in Sphinx exists, but it doesn't cover all features, IIRC, https://www.sphinx-doc.org/en/master/usage/markdown.html. |
I'm not sure about Sphinx's support of Markdown, but in theory, Markdown supports HTML, so if a feature is not supported it should be possible to just build it with HTML markup, right? I'm think about tables for example, usually poorly supported in most markdown tools, but easy to set up with some good old HTML tags. |
We should probably try on a dummy doc. Things I'd like to see tested are various cross references, indices, and search. |
e12d4c1
to
bfa358d
Compare
Not directly related, but I don't have a better place to dump it. Nice docs on writing docs: Nice contributing guidelines: Nice open source docs platform: |
d35ecf7
to
8c14c34
Compare
|
||
## Maintenance | ||
|
||
TBD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if there's something we can do to "enforce documentation updates along with code updates".
Something automated, something like documentation coverage.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do we exactly expect from such software? e.g. print what parts of the documentation should be updated in a PR?
Maybe we should involve more people in the review process, e.g. ask a localizer/project manager to check the documentation about a feature/bugfix (?)
|
||
## Where to host | ||
|
||
Documentation is hosted in a dedicated section within Pontoon app (`/docs`) and built on each deployment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This might require changes to how we deploy. I wouldn't like the idea to use a django app to host static content, and the whitenoise middleware isn't set up to handle more than /static
, and it might not be the right choice to fiddle that in. Whitenoise does a lot of start-up work that might just bloat our runtime.
|
||
## What format to use | ||
|
||
Documentation is writen using the Markdown syntax. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should be more specific here on the toolchain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we plan to use a static site generator?
|
||
- **Localizer** — User of Pontoon wanting to learn how to efficiently translate and review projects. Looks for detailed feature documentation. | ||
- **Administrator** — User of Pontoon wanting to learn how to manage projects and teams. Looks for detailed administration tasks documentation. | ||
- **Project Owner** — Anyone wanting to make their project translated into several languages. Looks for internationalization and deployment documentation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure we should include this target audience. If I understand this correctly, I'd assume this to be very specific to each org deploying Pontoon.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, is this deploying Pontoon or projects localized with Pontoon?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This covers deploying Pontoon as well as prerequisites on the side of the project to be localized (i.e. information about supported l10n frameworks, file formats and VCS systems, required access, file and folder structure):
- https://mozilla-pontoon.readthedocs.io/en/latest/user/localizing-your-projects.html (without Adding a new project section, which is Administrator)
- https://mozilla-pontoon.readthedocs.io/en/latest/admin/deployment.html
- https://mozilla-pontoon.readthedocs.io/en/latest/admin/maintenance.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is still a bit too vague.
- We want to use Markdown, great. How do we convert it to static HTML? How do we deal with images?
- Will the solution support search? That's a blocker.
I'm OK with having all docs in one place, but not in exposing them together. Localizers are interested in user docs, not the rest, so they shouldn't have to navigate through the entire documentation, or be exposed to it.
Side note: I don't think there's anything preventing us from deploying parts of the documentation to GH pages, like we're currently doing for user docs.
|
||
Documentation is stored in the `docs` folder within the Pontoon code repository. | ||
|
||
Having documentation in the same place as the code base allows us to enforce documentation updates along with code updates. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see a problem there related to the fact that every link is going to point to the latest version? e.g. when a translator discusses a document that changes over time and there's no way to reference the previous version.
Should the buglink be #2214 ? |
This patch has been stalled for a while. Let's reopen when work continues. |
This is a request for comments at the moment, I intend to evolve this into an actual specification based on feedback I will receive here and elsewhere.
Let's not discuss the form here, but only the content (form can be discussed in other specification PRs like #1562).