Drupal Forums instead of phpBB or vBulletin: A casestudy

Submitted by Janak on Tue, 01/05/2010 - 13:06

For years I have been using phpBB for a busy community website that has over 162490 registered members. It has been a great ride, members are happy with the functionality and ease of use BUT from a development and security point of view it has been a painful experience.

As anyone who has ever installed, hacked and setup phpBB forum will tell you that due to the lack of hooks or modular nature of phpBB you have to hack core to add any additional functions. Prior to Drupal this was "acceptable loss" to me, but I have "come to my senses" and it is something that I would hate to do now.

For one of the work websites (www.mychild.co.uk) that is currently running on Drupal 5, we decided to expand the website and expand it to incorporate a forum. Fun times!! After much deliberation and discussions about pros and cons of each package, here is a "must have" that we decided upon:

Must have features

  • Forums must share the same login as Drupal site
  • MUST look and feel like a phpBB/VB forum
  • Private Messenging
  • Private Forums (moderate only - access by role)
  • Email notifications of updates/comments
  • Avatars
  • Post count (in profile and forum posts)
  • Star Ranking (based on post count)
  • Rank Badge (based on role)
  • Custom folder icons (keeping the look and feel close to phpBB)
  • New posts since last visit
  • Custom breadcrumb
  • Banner blocks
  • Ability to cross promote other drupal content types (based on term relationships)
  • Attachments in comments (with limit)
  • Quote
  • Banwords
  • Offsite links open in a new window
  • Advanced search

It quickly became apparent that we were no longer looking at a standalone Forum package for which I could bridge the login/session with Drupal. Since we wanted to bring majority the Drupal and custom functionality over to the forums Drupal Forums was the way ahead.

So, how do you go about achieving the above with Drupal? Easy. Well, sort of easy. Drupal Forums are very basic out of the can. It is basically a node with comments enabled. Without going into coding specifics at this stage, here is a brief outline on how we added some more meat to the Drupal Forums, I installed the following helper modules to mimic a "proper forum":

Modules used

  • Advanced Forum
  • Author Pane
  • BBCode
  • Comment upload
  • Extended user status notifications
  • Flat comments
  • Quote
  • Upload max files
  • Signatures for forums
  • User badges
  • User Stats
  • Word Filter
  • Smileys
  • Subscriptions
  • jQuery Update
  • External Links
  • Forum Access
  • Abuse
  • Apache Solr
  • Statistics
  • Private messages

The above modules provided around 80% of the missing functionality. The remaining bits and pieces were down to writing my own custom modules and a custom theme for Advanced Forum. If the website had been running Drupal 6, we could have pushed the boat out even further, but that is for another day.

If you have any specific questions or coding queries, please post a comment and I will try to answer.

Now, for some screen shots:

Forum Home Page

Forum Node & User Info

Forum Stats

User Profile

Forum Private Msg

Your thoughts, feedback and comments are most welcomed.