Sunday, April 4, 2010

DRUPAL Vs PHPBB

When trying to import external forums into Drupal, the main difficuilty that arises is a single fundamental difference between Drupal forums and the rest of today's forums.
It's the same one difference that for example makes common administrative tasks such as splitting or merging threads (while keeping in chronological order), etc., is easy in well-known forum systems but very much difficult in Drupal forums, core and Advanced and even directly editing the database. Drupal forums are good and usable in most cases, with most normal functions similar to other systems but, for more advanced moderation, they are not yet ready.
Why? What's that basic difference?
We can see it in the support forums of the currently most popular forum systems, such as vBulletin, phpBB, SMF, and Invision Power or we can install them and look at the tables where posts and threads are stored.
Drupal have modules for threaded and flat forums, so this is not the main difference. Most current forums are linear/flat by default, but part of them admit both linear and threaded display modes.
The basic difference is another one, truly simple but with fundamental effects:
In forum systems, all posts are treated equally as part of a discussion -which can include several or many long posts-, with ID numbers in chronological order (which also includes the first post in each thread), and this gives the flexibility needed for common forum moderation tasks, to merge/split/move things around, while by default keeping them in chronological order. On the other hand, for example blog systems use a different content type, with a main long post and brief replies to the main post.
And Drupal forums are... not forums. They are blogs trying to behave as forums, using the wrong tool or content type. Drupal forums are blogs. The first post in each topic is the topic node (stored in the node and node revisions tables), and the rest are comments to the node (stored in the comments table).
Surely most people in this group know about all this. Even many people from outside. Quoting for example from the phpBB support forums: "The reason that most of the people don't like the default drupal forum module is because it handles the first post in a thread as a new node and each post that comes after it as a comment."
So it's a known fact, but I'm pointing at it because in my opinion we should also look at it as a fundamental flaw.
It appears this has happened for historical reasons: nodes and comments were the tools available when the core forum module was created, and they were used for forums and for blogs in similar ways. That is, instead of creating a structure similar to standard forums, taxonomy was powerful enough to disguise blogs as forums.


Therefore, possible solutions to move from that legacy arrangement to a flexible, standard forum structure would be really simple:
• All posts as comments: when creating a new topic/thread -a node without text-, a first comment would be created at the same time for the first post.
• All posts as nodes: like in the other solution, topics should have their table and ID numbers, and posts their different table and ID numbers.
This would make things much simpler, having real forums instead of blogs needing convoluted procedures to behave like forums.
At this moment, looking at the bright side, Drupal's Advanced Forum seems to be the best option available until a real Drupal forum is developed. Even when it does not solve the basic problem, Advanced Forum is a great progress to add functionality from modules to the forums, and to style them like common modern systems, duplicating for the node the enhanced look and features of the comments. Sadly, the inner working is still the same blog-like, with the same difficulties for importing into Drupal from standard forums, and for moderation functions common in the other systems. But it works reasonably well, and improving, in many simple cases that don't need much moderation/administration.
Since people like Catch and others are looking into this kind of problems, surely improvements will keep growing into Drupal forums.

No comments:

Post a Comment