Jens Krämer

XWiki plugins

In the beginning of the year (Update: we speak of 2005 here) I reviewed XWiki for use as our internal knowledgebase at work. Being a somewhat young project it still lacked some basic features. Especially change notification by mail and an indexed search were features marked as must have on our requirements list. Additionally we wanted to integrate searching across external documents (Javadoc, PDF- and Office documents).

So I wrote two plugins for XWiki, implementing these two functionalities.

Lucene plugin

This plugin integrates Lucene with XWiki. Download links and Installation instructions can be found on the Maven project page.

Features

Todo

Status

The plugin was developed using XWiki Version 0.9.543. Since I don’t know XWiki that long I can’t say with which older XWiki Version it will or won’t run.

Thanks to the valuable feedback of Ludovic, who tried out the early versions of the plugin in a large virtual wiki environment, it has now reached a quite stable and imho useable state. Current Version is 0.9.3 released September 12th, 2005.

Email notification plugin

This plugin allows users of Xwiki to receive notifications about changes of documents by email.

Maven generated project page.

Features

Status

The end of the story

Unfortunately in the end we chose (Twiki) since it really seemed to be the more mature system and offered more functionality via a wide range of plugins. The plan was to do the indexed search with Twiki’s plucene plugin (Plucene is a perl port of lucene).

In fact, Plucene didn’t manage to index our external documents. It works fine for the wiki itself, but the attempt to index only some hundred MB of mixed documents ended after some hours in plucene having eaten several GB of memory. I don’t remember exactly if it crashed for other reasons then or if there simply was no swap space left.

So in the end we now have an external lucene based indexing server serving search results to a JavaScript powered search page inside the Wiki. That makes a neat combo - Scripting language based frontend connected to a Java based backend via AJAX. Or however you would like to call it ;-)

That said, I doubt I’ll have time to develop these plugins any further. Source is contained in the official XWiki repository, so development can be continued.