P:Documentation/Naming Conventions: Difference between revisions
m (Alexau moved page P-documentation naming-conventions to P: Documentation/Naming Conventions: name that better reflects naming conventions) |
(→Intro) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Intro == | == Intro == | ||
Name things in the wiki so people can find it. For example: | |||
* '''Newcomers''' - see how things relate to each other | * '''Newcomers''' - see how things relate to each other | ||
* '''Contributors''' - know how to add new topics to existing ones | * '''Contributors''' - know how to add new topics to existing ones | ||
* '''Upkeep''' - manage complexity by prioritizing upkeep of some parts of the wiki over others and manage team energy | * '''Upkeep''' - manage complexity by prioritizing upkeep of some parts of the wiki over others and manage team energy | ||
The documentation system is as follows: | |||
---- | |||
There are 7 general "Categories" that everything fits into: | |||
* Community - the people who make Open Source Ecology AND any work that develops this community | |||
* Management - the process for how you do things | |||
* Marketing - how to explain what we do (strategy, positioning) | |||
* Traction - how we reach people and get them to buy/do (execution) | |||
* Product - things we build | |||
* Finance - how we have enough money to keep going | |||
* Praxis - the philosophy and practice of OSE ideals | |||
---- | |||
We specify "Major Pages" for each Category: | |||
* Community (supporters, entrepreneurs, researchers, onboarding) | |||
* Management (disciplined entrepreneurship, holacracy, meetings, metrics) | |||
* Finance (budget) | |||
* product (anything in the Global Village Construction Set) | |||
* Traction (physical advertising, direct sales) | |||
* Marketing (any materials or guidelines that support traction) | |||
* Praxis (OSE Spec) | |||
---- | |||
When we name create new "Topics," name the Topic based on how it relates to a Major Page: | |||
* P: this is a process. Is it something that people do? This includes surveys, onboarding, and presentations. | |||
* O: this is an object. Is it a thing or something that a process uses or produces? | |||
* Nmap: this is a narrative that maps interactions between processes AND objects. Is it a complex idea or a statement on "what could be?" (like the GVCS) | |||
* Nfolk: this is a narrative for people and orgs. Is this about some person or org? | |||
* Nview: this is a narrative that captures reflections on things that exist. Is it an opinion or recommendation? | |||
---- | |||
To create the full topic name, use these grammatical conventions: | |||
* [Category Type Abbreviation]:[Major Page]/[Topic Page]::[Status or State of the Topic] X [Like a Date] X [Place] X [Or Particular Perspective] | |||
---- | |||
Here's some examples: | |||
* | |||
The idea is to use naming conventions based on BEMIT, a CSS naming convention. | The idea is to use naming conventions based on BEMIT, a CSS naming convention. | ||
Line 17: | Line 51: | ||
* abbreviate these types so that the first word is just a letter: P, O, Nfolk, Nmap, Nview | * abbreviate these types so that the first word is just a letter: P, O, Nfolk, Nmap, Nview | ||
* 3 types of relationships within naming conventions: parent&child, topicXtopic, and topic=>modifier | * 3 types of relationships within naming conventions: parent&child, topicXtopic, and topic=>modifier | ||
* Titlecase topics, such as: "Documentation Standards" or "Global Village Construction Set" | * Titlecase topics, such as: "P:Documentation Standards" or "Nmap:Global Village Construction Set" | ||
* Pre-pend topics with the topic type, such as "P: Documentation Standards" or "Nmap: Global Village Construction Set" | * Pre-pend topics with the topic type, such as "P:Documentation Standards" or "Nmap:Global Village Construction Set" (follows existing File:xyz.pdf convention) | ||
* Nest child topics using the url / convention, such as "3D Printer/Frame" | * Nest child topics using the url / convention, such as "O:3D Printer/Frame" | ||
* String neighboring topics using the X convention, such as "Nmap: Disciplined Entrepreneurship X Priorities X Critical Path X Traction" | * String neighboring topics using the X convention, such as "Nmap:Disciplined Entrepreneurship X Priorities X Critical Path X Traction" | ||
* Always nest views as a child of a topic, such as "Nview: Disciplined Entrepreneurship X Priorities X Critical Path X Traction/Pro-inquiry" | * Always nest views as a child of a topic, such as "Nview:Disciplined Entrepreneurship X Priorities X Critical Path X Traction/Pro-inquiry" | ||
* Only ever include 1 topic type, which always refers to the most nested child topic, so compare these two: "Nview: Disciplined Entrepreneurship X Priorities X Critical Path X Traction/Pro-inquiry" and "Nmap: Disciplined Entrepreneurship X Priorities X Critical Path X Traction" | * Only ever include 1 topic type, which always refers to the most nested child topic, so compare these two: "Nview:Disciplined Entrepreneurship X Priorities X Critical Path X Traction/Pro-inquiry" and "Nmap:Disciplined Entrepreneurship X Priorities X Critical Path X Traction" | ||
* Add modifiers using colons, such as "O: 3D Printer/Frame: PVC Pipe" | * Add modifiers using '''double-colons,''' such as "O:3D Printer/Frame::PVC Pipe" | ||
* For objects with multiple modifiers, use the topic X topic convention, such as "O: 3D Printer/Frame: PVC Pipe X 18.10" and "O: 3D Printer/Frame: PVC Pipe X 18.11" | * For objects with multiple modifiers, use the topic X topic convention, such as "O:3D Printer/Frame::PVC Pipe X 18.10" and "O:3D Printer/Frame::PVC Pipe X 18.11" | ||
* When given the option between making something a modifier or a child, lean towards making it a modifier, such as "O: 3D Printer/Frame: PVC Pipe X Off-the-shelf" and "O: 3D Printer/Frame: PVC Pipe X 3D | * When given the option between making something a modifier or a child, lean towards making it a modifier, such as "O:3D Printer/Frame::PVC Pipe X Off-the-shelf" and "O:3D Printer/Frame::PVC Pipe X 3D Printed" In this case. it's still a type of frame and it's better to nest as little as possible. | ||
Additionally, I recommend these '''content conventions:''' | Additionally, I recommend these '''content conventions:''' |
Latest revision as of 00:06, 30 October 2018
Intro
Name things in the wiki so people can find it. For example:
- Newcomers - see how things relate to each other
- Contributors - know how to add new topics to existing ones
- Upkeep - manage complexity by prioritizing upkeep of some parts of the wiki over others and manage team energy
The documentation system is as follows:
There are 7 general "Categories" that everything fits into:
- Community - the people who make Open Source Ecology AND any work that develops this community
- Management - the process for how you do things
- Marketing - how to explain what we do (strategy, positioning)
- Traction - how we reach people and get them to buy/do (execution)
- Product - things we build
- Finance - how we have enough money to keep going
- Praxis - the philosophy and practice of OSE ideals
We specify "Major Pages" for each Category:
- Community (supporters, entrepreneurs, researchers, onboarding)
- Management (disciplined entrepreneurship, holacracy, meetings, metrics)
- Finance (budget)
- product (anything in the Global Village Construction Set)
- Traction (physical advertising, direct sales)
- Marketing (any materials or guidelines that support traction)
- Praxis (OSE Spec)
When we name create new "Topics," name the Topic based on how it relates to a Major Page:
- P: this is a process. Is it something that people do? This includes surveys, onboarding, and presentations.
- O: this is an object. Is it a thing or something that a process uses or produces?
- Nmap: this is a narrative that maps interactions between processes AND objects. Is it a complex idea or a statement on "what could be?" (like the GVCS)
- Nfolk: this is a narrative for people and orgs. Is this about some person or org?
- Nview: this is a narrative that captures reflections on things that exist. Is it an opinion or recommendation?
To create the full topic name, use these grammatical conventions:
- [Category Type Abbreviation]:[Major Page]/[Topic Page]::[Status or State of the Topic] X [Like a Date] X [Place] X [Or Particular Perspective]
Here's some examples:
The idea is to use naming conventions based on BEMIT, a CSS naming convention.
As applied to this wiki, I recommend these naming conventions:
- 5 types of topics:
- process
- object
- narrative-folk
- narrative-map
- narrative-view
- abbreviate these types so that the first word is just a letter: P, O, Nfolk, Nmap, Nview
- 3 types of relationships within naming conventions: parent&child, topicXtopic, and topic=>modifier
- Titlecase topics, such as: "P:Documentation Standards" or "Nmap:Global Village Construction Set"
- Pre-pend topics with the topic type, such as "P:Documentation Standards" or "Nmap:Global Village Construction Set" (follows existing File:xyz.pdf convention)
- Nest child topics using the url / convention, such as "O:3D Printer/Frame"
- String neighboring topics using the X convention, such as "Nmap:Disciplined Entrepreneurship X Priorities X Critical Path X Traction"
- Always nest views as a child of a topic, such as "Nview:Disciplined Entrepreneurship X Priorities X Critical Path X Traction/Pro-inquiry"
- Only ever include 1 topic type, which always refers to the most nested child topic, so compare these two: "Nview:Disciplined Entrepreneurship X Priorities X Critical Path X Traction/Pro-inquiry" and "Nmap:Disciplined Entrepreneurship X Priorities X Critical Path X Traction"
- Add modifiers using double-colons, such as "O:3D Printer/Frame::PVC Pipe"
- For objects with multiple modifiers, use the topic X topic convention, such as "O:3D Printer/Frame::PVC Pipe X 18.10" and "O:3D Printer/Frame::PVC Pipe X 18.11"
- When given the option between making something a modifier or a child, lean towards making it a modifier, such as "O:3D Printer/Frame::PVC Pipe X Off-the-shelf" and "O:3D Printer/Frame::PVC Pipe X 3D Printed" In this case. it's still a type of frame and it's better to nest as little as possible.
Additionally, I recommend these content conventions:
- For any topic with children, provide a glossary of children on that topic page
- For any topic with modifiers, provide a glossary of modifiers on that topic page
- For any topic with parents, provide a glossary of parents and "grandparents" on that topic page
- For any topic that exists on a Nmap or Nview, provide a glossary of related narratives on that topic page
- Automate the creation of these glossaries if possible. If needed, add it as a child that is a Nmap itself, like "3D Printer/Nmap: Glossary
Priorities
To put this in action, I recommend first to start creating any new information using these conventions, then re-categorizing any information needed to onboard folks sufficiently to becoming true fans.
I think this includes creating the following pages:
- Nmap: Core Processes
- Nmap: Active Objects: 2018
- P: Onboarding/Email Sequence: 2018
After that, re-name and connect the relevant pages of anything that's connected to Onboarding, Core Processes, and Active Objects.
When we reach 10 active contributors or more to the wiki, create a chrome pluggin to manage new page creation and significantly reduce overhead.
References
- https://csswizardry.com/2015/08/bemit-taking-the-bem-naming-convention-a-step-further/
- https://zawiastudio.com/dashboard/docs/
- https://zawiastudio.com/dashboard/docs/getting-started/