Comparison between TWiki, MediaWiki and Confluence

Executive Summary

Different Wikis are suitable for different things. TWiki has the best features, but really needs some crafting in terms of appearance. MediaWiki is easily to deploy, is attractive, but is not structured. If you need a structured Wiki with workspaces you'll might want Confluence. If you want community development in an unstructured manner, you want MediaWiki. If you want separate webs, structure, but also community development, go for TWiki - and then reskin it.

Introduction

Much of the material in this report comes from a request for a comparison between TWiki and Confluence from ARCS. I'd previously wanted to do a comparison between TWiki, FosWiki and MediaWiki and then Confluence was thrown in the mix. The following compares all these technologies [1].

TWiki is a structured wiki [2], meaning it contains database-like features, which was first released on June 23, 1998. The latest version, 4.3.0, was released on March 30, 2009. In October 2008, TWiki adopted a new governance model leading to a significant number of contributors to leave and fork the project with the release of FosWiki. The significant difference between Foswiki and TWiki 4.2.4 is branding, with TWiki now being a trademarked name. Technically the differences between the two are very slight with FosWiki claiming to be slightly ahead on bug-fixes. Both are written in Perl and make use of plain-text files to store data.

MediaWiki is an unstructured wiki was first released on the 25th January 2002 and the most recent release, 1.15, was July 13, 2009. Released under the GPL and governed by the Wikimedia Foundation, MediaWiki has a very high level of active community development and most famously is the engine behind Wikipedia. MediaWiki is written in PHP and uses MySQL (or, more rarely PostgreSQL) as a content database.

Confluence is a structured wiki was first released on the 25th March 2004 with the most recent version, 3.0, released on June 1, 2009. Its license is proprietary, but free to open-source projects. Confluence is written in Java and requires a servlet container (e.g., Tomcat) to provides a Java HTTP web server environment for Java code to run.

All three Wikis are mature and under active development. Two of the three have open source development which is typically superior in terms of bug-fixes and customisation. In terms of available expertise familiarity with scripting languages (Perl, PHP) is relatively easy to acquire and more widespread. In terms of web-server knowledge of Apache, the default for TWiki and MediaWiki, is significantly more well known than that of Tomcat.

Installation, Upgrade and Maintenance Issues

The technical information here is the most brief summary only.

TWiki has a familiar installation procedure for system administrators, requiring extraction of a tarball in an appropriate directory, establishing of correct permissions, establishment of an appropriate local install configuration file and Apache configuration file, and the running of a configuration script within the browser. Upgrades involve a new installation and the copying of data, webs and any tailor-made skins and preferences to the new version. With plain-text files used throughout as a generic type TWiki is easy to administer, but does have performance issues when the number of users reaches several thousands or more. Load balancing and caching options are available to alleviate this problem.

MediaWiki installation procedure is of a similar level of complexity. Download, extract to a web-server accessible directory, alter permissions, establish a database with a specific user and permissions, point a browser to the configuration script and follow the on-screen instructions. Upgrading requires backing up existing files and database, unpacking or otherwise downloading the new files, and running the update script. As a database-driven system from a simple scripting language, MediaWiki rarely has performance issues.

In contrast, installation of Confluence is somewhat different and may be unfamiliar to some sysadmins. Installation of Java 5 (JDK 1.5) is required, along with the installation of X11 dependencies. Confluence is then downloaded, extracted and a home directory established, a properties file edited, and ports modified if other applications used the ports used by Confluence. After this a Java/MySQL connector needs to be installed, with a database and schema privileges set up through that method, rather than the command-line, and the properties file is re-edited to ensure database connectivity. Upgrades require backing up the Confluence home directory and database, downloading the new version of Confluence, and following version-specific upgrade paths. Because Confluence is written in a application language rather than a scripting language it does suffer significant performance issues; in most cases a complex clustered version of Confluence is recommended for sites of any significant size.

In terms of installation, upgrade and maintenance, MediaWiki is clearly the easiest and requires less physical resources, closely followed by TWiki. Confluence, in contrast, is more complex and will require more physical resources.

Comparison of Features

A general comparison between the feature-set of the three wikis indicates a great deal of similarity [3] in the core technologies independent of system requirements already discussed. Basic features such as previews, minor edits, change summaries, page history, unlimited revisions, universal revision differences, indexing and plugins are common. All offer Unicode support (albeit limited in Confluence), notification, categories and namespaces, and full-text searches. All provide section editing, page templates, WYSIWYG editing, and access keys. All provide accept some HTML coding as well as particular wiki syntax, with TWiki offering full HTML support. All are capable of offering comprehensive statistics on changes, wanted pages, orphaned pages and the like (these features are particular advanced in MediaWiki). All can export data with variable skins, provide RSS/ATOM feeds, can adapt to various CSS stylesheets, export as raw, PDF, HTML or XML. In terms of display, MediaWiki and TWiki both provide XHTML standard code [4], with Confluence lagging somewhat in this regard. All offer file attachments (although there are notable limitations with MediaWiki), and are capable for embedded flash, and video.

Where the Wikis differ is more interesting, with the abilities of each differing according to their target market. MediaWiki is particularly poor, for example, at providing strict access control and content management. This is because it is explicitly designed for the unstructured rapid generation of content from an existing community base [5]. In comparison, both Confluence and TWiki allow for separate groups to share the same wiki (spaces and webs, respectively), with fine-grained access permissions; MediaWiki simply does not provide these options (although, like Confluence and TWiki it does provide extensions for these. Further, TWiki is designed for high levels of collaboration, and thus provides syntactic shorthand for linking to pages in other wikis and links to other wikis (usually within the same wiki as your own) that have the same names as pages on your wiki.

The typical administrator is relatively disinterested in aesthetic development of a Wiki. Thus, on a superficial level, other Wikis such as Confluence or MediaWiki may initially appear better to more people, but in reality TWiki offers significantly more variation in design through templating of individual webs within the main site.

Endnotes

1] TWiki (http://twiki.org/), FosWiki (http://foswiki.org/), Confluence (http://confluence.atlassian.com/dashboard.action), WikiMedia (http://wikimedia.org/)

2] A discussion of the components that make up a structured versus a free-form Wiki are discussed on the TWiki site: http://www.twiki.org/cgi-bin/view/Codev/StructuredWiki

3] From WikiMatrix, http://www.wikimatrix.org/compare/Confluence+MediaWiki+TWiki

4] This is important for issues such as browser compatibility, variable media and accessibility for the differently abled.

5] Daniel J. Barrett, MediaWiki, O'Reilly, 2009, pp5-6