From Habari Project
The philosophy for organizing the Habari wiki aims to ensure that documentation intended for using Habari is most accessible. This separation of content does not suggest a division between users and developers but intends to make the most introductory documents the most accessible. This page describes the wiki's structure.
Overall Wiki Structure
Pages on the Habari wiki are organized with namespaces. The main namespace of the wiki is targeted at people using Habari and the wider Habari community. A page is in a custom namespace if it has a colon in its title so, for example, the page Dev:Plugins is in the Dev namespace. We use two custom namespaces: Dev, which holds pages about extending Habari, for example with themes and plugins, and Core, which holds pages about Habari's internals. When adding documentation to the wiki, contributors should try to include pages in each namespace, and these pages should be interlinked.
User and Community Pages
Most of the pages in the wiki's main namespace should focus on the end user. For example, pages on installing Habari, using themes and plugins, or using the administrative interface are appropriate here.
The Habari community is perhaps the most important aspect of the project. These pages are at the top level because the community is everybody.
Pages about extending Habari, such as those describing the creation of themes and plugins, should be placed in the Dev namespace.
Core Development Pages
Pages about Habari's internals should be placed in the Core namespace.
To help organize wiki pages and improve the information accessibility, pages can be placed in categories. New categories should emerge organically (paving the cow paths) rather than be planned up front.
- Pages about the management of the Habari project, such as this page, should be in the policy category.
- Pages about releases of the Habari software should be in the release category.
Core Development Categories
- Pages describing Habari's internal classes should be in the class category.
Pages should interlink between namespaces as much as possible, especially in the main wiki. As an example, the Plugins page tells users about what plugins are and how to install them, and links to the Dev:Plugins page. This page describes how to create plugins, linking to other Dev pages such as Dev:Hooks. Finally, the plugins page in the Dev namespace links to the Core:Plugins, which describes the internals of how plugins work, and links to pages like Core:Pluggable.
The links don't have to be to pages with the same name in different namespaces, as in the example above. Be generous with internal links to topics that might be relevant.
Take care not to create orphan pages, pages to which no other pages link.
The wiki has only been partially organized using the above structure. We are currently working to move pages and expand documentation. If you'd like to help, take a look at the Wiki Working Group page.