Joomla as Site Engine and Development Platform

By Justin Kerr
October 11, 2013

Table of Contents

Originally published in the September 2013 issue of the Software Developer's Journal, now updated with new content and the latest on upcoming Joomla 3 updates.

The Joomla! content management system is one of the top three open source engines used to power websites. Like Drupal and Wordpress, Joomla delivers an interactive, content-centric web application solution that is stable, well-­supported and proven in the marketplace. However, Joomla is distinct from these other platforms, occupying a middle ground between Wordpress' plug-­and-­play, publishing-­specific focus and Drupal's incredibly flexible — and complicated — methods of building bespoke site schema, content types, views and relationships.

Getting the best value out of a Joomla site involves understanding how its capabilities can effectively meet a project's requirements. Joomla offers many in-built features which can dramatically cut site development time and costs, and Joomla deployments are most effective when these can be easily leveraged into a final site solution: After all, not having to reinvent the wheel is what using a CMS is all about. At the same time, Joomla offers a lot of customizability, flexibility and a mature platform for developers who want to push the product in new directions. This middle ­ground "sweet spot" makes Joomla a great fit for many web projects.

Joomla Overview

Joomla logoJoomla forked from the Mambo CMS in 2005, quickly releasing 1.0, then 1.5 versions. Since then, it has advanced to a pattern of long-­term support (LTS) and short-­term support (STS) releases, with Joomla 2.5 as the current LTS release, and Joomla 3.1 the current STS release. (Joomla 3.5 LTS is set to subsume Joomla 2.5 in 2014, with some support overlap for the older version.) Although most Joomla sites currently run Joomla 2.5, the Joomla 3 series is stable, fully usable and well-­supported by third­-party software and support vendors.

Like many open source software packages, Joomla's foundations rest in the LAMP (Linux/Apache/mySQL/PHP) stack, however, Joomla can also run well in Microsoft environments using Microsoft SQL Server and IIS. PostgreSQL is supported as of Joomla 3.1.5; support for other databases is planned for future releases. Joomla performs well in most commercial web hosting environments, with many hosts now configuring accounts to ensure proper performance for PHP web applications like Joomla and other CMSs.

Joomla divides its interface between a website's "front end," where users view and interact with content, and a password­-protected, back­end "administrator," where site admins and editors use control panels and a word processor-­like WYSIWYG interface to manage site configuration and content. Depending on the setup, a great deal of interactivity and content editing can take place through Joomla's front end, however, most sites employ the back-end interface for managing content.

It is worth noting that Joomla has been 100 percent volunteer-­run and supported since its inception, with no direct corporate backing (or open source/corporate crossover relationships, as with the principals of Drupal and Wordpress). Its trademark and many project activities are managed by the non­profit Open Source Matters foundation, and its community includes many highly talented developers, business leaders and colorful characters. Like all volunteer-­driven open source projects, the Joomla project has its own community flavor, one which tends to be very accessible to those new to the platform.