As can be seen from the table, the 1.5 version is the first true Joomla!. The Joomla! team spent the first year stabilizing the inheritance from Mambo under the Joomla! name and charting their own direction. The changes in Joomla! 1.5 clearly reveal future developments.
Every piece of static text can now be translated into language files. This is in particular relevant for the administration area, which up to now was only available in English.
Support of scripts that are written from right to left (i.e. RTL, Arabic, Hebrew, Farsi, and Urdu).
Complete changeover to the UTF-8 character set for coding and displaying all characters in Unicode.
Mambots are now called plug-ins and user plug-ins, authentification plug-ins, xmlrpc plug-ins, and system plug-ins now join content, editor, and search plug-ins.
Alternative login mechanisms from external programs, among others, can be used with the aid of these plug-ins.
XML Remote Procedure Call (XML-RPC) is a specification that allows software on different systems and in different environments to communicate. All the important programming languages are supported and there are libraries that change the code into XML-RPC (http://en.wikipedia.org/wiki/XML-RPC). Joomla! also offers such an interface. With it, for instance, it is possible to post an image from Flickr or write an article with OpenOffice and to subsequently publish it in Joomla! This opens up fascinating options for developers; for example they can now access Joomla! from a Java program.
Joomla! 1.5 contains an abstraction layer that makes it possible to run Joomla! with various database versions. However, only one of these databases can be used for each particular Joomla! installation. At the moment MySQL 4.x, 5.x are supported. Additional databases will be supported in the future.
An FTP layer has been added to avoid problems with file access rights. Therefore, installation of new components and other uploads can be handled via PHP upload and via FTP. The service providers' restrictive (but reasonable) approach in terms of the PHP language had made the installation of extensions and the downloading of files in general, more difficult.
There has been no such thing as a framework in terms of a packaged kit for Joomla! functionality so far. It did, however, become crystal clear after the fork that the old Mambo source code had to be improved just about everywhere. It became necessary to rewrite and code Joomla!'s functionality cleanly. A framework has to be flexible, scalable, separated from the output, and above all be comprehensible so that a third-party developer can write good components in a reasonable amount of time. A proprietary API (Application Programming Interface) is essential for that.
Barrier freedom is an important topic and it has been a legal obligation in Germany for government websites to be barrier free since the first of January 2006. W3C has written standards for it. Joomla! 1.5 already has a complete barrier free template (Beez) and with it the option to comply with these standards.
Barrier freedom is achieved by compliance with these standards (valid HTML/XHTML) and by the complete separation of content (text, images, etc.) from layout by the use of cascading style sheets (CSS). This statement applies 100% to the front end at the moment. The administration area is also scheduled to become completely barrier free in later versions. Currently it can be used by at least a person without vision.
Support for search-engine friendly URLs has been removed from the Joomla! core and swapped into a plug-in. This makes it possible to add functionality with third-party components, which was very difficult before.
Since 2005 Google has been supporting talented students and their ideas in its Summer of Code Project (http://code.google.com/soc/2007/) with certain open-source projects to the tune of $ 4,500 each. Instead of taking whatever summer job is available to earn money, they can work on their hobby for the collective good and of course also to the benefit of Google. Every year the Summer of Code brings stunning amounts of PR, good ideas, and good programmers to Google. The open-source projects also benefit from the strategy of attracting new talent and of course from the results of the projects. In each case one member of the respective project community becomes mentor to one student.
The results of these projects will be and have been gradually integrated into Joomla!. Last year as well (2007), there were students programming for Joomla! and being paid by Google.
These projects included the following:
Extending the Nested Sets Model with 'Hardlinked Nested Sets'—Enno Klasing, mentor Louis Benton Landry. (This has to do with the popular deep nesting of categories.)
Email interface for Publishing—Nur Aini Rakhmawati, mentor Mateusz Krzeszowiec. (This has to do with the creation of Joomla! content by means of sending an email.)
Semantic Web Integration—Mickael Maison, mentor Andrew Eddie. (This has to do with the integration of geographic standards such as KML and GeoRSS, in order to be able to manipulate these data in Joomla!, for example the home town of the user as a map-image.)
Eclipse Plugin for developing Joomla's Component/Module—Muhammad Fuad Dwi Rizki, mentor Laurens Vandeput. (This has to do with the creation of a Joomla! plug-in for the popular developer environment Eclipse, in order to easily create Joomla! components.)
General content recommendation component for Joomla—Faolan Cheslack-Postava, mentor Samuel Alexander Moffatt. (This has to do with automatic recommendation of content in a particular context at a particular time.)