Linux.com

Feature

The open source wiki behind Wikipedia

By Sean Michael Kerner on November 30, 2004 (8:00:00 AM)

Share    Print    Comments   

A wiki is a software platform for contributing, sharing, and managing content. Any group that has a need for a collaborative user driven content environment can benefit from using a wiki. Perhaps the most prominent example on the Web of a wiki in heavily active, popular usage today is Wikipedia, which is, as you might expect, a wiki-based encyclopedia. The Wikimedia Foundation uses as the basis of Wikipedia a GPL-licensed application called MediaWiki, and so can you.
From a user perspective, MediaWiki provides a simple, feature rich environment for editing and contributing content. Content is handled with a simple WYSIWYG editor that makes editing accessible to anyone by default even without a login. All articles also have a discussion tab that allows readers to comment on the article as well as a history tab that lets you view version history when edits have been made. Its ease of use has no doubt been a contributing factor in the growth of Wikipedia.

Installation

For the purpose of this review I tested the most recent version of MediaWiki version 1.3.8, which was just released on November 15. According to the documentation all it needs to run is Apache, PHP, and MySQL. Through my own basic testing I found MediaWiki able to run on a 2.4.x kernel with Apache 1.3.x, MySQL 3.23.x, and PHP 4.x as a minimum.

Get the tarball, unpack it, and put the contents in the Web server directory that you will serve MediWiki from. There's a simple install script that handles the rest of the installation, save for some small configuration tweaks. Normally when I'm dealing with an open source application that uses MySQL I assume that I'll have to create the database first so that whatever I'm installing will be able to populate it with tables and data. With MediaWiki, there's an option that eliminates that extra step and automatically installs, creates, and populates your database if you have root user access to the MySQL server you're using.

By default MediaWiki does not allow for uploads of images into the wiki. If you want to enable that functionality you'll need to edit the LocalSettings.php file to read:

$wgDisableUploads = false;

Once you're done with the setup, you're left with one master user, the Sysop. This superuser can protect pages from being edited as well as ban IP addresses and delete and undelete pages, among other administrative privileges. Individual users can add themselves to the wiki as registered users, which will allow them to set preferences and track contributions. A regular user can edit and contribute, while a Sysop can delete, ban users by IP, and protect pages. The Bureaucrat user is the master user that can assign Sysop status to a user. Assigning status is easily done through an option on the Special Pages menu.

The documentation for MediaWiki is somewhat "dispersed"; there's a lot of information, online in wiki format of course, though I found it to be spread across many different articles that weren't all complete. Then again, it is a wiki and it is user driven, so maybe after this review is done I'll contribute some of my own learning back to the project. The MediaWiki mailing list and #MediaWiki IRC channel on irc.freenode.net are also tremendous resources that answered any and all questions that I had about MediaWiki.

Skins

MediaWiki users can choose from four different default skins (Monobook, Skin Standard, Skin Nostalgie, and Cologne Blue ) from the user preferences menu. The skins are basic CSS files and define the layout of your wiki page in terms of where the various page elements fit as well as font definition. Administrators can change skins in the LocalSettings.php or change user skin setting directly by going into the database tables. A logged-in user by default may also change his skin from the default to whatever skin options are enabled.

Creating and adjusting the skins for MediaWiki involves a bit of effort, as there isn't a default skins editor inside of the application. However, since skins are really just simple CSS documents, you need only crack open your favorite editor to modify them. You can find customization instructions and a gallery of user-created styles that may help inspire you.

MediaWiki offers a robust feature set that is all about content. The watchlist feature is useful as both a user or an admin to monitor certain pages for edits. User Discussion/Talk pages are associated with every wiki page where users may leave comments on the page, which logged-in users can track with the My Talk feature. Wiki pages also have associated history pages which detail version changes and allows users to compare differences between versions.

The toolbox navigation items in MediaWiki further extend the content capabilities of the wiki with a Recent Changes options that, surprisingly enough, shows the most recent changes made to the wiki. The Special Pages item includes a plethora of details on the wiki's content, including old, new, dead, and popular pages. RDF feeds in either RSS or ATOM format are automatically generated for a good number of these Special Pages, making it even easier to track content.

An admin user (Sysop) can protect pages, delete and undelete pages, and ban users by IP address and/or username. Beyond that the admin can of course benefit from all of the same features that a regular user can.

Because it's a database-driven application, the standard URLs MediaWiki creates can be a bit awkward for some end users and unfriendly to some search engines. MediaWiki itself doesn't have any method for creating more friendly page URLs itself, but Apache's mod_rewrite can do that for you. MediaWiki documentation helps you set up mod_rewrite.

Since content is a wiki's raison d'etre, it's important to include some information for users about their rights to the content. The MediaWiki setup process allows you to automatically insert copyright and license metadata to be displayed on every page, with a choice of either a Creative Commons or a GNU Free Documentation License version 1.2.

From a user point of view I'm hard pressed to find much wrong with MediaWiki. From an administrator's point of view, the lack of a more robust administrative panel that would provide more granular control of users and permissions in one master dashboard is something I'd like to have. However, that would likely irk some purists who would argue that the wiki by definition is collaborative and not authoritative like a traditional content management system.

Though MediaWiki in its current form easily populates a MySQL database, that ease doesn't extend to backing up the database. Sure, you can also set a cron job on your *nix server to back up your database, but for technical neophytes that's not as easy as it should be.

I was first drawn to MediaWiki because it powers the wiki that I visit and respect the most. Downloading, installing, and running MediaWiki for my own purposes has only enhanced my admiration for both the wiki and the WikiMedia Foundation. It's not only easy to use, it's also easy to install and deploy. In the true spirit of the open source community MediaWiki is a shining example of what open content collaboration is all about.

Share    Print    Comments   

Comments

on The open source wiki behind Wikipedia

Note: Comments are owned by the poster. We are not responsible for their content.

how about twiki?

Posted by: mrmole on November 30, 2004 10:09 PM
I looked at a number of wiki based implmentations for what I was doing and found WikiMedia nice, but Twiki nicer in that it is totally extendable via plugins, templates, forms, and searches. http://www.twiki.org

#

GetWiki is much better

Posted by: Anonymous Coward on November 30, 2004 11:04 PM
GetWiki<A HREF="http://getwiki.net/" title="getwiki.net">.net</a getwiki.net> is a highly modified, and controversial, version of the MediaWiki 1.1.0 software running Wikipedia and other sites, GetWiki introduces XML import of individual articles from any other Wiki-site offering XML export. GetWiki also uses XHTML and CSS document and accessibility standards.

GetWiki was forked from MediaWiki in January, 2004 by M.R.M. Parrott, partially under a Creative Commons license for the images and some of the code. The intention was to simply add the XML import feature to MediaWiki for use on the then Internet-Encyclopedia, but the resulting application became a fork through numerous customizations for the new Wikinfo. The current stable release of Getwiki is 1.0.

GetWiki lets anyone be an interactive GFDL corpus access provider, specializing only those pages in the GFDL corpus they have a need to. It is the closest thing available to Project Xanadu, the original Ted Nelson view of how the world wide web should evolve.

GetWiki is licensed under CC-by-nc-sa and so is Share Alike and Open Content but not Free Software nor Open Source.

#

If you just want a wiki engine

Posted by: Anonymous Coward on December 01, 2004 12:25 AM
If you want a wiki engine to render pages, and plan to handle the other stuff (e.g. storage) yourself, try <A HREF="http://wiki.ciaweb.net/yawiki/index.php?area=Text_Wiki&page=HomePage" title="ciaweb.net">text_wiki</a ciaweb.net>. It's *very* easy to customise, having pretty much the best organised code I've seen.

#

vhosting?

Posted by: Anonymous Coward on December 01, 2004 07:01 AM
Okay, so which of these Obviously Better apps makes setting up a vhosted wiki resources an easy project? I explored it a bit with another wiki product[1], but found it was ultimately just barely unusable in this form. Ideally, I'd want to install the software once, and then have a single small config file that I can edit in each apache virtual host config or docroot.

[1] which I'm not mentioning because I hate that.

#

Re:vhosting?

Posted by: Anonymous Coward on December 06, 2004 07:37 PM
I have multiple docuwikis (<A HREF="http://www.splitbrain.org/dokuwiki/wiki:dokuwiki/" title="splitbrain.org">http://www.splitbrain.org/dokuwiki/wiki:dokuwiki<nobr>/<wbr></nobr> </a splitbrain.org>) vhosted in the manner you suggest.

#

more options than that

Posted by: Anonymous Coward on December 01, 2004 10:39 AM
There is more WikiSoftware than Viruses are out there these days, so take the time and make your own choice (that's what open source is about):


<A HREF="http://c2.com/cgi/wiki?WikiEngines" title="c2.com">http://c2.com/cgi/wiki?WikiEngines</a c2.com>

<A HREF="http://wikifeatures.wiki.taoriver.net/moin.cgi/WikiEngine" title="taoriver.net">http://wikifeatures.wiki.taoriver.net/moin.cgi/Wi<nobr>k<wbr></nobr> iEngine</a taoriver.net>

#

Re:more options than that

Posted by: Anonymous Coward on December 01, 2004 01:57 PM
but why bother looking at anything else..RTFA.

This is what wikipedia uses and it works well enough for them.

#

Re: why bother looking at anything else.. - examin

Posted by: Anonymous Coward on December 02, 2004 12:58 AM
Only because the author forget to mention this (inexcusable) or didn't even know about the rest, doesn't necessarily mean MediaWiki is the only solution out there.

It is by far not the easiest to setup, use and administrate. It is optimized for visual appearance, where other engines often provide more meta data and structuring features. Also it lacks WikiLinks, because it is THE wiki engine used by WikiPedia and it is optimized for only that (as you yourself concluded). Ordinary users will discover that this can make it harder to use for other purposes, and many of its advanced features cannot be leveraged by them anyhow (e.g. running their database bots).

Again: popularity and superiority are two different things. Look at Windows vs Linux.

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya