Joomla (/ˈdʒuːm.lɑː/), also spelled Joomla! (with an exclamation mark) and sometimes abbreviated as J!, is a free and open-source content management system (CMS) for publishing web content on websites. Web content applications include discussion forums, photo galleries, e-Commerce and user communities and numerous other web-based applications. Joomla is developed by a community of volunteers supported with the legal, organisational and financial resources of Open Source Matters, Inc.
Joomla is written in PHP, uses object-oriented programming techniques and software design patterns, and stores data in a Structured Query Language (MySQL) database.[1] It has a software dependency on the Symfony PHP framework. Joomla includes features such as page caching, RSS feeds, blogs, search, and support for language internationalisation. It is built on a model–view–controller web application framework that can be used independently of the CMS.
Around 6,000 extensions are available from the Joomla website,[2] and more are available from other sources. As of 2022, it was estimated to be the fifth most used CMS on the Internet, after WordPress, Shopify, Wix and Squarespace.[3][4]
Joomla has a web template system using a template processor. Its architecture is a front controller, routing all requests for non-static URIs via PHP which parses the URI and identifies the target page. This allows support for more human-readable permalinks. The controller manages both the frontend, public-facing view, and a backend (GUI-driven) administration interface. The administration interface (a) stores management and content information within a database, and (b) maintains a configuration file (configuration.php, usually located in the file system root of the Joomla installation). The configuration file provides the connection between the server, database and file system and facilitates migrating the website from one server to another.[5]
The backend interface allows website operators to manage users, menus, extensions and web content.[note 1]
Joomla is designed to be used by people who have basic website creation skills and requires an Apache–MySQL–PHP server like LAMP or WAMP.[note 2] Commercially based web hosting services may include control panels for automatically installing Joomla for their customers. Joomla may be used to create localhosted-web applications that run on a range of AMP servers.[1]
Risk management, backup and recovery are the website operator's responsibility. Joomla does not have website backup or recovery facilities built into the core CMS; third party-written products (as installable extensions or in standalone products) exist.
Other software facilities (whether as natively installable extensions utilising the Joomla framework or via "software bridges") extend a website's range of applications to include discussion forums, photo galleries, e-Commerce, user communities, and numerous other web-based applications.
Joomla was the outcome of a fork of Mambo on 17 August 2005.[6] At that time, the Mambo name was a trademark of 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 violated 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.[7]
Joomla's original co-founders, Andrew Eddie, Brian Teeman, Johan Janssens, Jean-Marie Simonet et al.,[8] established Open Source Matters, Inc. (OSM) to distribute information to the software community. Project leader Eddie wrote a letter that appeared on the announcements section of the public forum at mamboserver.com.[9] Over one thousand people joined OpenSourceMatters.org within a day, most posting words of encouragement and support. Miro CEO Peter Lamont responded publicly to the development team in an article titled "The Mambo Open Source Controversy—20 Questions With Miro".[10] This event created controversy within the free software community about the definition of open source. Forums of other open-source projects were active with postings about the actions of both sides.
In the two weeks following Eddie's announcement, teams were reorganised 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.[11][12] The SFLC continues to provide legal guidance to the Joomla Project as one of OSM's partners.[13]
On 18 August Eddie called for community input to suggest a name for the project. The core team reserved the right for the final naming decision and chose a name not suggested by the community. On 22 September the new name, Joomla!, was announced. It is the anglicised spelling of the Swahili word jumla, meaning "all together" or "as a whole" that also has a similar meaning in at least Amharic, Arabic, Turkic languages and Urdu. On 26 September, 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 29 September. Beginning in October 2005 guidelines covering branding, licensing and use of the registered trademark were published.[14]
On 28 January 2008 the first major revision to Joomla was announced:
Joomla 1.5 was popular but criticised for its inflexible and limited approach to access control.[15] Independently of the project, Andrew Eddie and Louis Landry created a company called JXtended[16] to continue the development of Control—an ACL component—that could integrate with Joomla 1.5. In July 2009 Eddie presented his ideas[17] to the Joomla User Group Brisbane.
In July 2009 of that year, the Joomla project announced a restructuring of its management: a new Joomla Leadership Team replacing the Core Team that had originally led the project. This redefined the role of the team leading the project and structured it more around community involvement in events, the Google Summer of Code projects and other activities; the intention of the new approach to team-building was also an effort to increase community participation in the development process instead of relying upon a small group of coders to do most of the work.
According to Google Trends, interest in Joomla peaked around the period 2009–2010.[18] In January 2011—largely as the result of the collaboration between Eddie and Landry—a second major revision of Joomla was released: Joomla 1.6.[19]
Prior to the stable release of Joomla 1.6, Eddie relinquished his roles on OSM's board and project leadership;[20] Louis Landry announced his retirement from the project the following year.[21] Following Eddie's departure, in September 2011, OSM sought feedback from the community, including the possibility of constituting the governing body under a new name, to restructure the board's membership and project leadership.[22]
In 2010, with preparations for Joomla 1.6 nearly completed, Amy Stephen, Klas Berlic, Marco Barbosa, Matt Thomas et al. started a project to refactor the Joomla code. Code-named Molajo (an anagram of Joomla), the group felt that the existing Joomla CMS hindered end-users and developers adopting Joomla because (a) the Joomla CMS did not offer a range of packages containing a themed sets of web applications—like other CMS products had been doing for some time—and (b) the traditional MVC approach decreased developers' productivity in creating new components for Joomla.
Community reaction to Molajo was mixed. Some commentators claimed that it was a fork of the Joomla CMS—a claim strongly rejected by Stephen—while others contended that its activities would undermine the future of the Joomla CMS.[23][24] Against these headwinds, Molajo made its public debut at the J and Beyond conference in The Netherlands in 2011.[25]
Lacking support from OSM, an enthusiastic following from the Joomla community and unable to progress beyond pre-Alpha status, Molajo collapsed around the middle of 2015.[26]
In January 2012 another major revision was announced: Joomla 2.5 (essentially bringing together the two previous minor releases in the preceding year). Joomla 2.5 brought much sought-after enhancements and a new API making it easier for novice users, additional multilanguage capability and the ability for users to update with "one-click".
Shortly after the release of Joomla 2.5, work was under way on the Joomla 3.x. Joomla 3.x was focused on mobile-friendly websites on the front-end, as well as a more intuitive back-end. With greater ease in site navigation and a more user-friendly means of editing Joomla site content, Joomla 3.x became the most popular version of the CMS eventually making all previous versions obsolete.[27]
In March 2014, after seeking community feedback and a submission from the Production Leadership Team, a newly constituted OSM board approved changing the licensing for the framework from GPLv2 to LGPL.[28][29] Although the proposal only affected the licensing of the framework and not the CMS, the decision sparked a fierce debate within the community.[30][28] In the end, the framework did not adopt LGPL and is still licensed under GPLv2.[31]
In August 2014, the Joomla CMS development team released a plan for new version releases.[32]
Towards the end of 2014—three years after calling for feedback about ways to reorganise the project[22] and with Joomla 3.x into its fourth minor revision—the community discussed the leadership structure changes.[33] Eddie, although no longer an active contributor to the project, argued that the code for Joomla 3.x was "too fat and heavy to maintain with the current level of contribution"; he recommended mothballing the current CMS series and develop a less cumbersome Joomla 4. Eddie went further to criticise OSM's vision, entrepreneurship and management of the project. Other commentators also expressed their opinion that OSM had become dysfunctional.[34]
Criticism mounted about the plan[32] for future development of the Joomla CMS. An opinion written in May 2015 by Nicholas Dionysopoulos (founder of Akeeba Ltd.) shared some of Eddie's earlier observations about OSM lacking vision, entrepreneurship and its ability to manage the project.[35] Dionysopoulos disagreed with Eddie about the major cause of problems with Joomla 3.x; it was Dionysopoulos' view that the cause of most problems with Joomla 3.x lay within "the processes of Joomla! the organisation".
Dionysopoulos' views gathered momentum within the community and led to the formation of the Joomla 4 working group (which later became the Joomla X working group).[36][37][38]
In March 2017 the project announced the retirement of Joomla 3 and unveiled its plans to develop Joomla 4.[39] This effectively brought an end to the work of the Joomla X working group (although it would be another two years before that Joomla X working group's activity was placed in "archived" status).[40]
In an effort to improve the relationship with the community the development team revised the 2014 plan and, in June 2018, produced a new roadmap with the expectation that Joomla 4.0 would be released in a stable form before the end of 2018.[41] During the period 2017-2018 the developers created six alpha test releases for Joomla 4.[42]
In January 2019 the developers released an updated plan revising previously announced estimated time frames;[43] the roadmap was revised several times during 2020.[44]
Community concerns intensified about the handling the Joomla project—two years after announcing plans to retire Joomla 3 (but having already released two minor versions with plans for a third)—and by the end of 2019 a further six alpha test releases of Joomla 4 were produced for public discussion.[45] On one hand some people questioned whether the community had lost its influence in driving the project while, from the developers' viewpoint, the other side defended the project by observing that things would be more productive if the community had been more actively engaged in testing, rather than criticising, the alpha releases. These discussions revealed a growing sense of division between developers on one side and end users on the other.
A lengthy debate, started in March 2019 and initially focused on the aesthetics and usability of the Joomla 4 backend interface, highlighted an overall sense of disappointment with management and progress of the project.[46] Although the debate was weighted heavily on criticising the backend aesthetics, people on all sides of the discussion aired their dissenting opinions about why the Joomla 4 project had become distracted by feature creep, software bloat, eventual cost overrun and lack of trust.
Against a background of unrelenting criticism from within the community and declining popular interest in Joomla at the time[18] a conference was held in January 2020 to develop a strategy for the future.[47] The conference identified several key areas for further work but basically accepted the premise that faults related mainly to the project's organisational framework rather than the quality of the product.[48]
On 28 May 2020 the Joomla team disclosed that a data breach had occurred that potentially affected 2,700 users by exposing their personal details.[49] The incident was discovered by an internal audit of the website that also highlighted the presence of superuser accounts owned by individuals outside OSM. Although no evidence was found of any unauthorised access to personal information, action was immediately taken to mitigate the risk including a requirement for all users to change their passwords.[50]
Series | Released as | Release date | Supported until | Main feature(s) |
---|---|---|---|---|
1.x | scope="row" 1.0 | 17-09-2005[53] | 22-07-2009[54] | Rebranded release of Mambo 4.5.2.3 that combined other bug and moderate-level security fixes. Written for PHP 4. |
scope="row" 1.5 | 21-01-2008[55] | 30-09-2012[56] | Overhauled Graphical user interface, templates, limited "legacy mode" support.[57] Written for PHP 5.[58]
Notes: First long-term support (LTS) version although not backwardly-compatible with its predecessor. Such LTS versions were to have been released every three major or minor releases and supported until three months after the next LTS version is released; this approach was not followed in practice.[59] | |
scope="row" 1.6 | 10-01-2011[60] | 19-08-2011[61] | Added full access control list functionality plus, user-defined category hierarchy, and admin interface improvements.[62] | |
scope="row" 1.7 | 19-07-2011[63] | 24-02-2012[64] | Enhanced security and improved migration tools.[65] | |
2.x | scope="row" 2.5 | 24-01-2012[66] | 31-12-2014[67] | New "Smart Search" component, added support for using Microsoft SQL Server as a database backend, added user notes, additional enhancements and security improvements.
Notes: Second LTS release. Originally this release was to be named 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.[68][69] |
3.x | scope="row" 3.0 | 27-09-2012[70] | 31-05-2013[71] | New default templates based on Bootstrap, added support for using PostgreSQL as a database backend, drops support for PHP 5.2.
Notes: The original plan was to release this version in July 2012; however, the January/July release schedule was uncomfortable for volunteers, and the schedule was changed to September/March releases.[72] On 24 December 2012 it was decided to include an unforeseen addition to the 3.x series to improve the development life cycle and extend the support of LTS versions.[73] |
scope="row" 3.1 | 23-04-2013[74] | 31-12-2013[75] | Article tagging.[76] | |
scope="row" 3.2 | 06-11-2013[77] | 20-10-2014[78] | Content versioning for articles.
Notes: Because of a PHP requirement change in Joomla 3.3, extended security support was provided for 3.2 for six months after 3.3's release.[79] | |
scope="row" 3.3 | 20-04-2014[80] | 25-02-2015[81] | Improved password hashing, microdata support, removing dependencies to MooTools.
Notes: On 25 April 2014, the Joomla Production Leadership Team announced that it started following 'Semantic Versioning Scheme' for new Joomla builds. The earlier Long-term support and Short-term support lifecycle policy was cancelled.[82][83] Joomla version 3.3.1 was the first version released under the new development strategy.[84] | |
scope="row" 3.4 | 25-02-2015[85] | 21-03-2016[86] | Improved security advancements, Composer integration and Google's No CAPTCHA reCAPTCHA.
Notes: Extensive security revisions were rolled out in October 2015 with the release of Version 3.4.5. | |
scope="row" 3.5 | 21-03-2016[87] | 12-07-2016[88] | Changes to admin interface (including some ability for drag and drop images).
Notes: Added PHP 7 support. Added an opt-in feature to upload anonymous server statistics about environments where Joomla is being used. | |
scope="row" 3.6 | 12-07-2016[89] | 25-04-2017[90] | Improvements to UX, software updates. | |
scope="row" 3.7 | 25-04-2017[91] | 19-09-2017[92] | Custom Fields, Improved Workflow, Multilingual Associations Manager, Backend Menu Manager, improved update system, cache systems and package/extension management and further UX improvements. | |
scope="row" 3.8 | 19-09-2017[93] | 30-10-2018[94] | Improved Routing System, Joomla 4 Compatibility Layer, optional installable sample data, code improvements and encryption support (using Sodium extension on PHP 7.2, or via sodium_compat polyfill for lower supported versions). | |
scope="row" 3.9 | 30-10-2018[95] | 16-08-2021[96] | ‘Privacy Tool Suite’,[97] primarily in response to the enactment of new privacy and data retention laws and regulations, in particular, the GDPR. | |
scope="row" 3.10 | 16-08-2021[98] | 17-08-2023[99] | Bridge between Joomla 3.10.x and Joomla 4.x, paid Long-term support till 17 Feb 2025. | |
4.x | scope="row" 4.0 | 17-08-2021[98] | 15-02-2022[100] | Support for PHP 5 and Microsoft SQL Server has been removed.[101]
Notes: Added PHP 8 support. |
scope="row" 4.1 | 15-02-2022[102] | 16-08-2022[103] | Tasks Scheduler, Child templates; accessibility checker, Syntax Highlighting, Inline Help. | |
scope="row" 4.2 | 16-08-2022[104] | 18-04-2023[105] | Keyboard Shortcuts, Multi-factor Authentication. | |
scope="row" 4.3 | 18-04-2023[106] | 17-10-2023 | Guided Tours, Bug Fix Release[107] | |
scope="row" 4.4 | 17-10-2023[108] | 17-10-2025 | Bridge between Joomla 4.4.x and Joomla 5.x | |
5.x | scope="row" 5.0 | 17-10-2023[109] | 13-10-2026[100] | Schema.org Integration, Enhanced Security |
scope="row" 5.1 | 14-04-2024 | N/A | N/A | |
6.x | scope="row" 6.0 | 14-10-2025 | N/A | N/A |
{{{2}}} |
The first chart below shows the prevalence of the different versions of Joomla among all websites using Joomla in January 2023.[110]
The second chart below shows the prevalence of the different versions of Joomla in the last 180 days up to 7 December 2023.[111]
More data on Joomla! Usage Statistics page.
There are two types of templates used in the Joomla CMS: frontend templates and backend templates. The frontend template presents the website to the user viewing its content. The backend template presents a panel of controls for website administration.
Templates are installed as extensions to Joomla and may be customised with source code overrides and/or CSS.[112]
Standard templates are included upon installation while other, third-party templates can be installed later. In general, templates designed for each major version of Joomla are not interoperable with other major versions of Joomla. The following table lists the standard templates installed with each major Joomla release.
Used in versions | Frontend template | Backend template |
---|---|---|
1.0 |
|
|
1.5 |
|
|
1.6, 1.7 & 2.5 |
|
|
3.x |
|
|
4.x |
|
|
5.x |
|
|
Joomla is maintained as an open source project by a community of volunteers and licensed under the GNU General Public License on an "as is" basis, without any warranty of any kind including implied warranties of merchantability and fitness for a particular purpose.[113] The source code is maintained at GitHub. The top two most popular public forums for discussing Joomla and seeking technical advice are at https://forum.joomla.org and https://joomla.stackexchange.com.
J and Beyond is a conference largely aimed at Joomla developers and site integrators and is hosted in Europe around May each year.
Joomla is primarily funded by private sponsorships that offset OSM's operational costs; these costs include taxes, accounting, presence at ground events, operation of domains and so forth.[114] The project receives the rest of its revenue from website advertising, commissions, examination fees and Google Summer of Code.[115]
Year | Award[note 3] | Category |
---|---|---|
2005 | UK Linux & Open Source Awards | Best Linux / Open Source Project |
2006 | Packt Open Source Awards | Best Open Source CMS |
UK Linux & Open Source Awards | Best Linux / Open Source Project | |
2007 | Packt Open Source Awards | Best PHP Open Source CMS |
2008 | Packt Open Source Awards |
|
2009 | Packt Open Source Awards |
|
2010 | Packt Open Source Awards | 2nd Runner-up Hall of Fame CMS |
2011 | Packt Open Source Awards | Best Open Source CMS |
2014 | CMS Critic Awards | People's Choice Awards: Best Open Source PHP CMS |
2015 | CMS Critic Awards | People's Choice Awards: Best Free CMS |
2016 | CMS Critic Awards | People's Choice Awards: Best Free CMS |
2017 | CMS Critic Awards | People's Choice Awards: Best Free CMS |
2018 | CMS Critic Awards | People's Choice Awards: Best Free CMS |
2019 | CMS Critic Awards | People's Choice Awards: Best Free CMS |
2020 | CMS Critic Awards | People's Choice Awards: Best Free CMS |
2021 | CMS Critic Awards |
|
The following chart shows Joomla's share of the CMS market (against the market leader, WordPress, as a comparison).[116]
<graph>{"legends":[{"properties":{"title":{"fill":{"value":"#54595d"}},"labels":{"fill":{"value":"#54595d"}}},"stroke":"color","title":"Legend","fill":"color"}],"scales":[{"type":"linear","name":"x","zero":false,"domain":{"data":"chart","field":"x"},"range":"width","nice":true},{"type":"linear","name":"y","domain":{"data":"chart","field":"y"},"zero":false,"range":"height","nice":true},{"domain":{"data":"chart","field":"series"},"type":"ordinal","name":"color","range":["#ff8000","#0000aa"]}],"version":2,"marks":[{"type":"group","marks":[{"properties":{"hover":{"stroke":{"value":"red"}},"update":{"stroke":{"scale":"color","field":"series"}},"enter":{"y":{"scale":"y","field":"y"},"x":{"scale":"x","field":"x"},"stroke":{"scale":"color","field":"series"},"strokeWidth":{"value":2.5}}},"type":"line"}],"from":{"data":"chart","transform":[{"groupby":["series"],"type":"facet"}]}}],"height":300,"axes":[{"type":"x","title":"year","scale":"x","format":"d","properties":{"title":{"fill":{"value":"#54595d"}},"grid":{"stroke":{"value":"#54595d"}},"ticks":{"stroke":{"value":"#54595d"}},"axis":{"strokeWidth":{"value":2},"stroke":{"value":"#54595d"}},"labels":{"fill":{"value":"#54595d"}}},"grid":true},{"type":"y","title":"% of CMS market share","scale":"y","properties":{"title":{"fill":{"value":"#54595d"}},"grid":{"stroke":{"value":"#54595d"}},"ticks":{"stroke":{"value":"#54595d"}},"axis":{"strokeWidth":{"value":2},"stroke":{"value":"#54595d"}},"labels":{"fill":{"value":"#54595d"}}},"grid":true}],"data":[{"format":{"parse":{"y":"number","x":"integer"},"type":"json"},"name":"chart","values":[{"y":59.8,"series":"WordPress","x":2014},{"y":60.7,"series":"WordPress","x":2015},{"y":58.8,"series":"WordPress","x":2016},{"y":58.5,"series":"WordPress","x":2017},{"y":60,"series":"WordPress","x":2018},{"y":59.7,"series":"WordPress","x":2019},{"y":62.1,"series":"WordPress","x":2020},{"y":64.1,"series":"WordPress","x":2021},{"y":65.2,"series":"WordPress","x":2022},{"y":63.55,"series":"WordPress","x":2023},{"y":9.3,"series":"Joomla","x":2014},{"y":8.6,"series":"Joomla","x":2015},{"y":7.5,"series":"Joomla","x":2016},{"y":7.2,"series":"Joomla","x":2017},{"y":6.5,"series":"Joomla","x":2018},{"y":5.4,"series":"Joomla","x":2019},{"y":4.6,"series":"Joomla","x":2020},{"y":3.6,"series":"Joomla","x":2021},{"y":2.6,"series":"Joomla","x":2022},{"y":2.7,"series":"Joomla","x":2023}]}],"width":600}</graph>
The following chart shows the trend of searches on Google about Joomla over time.[18]
<graph>{"legends":[],"scales":[{"type":"linear","name":"x","zero":false,"domain":{"data":"chart","field":"x"},"range":"width","nice":true},{"type":"linear","name":"y","domain":{"data":"chart","field":"y"},"zero":false,"range":"height","nice":true},{"domain":{"data":"chart","field":"series"},"type":"ordinal","name":"color","range":"category10"}],"version":2,"marks":[{"type":"line","properties":{"hover":{"stroke":{"value":"red"}},"update":{"stroke":{"scale":"color","field":"series"}},"enter":{"y":{"scale":"y","field":"y"},"x":{"scale":"x","field":"x"},"stroke":{"scale":"color","field":"series"},"strokeWidth":{"value":2.5}}},"from":{"data":"chart"}}],"height":300,"axes":[{"type":"x","title":"year","scale":"x","format":"d","properties":{"title":{"fill":{"value":"#54595d"}},"grid":{"stroke":{"value":"#54595d"}},"ticks":{"stroke":{"value":"#54595d"}},"axis":{"strokeWidth":{"value":2},"stroke":{"value":"#54595d"}},"labels":{"fill":{"value":"#54595d"}}},"grid":false},{"type":"y","title":"Interest","scale":"y","properties":{"title":{"fill":{"value":"#54595d"}},"grid":{"stroke":{"value":"#54595d"}},"ticks":{"stroke":{"value":"#54595d"}},"axis":{"strokeWidth":{"value":2},"stroke":{"value":"#54595d"}},"labels":{"fill":{"value":"#54595d"}}},"grid":true}],"data":[{"format":{"parse":{"y":"number","x":"integer"},"type":"json"},"name":"chart","values":[{"y":18.75,"series":"y","x":2005},{"y":47.41666667,"series":"y","x":2006},{"y":71.16666667,"series":"y","x":2007},{"y":81.08333333,"series":"y","x":2008},{"y":92.83333333,"series":"y","x":2009},{"y":85.91666667,"series":"y","x":2010},{"y":75.5,"series":"y","x":2011},{"y":58.41666667,"series":"y","x":2012},{"y":43.08333333,"series":"y","x":2013},{"y":28.75,"series":"y","x":2014},{"y":19.91666667,"series":"y","x":2015},{"y":13.75,"series":"y","x":2016},{"y":9,"series":"y","x":2017},{"y":5.75,"series":"y","x":2018},{"y":4.166666667,"series":"y","x":2019},{"y":3.083333333,"series":"y","x":2020},{"y":2.08333,"series":"y","x":2021},{"y":2,"series":"y","x":2022},{"y":2,"series":"y","x":2023}]}],"width":600}</graph>
Original source: https://en.wikipedia.org/wiki/Joomla.
Read more |