Mambo 4.7 and its affect on templates
Posted by Elpie on May 23, 2007
As Mambo 4.7 gets closer to release, its worth having a chat about what this means for existing Mambo web sites.
4.7 marks the first step on the road to making Mambo an accessible CMS. As previously discussed, Mambo is approaching this in two phases. Let’s take a look at what this first stage means.
When development first started on Mambo in 2000, there was only one standards-compliant browser – the late, great IE5 for Mac. All others used proprietary code and site designers had to kludge their way around the various browser quirks. In software design little, if any, consideration was given to the separation of logic and presentation. PHP itself was often referred to as not just a programming language, but also a method of presentation.
So, Mambo developed with its presentation logic intertwined with source code. Worse yet, from a template development point of view, the code that was used right throughout the Mambo source code was HTML 4.0 Transitional.
While the programming code of Mambo has improved over the years, the HTML was so deeply embedded into almost every file that developers were reluctant to change this. Making such a change requires not just a commitment to a great deal of work in refactoring the code, but also acknowledgement that there is no way to achieve this without breaking backward compatibility with existing templates.
It is far easier to write an accessible CMS from scratch than it is to take legacy code that has been under development for seven years and refactor it for accessibility. It is for that reason Mambo is undertaking the work in two stages. Frontend (the template design and visitor experience) first, to allow site owners to take advantage of the improved web standards compliance in modern browsers and all the features they offer to site designers, and later we will be producing an accessible backend.
4.7 will be introducing some features to the backend (administrator) functionality and I will talk more about those as we get closer to release. However, the most significant change from a site design perspective is that the XHTML code within the core files is valid, and styling is left to the site designer. All unnecessary code is gone.
This means, that from 4.7 on, template designers can, if they wish, design a fully accessible template. Mambo’s output meets all WCAG Priority 1 and 2, and much of Priority 3. If you want to design a template that validates as XHTML1.1, you will be able to with 4.7.
How does this affect existing templates? Well, most existing templates will need to either be replaced or reworked. A large number of them use tables for layout and css workarounds. If that is how you want to design templates, well, I am not going to preach the benefits of designing to web standards. However, its worth considering that a standards-compliant template not only significantly reduces cross-browser rendering problems, but also can result in a significant saving in bandwidth while providing an improved visitor experience. In many countries, it is now law for sites to be accessible. 4.7 will allow you to comply with these laws. If you are still not convinced, then consider this – Google is the most active blind user on the Net. Anything that makes a site accessible has potential to improve SEO.
If this change in Mambo appeals to you and you wish to upgrade from an earlier version, you could start working now on changing your template or designing a new one. CSS becomes very important from 4.7 on, so if you are new to designing with valid XHTML and CSS, the time to start building your skills is now. Hop over to the Mambo forums – there is a sticky post in the Templates forum that lists some useful tools and resources. (http://forum.mambo-foundation.org/forumdisplay.php?f=75)
We want to make the transition as easy as possible for Mambo users and will be providing new templates with the 4.7 distro, one of which is designed to be a template tutorial to help you customise the provided Mambo template.
4.7 marks an exciting new release and new direction for Mambo. For the first time, Mambo users will have the opportunity to design sites however they please. If you have any questions about the direction we are taking, please ask them on the forums so all developers have an opportunity to respond.
hwang said
Do we know the ETD of the new release 4.7?
vavroom said
hello hwang,
We hope to have a first public beta of 4.7 within the next couple months, if not sooner, but as usual, we hate to give release dates, as so many things can happen to break the cycle. It’s highly worth the wait though, I guarantee you
rach said
Is it possible to have tableless templates for 4.6.2 or do we have to wait for 4.7?
vavroom said
Hello Rach,
You can create tableless templates for 4.6.2, yes. However, because the Mambo core generates content delivered in tables, your site can’t be tableless.
It’s important to make the distinction between a tableless template and a tableless Mambo site.
You should come and discuss this on the official forum of Mambo at http://forum.mambo-foundation.org