Open source CMS software

Joomla! is the pretty boy of content management systems, the one to impress your friends with. It appears to be a relative newcomer (late 2005), but in fact its history stretches back to the dawn of Mambo (c. 2003).

The Joomla! project resulted from a split between Miro (the commercial firm which originated Mambo) and core Mambo developers. In 2005, Miro established the Mambo Foundation, a non-profit organisation dedicated to guiding the development of Mambo. As a result, several Mambo developers felt they were being excluded from influencing Mambo's future. In response, they started Joomla!, using Mambo's award-winning code as a starting point.

Joomla! is likely to be the more sustainable choice of the two, as much of the community seems to have moved from Mambo to Joomla! And there is evidence that it is already overtaking its ancestor: for example, accessibility and usability are foremost in the Joomla! team's minds, and they have already fixed several long-term Mambo interface problems.

It's easy to install: a simple dump of files onto the web server and creation of a clean database; then onto the excellent installer which checks the server configuration, highlighting potential problems, and prompts you for each piece of information it needs.

The interface is simple and clean - of the systems reviewed, the most approachable for non-technical users. Content can be added via a WYSIWYG editor; but, uniquely, Joomla! will prompt users if they try to navigate away from a page with unsaved changes: a real life-saver if your users are unfamiliar with editing through a browser.

Aside from the great editing interface, Joomla! has a massive array of extensions, covering standard functionality like forums, blogs, wikis and so on. A couple of these are particularly note-worthy. First there's VirtueMart - a full-fledged ecommerce solution which can be deeply integrated into a Joomla! site. For example, it is possible to discretely place product 'snapshots' inside any piece of Joomla! content, even if it is outside the shop. The system supports the full range of features you'd expect from an ecommerce solution - variable tax rates, shipping, integration with payment gateways, and support for downloadable products.

Then there's DocMan - a document management and download system. You can use this to manage any number of downloadable files; categorise them; restrict access to specified groups of users; show download statistics; and store archived files.

But while Joomla! is great for end users, from a developer perspective it's not perfect. The extension system, which is split into components, modules, and mambots is confusing. The API seems a bit spartan, and provides few hooks into the Joomla! core. And the permissions system is basic and inflexible, with roles that can't be modified. This, to my mind, is Joomla!'s biggest failing and compromises its usefulness from a business perspective.


A good-looking system, suitable for building a simple content-managed site and fantastic for end users. But it's inflexible for developers