We are continuing our tests on the latest Joomla 1.5 release. In this short notes you will find some random thoughts from a developer point of view about the new code base and moreover some encouraging results concerning the build of an XHTML Strict template.
Joomla 1.5 news: a huge step forward!
This enthusiasm could seem not justified, but after a deep dive in the code of the new release you will notice that, if compared with the 1.0 branch, Joomla 1.5 is a true revolution.
A few examples:
- The new code is cleaner and better commented
- The overall structure is more Object Oriented
- There is a first move towards an MVC design patterns, at least inside the components
- You can now build the main template including the blocks (components etc.) through XML-like tags instead of PHP function calls
- Overriding default components and modules can be done in the template itself instead of hacking the core
The last point in the list above is truly new, and represents alone a good motivation to keep a close eye on this wonderful CMS. Changing XHTML code generation in the previous versions was a real nightmare, the code was composed through hundreds of PHP scripts, and there was not a clear sparation between application logic and presentation.
From an accessibility point of view, the possibility to alter the produced XHTML code without directly changing the core (this is stlill only partially true, unfortunately) makes much more easier all the work of eliminating unuseful tables, deprecated attributes and the producion of semantically correct code.
Producing an Joomla 1.5 accessible template
We in Italy have a special law about websites for public administrations, it is based on W3C WAI but with some minor “enhancements” and modifications.
We have spent a considerable amount of time and resources on Joomla FAP project, a successfull project aimed to produce a XHTML Strict and WAI compliant Joomla 1.0 version for the italian market.
Starting from this experience, we decided to explore the possibilities of achieving he same objectives with Joomla 1.5.
The necessary steps are more or less the same we have done with Joomla FAP:
- Write a XHTML Strict and WAI compliant template
- Rewrite main components code to eliminate tables, deprecated attributes and semantically incorrect code
- Patch and reconfigure the WYSIWYG editor to prevent invalid code generation
A big difference between older Joomla releases and the new 1.5 is that instead of patching the core of the main components, the most part of this work can be now done inside the template, overriding the views of the single modules.
A couple of unresolved issues remains: some XHTML code fragmenst are still generated through function calls to the core, and in a few cases the generate code contains invalid attributes, in such cases a patch to the core is the only way out.
The real good new about our explorations is that after only a few hours of work we have seen this message in the W3C validator:
There is still al lot of testing and work to be done before we can affirm that the objective has been reached, but if we compare this first encouraging results with the hundreds of hours that were necessary to achieve a similar objective with Joomla FAP, we can really foresee a bright future for Joomla 1.5.