Wiki Architecture
How to design your wiki architecture with PmWiki.
Most wiki's are built upon page ensembles without hierarchical structure.
PmWiki proposes more possibilities about general organisation.
Groups
There is a hierarchical level defined by Wiki groups. Each wiki group allows:
- A unique menu (sidebar) for this group.
- The definition of access rights and specific page layout for the group.
- A unique 'namespace' for the group where pages call themselves by
OnePage
or[[one page]]
. To go to pages outside the group, you have to declare the given group like:ThatGroup.OtherPage
orThatGroup/OtherPage
(the second syntax doesn't display the group name on screen).
To have more than one hierarchical level
Inside one group, it is possible to navigate from one page to another with wiki trails. These trails are handled by commands that look like << previous page | pages index | next page >>
. You can have multiple wiki trails for one group and each trail shall have its own index page. This allows for building multiple page ensembles inside one group or to have cross-group page organisation.
While it is not possible in the basic PmWiki distribution to create a second hierarchical level, there exists the possibility to name pages producing something like a second level, this is described in Cookbook:Subgroup Markup.
The possibility to have subgroups has been intensively discussed multiple times in the mailing list. A motivation for not using them can be found in Hierarchical Groups.
Another way of adding a new level, mostly designed for content separation (e.g. when you want to separate some groups of users or some unrelated data), is to use Wiki Farms
Categories
A non hierarchical organisation, allowing linking pages while defining their belonging to a category is proposed. One page can be member of multiple categories. Each category has its own group (but pages can be part of any other group). This functionality is in development, but it can be used now by following the recommendations of using categories.
Example(s)
You can find an example (not representative) of a wiki architecture organised with a unique 'flat' namespace: CNCLoisirs Architecture
Category: Documentation ToDo
This page may have a more recent version on pmwiki.org: PmWiki:WikiArchitecture, and a talk page: PmWiki:WikiArchitecture-Talk.