Joomla is a free and open-source content management framework (CMS) for publishing web content. It is built on a model–view–controller web application framework that can be used independently of the CMS.
Joomla is written in PHP, uses object-oriented programming (OOP) techniques (since version 1.5) and software design patterns, stores data in a MySQL, MS SQL (since version 2.5), or PostgreSQL (since version 3.0) database, and includes features such as page caching, RSS feeds, printable versions of pages, news flashes, blogs, polls, search, and support for language internationalization.
As of July 2013, Joomla has been downloaded over 35 million times. Over 6,000 free and commercial extensions are available from the official Joomla! Extension Directory, and more are available from other sources. It is estimated to be the second most used content management system (CMS) on the Internet after WordPress.
Joomla was the result of a fork of Mambo on August 17, 2005. At that time, the Mambo name was trademarked by Miro International Pvt. Ltd., who formed a non-profit foundation with the stated purpose of funding the project and protecting it from lawsuits. The Joomla development team claimed that many of the provisions of the foundation structure went against previous agreements made by the elected Mambo Steering Committee, lacked the necessary consultation with key stakeholders and included provisions that violated core open source values.
Joomla developers created a website called OpenSourceMatters.org (OSM) to distribute information to users, developers, web designers and the community in general. Project leader Andrew Eddie wrote a letter that appeared on the announcements section of the public forum at mamboserver.com. A little more than one thousand people had joined OpenSourceMatters.org within a day, most posting words of encouragement and support, and the website received the Slashdot effect as a result. Miro CEO Peter Lamont gave a public response to the development team in an article titled “The Mambo Open Source Controversy — 20 Questions With Miro”. This event created controversy within the free software community about the definition of “open source”. Forums at many other open source projects were active with postings for and against the actions of both sides.
In the two weeks following Eddie’s announcement, teams were re-organized, and the community continued to grow. Eben Moglen and the Software Freedom Law Center (SFLC) assisted the Joomla core team beginning in August 2005, as indicated by Moglen’s blog entry from that date and a related OSM announcement. The SFLC continue to provide legal guidance to the Joomla project.
On August 18, Andrew Eddie called for community input on suggested names for the project. The core team indicated that it would make the final decision for the project name based on community input. The core team eventually chose a name that was not on the list of suggested names provided by the community. On September 22, the new name, “Joomla!,” was announced. It is the anglicised spelling of the Swahili word jumla meaning “all together” or “as a whole” which also has a similar meaning in at least Arabic and Urdu. On September 26, the development team called for logo submissions from the community and invited the community to vote on the logo; the team announced the community’s decision on September 29. On October 2, brand guidelines, a brand manual, and a set of logo resources were published for the community’s use.
On October 27, 2008, PACKT Publishing announced that Johan Janssens was the “Most Valued Person” (MVP), for his work as one of the lead developers of the 1.5 Joomla Framework and Architecture. In 2009 Johan Janssens received the “Most Valued Person” award for his role as Joomla architect and development coordinators.
|Version||Release date||Supported until|
Joomla 1.0 was released on September 22, 2005 as a re-branded release of Mambo 220.127.116.11 that combined other bug and moderate-level security fixes.
Joomla 1.5 was released on January 22, 2008. The latest release of this version was 1.5.26 on March 27, 2012. This version was the first to attain long-term support (LTS). LTS versions are released each three major or minor releases and are supported until three months after the next LTS version is released.
Joomla 2.5 was released on January 24, 2012, six months after 1.7.0. This version is a long term support (LTS) release. Originally this release was to be 1.8.0, however the developers announced August 9 that they would rename it to fit into a new version number scheme in which every LTS release is an X.5 release. This version was the first to run on other databases besides MySQL. Support version is extended until the end of 2014. 
Joomla 3.0 was released on September 27, 2012. Originally, it was supposed to be released in July 2012; however, the January/July release schedule was uncomfortable for volunteers, and the schedule was changed to September/March releases. On December 24, 2012, it was decided to add one more version (3.2) to the 3.x series to improve the development life cycle and extend the support of LTS versions. This will also be applied to the 4.x series.
Joomla 3.1 was released on April 24, 2013. Release 3.1 includes several new features including tagging.
Joomla 3.2 was released on November 06, 2013. Release 3.2 highlighting Content Versioning
Many web hosts have control panels that allow for automatic installation of Joomla. On Windows, Joomla can be installed using the Microsoft Web Platform Installer, which automatically detects and installs any missing dependencies, such as PHP or MySQL.
Joomla enjoys strong support on the web from hosts that specialize in or support it. Many web sites provide information on installing and maintaining Joomla sites.
A Joomla template is a multifaceted Joomla extension which is responsible for the layout, design and structure of a Joomla powered website. While the CMS itself manages the content, a template manages the look and feel of the content elements and the overall design of a Joomla driven website. The content and design of a Joomla template is separate and can be edited, changed and deleted separately.
The template is where the design of the main layout for a Joomla site is set. This includes where users place different elements (components, modules, and plug-ins), which are responsible for the different types of content. If the template is designed to allow user customization, the user can change the content placement on the site, e. g., putting the main menu on the right or left side of the screen.
Joomla extensions help extend the Joomla websites’ ability. There are five types of extensions for Joomla!: Components, Modules, Plugins, Templates, and Languages. Each of these extensions handles a specific function.
- Components: The largest and most complex extensions of them all; they can be seen as mini-applications. Most components have two parts: a site part and an administrator part. Every time a Joomla page loads, one component is called to render the main page body. Components are the major portion of a page because a component is driven by a menu item and every menu item runs a component.
- Plugins: These are more advanced extensions and are, in essence, event handlers. In the execution of any part of Joomla, a module or a component, an event can be triggered. When an event is triggered, plugins that are registered with the application to handle that event execute. For example, a plugin could be used to block user-submitted articles and filter out bad words.
- Templates: Describe the main design of the Joomla website and are the extensions that allow users to change the look of the site. Users will see modules and components on a template. They are customizable and flexible. Templates determine the “style” of a website.
- Modules: Rendering pages flexibly in Joomla requires a module extension, which is then linked to Joomla components to display new content or new images. Joomla modules look like boxes – like the “search” or “login” module. However, they don’t require html to Joomla to work.
- Languages: Very simple extensions that can either be used as a core part or as an extension. Language and font information can also be used for PDF or PSD to Joomla conversions.
Examples of sites that use Joomla
- Official Community Showcase A directory of example sites on the official Joomla! site.