TWiki Success Story of Mundipedia
In November 2008 we have launched http://de.mundipedia.com
. Mundipedia is an
encylopedia based on the wiki TWiki http://www.twiki.org
differs in at least two aspects from other online encylopedias:
- Mundipedia shares its incomes with their authors. Therefore Mundipedia is a commercial project! For the authors the contribution is free. The incomes are generated by commercials donations and further incomes.
- Mundipedia is based upon certain plugins to Twiki to provide a semi structured information solution. Any article must fit in the given information structure (semantic categories) and is additionally stored in a structured database
The software solution is based upon work done by http://www.mundiamedia.org
and certain open source products.
This document describes the core elements of design principles in
Mundipedia and the techniques this system use. Mundipedia is a wiki
based upon TWiki and uses the common features of
wikis. Mundipedia is also an encylopedia. But Mundipedia differs in at last
two aspects from similar projects:
- for the authors the free contribution but their participation on the earnings of the project
- free authorship but any contributed article must fit in the given information structure (semantic categories)
The first item will discussed in the next section, the second in the
Authors collecting points for various reasons
- by creating and modifying articles
- by the number of views on their pages
- by fulfilling roles on articles
The points are calculated daily. Monthly authors get a revenue based
upon their percentage of the total sum of points.
As we have started to design the Mundipedia project we realized that two
goals would be the key to success
- providing the users a clear taxonomy as an information structure model (categories)
- store as much as possible of meta data to a category in a semi structured way so it may be possible to remain those accessible
This premisses resulted in the need of using Twiki form for maintaining these
meta data and the integration of a database into Twiki to access this meta
The use of a database also provides the possibility to
- separate text search - commonly unstructured - and structured database search
- the possibility to render some indices automatically
- presenting the meta data in defined way by using templates
- automatically calculating relations between topics
Finally spoken the extension done here are a approach to a semi structured
wiki. This ongoing development will be continued by
The System Components
Mundipedia is based upon Twiki which is written in PERL in opposite to common
other wikis, eg MediaWiki, which are based upon PHP. And Twiki has proper
interfaces for plugins and extensions.
For the structured storage module Mundipedia needs a database and the choice
was PostgreSQL http://http://www.postgresql.org/
since PostgreSQL provides a
lot of database types and allows structs and aggregates of simple types,
which may be used to store meta data out of the structured form.
Mundipedia offers a structured search within the PostgreSQL database and for
causes of speed and comfort a replacement of the Twiki built-in text search,
which is provided by SWISH-e http://www.swish-e.org/
The forum solution is provided by ARoMaXT http://www.aromaxt.net/
Some Implementation Details
The key issue was the integration of the Mundipedia database with Twiki.
Most of this task is done by the a Twiki plugin, the "Mundimedia Database
Gateway". Especially it uses the "afterSaveHandler" to connect to the
database and realizing a parasitary gateway
Another plugin, the "Mundimedia Rendering Engine" provides handlers for
various display tasks (indices, rendering of meta data) on the Mundipedia
Several CGI scripts have been created to add features needed by Mundipedia.
But these handle just special purpose tasks.
In fact, by now the shortly mentioned approach is not yet a complete
solution, but further work will be done by the Mundimedia team. Some parts of
the system will be remain open source and in the public domain.
Some changes were needed to be done in the Twiki library code reflecting:
- features regarding forms - adding multiple fields
- building the urls - removing the web name
- some minor changes in the Twiki rendering engine
After finishing the beta phase Mundipedia will discuss these changes with
the Twiki community.