This is the first 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.This article was originally commissioned and published in edited form by TechNiki.com on 1 April 2013.

The remaining articles in the series are:

Part 2: Current state of the Joomla! market, and a Joomla! 3.x base build
Part 3: A Joomla! 3.x case study
Part 4: Ready for serious production use

In this first article, we look at significant changes in the new v3.x release of Joomla!, and we also pose the question "Is it safe?"

What's new in Joomla! 3.x?

The latest and greatest release of the Joomla! content management system is version 3.x, released in late September 2012. For the Joomla! user community, it delivers a major breakthrough in usability, developer support and software engineering.

Here's what's new ...

Clean new look and feel

Front and back, Joomla! 3.x looks clean, soft, open and bright. Here's a sample of an ordinary article:

 

Joomla! 3.x article style


Here's another view of a project time tracking report:

 

Joomla! 3.x project management report


And here's the administrator control panel:

 

Joomla! 3.x administrator console

 

The new look and feel is the product of a herculean effort by the Joomla! User Experience team (JUX), led by Kyle Ledbetter. The main features of the new Joomla! User Interface (JUI) are:

  • Bootstrap combines a fluid CSS grid system and clean, modern CSS styling with LESS CSS and JQuery to provide a powerful, easy-to-use front-end web development library
  • JQuery is the dominant JavaScript library used to provide dynamic behaviour and powerful, attractive UI elements in modern web pages
  • LESS CSS is a dynamic style sheet language that extends CSS with variables, mixins (property and rules expressions popularised in the Ruby world), colour value operations and other mathematical operations, function expressions and more
  • IcoMoon is a large, extensible collection of clean, modern icon fonts

These new platform features combine to provide a toolkit for Joomla! developers that is highly functional and productive, comprehensive, standardised and right up to date. The use of Twitter Bootstrap is also associated with embedding JQuery in the CMS, as a partial replacement for the much less popular MooTools JavaScript library. This is a whole new ball game for Joomla! developers.

Also as a result of the new UI features, drag-and-drop style actions to do such things as building and ordering lists are more widely used and available, particularly in the administrator console. This is a general improvement in ease of use.

Responsive and mobile

The new UI delivers responsive layouts and templates for all shapes and sizes of devices, out of the box.

Responsive design is an approach to designing web content that allows for the dynamic transformation of the content to adapt it to a wide range of types and sizes of browsers and devices. The core techniques of responsive design are fluid layout grids, fluid image display, and media queries in CSS to control transformations depending on the end user's device and orientation.

The major new features for responsive design are:

  • The new Protostar front end template, built from the ground up on Bootstrap. Protostar is a foundation template for easy adaptation to produce your own unique templates, with responsiveness built in. Protostar options include template base colour, background colour (both options provide colour pickers), site logo image, Google font for content text, and a simple switch for a static or fluid layout: see the snapshot below.
  • The new responsive, mobile device friendly Isis administrator template and its new interface
  • The existing Beez3 accessible template has also been brought up to date

Here is a sample of the template options for the Protostar responsive template:

 

Protostar template options

 

Platform

Extensive re-engineering work has also been done on the Joomla! platform.

Starting with the v1.7 release cycle, the Joomla! core libraries were separated out from the Joomla! CMS, gathered together in the libraries/Joomla! folder in the Joomla! installation, and rebranded as the Joomla! Platform. The platform is a robust MVC framework for the development of all sorts of applications, not just the Joomla! CMS, and it is also capable of supporting command-line applications as well as web sites.

The highlights of Joomla! Platform version 12.2 shipped with Joomla! 3.x are:

  • PostgreSQL is now supported as a CMS database option, in addition to MySQL and Microsoft SQL Server
  • Language packages can now be installed directly from the extension manager
  • Overall clean-up and standardisation of code style, deprecated code, files and database fields and tables. If you are a developer and your IDE supports PHP code deprecation, you will quickly find that a considerable number of Joomla! classes have been deprecated in favour if new implementations.
  • Unit and system testing suites are now available for the CMS

More improvements

There are also a number of minor but useful improvements:

  • The Guest user group is now present by default. It's been available for some time, but not created by default. In Joomla! 3.x it is there by default. This means you can expose site features only to users who are not logged in, or conversely you can hide features from users who are logged in.
  • Empty articles (no body text) can now be saved. Previously you had to have some content for an article before you could create it and assign it to menus.
  • Smart Search has been improved
  • Menu module control has been improved
  • Search engine friendly URL handling can now add a link rel="canonical" header to pages. This can be useful for SEO in some situations.

Is it safe?

So with all this new UI and engineering goodness, how can there be any problems? Why would anybody delay in moving to the new Joomla! platform? Well, there are two possible concerns.

The Joomla! release cycle

The Joomla! project releases a new major or minor release every six months. Releases are designated as either:

  • STS (short term support) releases are supported for seven months, and their support ends one month after the next release of Joomla! is released.
  • LTS (long term support) releases are supported for twenty-seven months.

Joomla! 3.x is an STS release. The next planned LTS release will be version 3.5, scheduled for September 2013. The Joomla! 3.x FAQ states that:

Sites that are currently on Joomla! 2.5 are encouraged to stay on 2.5, until Joomla! 3.5's release, unless they need to be moved over sooner to take advantage of Joomla! 3's new features.

This is actually pretty good advice.

Maturity of extensions

More importantly, most Joomla! sites are not simple blogs and most will use a number of third-party extensions (add-on or plug-in components). Although a standard Joomla! 2.5 installation can be migrated across to version 3.x with one click, this may destabilise or even kill installed extensions that have not been upgraded to work with Joomla! 3.x. So the first step in a Joomla! 3.x site migration is to:

  • Take an inventory of all the installed extensions
  • Obtain Joomla! 3.x versions of those extensions
  • Either pre-install them before the migration, or have them ready for installation before the new version 3.x site goes live

Of course, if Joomla! 3.x versions of important extensions are not available, you should not proceed with the migration.

These are the two areas we will examine in the remainder of this series on the current status of the Joomla! 3.x system, to help you make an informed decision about when and how to move on to it.

Next: State of the Joomla! market, and a Joomla! 3.x base build