We would like to support different users with clear paths to follow in finding what they need in the CDAP documentation.
Currently, we provide limited direction for users as to how to engage and work with the docs. Aside from a particular order or certain examples, we don't suggest a particular approach.
To assist, we identify these different users:
- New CDAP Developer
- Architect trying to understand CDAP at a high level
- Ops guys looking to install CDAP
- Passer-by looking to find out what is this CDAP
- ETL developer looking to build a data pipeline on Hydrator
- Developer with a bit of experience in CDAP trying to understand "how is...?"
We propose replacing these user stories with these users and interests:
- User (a Data Scientist)
- New to CDAP
- Developing a Hydrator Pipeline
- Developer (of Java or other supported languages)
- New to CDAP
- Developing a first Java Application
- Developing a first Plugin
- Looking for an answer to a particular question
- Architect (or a CxO, a corporate officer)
- Reviewing CDAP abstractions and components
- Administrator/Operator (of networks or clusters)
- Installing CDAP
- Operating CDAP
It's possible that certain users may fall into more than one category. For example, a User may want to install CDAP themselves, in a Standalone setting, as part of a review process, in order to evaluate its appropriateness for their situation before passing it to an Administrator/Operator for adding it to a cluster.
Different Paths
We can identify paths either by user or by theme, where the themes would be the interests listed above.
Wikipedia identifies three broad approaches to the organization of documentation:
Approach | User Level |
---|---|
Tutorial | Beginner |
Thematic | Intermediate |
List or Reference | Advanced |
Of these different approaches, we employ all of these, and can suggest resources as the user advances in proficiency.
Two examples of this are the Python Documentation page and the Python Comprehensive Help page.
Introduction Pages
Each manual and the Documentation itself has an "Introduction" page.
Currently: These pages are a list of links with descriptions and important terms or phrases marked in bold:
Proposal: Have a tabbed panel that shows for different users appropriate content (note: the content would not be a literal
, that is a limitation of the current custom Sphinx extension):
These tabbed panels could be used at the start of each Introduction. As with our existing tabbed-parsed-literals
, they would be synchronized, so that all would show the same tab, but with different content, in each area.