Book Image

Building Websites with Joomla! 1.5

By : Hagen Graf
Book Image

Building Websites with Joomla! 1.5

By: Hagen Graf

Overview of this book

<p>Joomla! started as a fork from Mambo in 2005, when many of the original developers of the Mambo CMS moved to working on Joomla! It has rapidly grown in popularity and, according to its own description, is a "Cutting Edge Content Management System and one of the most powerful Open Source Content Management systems in the world. It is used world-wide for anything from simple homepages to complicated corporate websites. It is easy to install, easy to manage and very reliable."<br /><br />While the Joomla! CMS has the flexibility and power needed for complex, full-featured web applications, it is also simple to use to create basic websites. Its powerful, extensible template system can deal many different data types and control of user access, approval of content, scheduling of content display, and rich administrative controls are all included.</p>
Table of Contents (29 chapters)
Building Websites with Joomla! 1.5
Credits
About the Author
Preface
3
A Tour of Your New Website
5
Configuration of Joomla! Administration
Online Resources
Template Modules
How Do I switch an Image (Logo) in the Template?
Joomla! API
Forgot the Admin Password
Security Without Global Variables
Index

Changes In Detail


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.

Internationalization

  • 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.

User Plug-Ins

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 Support

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.

Support of Several Databases

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.

FTP System

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.

Overhaul of the Joomla! Framework

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

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.

Search Engine Friendliness

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.

Google Summer of Code Projects

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.)