
What Took So Long?
Louis Landry, Joomla! Development Lead, stated that when Joomla! 1.5 was released in early 2008 it took a while for the third party developers to catch up with their extensions. In the meantime, a number of key developers were exhausted and on the verge of burnout.
One time lag led to another. When they were ready to start development on 1.6, it took a bit more effort to "restart the engine" and get everything in gear.
According to Landry, the focus of the 1.6 release is "removing barriers." Rather than focusing on flashier features, the team took on two areas that Joomla! users have been vocal about wrestling with: access control and the category organizational model.
New Permissions Model
When it comes to access control, the team wanted to avoid having a huge page of permissions checkboxes that you have to work through, one by one, while trying to understanding the subtleties and ramifications of each little choice. Instead, Joomla! 1.6 moves to an inheritance-based model similar to that of Microsoft's NTFS.
Think of the new model in terms of sets of Venn diagrams. You might have a large group A, with sub-groups B and C inside A. Unless you specify otherwise, all permissions from group A will be inherited by denizens of groups B and C. For individual sub-groups, you can specify that certain permissions aren't inherited, doing so differently for each sub-group. The hope is that this method of access control will feel more intuitive than long lists of checkboxes.
New Organizational Model
They've taken a similar tactic for changing the organizational model. Sections can contain other sections with an unlimited nesting depth, allowing you to move items around in what they hope is a much simpler interface. Inheritance again applies through the nesting.
For example, if you have a section for the US containing content about CA (California), which contains content about San Francisco, these could be three nesting sections. After applying permissions and other settings to the US section, all of those settings would be inherited by CA, and in turn by San Francisco.
However, you can set overrides at any level to prevent certain settings from being inherited. For example, you might want to use a different category structure for the states than you do for the country, but keep a lot of the other settings in place. And from there, you might want a different category structure for the cities than you use for the states or the countries.
Both the new access control and new organizational models will break old sites and modules, but the team felt they were at a point where doing so was worth it. According to Landry, they focused on making new features easy to use and as sensible as possible.
Learning Opportunities
Extension Updates
For site maintenance, it's now possible to update each extension with a single click. Right now they don't have a feature that updates every extension simultaneously due to safety concerns, but they're still kicking around the idea.
While this functionality did exist before, it was more hidden. Now it's in the front and extensions can register update sites that the Joomla! backend checks in with.
Layouts and Templates
Another feature that received a redo was that of layouts and templates. In particular, they've redone the core layouts to use standard semantic HTML such as H1 tags for headings and web-standard markup tags like P for paragraphs. Included is a core template with overrides that people can copy into their own templates if they aren't ready to make the switch.
(If you saw the word "semantic" and started thinking of technologies such as RDFa, Landry says they're researching those and trying to decide which will gain the most traction.)
In general, Landry says that they wanted to go back over all of the interfaces and make them as easy and consistent as possible, so there is a lot of refinement of the previous versions with more fluid navigation. The team also included more sample data.
Smaller changes to the template structure include the ability to create template styles that can be assigned to just a section of your site. You can also more easily control which modules and blocks are presented where, including the ability to say that an item should show up everywhere except a few specific places. A new look with fresh hand-drawn icons and visuals was also created for this version.
Other Changes
Other items added to Joomla! 1.6 include:
- A 404 redirection system will catch attempts to load non-existent or non-available pages, put those attempts into a 404 system and allow the administrator to create the appropriate redirects if a pre-emptive one wasn't good enough (this feature was developed for and prototyped on the re-launched Joomla.org).
- A form API with XML definitions to define webforms, which can be programmatically manipulated so plugins can work with fields and filter or validate data.
- Pluralization support for languages where different words are needed for "two or more," "three or more," or "four or more".
- Custom language overrides so people can create their own language files if needed.
- Support for extended ASCII in URLs.