1 - What is Joomla ?
Joomla! is a free, open source and free Content Management System (CMS). It is written in PHP and uses a MySQL database. Joomla! includes features such as RSS feeds, news, printable pages, blogs, surveys, searches. Joomla! is licensed under the GNU GPL.
Joomla !, deformation of the Swahili word Jumla, means: "all together", in Arabic Jumla "جملة" means "sentence", "en bloc" or "in all", in moré "remain united". It was created from the Open Source CMS Mambo in August 2005, following disagreements from a majority of open source developers with the company owning the name Mambo. This one, to increase its notoriety, wanted to use this name for the proprietary CMS which it developed in parallel. The vast majority of users quickly followed suit.
In the 2009 competition of the best open source CMS organized by the British company Packt, Joomla! ranked 3rd in the Best Open Source PHP Content Management System category (behind Drupal and WordPress) and 2nd in the Hall of Fame Award category (behind Drupal).
Joomla! is developed following the principle of Semantic Version Management (2.0.0).
The convention of identifying a version of Joomla! follows three numerical levels where each level is defined by the meaning of a change made to the software: major.minor.patch
These 3 levels are defined as follows:
- A move to a higher level of the major version indicates a downward compatibility break.
- A move to a higher level of the minor (minor) version indicates the addition of new features or a substantial change to an existing feature.
- A move to a higher level of the patch version indicates that anomalies have been corrected.
2 - personalization
The user of Joomla! can, in addition to the basic configuration parameters, customize it on several levels:
- at the level of Joomla code! : the user who has knowledge in PHP can go to update the code according to his needs;
- from the point of view of the display - notion of templates (Web Template): Joomla! allows the user to create his own model by arranging the menus according to his taste;
- addition of functionalities: it is done either in the form of modules, or in the form of components, or in the form of plugins
3 - Architecture
It is developed in a Model View Controller (MVC) architecture, which allows:
Interact directly with the view part of Joomla !, which allows you to overwrite from the Joomla! the view part of a component, module or plugin, which allows a great level of customization in the development of the templates.
A development of components modules and plugins based on the base architecture of the CMS.
Rapid hot updates, updating the elements required for version changes with the platform running.
4 - Project development
Joomla corresponds to the group of open source solutions, it is a free software product. For the development of its multiple fronts, it uses different forms of communication such as: meetings through IRC, forums, mailing lists, wikis and blogs. This GDC content manager follows the guidelines set by the bazaar, with its main objective of solving the needs of all those who participate in one way or another in the project.
5 - Extensions
One of the greatest potentialities of this CMS is that its base functionality can be expanded through extensions or through them; The types of extensions are: Components, Modules, Templates, Plugins and Languages. Each of these types extends the functionality of Joomla! in a different way.
5.1 - Components
They are extensions that load as main functional element in Joomla !, a component usually adds a content printing functionality to Joomla, this is the case of com_content which is the main content management component of Joomla standard, they are characterized by Joomla's form native only supports the handling of a single component at the same time.
5.2 - Modules
They are extensions that allow to load in a position of a Joomla template a data output or a specific functionality, usually a module allows us to place the output of a component.
They are extensions that allow changing the view part of the CMS, the index.php file of the Joomla! determines where the components and modules will load.
5.3 - Plugins
Plugins are extensions that run under selected triggers, performing selected actions while the CMS is loading.
6 - Related industry
Open Source Matters Inc (OSM) is a non-profit organization that was established under the laws of the United States and exists to support the legal and financial part of the Joomla open source project. OSM has been incorporated as a non-profit organization in New York in order to ensure that the Joomla project and future projects have a window for the participation of volunteers, to enable the contribution of intellectual property and funds so that provides a legal vehicle to limit the exposure of projects.
7 - What are the possibilities of Joomla?
Joomla! is used all over the world to power websites of all shapes and sizes. For example :
- Business portals
- Intranets and extranets
- Online Magazines, Newspapers and Publications
- E-commerce and online reservations
- Government applications
- Small commercial websites
- Non-profit websites
- Community portals
- Websites for a school
- Personal or family home pages
- Website for town halls or community.
8 - Joomla, it's too rigid.
If there is one quality that we must recognize Joomla, it is its flexibility. Natively, this CMS can already do a lot of things: write content, create as many pages as you can imagine in blog format, add a secure contact page, etc.).
If you need to add more features, be aware that there are over 9,000 extensions available on the Joomla! Extension Directory that cover all imaginable needs. Suffice to say that "flexibility side, Joomla! Does not really fear anyone".
9 - Benefits of Joomla
Almost zero cost of deployment
Internalization and convergence of business management tools
Control your image and your communication
Very low fixed costs (maintenance, ...)
10 - The disadvantages
It takes time before you to complete a business project with Joomla, but ultimately like any project. You will spend some of your time understanding, testing and understanding Joomla and its extensions.
If you want to get up and running quickly, invest in Joomla training to speed up the process of adaptation and apprehension.
Joomla CMS lacks documentations support
As I told you previously, it will be necessary to be autonomous because, you will find few resources at your disposal to guide you in your task (Other sites Kiwik, Web51, Aide-joomla.com ,. ..). Indeed, the Joomla ecosystem is so rich and so vast that your autonomy and the quality of your watch work will be crucial.