Easy Joomla Update System Implementation For Paid Extensions

  • Comments:View comments

How to implement Joomla! Update System in paid extensions?

Recently, Joomla! Extensions Directory (JED) required new extension submissions to implement Joomla! Update System. 

The implementation is straight forward for the free extensions, it consists of two steps:

  • Defining an update server.
  • Providing an updates xml file.

For detailed instructions, you can refer to Joomla! Update System

The implementation for PAID extensions is a bit complicated, because the automatic update needs a kind of authentication to make sure that the user has a valid license or a kind of valid subscription before downloading the updated extension.

To identify the user updating his/her system, Joomla! has an additional parameter extra_query in #__update_sites. This parameter will be added to the declared download URL, providing the opportunity to accept or reject the download.

To make it easy and efficient to fill in the extra_query in #__update_sites, I developed the Download ID custom form field.

With this custom form field, you can easily add a field where your clients will fill with their license or validation key to be used in the automatic update process.

Although the custom field is developed to be used with Akeeba Subscriptions and Release System packages, it can be used with any other packages you like.

The field looks like this when added the the manifest xml file:

<field
        name="dlid"
        type="downloadid"
        label="Download ID"
        description="Download ID description"
        default=""
        extension="Some Module"
        key="dlid"
/>

The Download ID field has two important additional attributes, extension and key where:

extension: must be the same as the name attribute of <server>, this is very important to set the update the correct record in the update_sites table.

key: has a default value of "dlid" which is used with Akeeba Subs & Release System combination, of course you can give it any other value if needed with any other subs and release managers.

For detailed instructions and downloads: Download ID custom form field

Read 500 times
Mohamed Abdelaziz

Joomla and PHP developer since 2006, working as freelancer to develop and customize Joomla extensions. Technically reviewed the books: Joomla! 2.5 Beginner's Guide and Joomla! 3 Beginner's Guide for Packt Publishing.

Web Hosting

Tutorials & Demos

Joomla Extensions

Chained Fields for K2
Chained Fields for K2 It is a package to enable creating chained fields in…
Read more...
Multiple Extra Fields Groups (MEFG) for K2
Multiple Extra Fields Groups (MEFG) for K2 This is a very useful K2 plugin, which enables administrators…
Read more...
AutoMeta for K2
AutoMeta for K2 AutoMeta for K2 is a plugin to automatically generate meta…
Read more...
Categories Treeview for K2
Categories Treeview for K2 This Joomla! module is used to display K2 categories in…
Read more...
Categories Tree Menu for Virtuemart
Categories Tree Menu for Virtuemart This Joomla! module is used to display Virtuemart categories in…
Read more...
Datasets for K2
Datasets for K2 A k2 plugin that will allow an admin to choose…
Read more...
Extensions