Joomla Backward Compatibility Plugin Not Necessary Anymore

Joomla 4.0 was released during 2021. Under the hood, Joomla 4.0 included a re-developed Joomla core. Joomla became faster as the core Joomla code was modernized and now compatible with the latest PHP and MySQL servers. However, the re-development of many core functions could bring incompatibility problems with older extensions and templates. Therefore, the Joomla team left the old outdated code as a part of the Joomla 4.x and 5.x versions and developed the Backward Compatibility plugin that calls the old functions if they are necessary for any extension or plugin.

Why Backward Compatibility Plugin?

The Backward Compatibility plugin added extra time for all Joomla developers to update the extensions and templates to make them compatible with new Joomla coding standards. You can imagine how hard and time-consuming this task could be, especially for developers who have complex extensions in their portfolios. Also, some developers have dozens of extensions that must be upgraded. In our case, we had to upgrade over 100 Joomla templates and over 25 Joomla extensions.

However, we are happy to announce that all our Joomla extensions and most of our Joomla templates are upgraded to work without the Backward Compatibility plugin.

What Are the Benefits of Disabling the Backward Compatibility Plugin?

Your website will be fully based on the new modern Joomla core. This code is faster and performs better on modern hosting platforms. This means your website is faster and use less resources.

Furthermore, your website will not be dependent on the old deprecated Joomla functions that will be removed from the Joomla core in the next major version. Therefore, you will be ready for the next major Joomla upgrade (Joomla 6.0) without problems.

What You Should Do Before Disabling the Backward Compatibility Plugin?

If you are starting a new Joomla website, please re-download the template package from our Downloads section before the installation. After the installation, the Backward Compatibility Plugin will be disabled by default for you.

The situation is a little bit more complex if you have an existing Joomla website based on our templates and extensions. Here's what you should do:

  • Making a full website backup is always advisable.
  • Re-download the template package from our website and re-install the template only (standard template installation).
  • Re-download all the extensions your website is using (carousels, maps, contact forms, etc.) and re-install them.
  • If you are using any 3rd party's extensions, confirm with the extensions developers that their extensions work without the Backward Compatibility Plugin.

Let's Try to Disable the Backward Compatibility Plugin

From Joomla Administrator's panel go to System > Plugins. From the Filter Options, select "behaviour" for the Select Type selector. Finally, disable the Behaviour - Backward Compatibility plugin.

Disable the Backward Compatibility Plugin

On some websites, depending on the plugins you installed additionally to your Joomla website, disabling this plugin can break your Joomla Administrator's panel.

If you can't access the Plugins section anymore, you will need to enable the Backward Compatibility plugin by editing the database, from the PhpMyAdmin. Edit Joomla table #__extensions, locate the record "plg_behaviour_compat" and change the value for "enabled" from 0 to 1. Your website should work normally after that. Now, you should find the extension that is blocking your website after disabling the Backward Compatibility plugin and upgrade it or uninstall it.

Enable the Backward Compatibility plugin from PhpMyAdmin

If your Joomla Administrator's panel works normally after disabling the Backward Compatibility plugin, you can proceed with checking the website front-end. You may see an error message on the front end of your website.

Joomla server error

If you see this error, go to the Global Configuration, and under the Server tab, set the "Error Reporting" option to Maximum. Now, refresh the website front-end and you will see the explanations of the errors. Scroll to the bottom and open the Error tab. It will show you the file where the error is found and mark the line with the error.

Debugging errors

In this example, we can see that the error is related to the VirtueMart component. Of course, we will not try to fix this. All we can do is wait until the extension developers release the version that's independent from the Backward Compatibility plugin.

If you don't see any errors on the front end, please browse your website and check as many pages as you can. If your website is working normally, congratulations, you got rid of the Backward Compatibility successfully.

Templates That Are Still Dependent From the Backward Compatibility Plugin

We are forced to keep the Backward Compatibility enabled on some of our templates. The reason for this is 3rd party extensions that are required for these templates. All these extensions are related to e-commerce. This is the list of such templates:

We will upgrade these templates as soon as it's possible, hopefully soon.