Django Forum Apps
Friday, January 23rd, 2009I recently had to evaluate some django forum apps, and I thought I should share my findings.
The general list of apps I got from here. While django-pluggables looks nice, it isn’t searchable or categorised in any way that I could see, which strikes me as pretty bizzare.
Sphene - This has a good feature list, so I tried it first. However, I found that for my purposes, Sphene has a number of flaws:
- Sphene comes as a suite of different apps intended to build a ‘community’ website. I thought the idea of django apps was to put different apps together and build your own site, so why do developers keep making ’suites’ of apps? There are much better solutions out there which provide a ready-made community site.
- It’s hard to only use some of sphene. If you just want the forum part, you’ve got to install a sack of middleware and template loaders, and the community app. This all seems like uncessary complexity to me.
- Code quality is rather low. There are functions which aren’t used, half finished functions, functions which are way too long (the function for posting a new message on the forum is 200 lines long!), lots of TODO’s and that sort of thing. In just the forum and the community apps alone, there is 7180 lines of python. That’s just the python, not the templates. Bringing in 7k lines of of questionable quality code into my site scares me.
PyBB - I tried this next. There’s a few reasons I like PyBB:
- Clean styling, meaning less work for me to do.
- Excellent code quality, so extending it won’t be a headache. Also, it’s a completely standalone forum app. It doesn’t presume to try and take over your whole django site.
- Good feature set. The only feature you’d probably want is file uploads, but that wasn’t too hard to add.
What I’d add are file uploads, post previews, and perhaps a way of limiting certain users from being able to view/post to some forums. But that’s got to be done in a way which doesn’t interfere with an existing django site.