Composr Tutorial: Custom structured content (via Wiki+)

Written by Chris Graham (ocProducts)
This tutorial will describe the Wiki+ system, which is Composr's equivalent to a wiki.

About Wiki+


Viewing a Wiki+ page

Viewing a Wiki+ page

(Click to enlarge)

Wiki+ is a tree-structured (hierarchical) database of pages and posts which is in many ways like a forum system, but presented in an encyclopaedic style, and designed to have a deep and extensible hierarchy. Wiki+ can also be configured to behave just like a wiki system, by linking pages purely by using hypertext links. It is a collaborative, community-driven tool for the organisation of media and information; unlike wikis it is capable of providing a well-organised structure, with flexible permissions to allow the staff complete control over how open the system will be.

Information is presented using Comcode and the Comcode attachment system, meaning there is excellent support for rich media. Wiki+ is ideal for storing collaboratively/interactively extended information with a high organisational factor; the speed of which information can be added is also particularly advantageous. This pattern works very well for types of ad-hoc guide, especially community-driven ones.

The structure (pages and posts)


Editing the Wiki+ tree

Editing the Wiki+ tree

(Click to enlarge)

Wiki+ consists of a pages which may include a page description and any number of posts. If there are no posts, or if the page has been configured to hide them (the per-page "Hide posts" option), then the pages appear much like those on a wiki; otherwise it functions more like a forum.

When Wiki+ is installed for the first time, there will be a predefined page called Wiki+ Home.

Pages may also contain a list of pages that are 'underneath' the page; however, a page can be underneath any number of pages, as the Wiki+ tree is loosely defined (technically it is a node based network rather than a real tree structure). When pages are accessed from different paths, the path to the page as it has been accessed is displayed, so that back-tracking is easier, and that the user does not get confused by the path suddenly changing when they enter a 'child' page.

If you do not choose to develop a tree structure then Wiki+ navigation will be much like the navigation of a wiki – Comcode has special wiki-like support for making quick links between Wiki+ pages just by writing [[pagename]].

This simple structure of posts, pages, and children, is Wiki+'s core. There are of course peripheral features, such as:
  • Giving pages some 'page text', which sits above the posts on that page; this text is staff decided, and thus provides an authoritative space.
  • Jumping to a random page.
  • Seeing a list of recent changes to the database.
  • Moving posts.
  • Merging posts.
  • Viewing the tree structure of the whole database (transferred in a compressed format, and reduced so as only to show a single path to any page).
  • Search
  • Editing posts

This simplicity is key to the flexibility of the system – it is a system of control built around organised text, and how that text is used and structured is completely up to the website staff.

Setting up the structure

The full Wiki+ structure and content may be manipulated from the page-view screens of Wiki+ itself. Wiki+ pages are created on an ad hoc basis, by either:
  1. referencing them in the child-list for a page,
  2. or, by referencing them via the special Comcode syntax ([[pagename]]).

There is an obvious 'Edit tree' button to edit the tree structure visible when you're on a Wiki+ page. You can create child pages just by listing the titles you want. When you've saved the child structure you can then see that reflected.

When on a page you can then easily edit that page from the obvious button. You can delete a page from the bottom of its edit form.

The 'Edit Wiki+ page' selection list (Content Management > Wiki+) may be used to find/select pages which have been orphaned from the Wiki+ tree.

In a typical setup, staff are given access to modify the Wiki+ tree, while ordinary users rely on the Comcode syntax to create new inline links. Whether ordinary users are given access to add new pages can vary substantially between deployments, depending heavily on what role Wiki+ is being used for.

Moving pages

Technically you can't actually move a Wiki+ page because Wiki+ pages have no actual fixed location to start with; because it's a network structure rather than a strict tree structure. When you place child links you are creating a path not a strict hierarchy.

Composr will see how you got to a page to generate breadcrumbs, but direct links to a page will generate breadcrumbs using an arbitrary path though the network.

If you want to force particular breadcrumbs make sure there is only one path to get to a page.

Orphaned pages

Orphaned pages are pages that are not linked into the tree. In other words, they cannot be found via tree navigation starting from the root Wiki+ page.

Orphaned pages should not be perceived as a bad thing. It's fine to have pages not linked into the tree structure, if you're linking to them in the typical wiki-code style syntax ([[page name]]). Comcode has subsumed that part of wiki-code.

It's a choice you have. You can link in both ways, one way, or the other way.

Making, editing, and deleting posts


Making a Wiki+ post

Making a Wiki+ post

(Click to enlarge)

You will see a very obvious button to make posts when you're on a Wiki+ page (at the bottom of the page).

You will see a very obvious button to edit a post underneath that post.

You can delete a post from the bottom of its edit form.

Posting on the front page

Members need the "Place content in a featured position" privilege to post on the front page of Wiki+.


As Wiki+ is (by default) open to posting by any user, you may feel it is necessary to moderate posts: especially as they may detract from the quality of the database. When a member posts, an e-mail is sent to the staff e-mail address: this will help you to moderate posts on the system, as they are made.

It is possible to provide greater open-access to Wiki+, so that anyone may edit all page details and navigation, in the same way that they may do so on a wiki. If you wish to enable the permissions for this (Admin Zone > Security > Privileges > Wiki+) then you will likely want to make use of the page history feature to revert unwanted changes, as well as Composr's site-wide tracing and moderation abilities.

Viewing the complete tree structure

Please note that when you do this you view with guest access – so some pages may be missing from the view.

Revision history

You can see the edits a page has gone through via the revision history on the edit screen of a page. Changes are shown in a tooltip, plus you can revert to earlier versions.


A collaborative tree-structured database system in Composr

See also


Please rate this tutorial:

Have a suggestion? Report an issue on the tracker.

Back to Top