Image by unloveable
I want to talk in this post about front-end interface that could be used without any modifications (or just with basic configuration) between different Content Management Systems (WordPress, Joomla, Drupal, Expression Engine and a million more) and how this could help the developer. I know it sounds far fetch but bare with me for a minute.
I’ve been reading a lot lately about Child Themes in WordPress and how easy is to create a new theme from scratch just by building it on top of a theme framework. Ian Stewart’s blog has been a real inspiration for me in the last two months since I’ve discovered it and really brought an “AHA” moment for me. He’s been developing his Thematic theme framework for quite some time and it’s really powerful, but most of all useful.
Now, with the introduction of WordPress 2.7 in November designers will be able to overwrite any of the master theme files, opening a hole bunch of possibilities for the professional WordPress designer.
A similar concept resides in the relatively new Magento eCommerce system. Although this is a lot more complicated then a WordPress theme the same basic idea is found behind it’s template system: you can build on top of a base theme, and not duplicate and modify a theme.
If the differences between building on top of a base theme and modifying the base theme are small, the implications are wide.
You see, Magento gives you the ability to load multiple themes at once, allowing you to swap between a default store design and temporary event/season-specific ones — All at the command of a few key strokes, which is a big selling point for a online shop.
What WordPress Child Themes give you is the simplicity of updating your theme without loosing any customization you did on it in the process. That is not such a big thing if you have 1 blog, but what if you have to take care of 100 blogs for your clients. Now that’s a challenge!
These are two examples of CMS that use the Object Oriented methodology borrowed from programing to develop their template system.
Because they are both in active development and big players on the open-source CMS market I will take an educated guess and say they will start a trend that will slowly be adopted by other CMS. I will take this further and say this will remove the images and css (the front end) from the base template and position them outside of the code that usually comes with a theme. Now all we have to do is have standard XHTML declarations and we can achieve portability between platforms (you guys still remember css Zen Garden right?).
I realize there are a lot of differences between any CMS out there but it’s not impossible. It’s been realized with a lot more complicated software products (OpenID, Meebo and many more) so it can be done with a few XHTML and css files.
In the end the advantage won’t be in using Joomla! themes in WordPress or the other way around, but by providing developers with a standard platform on which they can create their themes. This way one would spent more time creating a quality theme instead of trying to stay up to date with 3-4 CMS at a time.
Although this might never happen, for now we can be happy with theme inheritance and it’s advantages. Who knows what the future holds for us!