Integrating Phorum with Drupal

Monday, February 19th, 2007

Phorum and Drupal are two of my favourite open source software packages. Phorum is in my opinion the best of the many PHP-based standalone forum products, while Drupal is my favoured CMS.

Drupal is not without its headaches, and one of them is its own built in forum, which is not very flexible. It also fails to work at all if you install certain Drupal add-ons. This was my position in the middle of last week: having committed to providing forum functionality for a site, but unable to get it working.

Since I am comfortable with Phorum my immediate thought was to look for a way of integrating it and fortunately most of the work had already been done by Maurice Makaay, one of the most energetic contributors to the development of Phorum. He’d written a piece of code which makes it possible to embed Phorum inside other applications, so all I needed to do was to supply the appropriate wrapper for Drupal, which took about a day and a half’s work.

The phorum integration code is now available as a Drupal module. I hope some other folk will find it useful.

Writing an accessible forum - final score

Monday, January 1st, 2007

I posted previously (27 November 2006 and 12 December 2006) about my efforts to find an open source message board product that was suitable for creating an accessible forum. I’ve finally reached some conclusions, which I’ll summarise here.

The products I checked out are as follows:

  1. phpBB
  2. PunBB
  3. MiniBB
  4. bbPress
  5. Vanilla
  6. Phorum

Evaluation criteria

I was looking for a package that would meet the following requirements:

  1. It generates valid HTML or XHTML, or it can easily be configured to do so.
  2. The HTML it generates is configurable. (Of course if it passes this requirement, it will generally also pass the previous one, but not vice versa).
  3. What is presented on a page can be configured. For example, in a list of forums, the time of the last posting, the number of posts, the title of the last post and so on should all be available for display (or not) as required.
  4. New functions and facilities may be added to the board, as far as possible without altering its code. In other words, a plug-in type of architecture is preferred.

Other general quality measures such as maturity, ease of installation, wide acceptance and security were also taken into account.

phpBB

phpBB is the most widely used bulletin board package but - based on previous experience - I eliminated it as unsuitable because extensions to its functionality almost always require code patches. This makes it hard to keep your modifications up with date with new releases.

PunBB

PunBB is simple and lightweight. However, it’s really only configurable through CSS. The HTML it generates, while of a relatively high quality, is not separated from the logic of the code and thus is not suited for any serious degree of customisation.

MiniBB

MiniBB came very close to meeting all the requirements, although the default templates that it comes with are a long way from what I was looking for - meaning a lot of work would be required to develop my own. Also it is not very widely used, relatively speaking. For these reasons I marked it down.

bbPress

bbPress is interesting. As you’d expect since it comes from the same stable as Wordpress, it has a nice user interface and it’s compliant with web standards, but it’s very new and the current version is not ready for serious use yet.

Vanilla

My experience of Vanilla is summarised in a previous post to this journal. In some ways it is very good, but it is let down by some poor design decisions.

Phorum

Phorum is the nearest thing to a perfect solution to the requirements, although as with MiniBB I was at first put off by the quality of the default templates it comes with. Then I discovered the Eugenol template, which is very close to what I was looking for as it consists of (almost) valid HTML with a clear separation between presentation and logic.

The module (functional extension) and template (user interface customisation) architecture of Phorum also makes it practical to extend it without touching the core code. There are some headaches in keeping in line with new releases, especially in the area of multilanguage support (sometimes the symbolic name for a text string changes between releases for no clear reason), but overall Phorum has a very sound approach to configurability.

The winner is … Phorum

For all-round flexibility, maturity and architecture, Phorum comes out as the best open source product to use as the basis for an accessible forum. The next step is to actually carry out the customisations needed to make it truly accessible: this is currently work in progress, with an initial release to be announced soon.