Drupal as a Wiki

Technology Blog

I recently had occasion to try out setting up Drupal as a Wiki. On the whole, I found it a positive experience with some minor niggles.


The first step was easy: download the Wiki installation profile and install it. I picked the Drupal 6 version even though it’s marked as unsupported, because once installed all that’s required to bring it into line is to apply the latest core and module updates. If you are familiar with installing and updating Drupal, this first step is a piece of cake.

User access

I wanted my wiki to be available to registered users only, so the next thing I had to do was to edit the user permissions and turn off anonymous access. I’d recommend reviewing these permissions even if you are going to allow anonymous access, just in case there’s something in there you don’t want. It’s easy enough to turn a permission back on again if you make a mistake.

My user accounts are invitation-only, so I also needed to change the user settings to reflect that.

Content types

The profile provides two content types for wiki use: the Wiki and Book Page types. There doesn’t seem to be any real point in having both types as far as I can see, because either or both can be used to create wikis and / or book style hierarchical documents. I decided to use the Book Page type and stick to it, so I configured both the Book module and the Freelinking module to create Book Pages by default.


Freelinks are one of the key features of a wiki. They give you the ability to add links to other wiki pages regardless of whether they exist yet or not. Clicking on a freelink to a page that does not yet exist takes you to the content editor so you can add it. This is a great productivity tool.

You can choose to create free links using the syntax “[[Title of new page]]”;  this works out of the box. You can also use the Camel Case convention, ie TitleOfNewPage but that option has to be turned on. In either case, the links are styled identically whether the target page exists or not, which is a drawback compared to dedicated wiki sotware, where links to uncreated content look different and consequently are easier to pick out.

There’s a Freelinks page which is accessible via the navigation menu which lists all pages and whether they have been created or not. On a large site this will become somewhat unwieldy. There’s also a block which is supposed to list only links that have not been created, but that list was always empty when I tried it.

Other wiki tags

Wikis also typically feature other markup tags which are meant to be easier for users than HTML. As a starting point there’s a mediawiki-style filter provided which defines several useful tags. If you want to use it you’ll need to turn it on in one or more of your input formats.

You can also define your own tags using the Flexifilters module. I created a couple of tags for my own purposes this way, and I would suggest that if you want to do this you plan to spend some time on the task as this module is not the easiest to understand nor very well documented.


The Talk module is installed which displays comments for a page on a separate tab in imitation of wikis such as MediaWiki. This can be turned on or off separately for each content type.


For a simple wiki that can be set up quickly, Drupal is pretty good. Many of the dedicated wiki apps require you to edit numerous config files before you have a working setup, so Drupal wins easily on ease of installation and configuration. However if you want all the specialised reports and tools that come with a dedicated wiki program, Drupal is weak by comparison.

Where it really scores is if you want a wiki that’s fully integrated with some other web application. Having common theming, navigation and user authorisation is easy (as long as the other application is based on Drupal too, of course).

Figure W do all kinds of things with Drupal, not just wikis. Give us a call on 07783 386951 or use our contact form to ask us about your Drupal needs.

6 Responses to “Drupal as a Wiki”

  1. Anonymous

    Just moved the Freelinks navigation menu item under Administration.

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>