Skip to main content

Joomla Update Server Integration

Enable automatic extension updates using Joomlaโ€™s native update system โ€” fully configurable from the JCB GUI.

What Is It?

Joomla! includes a built-in extension update system, allowing components, modules, and plugins to notify administrators of new versions, and deliver them directly through the Joomla Update interface.

Joomla Component Builder (JCB) makes integrating this system straightforward: it allows you to define and compile update server support into every component you build โ€” all through the GUI, no manual manifest editing required.

You can serve updates from your own server, Git repo, or a remote JSON stream. All configuration is built into your component at compile time.

Key Features

  • Native Joomla Updater Compatibility
    Generates the correct update server XML nodes in your extension manifest.
  • GUI Configuration
    No need to edit XML by hand โ€” define your update server(s) directly inside the JCB component configuration screen.
  • Per-Version Update Targeting
    Link specific versions or branches of your component to specific update channels (e.g., J4, J5, dev builds).
  • Compatible with Git-Based Repositories
    Serve updates via GitHub, Gitea, or your own server using JCBโ€™s metadata and changelog structures.
  • Signed Update Packages (Optional)
    Enable package signing using JCBโ€™s packaging logic for enhanced security and verification.
  • Multi-Channel Ready
    Define multiple update URLs (e.g., stable, beta, nightly) for a single component.

How It Works in JCB

  1. In your JCB Component, go to the Packaging tab.
  2. Enable โ€œAdd Update Server.โ€
  3. Provide:
    • Update Server Name: (e.g., โ€œStable Channelโ€)
    • Update URL: (e.g., https://yourdomain.com/updates/updateserver.xml)
    • Priority: (1 = highest)
    • Type: collection, extension, or package
  4. On compilation, JCB adds the <updateservers> block into your componentโ€™s manifest with your settings.
  5. Joomla then checks the update server when the Extensions โ†’ Update menu is refreshed.
  6. Updates are installed automatically through the Joomla admin interface.

Update Server XML Sample

JCB generates a compatible update XML file like:

<updates>
  <update>
    <name>My Component</name>
    <description>Auto Update Support</description>
    <element>com_mycomponent</element>
    <type>component</type>
    <version>1.2.3</version>
    <infourl>https://yourdomain.com/info</infourl>
    <downloads>
      <downloadurl type="full" format="zip">https://yourdomain.com/files/com_mycomponent_1.2.3.zip</downloadurl>
    </downloads>
    <tags>stable</tags>
    <client>site</client>
  </update>
</updates>

JCB can automatically generate this from your version, changelog, and blueprint metadata.

Integration With Package Builds

The JCB compiler can generate:

  • Update server XML files
  • Version-tagged .zip packages
  • Auto-link these into a remote update server repo
  • Manage channels (stable, beta, dev) via metadata tagging

If you use the JCB Git sync + packaging pipeline, these update files are pushed automatically during build.

Pro Tips

  • You can simulate your update server locally before going live.
  • The URL can point to a CDN, your server, or Git-hosted raw files.
  • Use version numbers carefully; Joomla uses strict comparison to determine when an update is valid.
  • Package names must be consistent and predictable for Joomla to match them.

Use Cases

  • Distribute your component to clients without manual installs.
  • Maintain private, branded extensions across multiple Joomla sites.
  • Deliver hotfixes, dev previews, or nightly builds through separate update channels.

Summary

JCB brings the power of Joomlaโ€™s update ecosystem to your components with zero hassle. Whether youโ€™re building for internal deployment, public distribution, or continuous delivery pipelines โ€” this integration keeps your extensions up to date with minimal effort.