Skip to main content

Understanding wiki software

MediaWiki proves itself the best open source solution

Jeff Orloff, Technology Coordinator/Consultant, PBCSD/Sequoia Media Services Inc.
Jeff Orloff is a technology coordinator with the School District of Palm Beach County. He also works as a consultant for Sequoia Media Services Inc., specializing in companies that are implementing social media into their businesses for collaboration and information-sharing. He is currently writing a book titled MediaWiki: A Beginner's Guide for Packt Publishing.

Summary:  When people think of wikis, Wikipedia most often comes to mind. Yet, businesses have found that using wiki software to build Web sites, manage online user manuals, and encourage collaboration among employees takes the software far outside the box. See how MediaWiki has been the choice of many successful collaborations and information-sharing implementations.

Date:  21 Apr 2009
Level:  Introductory
Activity:  1693 views

Without a doubt, the most widely known wiki is Wikipedia. With more than 9 million registered users and close to 16 million pages of content at the time of this writing, those in charge of managing such a massive collaborative site needed to ensure that they relied on the best software package available. Yet, when the Wikimedia Foundation's flagship project quickly outgrew its Perl-based UseModWiki software, the Foundation turned to a PHP-based software package rewritten to include a scalable MySQL database back end. MediaWiki was born.

Frequently used acronyms

  • ACL: Access control lists
  • FAQ: Frequently asked questions
  • HTML: Hypertext Markup Language
  • IT: Information technology

Although Wikipedia is currently the most famous wiki, it is rather new to the game. The first wiki was created in 1994 by Ward Cunningham as a way for programmers to exchange ideas over the Web. Taken from the Hawaiian word for fast, the name quick-web became WikiWikiWeb, and with it came a new means of collaboration.

Until 2001, wikis were relatively unknown to those outside the programming community. However, with the introduction of Wikipedia in 2001, the collaborative benefits of wikis became evident to organizations of all types and sizes. Wikis took hold because of how easy it is to create and modify pages. Using a simple markup language called wikitext, registered users need only a Web browser to be an active participant in the community.

Because wikis are so versatile, wiki software has been used in many ways to help organizations build a strong Web presence. Outside of building an entire site on a wiki software package — which is frequently done — organizations that implement wikis as part of their Web presence often do so to provide their visitors with:

  • A place for collaboration
  • A content library
  • A knowledge-management system

Although some of the more famous wikis exist on the Internet for anyone to view, edit, and create content, not all installations exist on a public-facing server. Administrators can install the software internally to protect sensitive information from leaving the confines of an organization.

Collaboration

Wiki software was designed to allow for quick and easy collaboration among visitors. Although there have been many implementations of the software, this is still the No. 1 reason an organization implements a wiki. Wikis provide an ideal platform for collaboration because they are easy for non-technical people to use, allow for real-time editing, and provide a centralized repository for storing information.

Nontechnical users find wikis easy to use because there is no new software to learn. Each time a user needs to reference a wiki article, create a new article, or edit an existing piece, he does so through a browser — probably the one piece of software any computer user feels comfortable with.

Unlike other project-management or content-management tools used for collaboration, wiki users need only reference the wiki's markup language when creating or editing a document. In addition, there is no need to involve IT in the management end of the wiki. When installed and configured, anyone can monitor the wiki's content to make sure it is relevant, accurate, and acceptable.

Wikis also allow for real-time editing of content. There is no more question as to whether the document you have is the most recent version: If it exists on the wiki, it is up to date. Wikis also allow for tracking who edits a piece of content and for discussions regarding content, so not only are they accessible in real time, but they can be managed in real time. Users can easily see what content has been recently edited, making them aware of any changes that may be important to them.

Wikis make collaborating easier because they allow all content to be stored in one centralized location: the server. With a wiki solution in place, the days of someone going on vacation with the only copy of a document are minimized. As long as the content has been created on the wiki, it is stored for all users to access whenever they need to.


Content library

Since wikis were originally developed for programmers, it is no wonder that this tool has been embraced by so many in the Free/Libre/Open Source Software (FLOSS) movement as a method by which they can provide some of their most important content to users.

Visit almost any site for a FLOSS project, and chances are high that you will find the user manual, FAQs, installation guides, and a host of other content related to their software in the organization's wiki. Many companies use wikis to provide policies, user manuals, human resource documents, forms, and other content to their employees. Again, this content can be stored in one central location for employees to access as needed. With a wiki solution, companies can comply with laws and policies that require them to provide employees with certain information, and they can provide their employees with an easy-to-read online version of this information, reducing the need to print and provide hard copies of the material for each employee.

In either instance, the wiki software can be configured to restrict editing of the content so documents such as those mentioned cannot be compromised and inaccurate information passed to the reader.


Wikis vs. content-management systems

A tool commonly used for collaboration, a content-management system (CMS) allows users to upload, view, and disseminate content to others in a group or organization by uploading it to a central server or Web site. Although wikis and CMSes seem similar in what they provide, the contrasts are stark.

CMSes do allow for collaboration in the sense that users with the proper credentials can edit an existing document and the changes exist in real time. Unlike wikis, however, these changes are not as easily tracked by the group, so changes can be made with no one being informed of them.

Who can create and edit content is generally more restricted in a CMS than it would be in a wiki environment. Wikis are, by nature, designed for quick and easy content editing and creation by all users. In contrast, CMSes are generally designed to allow a few people to create and edit content for a wide audience that will not be able to make any changes.

Linking between content is another area in which wikis have a distinct advantage. With wikis, linking between content and other wikis is relatively simple. Using the syntax of the wiki engine, a web of content can be created so that visitors can navigate to similar content with ease. With CMSes, links between content are not as simple to create for users. Those with knowledge of HTML will find creating anchors easy to do in a CMS, but the average user would find it far simpler to simply insert the title of a content piece between two brackets, as they would in MediaWiki's syntax ([MediaWiki article]).

Although both tools are powerful means of providing information to people, the decision to use one or the other rests on who will be able to access the content for editing and who will manage the content. As stated, wikis allow for nontechnical users to manage and access content with a great deal of ease, whereas a CMS generally requires a greater depth of technical knowledge to manage.


MediaWiki

After determining that a wiki solution is right for your organization, the next step is choosing a wiki that will work for you. At the time of this writing, more than 100 wiki engines were available for review at WikiMatrix. Out of so many available software packages, it can be difficult to determine which one is best. However, MediaWiki has proven itself the best of the open source wiki engines. Being voted the best wiki tool by Internet Journal is one accolade that supports this, but greater still is the fact that not only is MediaWiki the choice engine for such companies as Intel® and Novell but also the software that powers the world's largest wiki: Wikipedia.

Features

MediaWiki shares some important features with other wiki engines, so the list provided in Table 1 does not represent features unique to MediaWiki. Additionally, this feature list is by no means a comprehensive list of what MediaWiki has to offer. Instead, it covers some of the most important features you may require when implementing a wiki solution.


Table 1. Some of MediaWiki's features
FeatureDescription
Database drivenRather than storing data in text files, MediaWiki uses MySQL or PostgreSQL. This allows all revisions of the article to be stored.
Multi-language supportCurrently, MediaWiki supports 140 languages.
ScalabilityThe largest implementation of MediaWiki — Wikipedia — has more than 1 million articles.
Section editingUsers can edit article sections rather than having to load the entire article.
RSSUsers can track changes to specific content through RSS feeds.
Special report pagesUsers can locate site statistics, lists of users, newly created articles, all pages by title, most wanted articles, popular articles, and many other reports that help them navigate through content.
Discussion listsUsers can follow and participate in discussions related to the content of an article through talk pages.
Side-by-side diffsUsers can compare edits shown side by side with changes highlighted.

MediaWiki architecture

MediaWiki is written in PHP, and although MySQL receives a majority of the testing (because Wikipedia uses this database), there is support for PostgreSQL, Ingres, and SQLite, as well. According to the MediaWiki guide for hackers, the code base is "large and ugly." Most of the data is stored in the database, but some files — such as media files that users upload — are stored in the local file system. The software's architecture is as follows:

  • User layer — Web browser
  • Network layer — Squid | Web server
  • Logic layer — MediaWiki PHP Scripts | PHP
  • Data layer — File system | Database | Caching system

To install MediaWiki, you need:

  • PHP
  • A database server
  • A Web server

Obviously, PHP is required to run the software, and the database stores the content and user details. Although Apache is the recommended Web server, you could use Microsoft® Internet Information Services (IIS), instead. Sun Java™ System Web Server is also compatible with MediaWiki, but it requires special installation instructions.

The minimum hardware required for a server to run a MediaWiki site is 256 MB of RAM and 40 MB of storage. These values represent the bare-minimum requirements because any site that has a significant amount of traffic will find them inadequate.


MediaWiki compared

MediaWiki is not without strong competition from other open source wiki engines. TikiWiki, DocuWiki, PmWiki, and others all compare extremely well with MediaWiki. Many share similar features that make wikis what they are. There are some distinct differences among the top wikis, however, where MediaWiki demonstrates a solid edge.

Data storage

Not all wiki engines use a database. Both DokuWiki and PmWiki store information in text files. Although text files take up less disk space, databases provide greater data security, easier access to the data, and better scalability for a large number of users. PmWiki does provide support for MySQL, but only through a plug-in.

Large development community

Any FLOSS project is only as good as its community. Although bigger doesn't always mean better, it helps to have many resources from which to pull. Because of MediaWiki's popularity, it boasts an active IRC support channel on freenode — #mediawiki — as well as multiple forums on which users interchange ideas and questions. Considering that MediaWiki supports three times as many languages as its nearest competitor (140 compared to 46 provided by DokuWiki), it is evident that contributors from all over the world are working on this project.

For those who prefer commercial support for FLOSS projects, more than 33 companies will provide paid support for MediaWiki, compared to six for PmWiki, nine for TikiWiki, and 17 for DokuWiki.

Semantic MediaWiki

Bringing the power of the semantic Web to a wiki engine allows for semantic annotations of content, making it computer-processable so that the text can be understood by computers searching for information and complex relationships therein.

To make MediaWiki even more powerful for users, a free extension named Semantic MediaWiki (SMW) was developed to help "search, organize, tag, browse, evaluate, and share the wiki's content."

Tried and tested

Just because someone else is doing it doesn't always mean its best. However, when looking at the list of companies and organizations that employ MediaWiki as their wiki engine, one can't help but be a bit impressed.

Of course, there is Wikipedia and all the other sites run by the WikiMedia foundation, yet the references don't stop there. Large companies like Pfizer, Siemens AGSI, NVIDIA, and End Point use MediaWiki for internal and public-facing projects. Smaller companies also make use of this wiki engine to provide documentation, customer support, and other information to customers and employees. Even the U.S. Government has jumped on the MediaWiki bandwagon with Diplopedia, the official wiki of the U.S. Department of State, which provides information to its 57,000 employees.

With such a large and impressive user base working with the development community, organizations looking to implement a wiki solution can feel confident that MediaWiki can handle their expectations.


MediaWiki in action

As stated earlier, MediaWiki has functioned as more than a collaboration tool for many organizations. In fact, it has been implemented as an all-round Web tool for many. The organizations mentioned below use of MediaWiki in situations other than what one might expect from a wiki.

The OpenNMS Group

The OpenNMS Group provides a perfect example of an all-round MediaWiki solution. Right from the beginning, visitors are exposed to MediaWiki, as it serves as the development platform for the home page. The OpenNMS Group makes further use of MediaWiki to provide users with product documentation, collaboration through discussion lists and development pages, and a knowledge-management category titled newbies.

ECGpedia

Moodle may reign as the king of course development on the Web, but ECGpedia shows how versatile MediaWiki can be with its online course/textbook, teaching medical professionals about electrocardiography.

Advanced Gaming Systems

To provide support, documentation, and a community portal for its Harpoon naval-simulation series, AGSI built this wiki with the intention of turning it into the primary source of information and support for the Harpoon community.


Conclusion

None of this is to say that MediaWiki is a panacea. Wikis in general are not a solution for every need. There are times when a CMS provides a better route for an organization's needs. Even if a wiki is the route taken, MediaWiki's lack of support for ACLs may be too much of an issue for some to handle. However, the limitations that MediaWiki has for some are the exact characteristics that have made it so popular with others.


Resources

Learn

Get products and technologies

Discuss

About the author

Jeff Orloff is a technology coordinator with the School District of Palm Beach County. He also works as a consultant for Sequoia Media Services Inc., specializing in companies that are implementing social media into their businesses for collaboration and information-sharing. He is currently writing a book titled MediaWiki: A Beginner's Guide for Packt Publishing.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source
ArticleID=383084
ArticleTitle=Understanding wiki software
publish-date=04212009
author1-email=jeff@sequoiamediaservices.com
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers