A social website often needs to have a discussion board either as a stand alone social app or as a part of other social hubs such as Groups, Events, Organizations and such.
In the quest for finding a simple and organic design inspiration for developing a discussion board for the Anahita Social Engine I have been snooping around in different projects.
There are some existing forum extensions available for Joomla. In fact we did try ccBoard and realized that with some modifications to make it work with the Anahita Social Engine user profiles, it would work perfectly. So here is one good candidate.
We have also been using PHPBB3 for Tazzu Community and it seems like a complete forum out of the box and the UI is pretty good although I’ve found it to be a little too bulky for our purpose. We want something much more nimble and lighter. Besides, the user management in phpbb3 and the way it has been coded is not really our style so we’re not too sure about this one!
I must admit I have been fascinated with BBPress for quite some time. This is the discussion board app developed by the same folks who developed WordPress and these guys have a nice touch when it gets to getting the usability right.
BBPress is quite simple:
- There are a list of Discussion Boards
- People create topics within discussion boards
- People tag topics as they go so a tag cloud grows as the discussion board grows
- Replies are posted on every topic by the community members
One of the great things about BBPress is that it relies a lot on folksonomy. That means people could create topics and tag them as you go. This is a quite handy and organic concept since the community will takes control of organizing the content in different taxonomies as they go. I know from our experience with Tazzu we’ve always wondered that what categories we should be creating and whether they’ll be used by the community members or not.
Even asking the community before hand won’t help since they won’t have much clue until they are about to post a topic. So Tags are always nicer than categories that are created by the discussion board administrators.
BuddyPress Discussion Forum is almost identical to BBPress
Looking at all of these available options we finally decided to develop a discussion board ourselves that works seamlessly with the Anahita Social Engine’s API by getting some inspiration from the BBPress user interaction patterns.
Anahita Social Discussions
Anahita already provides Content Nodes, commenting, and taxonomy/folksonomy APIs. We’ve figured that they’d be essential for developing collaborative CMS like applications such as Blogs, Wiki, and of course Discussion Boards. In fact the BBPress model works perfectly with the Anahita’s design philosophy:
- Nodes become Topics
- Topics can be tagged using folksonomy
- Comments become reply posts left on a topic
- Social Engine already provides user profiles
Anahita Social ™ Discussions Entity Relationship Diagram
We just had to bake a BREAD (Browse, Read, Edit, Add, Edit) to manage a list of Discussion Boards which can contain a list of topics and add some features to make the whole system behave as a decent discussion board.
This picture may look like a shameless imitation of BBPress, but trust me you can skin it anyhow you like. I’ve just followed the BBPress html just to put things together quickly, although in this cross pollination what’s underneath the skin is actually quite different:
- Data Model is unique to Anahita in fact it is using Anahita’s nodes, comments, and tags instead
- it is MVC code and contains much less code than BBPress
- uses a lot more AJAX than BBPress does
Anahita Social Discussions is developed as a Joomla Component “com_discussions” and after installation it can either be used directly with the com_socialengine and it also provides APIs so it can be included as a part of another applications for example Groups, Events, and Organization pages.