Table of Contents
Using DokuWiki as a lightweight CMS
Wikis were originally intended as a way to work collaboratively in a very open environment. This is no different with DokuWiki. However DokuWiki provides certain features that make using it as a more conventional Content Management System possible. This page gives you a quick overview what you might want to do for configuring DokuWiki as a CMS.
Some steps are somewhat similar to when using DokuWiki as a blogging tool, so reading that page is recommended.
WORK IN PROGRESS
Customise
Locking up DokuWiki
The main difference between a Wiki and a conventional CMS is who is allowed to edit. For a CMS you want to restrict editing to a very small group or even a single user. This can be easily achieved with DokuWiki's ACL feature.
You will need to assign read
permissions to the @ALL
group on *
namespace. The group of editors should get more permissions on that namespace of course.
Disabling Wiki-Functions
Many DokuWiki features are less useful or even unwanted for a CMS setup scenario. DokuWiki, allows you to disable certain function using the disableactions option. For a CMS setup you probably want to disable register
, backlinks
, index
, recent
, revisions
, subscribe
, subscribens
and source
.
With the Cmsmode plugin, these restrictions can be limited to users who are not logged in.
Enable URL Rewriting
You should enable some sort of URL Rewriting so users don't see the ../doku.php?..
Template
Your template should hide all edit buttons and other Wiki related features from unauthorized users. You can do this by checking the $_SERVER['REMOTE_USER']
variable.
Specially the templates dokucms (inclusive examples) and mcz are used for 'normal' websites.
Adding an always visible navigation
The classic sidebar for menus, search- or contactforms is easy using a sidebar plugin like sidebar or sidebarng.
Editing Messages
Certain messages generated by DokuWiki might not be sensible in a CMS context. This is most certainly true for the message you get when a page does not exist, which suggests to create the page. You should check the message files in inc/lang/<yourlanguage>/*.txt
and then create your own version of these files in conf/lang/<yourlanguage>/*.txt
.
Older DokuWiki version may require that you directly edit inc/lang/<yourlanguage>/*.txt
. In this case, be sure to backup these changes as they will be overwritten by the next upgrade.
Enabling the send404 option is another good idea in this case.
Using plugins
Some plugin suggestions to get started:
Design
Often people shrink back if you talk about a wiki for CMS use. They mostly think of a 'wikistyled' wiki with the Wikipedia- or Dokuwiki-style with all the buttons and menus. But you can customize dokuwiki as easy as any other CMS, but retain all they wiki-functionality like easy document orientated editing, versioncontrol, transclusions and no use for a database.
Some examples: