Skip to content

coreforcedisabled

Nicholas K. Dionysopoulos edited this page Oct 17, 2024 · 1 revision

Core, Force-Disabled

This is a core Joomla! extension which is both Disabled and Locked. As a result, you cannot re-enable it from the “Extensions: Manage” page. This always indicates that someone or something has messed up the #__extensions table.

Why is it a problem?

There is absolutely no core Joomla extension which is intended to be Disabled (therefore not running at all) and also Locked (therefore making it impossible for the user to enable it). That would be equivalent to Joomla shipping “dead code” which can never run.

Core extensions which are meant to be Locked are only those which are necessary for the bare minimum operation of the site, therefore they are both Enabled and Locked when Joomla is installed or updated.

The only way this seemingly impossible situation can take place is if someone, or something, has messed up the #__extensions table.

Suggested fix

Use Onthos to enable the extension despite its locked status.

If you know for sure the user should be able to enable and disable this core extension you should unprotect it instead.

Notes

Ending up in this situation is not necessarily a malicious, or idiotic action.

A slightly misguided site maintainer or third party extension developer may have conflated Protected with Locked, therefore believing that the change they made by hand or in their extension is marking this extension as “core Joomla” (the old semantics of what a Protected extension used to mean before Joomla! 3.10).

Remember, the actual meaning of the #__extensions database table fields is not documented anywhere. One would need to know where to look to find out what these fields do. Changes of their semantics over the years didn't help either. In even older versions of Joomla locked and protected were a single field. Those of us who have been writing software for Joomla since its early days still get confused with their semantics, which is exactly why we have documented them explicitly in this documentation.