What’s a Wiki?

If you haven’t paid attention, the World Wide Web has been changing dramatically over the past few years. It used to be that if you wanted to create a web site, you either had to learn the basics of HTML, or spend a few hundred dollars on a web development tool. Or hire a designer to put one together for you.

Every time you want to add new content to your web site, you’d have to go back to your tools, add a new page, update all of the site navigation, or pay another fee to your web designer.

Those days are history. Thanks to a variety of different content management systems, you can easily add new content to your web site with no technical knowledge whatsoever.

Dynamic web sites

Google likes change. The Google search engine works like a popularity contest — the more people who link to your site, the higher your site will appear in the Google rankings. How do you get people to link to your site? Two choices: create good content, or cheat. Many people try to take shortcuts, participate in link exchanges, hide links on a bunch of different pages, and try all sorts of things to make their web sites rank higher on Google.

The key to getting repeat visitors, inbound links, and high Google rankings, is to continually post new content. The more interesting your content, the more visitors you’ll attract

But cheating doesn’t necessarily result in satisfied visitors, and chances are, you want people to keep coming back to your web site, stay aware of your company or hobby or insights or whatever the purpose of your web site is. You don’t get this by cheating.

The key to getting repeat visitors, inbound links, and high Google rankings, is to continually post new content. The more interesting your content, the more visitors you’ll attract — once you’ve been found in the first place.

Dynamic web sites automate the process of posting new content. Instead of a bunch of static, unchanging files, dynamic web sites are programs that store content in ways that make it reusable on a bunch of different pages. You can write content on one web page, and have it automatically appear on another.

What’s a content management system?

A content management system is an automated way of managing content, whether that content is a sentence or a full document, an image, a video, or a sound clip. This article is going to cover a few different types of content management system that are dynamic web applications for managing text.

But even this description is very broad. Different people think of different things when they hear the term Content Management System. Here are three primary goals for different types of content management systems:

  • Enforce a publication process, defining a workflow of roles and approvals. Traditional news media, and companies with a large marketing department look for systems that separate the roles of writer, developmental editor, copy editor, and proofreader, requiring sign-offs before publication.
  • Manage a collection of knowledge. Teams that work together on a project or in a company often need to capture and share information with each other. A content management system can provide a framework for capturing that information and make it easier to learn what you need to know to get your job done. This is often called a knowledge base.
  • Simplify getting content online. The most basic content management systems make it easy to post new content quickly, making it more likely that you’ll do it, and saving the expense of hiring web developers.

There are many other motivations behind content management systems, but these seem to be the most common. Now let’s take a look at a few specific systems, and why you might choose them. All of the programs in this article are free, open source software applications that run on a web server.

Fast and easy web site management with Mambo

Need a simple way to manage your public web site? Looking for a system that can start out simple but give you plenty of room to grow and add features later? Look no further than Mambo, a basic but powerful content management system.

Mambo is best suited to businesses looking for a simple way to get content online. With minimal training, you can easily add pages, manage navigation, create content and sort it in two dimensions, and apply formatting without knowing any HTML or buying any web editors.

Mambo earned the “Best Open Source Solution” award at LinuxWorld in Boston earlier this year. It is polished, great for non-technical users, and provides a framework to have custom modules installed that add all sorts of features such as event calendars, directories, photo galleries, or whatever you can think of.

Information at a glance with a PostNuke portal

Slightly more rough around the edges, slightly less stable, but even more powerful than Mambo, PostNuke is a full portal system with a more flexible security model.

PostNuke allows you to create several different groups of users, and grant or restrict access to various parts of the web site to any particular group using a set of Access Control Lists (ACLs). This makes PostNuke a great system for managing a customer extranet, where you want to be able to provide unique content to particular customers. It also works well for a community-based web site, where you want to allow untrusted users to be able to post stories or other content without granting them access to more critical areas of the site.

PostNuke is designed as a Web Portal, a site that puts a lot of different information in a single place. Headlines, weather forecast, stock tickers, trouble-tickets, current status, all sorts of things can be organized to display in a particular position on the main page.

If you have slightly more security needs, and don’t mind working around its quirks, PostNuke is a great way to go. PostNuke is a spinoff of another popular portal system called PHPNuke, with more of a focus on security and a standard programming interface.

Knowledge base for the world: MediaWiki

What’s a wiki? From the Hawaiian wiki wiki, which means “quick,” a wiki is a web site that is very fast and easy to update. The distinguishing characteristic of a wiki is that you can create links to pages that don’t exist, and then just follow the link to create the new page.

Programmers working on a large project often use wikis to explain why they chose a particular design, or what you have to do to work around a technology limitation

The largest and most famous wiki is the Wikipedia project, an open source encyclopedia. Wikipedia currently has over half a million individual articles, more than the Encyclopedia Brittanica. Anyone can write or edit a Wikipedia entry, and anyone else can edit, change, or revert the article to a previous version. While this may sound chaotic, the whole system works surprisingly well. Wikipedia provides a quintessential example of a wiki, but there are thousands of other wikis in use all around the web, inside and outside organizations.

You might find a wiki useful for collecting information about a project, documenting any issues that arise. Programmers working on a large project often use wikis to explain why they chose a particular design, or what you have to do to work around a technology limitation. You might choose to use a wiki to collect information about a product you manufacture, and invite your customers to find help and offer support to each other through the use of your wiki.

  [MediaWiki](http://wikipedia.sourceforge.net) is the name of the software that runs Wikipedia. There are dozens of other wiki programs out there, but MediaWiki is fast becoming dominant because of its support for images and video, discussion features, and full version history of each article.

You do have to learn a simple set of codes to get your articles to format correctly in MediaWiki. For example, to create a link to another page, you surround the title with two square brackets, like this: [[Another Page]]. But once you learn the markup, it becomes a great free-form place for collecting information.

Basic blogging for business and play with Word Press and Serendipity

By far the most popular systems for creating new content on the web are blogs. There are now over 10 million blogs on the internet. The word blog is a shortened form of the phrase “web log.” A blog is basically an online journal, a series of content entries ordered by date and time.

You can also embed Serendipity into a page in your existing static web site, adding a dynamic news page to an otherwise static site

Blogs are basic content management systems, and provide a simple way for you to add new content to your web site on a regular basis. And blogs introduced a brand new way of distributing that content: Really Simple Syndication (RSS).

  [Word Press](http://wordpress.org) is a popular blogging system. It can manage pages and navigation almost as well as Mambo and many other more traditional content management systems, but its main purpose is as a blog. Word Press comes with a couple “bookmarklets”, chunks of code you can use as a bookmark in your browser to quickly post new content. One of them automatically creates a link to whatever page you’re viewing, and copies the page title to the entry, providing an easy way to create references to other stories and blog entries around the web.

A less popular but more polished option is Serendipity. Serendipity has an even easier interface for posting stories, and a built-in media manager that resizes photos you upload automatically, and lets you easily browse them and insert them into your stories. You can also embed Serendipity into a page in your existing static web site, adding a dynamic news page to an otherwise static site.

Content management system summary

These are but a few of the hundreds of different content management systems available. Many larger companies sell proprietary systems, but with the wide selection of free software versions, you can easily find a free system to meet your needs, no matter how simple or complex.

Table 1 summarizes the applications discussed in this article, each column on a scale of 1 to 5:

Application Vitality Stability Usability Features Final Mark
Mambo 5 4 4 4 4
PostNuke 3 3 2 5 4
MediaWiki 5 5 3 4 5
Word Press 5 5 2 4 4
Serendipity 4 4 5 4 5

Table 1: Summary of applications in this article

Vitality refers to how much of a community the project has attracted, how committed those people are to the project, and how active the project appears to be.

Stability refers to the maturity of the project, how often security vulnerabilities have been discovered, and how much of a pain it is to configure or update.

Usability refers to how polished the interface is, and how much technical understanding is necessary to learn and use the system effectively. Usability scores are lower because, let’s face it, even the best systems could be easier to use.

Features refer to the availability of modules or packages that extend functionality of the system, or unique architecture or design advantages of a project.

The final mark ranks the project against other projects in its category. All of these are excellent projects, because we’ve pre-selected the applications we like and deploy regularly.

Next month I’ll get more into RSS and the future of internet-based media.


This work is licensed under a Creative Commons Attribution 3.0 Unported License.