Semantic Mediawiki for documentation

I support several Mediawiki web sites. One of the best features of the tool in my mind are categories. Something doesn’t have to be filed as green or round, it can be categorized as green and as round. Combined with hyperlinking it allows you to only write data in one place and then link and find it from anywhere.

Sometimes, though, you would like to be able to see the information in a different format. For example, you might have articles about individuals with contact information, but it would be nice to have a list of fax numbers to put over the fax machine. Generally that would mean maintaining a separate document and all the problems that come with maintaining duplicate information.

This is where the Semantic Mediawiki extension to Mediawiki comes in. It allows you to designate certain information on a page as attributes that can be accessed from elsewhere. For example, I can put a “faxnumber” attribute on every person’s page. I can then write a bit of code on a different page to do things like list all pages that have fax numbers, and their fax number. Of course when you update a fax number, the list is updated automatically.

The syntax to make all of this happen would be somewhat difficult to understand for most basic users, but some of the details can be hidden in templates so that all a user would need to do is copy the template use code from another page and update the parameters.

We have been using this for a few months now. If I actually want to change the usage of the parameters it takes some thought. We have about 10 people who regularly edit these wikis, and so far none of them have engaged with the guts of Mediawiki, and only some have used templates involving it without prompting.

So, Semantic Mediawiki is a powerful tool but will probably not work on any wiki without a champion that is willing and able to figure it out and make sure that, as information is added to the wiki, it is encoded into it.

Leave a Reply

Your email address will not be published. Required fields are marked *