Joomla 1.6 and higher versions use new update system. All extensions uploaded to JED (Joomla Extensions Directory) after 10th January 2017 are required to use the Joomla Update System.
Extensions are linked to the source, via the extension manifest, to a feed of available updates.
There are two parts of an install or update.
By adding an update server listing to your extension's manifest, developers enable users to update their extensions via the Extension Manager's Update view with only a few clicks.
First, an update server must be defined in extension's manifest:
<server type="extension" priority="2" name="My Extension's Updates">http://example.com/extension.xml</server>
The collection server type allows to define an extension's manifest to pull updates from a collection. This type of server can be used to define all the extension's updates in a single file (not recommended) or if extension has multiple sub-extensions which are not distributed or updated at the same time (such as a package extension type).
The extension server type allows to define an extension's manifest to pull updates from a single extension's manifest. All collection manifests eventually point to this XML file. All updates in this file must be defined after an <updates> tag at the beginning of the file.
<downloadurl type="full" format="zip"></downloadurl>
<targetplatform name="joomla" version="1.6"/>
name: The name of the extension; this name appears in the Name column of the Extension Manager's Update view (required).
description: A short description of the extension (optional).
element: The installed name of the extension (required). For plugins, this needs to be same as plugin attribute value for main file in plugin manifest.
type: The type of extension (component, module, plugin, etc.) (required).
folder: Specific to plugins; this tag describes the type of plugin being updated (content, system, etc.) (required for plugins).
client: Required for modules and templates; The client ID of the extension, which can be found by looking inside the #__extensions table. To date, use 0 for "site" and 1 for "administrator". Plugins and front-end modules are automatically installed with a client of 0 (site), but you will need to specify the client in an update or it will default to 1 (administrator) and then found update would not be shown because it would not match any extension. Components are automatically installed with a client of 1, which is currently the default.
version: The version of the release (required).
infourl: A URL to point users to containing information about the update (optional).
downloads: The section lists all download locations.
downloadurl: The URL to download the extension from; the <downloadurl> tag has two required parameters:
tags: A list of tags relevant to this version. Joomla! 3.4 and later uses this to determine the stability level of the update. The valid tags are:
If you do not provide any tags Joomla! will assume it is a stable version.
maintainer: The name of the extension maintainer (similar to the <author> tag in a manifest) (optional)
maintainerurl: The website of the extension maintainer (similar to the <authorUrl> tag in a manifest) (optional)
targetplatform: A tag to define platform requirements, requires the following elementsː
php_minimum: Beginning with 3.2.2, a minimum supported PHP version can be supplied in the update stream. If the server does not meet the minimum, a message is displayed to the user advising that an update is available but cannot be installed due to unsupported requirements.