Making a Wiki

2004 Sept 23 at 22:36 » Tagged as :wiki, rcs,

It's been an year since I first tried out the mediawiki project. Since then I have modified/customized several versions of the software but I have not aquired a taste for it yet. The reason is that mediawiki is extremely complicated. Extremely complicated does not mean bad. This is a very good piece of software, it handles the gigantic database of the wikipedia project extremely well. It's just that I don't like complex projects that have too many features.

In recent times there have been some discussions in 'the list' about wikis and one of the names that came up was tavi aka WikkiTikkiTavi. I decided to give this a try and i really liked the size of the download the same cannot be said about the installation instructions. It's amazing that such a small piece of software has so many installation steps.

The configure script asks you a series of questions before producting the configuration file. This reminds me of the bad old days of when you didn't have the luxury of using make xconfig when compiling the kernel. This task certainly feels more complex than building the kernel.

Having put my nose to the grinder my reward was an error message:

Error executing database query.

Please contact the administrator for assistance.

LOCK TABLES rate WRITE

Not sure what the cause of the error is but you find lot's of wierd suggestions at : http://tavi.sourceforge.net/TaviNoPerl. What worked for me was to go into the admin section click lock/unlock pages and then save. That apparently created the first page in the wiki and the error message disappered.

Boy is this slow or what. The page takes up quite a few seconds to load with just one record in the database. I shudder to think what might happen with hundreds of pages. I first thought the authors had gone overboard with table locking but soon I found the real reason.

Each function with in the tavi scripts attempts to establish a database connection that is a huge huge overhead. Now you might think using a persistent connection will eliminate that overhead. It does not. Even if you use a persistent connection the pool has to be queried and if an old connection is reused you still need to test if it's alive what a waste of clock cycles.

The reason that I am looking for alternatives to mediawiki is because I want something less complex, tavi does not seem to be the solution.