I’m trying to select a platform for a new project for The Conversations Network. What we need isn’t a content-management system, but more of a “community portal” with many of the usual components such as forums, wikis, newsletters, surveys, rich personal profiles and the ability to support 100,000 registered users/contributors.
To our internal team, I was bemoaning the fact that such a solution didn’t exist. WordPress was suggested, but it’s just a very good blogging tool, not even a full-fledged CMS, let alone a community portal.
Drupal was an obvious suggestion, but I’ve delved fairly deeply into Drupal, and I just don’t like its architecture and peculiar style of abstraction. And it’s *really* hard to integrate outside applications into a Drupal site. Some people tried to convince me that with third-party modules, Drupal could do it all, but those modules fall way short of best-of-breed tools. The Drupal forums, for example, are very primitive.
Then team members Les Booth and Charles Lawrence recommended Joomla!, a spin-out (or more accurately a break-away) from Mambo. I used Mambo for a large-scale project way back in 1997, and ended up quite unhappy with the results, so I resisted Les and Charles recommendations. But Mambo today and now Joomla! are a far cry from the package I knew ten years ago. So finally, in a moment of weakness, I went to the Joomla! site and started dabbling. While the basic package seemed rather light on features, I discovered the add-on modules were quite good and plentiful.
I downloaded and installed Joomla!, and was very impressed. The installation and configuration processes are among the best I’ve seen for a complex open-source package.
Over the past two days I’ve been reading a lot of the Joomla! source code, and now I’m even more impressed. Most of the code is well-structured object-oriented PHP. phpDocumentor is used almost everywhere, although in many files, the commenting is somewhat skimpier than I’d like to see. Drupal also uses phpDocumentor, but as I mentioned above, I find its abstractions hard to follow. You’ve got to buy into the Drupal “religion” as it were. It lives in its own little universe.
WordPress is a much smaller application and doesn’t use phpDocumentor. Internally, WordPress is quite clean, straightforward and easy to read and hack. But it’s still just a grownup blogging system — not what we need this time around.
Bottom line: I’m rapidly coming around to agree with Les and Charles. While WordPress is a good single-user app that’s been extended nicely into a multi-author tool, and Drupal is a multi-user but quirky and limited package, Joomla! looks so far to be true industrial-strength code in the same way that Apache, PHP, MySQL and other LAMP tools have evolved to be.
(Yes, I looked at Plone/Zope about 18 months ago, but I found it to be like Drupal in that its design is just a bit too far out of the mainstream.)
More comments as I learn more, but so far, so good for Joomla!