Customizing PunBB

I’ve decided to cobble a ‘best of breed’ solution together for my forums and mailing lists. I’m happy about this decision as I really liked and wanted to use PunBB. The mailing list integration code will be a good learning experience for me and I’ll probably be able to leverage some of that code in the future.

I’ve started customizing PunBB to make it work a little more like I want it to. The code seems solid and pleasantly terse. It’s well organized, easy to follow and hacking it produces predictable results. I’d have done some things differently as I have a different coding style, but I’m trying to follow the existing PunBB coding conventions instead of using mine. Hopefully this will make it easier to roll in any of my changes that they like if they want to.

I’ve tried to keep the standard forum interaction paradigm intact and make as few changes as possible to keep upgrading from becoming too daunting.

Some of the changes I’ve made so far:

  • I’ve gotten rid of the ‘Moderators’ column on the home page and replaced it with a list of the latest 25 threads with new posts in them. This is a feature I really like of miniBB, so I used it. This adds one extra query to the home page which doesn’t seem to impact performance much.
  • I have several forums with the same names but in different categories because I’m using each category as a different product (for example, I have Beta Discussion in Tasks, Tasks Pro™ and Photos). In the forum drop down lists, PunBB correctly uses the <optgroup> tag to group the forums by category. However, not all browsers (Mozilla) support this tag properly, and that left no distinction between these duplicate forum names. I’ve prefixed the forum name with the category name everywhere I’ve run across it so far (added an extra JOIN in a few SQL queries) including the breadcrumbs.
  • I removed the spacer tables from the HTML and added more CSS for spacing and styling.
  • I created RSS feeds for individual topics and added links for this feed to the View Topic page.
  • I added links to the existing forum RSS feeds.
  • I pulled out some of the spacers and information shown on the side of a forum post to make the minimum height of a forum post about 1/3 of the initial height.
  • I moved the ‘logged in as’ baner from below the main header to the right side of the header to save several vertical lines.

I’m planning to make the RSS changes and the ‘latest posts on the home page’ changes available as mods when I get some :scare: roundtuit :/scare: to clean them up a little. In the meantime, e-mail me if you want them and I’ll zip up what I’ve got and send it to you.