This post begins a series of small howtos that will create a component for Joomla! CMS realized following the MVC pattern.
The posts will be in the form of simple notes wrote down to clarify the concepts, particulary to myself, about a relatively complex argument, where existing documentation is pour and somethimes out of date.
During the realization of the component, I was inspired by the following documents, published on the Joomla! official documentation website:
The first one is a bit out of date, but has a more detailed explanation of the code. The second one is quite recent, but limited almost exclusively to listing the code to write, without going into details on how Joomla! libraries are working.
I was also inspired by the book "Learning Joomla! 1.5 Extension Development" by Joseph LeBlanc. Also obsolete, but with the most complete explanation of the code.
Joomla! is a CMS, a content management system, used by a great number of people and used for the realization of a wide range of websites, with a very different range of functionality and sizes.
The reason for its success is certainly given by the possibilities of customization it offers. In particular, it provides wide possibility of graphic personalization, through the mechanism of system templates, and a detailed extension system that allow to modify every part of the website or of the page without altering the original code of the CMS.
The extensions are divided into 3 categories:
Public and administrative part of Joomla! are realized with similar technologies, therefore, the extensions can be used to complete the functionality of both sides.
This tutorial focuses on the components and, in particular, on the realization of the administration part of these. For other types of extensions I apologize for the lack of details, but as I write above, these are only notes that have no presumption to be exahustives...
The project will aim not only to create a working component, but to realize a component compliants with Joomla! standards, So that the end result will integrate from a graphical and functional point of view, with the basic Joomla! administrations tools.
In the next post we will create the basic component (the classic Hello, world!) and the package for its installation in the Joomla! CMS.