-
Notifications
You must be signed in to change notification settings - Fork 26
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
etcd techdoc analysis #209
Conversation
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.
Overall looks great. A few typos and some minor rewrite suggestions.
|
||
***Upgrading etcd clusters and applications***: As far as I can tell, this page just lists the upbrade pages and isn't needed. | ||
|
||
**Triage**: Suggest putting this information for users and contributors in the repo and providing a link from the documentation to create a cleaner separation of product documentation and project documentation. Put the link in the intro to the Troubleshooting section. |
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.
Maybe define product vs project doc concept in intro, as a general organizational principle.
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.
Added to the recommendations outline in the intro.
|
||
|
||
**Quickstart**: Leave here. Rename to "Quick start" (two words). Add a "Prerequisites" section and revise the "What's next" section to focus on two separate paths, Development and Operations. For the developer path, link to the "Set up a local cluster" page rather than the install page. | ||
|
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.
The rest seems to imply that the two paths point to a named "Operations Guide" and "Developer Guide" -- if so, maybe make that explicit, and clarify that the audience for each section should be clearly stated.
Provide sample TOC?
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.
Changed ToC to re-add Operator and Developer guides.
36dceff
to
34800cc
Compare
@dwelsch-esi @nate-double-u I just updated the website section as planned. Feel free to take a look |
03cdb07
to
7e0fbc5
Compare
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.
In general, this is everything we were trying to get done in 2022. So overall a huge improvement.
I've got a couple questions/comments though, the biggest ones being:
- Need to understand the rationale of not including contributor docs in the main docs.
- Role split for admins
- Update and clarify quick start and new user workflows. | ||
- Document key tasks as procedures rather than tutorials. | ||
- Clarify which user roles (personas) each task is for. | ||
- Going forward, write release notes for each major and minor release. |
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.
Etcd does have release notes in the repository. Here, are you saying also copy those to the user 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 saying documentation best practice in my opinion would be to move the release notes into the documentation and take them out of the repo. My position as a technical writer is that release notes are part of the product documentation. It boils down to user role -- the release notes should be accessible to the software users -- in the case of etcd, developers and operators.
That said, this is an OSS project; these are suggestions, not mandates; and there could very well be reasons to leave the release notes where they are. Moving them might require effort better spent elsewhere, for example, or this project's contributors are used to looking for them in the repo. A graduated project should have a justification for doing anything that differs from documentation best practice, but one or two minor variations don't constitute a reason to condemn otherwise good documentation.
If it's OK with you, I'm going to leave this recommendation in and the community can evaluate and act on it in the context of the project. Feel free to close the issue as "will not fix" if that's the project consensus.
Finally, more important than where the release notes (or any other source of information) lives is the principle that it be a single source of truth: Don't maintain two copies of the release notes in two locations; instead, provide a link to them from the second (and any other) locations.
- Clarify which user roles (personas) each task is for. | ||
- Going forward, write release notes for each major and minor release. | ||
- Reorganize the documentation. | ||
- Move *project* documentation (documentation for OSS contributors) to the etcd GitHub repo. Move *product* documentation (documentation for those who use the etcd software, in any capacity) to the technical documentation in the website repo. |
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's the benefit of moving contributor documentation to the main repository? I understand having it in its own section, but aren't there benefits to having it in the more readable & structured format supplied by doc publishing?
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.
Again, it's a best practice designed to separate content for different user roles. By analogy with commercial software, you wouldn't put (presumably internal) developer documentation in your user manuals. I realize that in OSS there's no proprietary information to keep hidden, but there are other reasons to maintain that separation. A big one in my experience is to avoid confusing new users, who don't yet have a good mental model of the product and are relying on the documentation to build that understanding.
That said, in OSS projects the lines are sometimes blurred between contributors and certain users. And there are sometimes good reasons to put contributor docs on the website; your readability example is one. I recommend that If you do put contributor documentation in the tech docs, clearly label it as such and isolate it from the user documentation.
|
||
In an "Overview" or "Start here" page, outline etcd's user roles or personas. These probably include: | ||
- *Evaluator*: Someone trying to determine whether etcd is appropriate for their product, project, or organization. | ||
- *Admin or Operator*: Someonereponsible for setting up and maintaining a production etcd service. |
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.
It's worth splitting Admin into two sub-roles: (a) Admin using Etcd embedded in Kubernetes (b) admin using Etcd on its own.
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 an excellent suggestion. I'll need to collaborate with a contributor who understands the differences between the sub-roles in order to update the implementation plan.
|
||
## Write release notes | ||
|
||
Write release notes for each major and minor release going forward. Release notes should include: |
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.
See comment above
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.
Yup, I wasn't aware of the release notes when I wrote this item. We can remove this as an issue.
|
||
In an "Overview" or "Start here" page, outline etcd's user roles or personas, including: | ||
- *Evaluator*: Someone trying to determine whether etcd is appropriate for their product, project, or organization. | ||
- *Admin or Operator*: Someonereponsible for setting up and maintaining a production etcd service. |
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.
Same comment as on etcd-implementation
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.
Addressed @jberkus 's review comments. Excellent questions; I've tried to address them from a tech writer's perspective. Let me know what you think.
- Update and clarify quick start and new user workflows. | ||
- Document key tasks as procedures rather than tutorials. | ||
- Clarify which user roles (personas) each task is for. | ||
- Going forward, write release notes for each major and minor release. |
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 saying documentation best practice in my opinion would be to move the release notes into the documentation and take them out of the repo. My position as a technical writer is that release notes are part of the product documentation. It boils down to user role -- the release notes should be accessible to the software users -- in the case of etcd, developers and operators.
That said, this is an OSS project; these are suggestions, not mandates; and there could very well be reasons to leave the release notes where they are. Moving them might require effort better spent elsewhere, for example, or this project's contributors are used to looking for them in the repo. A graduated project should have a justification for doing anything that differs from documentation best practice, but one or two minor variations don't constitute a reason to condemn otherwise good documentation.
If it's OK with you, I'm going to leave this recommendation in and the community can evaluate and act on it in the context of the project. Feel free to close the issue as "will not fix" if that's the project consensus.
Finally, more important than where the release notes (or any other source of information) lives is the principle that it be a single source of truth: Don't maintain two copies of the release notes in two locations; instead, provide a link to them from the second (and any other) locations.
- Clarify which user roles (personas) each task is for. | ||
- Going forward, write release notes for each major and minor release. | ||
- Reorganize the documentation. | ||
- Move *project* documentation (documentation for OSS contributors) to the etcd GitHub repo. Move *product* documentation (documentation for those who use the etcd software, in any capacity) to the technical documentation in the website repo. |
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.
Again, it's a best practice designed to separate content for different user roles. By analogy with commercial software, you wouldn't put (presumably internal) developer documentation in your user manuals. I realize that in OSS there's no proprietary information to keep hidden, but there are other reasons to maintain that separation. A big one in my experience is to avoid confusing new users, who don't yet have a good mental model of the product and are relying on the documentation to build that understanding.
That said, in OSS projects the lines are sometimes blurred between contributors and certain users. And there are sometimes good reasons to put contributor docs on the website; your readability example is one. I recommend that If you do put contributor documentation in the tech docs, clearly label it as such and isolate it from the user documentation.
|
||
In an "Overview" or "Start here" page, outline etcd's user roles or personas. These probably include: | ||
- *Evaluator*: Someone trying to determine whether etcd is appropriate for their product, project, or organization. | ||
- *Admin or Operator*: Someonereponsible for setting up and maintaining a production etcd service. |
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 an excellent suggestion. I'll need to collaborate with a contributor who understands the differences between the sub-roles in order to update the implementation plan.
|
||
## Write release notes | ||
|
||
Write release notes for each major and minor release going forward. Release notes should include: |
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.
Yup, I wasn't aware of the release notes when I wrote this item. We can remove this as an issue.
Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com> Signed-off-by: dwelsch-esi <dwelsch@expertsupport.com> Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com>
Signed-off-by: dwelsch-esi <dwelsch@expertsupport.com> Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com>
Signed-off-by: dwelsch-esi <dwelsch@expertsupport.com> Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com>
Signed-off-by: dwelsch-esi <dwelsch@expertsupport.com> Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com>
Signed-off-by: dwelsch-esi <dwelsch@expertsupport.com> Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com>
Signed-off-by: dwelsch-esi <dwelsch@expertsupport.com> Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com>
Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com> Signed-off-by: dwelsch-esi <dwelsch@expertsupport.com> Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com>
A list of issues to add to the website repo to implement the doc improvements. Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com>
Signed-off-by: thisisobate <obasiuche62@gmail.com> Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com>
Signed-off-by: thisisobate <obasiuche62@gmail.com> Signed-off-by: Dave Welsch <116022979+dwelsch-esi@users.noreply.github.com>
7e0fbc5
to
84ef660
Compare
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.
Thanks for this @dwelsch-esi, and thanks for the reviews everyone!
First draft of the etcd analysis and implementation.
Contributes to: #191