This is the second in a four-part series of articles covering the current market and development status of the recent landmark release of the Joomla! v3.x content management system. An earlier version of this article was originally commissioned and published by on 1 April 2013.

The remaining articles in the series are:

Part 1: What's new in Joomla! 3.x?
Part 3: Some Joomla! 3.x case studies
Part 4: Ready for serious production use

In this second article, we look at the current state of the Joomla! 3.x market, and we also describe a base build for a solid start to new Joomla! v3.x site builds.

 Current state of the Joomla! 3.x market

At the time of writing (12 April 2013), there are 6,183 extensions published in the Joomla! extensions directory. This number now excludes extensions built for Joomla! v1.5 and earlier; these versions have now reached end of life and are effectively obsolete. These versions are now marked 'Non Compatible'.

Of the 6,183 supported extensions 2,485 or 40.2% have been adapted to run on Joomla! 3.x. That is about 13 extensions converted per day in the 28 weeks since the release date. So far, so good. But of course, the simple fact that extensions are converted to run on the new platform does not mean that they all take advantage of its new features. Some do, but at this stage many don't.

Most Joomla! sites are not simple blogs. Most sites focus on one or more business extensions:

  • Business showcases
  • Forums
  • Document publishing and libraries
  • Online shopping sites
  • Trade or services directories
  • Rental and booking services
  • Auction site
  • Media or art galleries
  • Job boards
  • Unique, custom business process applications

So the viability of Joomla! 3.x for most users depends on the availability of the major business extensions they want to run. Existing Joomla! sites running on v2.5 or earlier are probably relying on a collection of extensions to deliver the site's business services, and the site owner may well have invested a significant amount of money and customer development effort in those extensions.

The main concern is not so much how many extensions are available for the new platform, but whether or not the business extensions you need to use are available for it.

The first step in a migration to Joomla! 3.x should be an inventory survey in the Joomla! Extensions Directory to confirm that your current or candidate extensions are available for v3.x. You can also use the Advanced Search to select which extensions are available for Joomla! 3.x, in any of the myriad categories of extension products in the directory.

So how are the extensions progressing so far? At this stage, we have mixed results. In many of the major categories of extensions, some very worthy products are available for Joomla! 3.x now, but equally many of the most popular and best-known extensions haven't yet crossed the bridge to Joomla! 3.x.

In general, the utilities and tools extensions are moving across quite quickly, while the business application extensions appear to be taking longer. This makes sense; business applications typically involve more database tables, forms and features, and they will often take more time and effort to adapt to the new platform.

The bottom line is that if you are a Joomla! site builder, you really need to carry out your own inventory survey before you commit to a Joomla! 3.x migration project. Also, you should not try to migrate a production site until you have tested and signed off your migration plan in a development or test sandbox.

And above all, make sure you have working backups of your site before you start the migration.

A Joomla! 3.x base build

Those of us who build lots of Joomla! sites will usually have a collection of favourite extensions that we use on almost every site we build. These are usually extensions we know well, and we are comfortable about their reliability, compatibility and integration. Most of them are bread-and-butter tools for such common needs as:

  • Site security
  • Page and content building
  • Forms building
  • Backup and restore
  • File management
  • SEO
  • Administration tools
  • Blogging, comment and discussion threads
  • A range of templates and themes

To save some time in installing and configuring a new site, site developers will often build up a standard Joomla! base build. This is an empty install of the current version of the Joomla! CMS with no sample content, but in which all the developer's standard extension products have been pre-installed and configured the way they prefer.

When the site developer wants to start a new site, she can simply:

  • Open the administrator console of her base build installation
  • Run updates of the platform and all standard components
  • Make a backup of the up to date base build site
  • Restore it on the customer's web server

This simple process can easily save a day or more of work on each site install, because the developer does not have to go through installing and configuring the CMS and all the various extensions from scratch.

This means that all the developer's standard extension products for her base build must be available for the target platform (Joomla! 3.x) before the developer can make a base build that she can use to install new customer sites. The developer cannot have confidence in rolling out Joomla! 3.x customer sites until she has a solid base build to support her site development, so she will have to wait until all her preferred base build extensions are available on Joomla! 3.x before she can make a robust, reliable based build on Joomla! 3.x.

That is not the end of the story for our developer. Most sites will also require some sort of business application extensions to meet customer requirements. These are extension products that are usually outside the scope of the base build extensions, and as we have seen above, they may or may not be available for Joomla! 3.x. That is a separate issue in its own right. But in general a site developer's first concern is to have a trusted base build for the target platform, before she can start thinking about the business application extensions that the customer needs for business services.

If the customer's business applications are not available for Joomla! 3.x, then the developer will have to build the site on Joomla! 2.5. But if the developer doesn't have a base build for Joomla! 3.x then she is not in a good position to build any kind of site on Joomla! 3.x, regardless of whether the customer's business applications are available for v3.x or not.

I started experimenting with Joomla! 3.x in December 2012, but it took until March 2013 for the extensions that I use in my base build to become available for Joomla! 3.x. In effect, last month the Joomla! 3.x ecosystem matured to the point that I now have a reliable base build I can use to roll out production sites.

In order to give you some idea of the range of tools and services that are now available for Joomla! 3.x, here is the contents of my base build. The point of this list is not to promote these products as the best of their kind (although they are all pretty good or I wouldn't have standardised on them). I just want to give you some idea of the level of maturity and rich services that the Joomla! 3.x marketplace has now reached. Just because I've  named an extension in the list does not mean that it is the best in its class, it's just my personal choice for my sites.

  • RSFirewall! is a well-established, comprehensive site security extension. It protects sites from intrusion, many forms of attack, insecure events and conditions and malware penetration. It provides system and database scanning, attack and activity monitoring, blacklist, whitelists and exceptions.
  • NoNumber provides a collection of administrator and user interface enhancements. The utilities include enhancements of Joomla!'s native module, menu and article control, content templating and snippets, URL massaging, administrator shortcuts, database search and replace, programming code injection, and tab, accordion and tooltip UI elements.
  • JCE (Joomla! Content Editor) is a suite of WYSIWYG editor enhancements, originally based on TinyMCE. The suite includes an editor that can handle rich text editing and HTML page composition, author profiles,  an integrated file manager, image manager, media manager for video, audio etc., and a number of page element and content creation enhancements.
  • Akeeba Backup is a Joomla! site backup and restore tool. It allows you to take complete backups of the files and database content of a complete site (or part of a site), and it produces backup files that can be installed on any other LAMP server. Akeeba backup is the tool that is commonly used to back up and restore the base build site on a customer's server, in the deployment process outlined above.
  • RSSEO! provides SEO services within each site. It allows you to define your keywords, meta descriptions, competitor sites, SEO redirects and SEO treatment for pages. It provides a page crawler that assembles and publishes your sitemaps for search engines and also for publication as your site map page. It provides Google Analytics and account integration, and it reports page SEO performance.
  • ChronoForms and ChronoConnectivity are a matched pair of database form and view builders. They are powerful enough to build serious business workflow applications ; which is a class of web applications that I specialise in.
  • eXtplorer is a Joomla! wrapper for the well-known eXtplorer web site file management and code editing system.
  • RSBlog! and RSComments! are a pair of products that provide improved blogging facilities and comment threads and tracking. Features include tagging and publishing controls, remote publishing via email, social media integration, trackbacks and pingbacks, avatars, and spam and flood protection. The current release of Joomla! 3.1.5 now provides native article tagging, so standard Joomla! provides adequate blogging facilities. However, RSBlog! still offers linkback, trackback, publish-by-mail and other facilities that standard Joomla! does not.

In addition to installing the extensions, I configure the Joomla! CMS and all extensions the way I want them, and I also include some standard content items in my base build:

  • Standard Privacy Policy and Terms and Conditions articles
  • A Site Map article that uses RSSEO! to display the site HTML site map
  • A ChronoForms contact form and database, with mail distribution actions
  • A Common menu and other Main menu items including the Privacy, Terms, Site Map and Contact Us items
  • JCE editor profiles for Authors, Bloggers and Super Users
  • NoNumber cache cleaning controls
  • Akeeba backup configuration
  • RSFirewall! security configuration, standard security exceptions, and an initial system security score

This is a substantial list of power tools. Together with the raw muscle of the Joomla! 3.x CMS and its new framework and UI, this combination makes a standard Joomla! 3.x installation a very strong system, capable of tackling web site development all the way from a private blog to corporate applications for distributed enterprise businesses.

With the base build outlined above, I can deploy a new, fully configured site on any customer's LAMP server and have it running and loaded for bear, in less than half an hour.

Next: A Joomla! 3.x case study