/ Apps

Dokuwiki: Small Footprint, Big Features

Wikis are a valuable business tool. Even if you don't need them for collaboration, they enable you to share and broadcast information. I find that putting information on a wiki takes only a little longer than typing it in a word processor or sending it by e-mail. Unlike e-mail, the content doesn't disappear into mailbox archives. It's a living document, ready to be accessed and improved upon.

dokuwiki-gallery-example
Dokuwiki's plugins let you add extra features like image galleries

The Candidates

In my work as a product manager, I looked for a suitable wiki for a small business. My main requirements were:

  • Lightweight enough to host anywhere. It should have suitable performance on any server, even a VM or my desktop during the development stage.
  • Minimal maintenance. I want to spend my time writing for it, not managing its database.
  • Easy to learn. I should be able to teach someone to use it in a few minutes. If they feel comfortable with it, they'll be more likely to use it and contribute to it.
  • Revision history with rollback. The wiki will be open: every page changeable by anyone. Also, I'm going to be drafting documents in the wiki. I need edits saved at each stage so that I don't lose work, and can always see what's been changed.
  • Media capable. Text and file attachments are not enough. The wiki should have a facility for embedding screenshots and videos as well as attachment links.
  • Access restrictions through its own permissions system. I didn't want to beg time from IT to implement external authentication like LDAP.
  • Free. The wiki would be a pilot project, a proof of concept. I needed to show that it would work before asking for any funding.

The "free" requirement meant I'd only be considering open source products. I looked at wikimatrix.org and found there were dozens of wikis from which to choose. I looked at reviews and recommendations and settled on two of them to try out: Mediawiki and Dokuwiki. Mediawiki is by far the best known. It's the engine that powers Wikipedia, and you'll find many sites that use it.

Life Without SQL

Despite the obvious advantages of Mediawiki -- huge community, many extensions -- I chose Dokuwiki. I found that it did everything I needed. Amazingly, Dokuwiki, does it all without a SQL database. Pages are stored as plain text files. A file-driven database is advantageous not only for backup (just use targz or zip tools), but also for offline document creation. Drag the files into the proper directories and they immediately show up on the wiki. If the wiki is hosted on a local area network, all you need to place content and media is your file manager. Dokuwiki is so compact compared to SQL-based wikis, it can even run from a small USB stick

Out of the box, Dokuwiki provides user/group access controls. Pages can be edited in their entirety or by section, allowing more than one user to work simultaneously on the same document. Dokuwiki shows you differences between revisions, and lets you search your site with automatic indexing and page caching. You can extend Dokuwiki with dozens of plugins -- not nearly as many as Mediawiki, but enough to suit most needs. With a one-line command, you can turn a page into an image gallery or blog, allow others to comment, export to OpenOffice or start a slide show. Plugins are easily installed and updated through the administrative menu.

Right For You?

Dokuwiki is ideal for a small business, a departmental wiki, or anything you need to maintain without IT resources. You can install it on either a server or your desktop. Its small requirements and file-based storage means you can copy it to a USB drive or notebook for offline reference. Converting existing documents to its syntax isn't very hard, thanks to the html2wiki tool. Should you outgrow it, the same utility will help you migrate to Mediawiki.

I've written a couple of tutorials on how to install Dokuwiki and customize its appearance and navigation.

This post was originally published on my other blog, https://tech.surveypoint.com