WikiArchitecture

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 or ThatGroup/OtherPage (the second syntax doesn't display the group name on screen).
Though, one can use groups to make a hierarchy and get menus without a separate namespace, by building what is called a 'flat' namespace. This is described in Cookbook:Page Paths

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?.