DokuWiki Sync15 Aug 2009
I’m been a huge fan of DokuWiki for many years now. Since I worked in a huge corporate development environment where structured documentation was hard to set-up I managed to pull a great number of resources together using DokuWiki and make it available to my whole team. The culture was such that I was pretty much the only person keeping it up to date … but that’s a different story.
I’m now using it to with a portable web server and DropBox to keep it synchronised across multiple Internet connected devices - which works as I’m the only person contributing to this one. But I can see a need (in my current organisation) for one team to move away from individual wikis (or more precisely TiddlyWikis) that are manually copied centrally from time to time; and towards a set-up which is a shared wiki - the way wikis were meant to be.
Whilst our latest pilot of SharePoint would certainly fulfil the sharing criteria, it won’t allow all users to work in the way they need to. The reason for this is Internet connectivity. Not everywhere and everyone has an always on 100% reliable connection. Just try travelling on a cross-country train for example. This is a big issue for an increasingly mobile workforce like ours.
The solution is certainly non-trivial as there are synchronisation issues to deal with. Even if you had a wiki that you split into spaces for individuals you would find that as well as the potential for producing fragmented content (e.g. two users posting complimentary information in two separate locations), there is also the issue of how to automatically rebuild search indexes.
I’m always on the look out for something to tackle this sort of issue and the nearest I’ve ever seen until now has been SocialText’s TiddlyWiki inspired check-out solution. But now it looks like the solution may have been right under my nose for some time and I’ve never noticed.
DokuWiki is based on a simple file system structure rather than a database structure. Not hugely scalable in performance terms, but a little inefficiency on something inherently straight forward like this means that faster hardware can be applied to mitigate the situation. DokuWiki’s author Andreas Gohr has developed a synchronisation plugin for DokuWiki that seems to take care of everything. Whilst it won’t merge multiple-author edits (i.e. the original page was updated online and a new edit based on the old one has been created offline) automatically it will flag them for manual edit. For me I wouldn’t want to risk the loss of information or the creation of a nonsense page through automatic handling so really this is a non-issue. Everything else seems to be handled including the usual DokuWiki login based restricted access, separation of name spaces, etc.
I’m not sure why I’ve never come across it before but now I have I’m met with another quandary. Before I recommend this internally I’d like to try it out and given it a field test of some sort. However Andreas has chosen an interesting experiment for releasing this particular plugin.
The plugin was written many months ago and he is asking for donations towards its release. When released it will be available to everyone to download and use for free and will effectively be released under the usual GPL2 licensing agreements. He’s most of the way there in terms of donations, but not quite so I can’t yet evaluate it just yet. Given the financial processes we have in place for purchasing things from sources who aren’t preferred suppliers (i.e. directors and credit cards vs. accounts and purchase orders) and the current pressures on the public sector during these financially unstable times I don’t feel as though I can provide enough of a business case to try this when we’ve invested so recently in a system based around very similar collaboration for the whole organisation.
For now I’ll have to hang in there and keep an eye on the total and this interesting “Liberationware” experiment*.
* I was going to use the term “Ransomware” but according to Wikipedia that’s not the right definition!