Joomla

This content was generated with the assistance of AI and should be verified against the official Joomla documentation before being relied on in production.

This sub-section’s Joomla bibliography lists the reference material consulted while preparing these pages.

Joomla is a free and open-source content-management system written in PHP and published under the GNU General Public License. It stores articles in categories, adds structure with custom fields, tags and workflows, shows them through menu items, templates and modules, controls who may do what with groups, access levels and an access control list, and exposes the same content through a Web Services API with token authentication. Its extension model (components, modules, plugins, templates, languages, libraries, files and packages) lets a single code base serve a small club site and a large multilingual portal. This sub-section explains Joomla from the installation on a web server to a package that adds a trail catalogue, a scheduled import and a console command, and a decoupled front end that reads the catalogue back.

Who this sub-section is for

  • Site builders and editors who write articles, organise categories and tags, add custom fields, manage media, menus and modules, set up users and access levels, run a basic editorial workflow and publish in several languages without writing code.

  • Administrators who install Joomla on Apache or nginx, edit configuration.php, harden the site with multi-factor authentication and passkeys, keep core and extensions up to date, tune caching, back up and restore, run Joomla from the command line and troubleshoot a broken site.

  • Template designers who create a child template of Cassiopeia, override layouts, define positions and module chromes, register assets with the Web Asset Manager, support colour modes, right-to-left languages and accessibility, or build a template from scratch.

  • Extension developers who write components with the namespaced MVC structure, modules with a dispatcher and a helper, plugins that subscribe to events, scheduled-task and console plugins, installer scripts and update servers, and who test, analyse and package them in a CI pipeline.

  • Architects and front-end developers who use Joomla as a content back end behind Astro or Next.js, and teams that plan a move from Joomla 3, 4 or 5 to the current series.

The running example: Tallpine Hiking Club

Every page uses one fictitious scenario, the Tallpine Hiking Club, a mountain club whose site is built step by step. The figure shows how the parts fit together.

Map of the Tallpine Hiking Club site: content, the cassiopeia_tallpine child template, the com_tallpine component, the mod_tallpine_nexthikes module, four plugins and an API front end
  • Content: trail reports and news kept as articles in the nested categories Trails (with Alpine and Valley) and News. Articles carry the custom fields distance-km, elevation-gain, a difficulty list, a gpx-file media field and season checkboxes. The tags are family-friendly and dog-friendly. Contacts describe the board, banners advertise partner shops and a Smart Search index makes everything searchable.

  • People: Super User, Administrator, Editor, Author and Registered member, plus a custom Trail Warden group with its own access level for member-only trail conditions, and a basic editorial workflow.

  • Languages: English (default) and German, with associations between translated items.

  • Template: cassiopeia_tallpine, a child template of Cassiopeia with a colour scheme, fonts, new positions, overrides for the article and custom-fields layouts and a joomla.asset.json file, plus a minimal standalone template that explains templateDetails.xml.

  • Extensions, shipped as the package pkg_tallpine: the component com_tallpine (namespace Tallpine\Component\Tallpine) with a trail entity, administrator and site views, a router, access.xml, categories and custom-fields integration, Web Services API endpoints, language files and SQL scripts; the module mod_tallpine_nexthikes; and four plugins, plg_content_tallpine_conditions, plg_webservices_tallpine, plg_task_tallpine_trailsync (a scheduled task that syncs trail closures from a fictitious park-authority API) and plg_console_tallpine (the command tallpine:import). An installer script and an update server complete the package.

  • Operations: Docker Compose with the Joomla 6.2 image, MariaDB and Mailpit locally, then staging and production with Automated Core Updates, MFA and passkeys for administrators, backups and a reverse proxy.

  • Headless: an Astro or Next.js trail map that reads the Web Services API with an API token.

No real names, tokens or credentials appear anywhere; secrets always come from environment variables or are obvious placeholders.

Check date and version baseline

Everything in this sub-section was checked against the official documentation on 2026-10-30. The state of the platform on that date is:

Item State on 2026-10-30 What the pages assume

Joomla 6

6.2 is the current minor; 6.2.0 was released on 2026-10-13. 6.3 is projected for April 2027 and the bridge release 6.4 for October 2027.

New sites start on Joomla 6.2. Examples are written for 6.2.x.

Joomla 5

5.4 is the bridge release of its series and is in the security-only window (5.4.10 was the last bugfix release; security fixes continue until 2027-10-12).

Described as the starting point of the move to 6. Upgrading Joomla 5 to 6 covers it.

Joomla 4 and 3

Both series are end of life; 4.x reached its end of support in October 2025.

No page recommends starting a new site on either. Migrating from Joomla 3 and Upgrading Joomla 4 to 5 cover the way out.

Joomla 7

Not released. It follows the rule of a major every two years in October of odd years and is projected for October 2027, together with 6.4.

Described as an upcoming event. Deprecations and Preparing for Joomla 7 explains how to get ready.

PHP

Joomla 6 requires PHP 8.3 or later.

Examples use PHP 8.3 or later syntax.

Databases

MySQL, MariaDB and PostgreSQL are supported; Microsoft SQL Server has not been supported since Joomla 4.0.

The Manual and the upgrade guide give different MariaDB and PostgreSQL minimums for 6.x; Requirements and Hosting states both.

Joomla uses semantic versioning. A major release ships every two years in October of odd years and contains four minors, one every six months; the fourth minor (x.4) is a bridge release without new features and the only starting point for the next major. After x.4.0 a series gets one year of bugfixes and two of security fixes, and a minor loses support when the next one ships. Deprecated code is removed in the second major after its deprecation, and downgrades are not supported. Joomla Versions, Release Cycle and Support explains the cadence, the support windows and the projected timeline. Dates marked "projected" are plans, not facts.

Many older books and tutorials describe Joomla 3 or 4. They show the J* class aliases such as JFactory and JText (available in Joomla 6 only through the Behaviour - Backward Compatibility 6 plugin), the $app and $db properties of plugins (their auto-detection is removed in 7.0), generic Event::getArgument() arrays instead of concrete event classes (since 5.0), setError() instead of exceptions, Codeception as the core test tool (core uses Cypress), child templates as a brand-new feature and Joomla 4 as the current release. Where Older Books and Tutorials Are Outdated lists each point with its correction.

Where the official documentation lives

The project reorganised its documentation, and an older link often leads to a retired page.

  • The Joomla! User Guide at guide.joomla.org is the current documentation for site builders and administrators: every screen, field and option of the administrator interface.

  • The Joomla! Developer Manual at manual.joomla.org is the current documentation for developers: the architecture, extension development, the Web Services API, coding standards and the migration and update notes of each version. Some pages (for example the lifecycle and the Web Services API) are still short, so the pages of this sub-section also cite the source tree of the CMS on GitHub, and the API reference at api.joomla.org for classes.

  • The project’s developer site at developer.joomla.org holds the roadmap, the strategy documents and the Security Centre with the security announcements.

  • Release announcements are published at joomla.org and the Joomla Community Magazine reports on features and events.

  • The legacy wiki at docs.joomla.org still ranks high in search results, but its pages mark themselves as obsolete. These pages cite it only where nothing newer exists, and say so.

Which pages should I read?

If you want to …​ Read

Build a site

Introduction and Architecture, Installation, Administrator Tour, Articles, Categories and Tags, Custom Fields, Media Manager, Menus, Modules and Positions, Users, Groups and ACL, Workflows, Multilingual Sites and SEO and SEF URLs

Run a site

Requirements and Hosting, configuration.php and .htaccess, Web Server and HTTPS, Updating Joomla, Extensions and Update Sites, Security Hardening, Caching and Performance, Backups, Command Line and Troubleshooting

Customise the template

Templates and Styles, Cassiopeia, Child Templates, Overrides, Layouts and Module Chromes, Web Asset Manager, Colour Modes and Accessibility and Building a Template from Scratch

Build extensions

Extension Types and Manifests, Namespaces and Dependency Injection, Component MVC, Site Views and Routing, Modules, Plugins and Events, Forms, Database API, ACL, Security, Testing and Build and CI

Use the API

Web Services API, Extending the Web Services API and Headless Joomla

Upgrade from Joomla 3, 4 or 5

Versions and Support, Migrating from Joomla 3, Upgrading Joomla 4 to 5, Upgrading Joomla 5 to 6, Error Handling and Legacy APIs and Preparing for Joomla 7

Decide whether Joomla fits

Comparison and Decision Guide

Check what an older book or tutorial got wrong

Where Older Books and Tutorials Are Outdated

Get a one-page printable summary

Cheat Sheet

mindmap root((Joomla)) Getting Started Versions and support Requirements and hosting Installation Docker and dashboards Using Joomla Articles and categories Custom fields and tags Menus and modules Users and workflows Languages and SEO Administration configuration.php Updates and security Caching Backups and CLI Templates Cassiopeia Child templates Overrides and layouts Web Asset Manager Extension Development Components Modules Plugins and events Packaging and update servers Web Services API Tokens Custom endpoints Headless front end Tooling and Delivery Standards and analysis Testing and CI Upgrades Joomla 3 migration 4 to 5 to 6 Joomla 7 AI and Roadmap

What’s covered

Getting Started

What Joomla is and how it is built, how releases and support work, what a server needs, how to install it with the public folder, a local Docker Compose stack and the administrator dashboards and Guided Tours.

Templates

Choosing and customising templates: styles, Cassiopeia and its child templates, overrides, layouts and module chromes, the Web Asset Manager, building a template from scratch, colour modes and accessibility, error and offline pages, the Atum administrator template and third-party frameworks.

Web Services API

Using Joomla as a content back end: the core API with tokens, extending it from a component and reading it from a decoupled trail-map front end.

Tooling & Delivery

Coding standards and static analysis, automated tests, debugging and building and releasing an extension in CI.

Upgrades

Moving forward: Joomla 3 to the current series, 4 to 5, 5 to 6 with Backward Compatibility 6 and preparing for Joomla 7.

AI and Roadmap

What the project plans for AI and the Model Context Protocol, described as plans rather than shipped features.

Reference

Outdated advice, a comparison with other platforms and a one-page cheat sheet.

Page Why it is related

CMS (Content Management System)

The overview of all CMS sub-sections.

CMS Comparison

Cross-CMS metrics and a decision table; the Joomla decision guide links to it instead of repeating it.

WordPress and Webflow

Sibling sub-sections, for the cases where another CMS fits better.

Drupal

The other PHP CMS sub-section of this site.

PHP and Laravel

PHP web development; its introduction places Joomla among PHP platforms.

PHP

The language itself: Composer, PSR standards, PHPUnit, static analysis, OPcache and debugging.

Backend Frameworks Comparison

Server-side frameworks as an alternative to a CMS.

Docker and Kubernetes

Containers and orchestration behind Local Development with Docker.

SQL and Redis

MySQL, MariaDB and PostgreSQL background, and the Redis cache back end.

React, Next.js and CORS

The front end of the trail map and the cross-origin rules it needs.

Web Accessibility

Background for Colour Modes, RTL and Accessibility.

End-to-end Testing

Browser-level testing tools used next to Joomla’s own Cypress system tests.

OAuth

Background for the token-based access of the Web Services API.

Model Context Protocol

Background for AI, MCP and the Roadmap.

E-commerce Comparison

Online shops; Joomla shop extensions are out of scope here.

Bibliography

Every source below is the official site, repository, release note or documentation page of the product, library or service it supports, and each entry links to it. The links were collected on 2026-10-30 from the == References section of every page in this sub-section, where each page lists the exact pages its facts and examples derive from. Joomla documentation is revised continuously: open an entry and confirm its content and version before you rely on it. Where this bibliography and a page’s own References section appear to disagree, the official documentation linked from the page wins. An entry marked "(unverified)" is a publisher link built from the book’s ISBN that was not confirmed on 2026-10-30; if it does not open, search the publisher’s site for the ISBN.

Books

These books were compared with the official documentation for structure, recipes and operational practice. They describe Joomla 5.0 and Joomla 4.x, so where they disagree with the current documentation the pages say so in their own words, and Where Older Books and Tutorials Are Outdated collects the corrections. No text, code or figure is copied from them.

  • Carlos M. Cámara Mora, Developing Extensions for Joomla! 5 (Packt Publishing, 2023), ISBN 978-1-80461-799-1: Packt product page (unverified).

  • Luca Marzo, Joomla! 4 Masterclass (Packt Publishing, 2023), ISBN 978-1-80323-897-5: Packt product page (unverified).

Joomla! User Guide

Joomla! Developer Manual

Joomla source code and repositories

Joomla legacy documentation wiki

Other tools, standards and libraries