Table of Contents
Zioth Roleplaying Resources
http://zioth.com/roleplay is a collection of resources for tabletop roleplaying (D&D and the like). It also hosts a few roleplaying campaign worlds.
http://zioth.com/zioth is one of those worlds. DokuWiki allows players to create and edit content.
http://zioth.com is a stupid little humor site which makes fun of e-commerce. This page uses a minimalist template to hide the wiki behind the site.
Originally, my site was a collection of text files, linked through a complicated XML-based system I designed myself. Turning my site into a wiki made it far easier to organize and edit content, as well as allowing for the occasional collaboration.
When I decided I wanted to switch the site over to a wiki, I first tried MediaWiki. While well designed and fast, MediaWiki didn't have the user access control I needed, and building that in was a pain (I got a good chunk of the way there). MediaWiki also had confusing wiki syntax, and wasn't quite right for a number of other reasons.
Next, I tried TikiWiki, the gigantic all-inclusive CMS platform. Having blogs, forums and anything else I could possibly want built in was nice, and the editor was better than either MediaWiki's or DokuWiki's, because of good WYSIWYG integration which fully supported plug-ins. But TikiWiki is seriously bloated, and access control is difficult to use, though extremely thorough.
Then I found DokuWiki. The access control was exactly what I needed. The wiki was extremely lightweight, with excellent feature expansion through plugins. The wiki syntax was the most intuitive and readable I'd seen. And most importantly, it was structured off of text files instead of a database. This allowed me to write simple scripts to convert my hundreds of text files into wiki pages, so I was able to convert my site much more quickly than with other popular wiki software.
DokuWiki makes it easy to write plugins. There are hooks all over the place where plugins can customize the wiki's operation. Compare that to something like the otherwise excellent forum software SMF, where plugins are scripts which hack core code, leaving you with an un-upgradable mess.
What's wrong with DokuWiki?
DokuWiki isn't perfect. It's optimized for the situation where php and commonly accessed data files are precompiled and cached, which isn't the case for many personal, low-traffic websites on shared hosting platforms. This means it might be a little slower than other wiki software.
The WYSIWYG editor is not built in, and doesn't work well with plugins due to widely varying plugin syntax (TikiWiki and the paid software Confluence solve this by requiring all plugins to conform to certain syntax styles). The excellent wiki syntax makes up for this to some extent, but many users don't want to learn special syntax.
Some plugins are pretty essential (captcha, for example), but are excluded from the core to keep the core as light-weight as possible. This isn't a problem for power-users, but it means that getting the wiki to work the way you want can take a while, since you have to search out the right plug-ins.
The default templates aren't as nice as, say, MediaWiki's default. Fortunately, the popular Vector template fills that hole.
For the most part, though, I've found DokuWiki to be very good, and flexible enough for my needs.
How do I use DokuWiki?
My site uses a custom, not-yet-published plugin for much of its content. It allows me to display custom roleplaying concepts like spells, classes, character sheets and indexed game chapters. It uses a custom, not-yet-published template which modifies some of the core DokuWiki features to modernize and speed up DokuWiki.
I use indexmenu and a template to generate namespace-specific sidebars, and nssearch to limit searches to a namespace, making the site act like a bunch of mini-sites. I use menu for index pages. And my own plugin fastwiki modernizes and speeds up Dokuwiki, to mitigate the less than ideal performance on small, low-traffic sites.
While much of the wiki is public, users and groups have access to a private part of the site where they can see information not visible to other players. I also use include to add my own private notes to the bottoms of some public pages. I do this by including pages only visible to my user.