-
Notifications
You must be signed in to change notification settings - Fork 65
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
Document aspirational documentation structure #293
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,74 @@ | ||||||
# Documentation Structure | ||||||
|
||||||
We primarily offer documentation, peace of mind and expertise to | ||||||
our users - and code/configuration is simply an implementation | ||||||
detail. Well structured documentation aimed at different audiences is | ||||||
essential to 2i2c's long term health. This document lists the audiencs | ||||||
we serve, what kinda docs they might expect, and where we provide them. | ||||||
|
||||||
## Audiences | ||||||
|
||||||
For each feature we add or change we make, we should create & update | ||||||
documentation for all of these audiences, as applicable. There are | ||||||
|
||||||
## For the general public | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
People visit our website to learn about us, and investigate if we could | ||||||
be of use to them. Communicating what value we can add to them is | ||||||
extremely important, so any feature we write should be integrated into | ||||||
[our website](https://2i2c.org/infrastructure/). The focus should | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is the relationship between this page and 2i2c.org/pilot? In my mind, 2i2c.org/infrastructure is a description of the stack in general but is more like a high-level advertisement, while 2i2c.org/pilot is more dynamic and feature-complete. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. not the infrastructure page in particular, but I really want a page where we can say overall value of what we support, without going into the details - a 'sales' page almost. /pilot is documentation, and much more detailed. So whatever is in the 'sales' page should just be a blurb at most - hence the link to the infrastructure page. A different page is perhaps in order. |
||||||
be on the value we can add to potential users, and should link to | ||||||
other kinda documentation for more detail if needed. | ||||||
|
||||||
## For hub users | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
Ultimately, our hubs are built to serve researchers, students and instructors. These are our *end users*, and they need to be able to | ||||||
get their work done. The infrastructure we provide is primarily | ||||||
opinionated bundles of upstream software, so we don't *need* to rewrite | ||||||
documentation for all the software they might use. So we should provide | ||||||
at least the following kinds of documentation: | ||||||
|
||||||
1. **Tutorials** for common workflows on our infrastructure, since this is heavily driven by the opinionated choices we have made while building it. | ||||||
3. **How-to guides** to help users accomplish a specific well defined task, especially if it is something they know how to do in a different system. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm curious what you think about content like https://2i2c.org/pilot/admin/interfaces.html - do you think that is in-scope for 2i2c docs? Or something we should instead link to the jupyterhub docs for? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've clarified what 'how to' guides should be written, and I've removed the interfaces documentation page in pilot docs. I've moved the content into a 'how to' page instead. So I think we shouldn't have any 'reference' docs (I think of the current page as one) but ok to have howto docs. |
||||||
2. **Component reference** to inform users where to find documentation for the component they might be having issues with. Most users are unfamiliar with the intricate details of what component does what, so might not be able to find the appropriate place to look at.j | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
## For hub administrators | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Note that we tend to call these people "Community Champions" so far...do you distinguish between the Hub Administrator and the Community Champion? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should definitely clearly define it. I think these aren't exactly the same people. For example, with UToronto, Avi / Nathan are who I'd think of as Community Champions. But there's a lot of people who do the day-to-day work, and those are 'admins'. They fulfill different roles, I think. But 'hub administrator' is not defined yet, and we should. Do you have a sense of how we could do that? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How about we add another role here: https://2i2c.org/team-compass/sre/#roles-needed-to-run-a-2i2c-hub and modify the Community Champion language as needed (if needed)? If you're +1 on that then we can open an issue to track it so it doesn't block this PR There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @choldgraf sounds perfect! |
||||||
|
||||||
Hub administrators are the interface between the 2i2c engineers running | ||||||
the hub and the actual users of the hub. They are usually a part of the | ||||||
community using the hub, and are interested in the *configuration* of | ||||||
the hub infrastructure as well. They shoudl be aware of possible | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
configuration options they can choose to serve their community best, and | ||||||
be empowered to make those choices without interaction with 2i2c | ||||||
engineers wherever possible. | ||||||
|
||||||
They help make decisions about the configuration of the hub that benefits | ||||||
its users most, and hence we should provide at least the following kinds | ||||||
of documentaiton. | ||||||
|
||||||
1. **Configuration guides** to help them pick the configuration that | ||||||
will be best fit for each of our major features - such as | ||||||
authentication, kind of user interface, etc. | ||||||
2. **Self-serve guides** to allow them to do as many *safe* | ||||||
configuration changes as quickly as possible without having to | ||||||
involving 2i2c engineers. This will also help surface issues that are | ||||||
in need of more automation on 2i2c's side. | ||||||
|
||||||
This documentation should exist in the [2i2c-org/pilot-hubs](https://github.com/2i2c-org/pilot-hubs) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What about stuff like https://2i2c.org/pilot/admin/interfaces.html - that is for admins, but more on the "hub users" side. Should that be moved to pilot-hubs? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that should definitely continue existing where it is now, since it's targetted at hub admins / users rather than infrastructure engineers There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I made a mistake, this should've referred to the pilot repo. Fixed |
||||||
|
||||||
## For 2i2c engineers | ||||||
|
||||||
These are folks tasked with building, maintaining, debugging and fixing | ||||||
2i2c infrastructure. Documentation targetting them should be in this | ||||||
repository (2i2c-org/pilot-hubs), regardless of the kind of hub it | ||||||
relates to. Since we run our hubs openly, with best practices that can | ||||||
ba adopted by anyone, we should try write | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think the text here got jumbled |
||||||
possible. | ||||||
|
||||||
Here are some contexts where they would need documentation. | ||||||
|
||||||
1. **Tutorials**, to help orient folks who might be working on areas | ||||||
they aren't already familiar with. | ||||||
2. **How-to guides** for performing common tasks that have not been automated yet. | ||||||
3. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. More to come? |
||||||
|
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.