Another wiki tamed

Sorry, I know I'm a few years late jumping on the wiki bandwagon. Yesterday I decided I wasn't entirely happy with MediaWiki after all, and tried out PmWiki. I may have overlooked it before, because at some point in my life I guess I drank the RDBMS kool-aid and became skeptical of projects based on a standard file system (the database that god gave us).

Once I opened my mind to the PmWiki philosophy, I found that it does a lot of things quite well. One of the expected advantages of a database is to make searches faster and more convenient, but as the author points out, even this advantage is illusory. You usually fare better by having some dedicated tool (htDig, glimpse, google) index your files and provide search capability, rather than coding up your own based on a custom data model. This corroborates my experience with WordPress… you don't see a search box on my site at the moment, do you? (But you can always add to a Google query.) The debate here also reminds me of one of the many differences between subversion and darcs; the latter uses flat files entirely for its bookkeeping.

PmWiki doesn't insist on CamelCase for links, which is good. It has a ‘monobook’ skin that imitates the look of Wikipedia (still the least ugly wiki in my opinion). It has a decent authentication, permissions, and groups system, and it's trivial to hack up more flexible policies (e.g., you must be on campus or logged in to view pages in this section). Actually, the lack of database is a slight security advantage too: you can embed the cryptographic hashes of passwords in the config file(s); there's no need to store plain-text passwords that must be transmitted to the database.

The main limitation I see so far is that it doesn't seem to support displaying arbitrary older versions of a page. It can show the page history and diffs, and you can restore older versions, so I believe all the required information is there, we just need a query interface for it. On Wikipedia, there's a ‘permalink’ that provides you a URL for this exact version of the page that you are viewing. It's useful for citing the page elsewhere, if you want to be sure that someone accesses the exact version you saw. It's not clear to me that PmWiki can do that yet.

Also, there are a couple of choices for producing typeset (printable) copies of pages, but most of them look miserable or else are too complicated. I haven't decided yet whether it's worth my time to hack up something using pdftex. Let's get some real documents up there first, I guess.

Oh yeah, the installation is here, if anyone wants to peek. Not much to see yet, particularly from the outside… unless the security is totally broken. :)

©20022015 Christopher League