Last week, I described why and how to set up your own wiki with Dokuwiki, a simple open source wiki package that works without any relational database. Now, as promised, I'll dig further into DokuWiki, offering some extra tips and an introduction to a few of DokuWiki's most useful plugins.
First, let's take a look at how to handle the main DokuWiki management tasks from the Administration interface (Figure A):
The DokuWiki Administration interface.
User management and Access Control Lists
You should configure, according to your actual needs, the access controls of your wiki — that is, who can do what and where. Collaborative publishing is one of the main reasons to use this kind of software, but you don't want trolls and spammers messing up your pages or creating their own pages.
If wiki contributors join only by invitation, block online registration for web visitors. Go to the Configuration Settings page, scroll down until you reach the section titled Disable DokuWiki actions (Figure B), check Register, and click Save.
Disable DokuWiki actions.
This will stop both spambots and real, but unknown visitors from getting an account. However, you'll still be able to add as many users you want with the Add user form (Figure C).
The Add user form.
The next step, which may be completely unnecessary for some wikis, is to set up groups for current and future users. By default, DokuWiki creates the @user group for actual users who can upload content and the @ALL group for visitors who can only read it. If that's not flexible enough, you can (and should) create extra groups. This will make your life much easier if, for example, you want to let only certain users add pages or read only certain sections of the wiki.
DokuWiki has five levels of access control or permissions: None, Read, Edit, Create, Upload, and Delete. I say levels here, because that's what they actually are. You cannot activate more than one of them at the same time for each page or namespace. Each choice includes all the others before it in the list above: Edit includes Read, Create includes Edit, and so on.
The ACL Management page of DokuWiki (Figure D) has a sidebar that lists all of the existing pages and namespaces. You can select any of them, and then set as you wish the corresponding access rights for any user or group of users.
The ACL Management page of DokuWiki.
Namespaces in DokuWiki
The term "namespaces" in DokuWiki may confuse novice administrators, because its purpose is not immediately evident. According to the documentation, "a namespace is similar to a directory or folder, while pagenames are similar to files."
In practice, you should think of namespaces as boxes that partition your content in several categories. This is useful both conceptually and if you need different access controls for each "box," since you can apply ACL rules to whole namespaces. The namespace to which each page belongs is the part of its name before the colon. In a wiki devoted to backpacking, for example, Gear:Backpacks would indicate the page describing backpacks in the "Gear" category, and TripReports:Tuscany would be the right name for the listing of all trekkings in Tuscany that are placed in the "Trip Reports" section.
The namespace approach applies also to non-textual content, like images and generic attachments. The only caveat here is that the upper limit for the maximum file size (6 MB in my installation) may not depend on DokuWiki but on the general PHP configuration of your Web server. Check those settings with your web administrator if you have problems uploading big files.
DokuWiki has many plugins that extend its functionality. Installing a plugin is as simple as downloading its compressed archive in the lib/plugins subfolder of your installation, unpacking it, and then settings all its parameters from the Manage Plugin page. A serious presentation of DokuWiki plugins would require another full post, so I'll just recommend the Discussion Plugin and the CAPTCHA plugin for wikis where frequent reader feedback is necessary.
Help with configuration difficulties
Here's my final DokuWiki tip: if, for whatever reason, you were unable to set up permissions as I explained in my previous post, you may also be unable to change and save Configuration Settings from the web interface. This is due, almost surely, to the fact that the Web server software can only read your DokuWiki files, not change them. If you can't change that (it may happen with some web hosting accounts), you'll have to edit the configuration files manually. To prevent visitors from registering from the web site, for example, you would have to add this line:
$conf['disableactions'] = 'register';
to the local.php file in the conf subfolder of your DokuWiki installation.
Marco Fioretti is a freelance writer and teacher whose work focuses on the impact of open digital technologies on education, ethics, civil rights, and environmental issues.