The Oddmuse Wiki Engine
In 1995, Ward Cunningham established the first wiki Web site, the WikiWikiWeb, for the Portland Pattern Repository Project. In the years since, a number of wiki engines have been developed in a variety of programming languages. One such wiki engine is Oddmuse, written in Perl by Alex Schroeder.
Although wikis have been around for nearly a decade, they appear to be enjoying a rise in popularity, and many people only now are encountering the wiki concept. Therefore, a brief overview of wikis is in order. If you already are familiar with wikis, you might want to skip to the next section.
The underlying concept of a wiki is simple: a wiki is a Web site that allows any user to add and edit pages by using nothing more than a Web browser. This simple arrangement is quite powerful. It enables arbitrarily large numbers of volunteer editors to contribute to collaboratively created Web sites. It also enables smaller groups or even lone individuals to create and organize information with great ease. Put another way, as Cunningham once said, “[A wiki is] the simplest on-line database that could possibly work.”
In my experience, I've found wikis to be useful tools that make tasks such as organizing projects and creating documentation about almost anything surprisingly less painful and time consuming than they often can be. Perhaps the best way to grasp what wikis are, how they work and the scale and quality of documents that can grow from them, is to explore a mature, established wiki. An excellent example is Wikipedia.
Wikipedia is an encyclopedia, exactly like a multivolume, printed-and-bound encyclopedia. Unlike a bound encyclopedia, however, the Wikipedia has an enormous “editorial staff” composed of any Internet user with a Web browser. In addition, the text of each article is hyperlinked where appropriate to other Wikipedia articles. Any visitor to the site can create and edit articles, additions and changes that become immediately accessible to other users. A revision control system allows changes to be backed out easily, guarding against mistaken or malicious edits.
As an example of how easy it is to contribute content to a wiki, let's say you are reading, on some wiki Web site, an article about rodents. You notice that, although it's a fine article, it fails to mention the world's largest living rodent, the capybara. To correct this omission, you click the Edit text of this page link, after which you are presented with a standard Web form that allows you to edit the text. You do so by adding a sentence about the capybara, and when you save your changes, the new version of the article instantly is available. It's that easy.

Figure 1. Typical Oddmuse page footer, with links to common wiki functions such as edit text of this page and search.

Figure 2. Typical edit text of this page form. Not shown in this screenshot are the Preview and Save buttons.
Let's also say you made reference in the article to South America, because it's the habitat of the capybara, and you wanted the words South America to be a link to an article about South America. To create that link, you would use one of the simple wiki linking syntax rules—enclosing South America in double square brackets if the site uses Oddmuse—and the wiki engine creates the link to the South American article when it generates the page. If there is no South American article, the wiki engine then creates a link to a form that allows anyone to write one. In this way, article by article, the wiki grows and becomes increasingly useful.
Another example, and one that demonstrates the usefulness of wikis for small groups, is the wiki that my business partner and I use. We use it to record technical information, such as server configuration changes, project documentation, software installations, standard procedures for common tasks and so on. We also use it to track business data, such as client contact information.
The benefits have been abundantly obvious for us. Based on past experience, we've noticed that a much greater percentage of system administration and project documentation is recorded than if we were not using the wiki. Furthermore, the information is searchable and easy to edit. And, because we have an RSS feed for article changes and additions, everyone involved can stay up to date easily.
Trending Topics
| You Need A Budget | Feb 10, 2012 |
| The Linux powered LAN Gaming House | Feb 08, 2012 |
| Creating a vDSO: the Colonel's Other Chicken | Feb 06, 2012 |
| Your CMS Is Not Your Web Site | Feb 01, 2012 |
| Casper, the Friendly (and Persistent) Ghost | Jan 31, 2012 |
| Razor-qt 0.4 - Qt based Desktop Environment | Jan 30, 2012 |
- Fun with ethtool
- Parallel Programming with NVIDIA CUDA
- 100% disappointed with the decision to go all digital.
- Readers' Choice Awards 2011
- Linux-Based X Terminals with XDMCP
- Validate an E-Mail Address with PHP, the Right Way
- You Need A Budget
- Why Python?
- The Linux powered LAN Gaming House
- Python for Android
- BeOS was the best
23 min 23 sec ago - I use Wireshark on a daily
4 hours 53 min ago - buena información
10 hours 37 sec ago - One important "bucket" that I didn't note (désolé si qqun deja d
11 hours 1 min ago - Gnome3 is such a POS. No one
20 hours 28 min ago - Gnome 3 is the biggest POS
20 hours 39 min ago - I didn't knew this thing by
1 day 2 hours ago - Author's reply
1 day 6 hours ago - Link to modlys
1 day 7 hours ago - I use YNAB because of the
1 day 7 hours ago






Comments
Spam blocking in OddMuse
OddMuse also has an excellent spam-blocking system, including a list of "blacklisted content" (lists of regular expressions which cannot appear in posts), and a way to back out recent changes which weren't blacklisted at the time but which now are (because you just updated the blacklist). There is also a script which can be run as a cronjob to automatically merge in someone else's content blacklist, allowing the creation of federated/network blacklists -- for instance, you can keep up-to-date by merging in the OddMuse documentation wiki's blacklist.
(for technical reasons I only update the blacklist manually on my personal website, but on other sites I administer I use the cronjob, and it's amazing how little spam gets through -- spam that does get through is easily taken care of by updating the blacklist and running the de-spammer)
wiki problem
Anybody who can tell me how to make a wiki page