Skip to content

Extensions Without Update Sites

Nicholas K. Dionysopoulos edited this page Aug 7, 2023 · 1 revision

Some extensions do not provide an update site. This may be intentional, but most times it's a mistake which causes problems.

THIS IS NOT A BUG IN PANOPTICON. It means that the developer of the extension in question has either chosen not to provide public updates for the extension, or they are using Joomla's extension types incorrectly. If it's a custom or abandoned extension don't bother its developer; you just cannot install updates automatically. If it's a commercial extension you need to contact its developer and tell them to read this page.

High-profile known extensions doing that: Tassos Marinos' (tassos.gr) extensions such as Advanced Custom Fields.

When this is NOT a problem

Sometimes site integrators create (usually small) bespoke extensions to cater for the needs of a site that existing extensions don't. For example, here are some kinds of custom extensions I've made over the years:

  • A custom "bridge" to a company's CRM.
  • A custom payment processor plugin for e-commerce sites.
  • A custom map with rich data that cannot be supported by Google Maps and the like.
  • Custom field types which do not exist in Joomla! itself or third party extensions.
  • …and so on.

These bespoke extensions are made for a specific client. They are neither public, nor subscription-based. It does not make sense to have public update information for them. Therefore, the lack of an update site for these extensions is expected.

Sometimes, developers may publish small extensions with a singular purpose they do not intend to touch again. Usually, these are tiny plugins or modules which do exactly one very simple thing. Since the developer does not plan to maintain them it makes sense that they do not provide updates.

These use cases are NOT problematic. You should not contact the developers of these extensions. You just cannot expect Panopticon to update them since, obviously, there are no updates for these extensions.

Problem: the update site was there, but disappeared

Joomla! gives users a lot of latitude. Sometimes, a bit too much latitude. This is certainly a matter of fact with Update Sites management. Joomla lets you delete update sites.

An extension may have shipped with an update site but you, another Super User, or even a third party extension may have inadvertently deleted the update site.

If you suspect this is the case go to System, Update, Update Sites and click on Rebuild in the toolbar. Joomla will go through the XML manifests of all installed extensions, restoring the missing update sites.

Problem: wrong extension type

Back in the dawn of Joomla! —that is, before Joomla 1.6 in 2011— there was no native way to install software which consisted of multiple extensions, e.g. one or more components, plugins, modules, and even templates at the same time. Developers had to resort to some fine trickery, using custom code in the “main” extension's installation script file to tell Joomla! to install the other extensions that make up the software.

For example, back in 2010, Akeeba Backup was a component package. Installing the component would also install a module and two plugins. Joomla! did not provide any code to do that kind of installation. We had added our custom installation script code to make it happen. It was convoluted, slightly fragile, and made it impossible to easily uninstall the tangle of extensions: you had to uninstall each one separately (we did improve upon that in Akeeba software, uninstalling everything when you uninstalled the main component extension, but that's besides the point).

Starting with Joomla! 1.6 in 2011, Joomla! fixed this omission by introducing the package extension type. This is exactly what it sounds! A package extension includes a bunch of other extensions and tells Joomla! to install them. When uninstalling the package extension, Joomla uninstalls all the other extensions linked to the package.

For a short while, developers had to support both Joomla 1.5 and 1.6/1.7/2.5 (yeah, the Joomla! version numbering back then was whacky). After 2015, though, there was absolutely no reason left not to use the package extension type for delivering software which consists of more than one extension.

And yet. Some extension developers still use the old way, using the custom installation script code, instead of the package extension type.

When you are installing a package, Joomla! knows that all sub-extensions included in the package belong to that package. In fact, it records that in its database: the package_id field of the #__extensions database table. When extension developers use custom installation script code this is not the case. There is no package extension. The package_id remains empty. This makes Joomla! believe that all of these secondary sub-extensions which were installed by the custom installation script code are “top-level” extensions which should have their own update site.

And this is where problems begin.

Panopticon displays a lot more extensions than “it should”. Panopticon respects Joomla's standard. It will only display top-level extensions. However, because the extension developer messed up by NOT using Joomla's package extension type, neither Joomla! nor Panopticon can possibly know that these are sub-extensions, not top-level extensions.

The Pre-Update Check will be unreliable. Before you update Joomla! to a new minor (e.g. 4.0 to 4.1) or major (e.g. 4.3 to 5.0) version, the Joomla! Update extension that's shipped with Joomla! tries to determine whether your installed extensions are compatible with the new Joomla! version you're about to update to. It does that by checking the update information in extensions' updates sites. Joomla will only check top-level extensions i.e. extensions whose package_id is empty. Because the extension developer messed up by NOT using Joomla's package extension type, Joomla! cannot know that these are sub-extensions, not top-level extensions. Since they do not have an update site, Joomla! will complain that no update information is available for them and mark them as incompatible with the next Joomla! version. This may erroneously prevent you from updating your site which will cause you a myriad of problems in the mid- to long-term.

Very important clarification: having problems with the pre-update check does NOT necessarily mean that the extension suffers from the problem described here. Joomla can erroneously report an extension as incompatible, or having no update information, because of bugs in Joomla! Update the maintainers refuse to fix since August 2020, when we first reported them. For example, if an extension has a version 1.0.0 compatible with Joomla 3 and 4 that you have installed on your Joomla 3 site, and a version 2.0.0 compatible with only Joomla 4, both shown in the update site's XMl content, then Joomla's pre-update checks idiotically reports that the extension is incompatible with Joomla 4 when you try to update from Joomla 3 to 4. The reason? Because your installed version 1.0.0 is not the latest version, and the latest version (2.0.0) which is compatible with Joomla 4 cannot be installed on your Joomla 3 site before updating it. As noted, we reported this issue in August 2020. At the time of this writing (August 2023) the issue still exists, and there is no indication it will ever be fixed. The Pre-Update Check is not to be trusted; that's why it's not supported in Panopticon.

What should you do?

First, make sure that the extension is supposed to have an update site. If not, just ignore it; you will not be able to install updates automatically for this extension since no updates are available.

If the extension is supposed to have an update site, consider that its update site may have inadvertently been removed. Go to System, Update, Update Sites and click on Rebuild in the toolbar. Joomla will go through the XML manifests of all installed extensions, restoring the missing update sites.

If the problem persists, contact the extension developer and ask them to read this page. Chances are that they are installing multiple extensions without using the package extension type Joomla offers for this purpose, therefore causing problems both with Panopticon (it displays more extensions than “it should”), and they cause Joomla! Update's Pre-Update Check to report unreliable information which may prevent you from updating your site, causing you a lot of massive issues within a few short months.

Kindly note that Akeeba extensions DO NOT use custom installation script code to install sub-extensions since 2015. We know about it and we know not to do things like that. Please do not contact us for this issue.

Clone this wiki locally