← Home
Joomla Update Server
This document explains how update.xml is automatically managed for this Joomla extension following the Joomla Update Server specification.
How It Works
Joomla checks for extension updates by fetching an XML file from the URL defined in the <updateservers> tag in the extension's XML manifest. moko-platform generates this file automatically.
Automatic Generation
| Event | Workflow | <tag> |
<version> |
|---|---|---|---|
Merge to main |
auto-release.yml |
stable |
XX.YY.ZZ |
Push to alpha/** |
update-server.yml |
alpha |
XX.YY.ZZ-alpha |
Push to rc/** |
update-server.yml |
rc |
XX.YY.ZZ-rc |
Cascade Release Channels
Each stability level writes itself and all lower channels to updates.xml:
| Release Stream | Channels written |
|---|---|
| development | development |
| alpha | development, alpha |
| beta | development, alpha, beta |
| rc | development, alpha, beta, rc |
| stable | development, alpha, beta, rc, stable |
This ensures Joomla sites on any "Minimum Stability" setting always see the latest available release.
Sync to Main
Generated XML Structure
<?xml version="1.0" encoding="utf-8"?>
<updates>
<update>
<name>Extension Name</name>
<description>Extension Name update</description>
<element>com_extensionname</element>
<type>component</type>
<version>01.02.03</version>
<client>site</client>
<tags>
<tag>stable</tag>
</tags>
<infourl title="Extension Name">https://github.com/.../releases/tag/v01.02.03</infourl>
<downloads>
<downloadurl type="full" format="zip">https://github.com/.../releases/download/v01.02.03/com_ext-01.02.03.zip</downloadurl>
</downloads>
<targetplatform name="joomla" version="((5\.[0-9])|(6\.[0-9]))" />
<maintainer>Moko Consulting</maintainer>
<maintainerurl>https://mokoconsulting.tech</maintainerurl>
</update>
</updates>
Metadata Source
All metadata is extracted from the extension's XML manifest (src/*.xml) at build time:
| XML Element | Source | Notes |
|---|---|---|
<name> |
<name> in manifest |
Extension display name |
<element> |
<element> in manifest |
Must match installed extension identifier |
<type> |
type attribute on <extension> |
component, module, plugin, library, package, template |
<client> |
client attribute on <extension> |
site or administrator — required for plugins and modules |
<folder> |
group attribute on <extension> |
Plugin group (e.g., system, content) — required for plugins |
<targetplatform> |
<targetplatform> in manifest |
Falls back to Joomla 5.x / 6.x if not specified |
<php_minimum> |
<php_minimum> in manifest |
Included only if present |
Extension Manifest Setup
Your XML manifest must include an <updateservers> tag pointing to the update.xml on the main branch:
<extension type="component" client="site" method="upgrade">
<name>My Extension</name>
<element>com_myextension</element>
<updateservers>
<server type="extension" name="My Extension Updates">
https://raw.githubusercontent.com/mokoconsulting-tech/MokoWaaS/main/update.xml
</server>
</updateservers>
</extension>
Branch Lifecycle
dev → [alpha] → [beta] → rc → version/XX → main → dev
optional optional (integration) (production) (feedback)
- Development (
devordev/**):updates.xmlwith<tag>development</tag>, download points to Gitea release ZIP - Alpha (
alpha/**):updates.xmlwith<tag>alpha</tag>, cascades to development channel - Beta (
beta/**):updates.xmlwith<tag>beta</tag>, cascades to alpha + development channels - Release Candidate (
rc/**):updates.xmlwith<tag>rc</tag>, cascades to beta + alpha + development channels - Stable Release (merge to
main):updates.xmlwith<tag>stable</tag>, cascades to all channels, download points to GitHub Release asset - Frozen Snapshot (
version/XX): immutable, never force-pushed
Health Checks
The repo_health.yml workflow verifies on every commit:
update.xmlexists in the repository root- XML manifest exists with
<extension>tag <version>,<name>,<author>,<namespace>tags present- Extension
typeattribute is valid - Language
.inifiles exist index.htmldirectory listing protection insrc/,src/admin/,src/site/
Repo: MokoWaaS · MokoStandards
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-09 | Moko Consulting | Initial version |
Repo: MokoWaaS · MokoStandards
| Field | Value |
|---|---|
| Minimum Version | 04.07.00 |
| Platform | joomla |
| Revision | Date | Author | Description |
|---|---|---|---|
| 1.0 | 2026-05-16 | Moko Consulting | Standards compliance update |