3 minutes reading time (686 words)

The Backward Compatibility Plugin and why you should switch it off

2024-02-Backward-Compatibility

Joomla! 5 is there and it brings a lot of improvements. One of them is the “Behaviour - Backward Compatibility” plugin. It’s not a feature you can see in backend or frontend, so what is the purpose of this plugin? Let’s answer the most important questions!

Why was this plugin added to Joomla 5?

Over the last 10 years, the Joomla core modernized many areas of the code. That means certain outdated class structures became obsolete and shouldn’t be used anymore. In Joomla we have a well defined backwards compatibility definition. That means these classes cannot be removed before Joomla 6. But a lot of old, unused classes means slower core and a lot of overhead. On the other hand, having these classes still in core offers a backwards compatibility layer which allows extensions which do not follow the current state of the art of Joomla Development. So extensions from Joomla 3 still run on Joomla 5.

But what about the people who do not use extensions with this older code? In Joomla 4 they have code loaded, which is not used. So the idea is to move all this code to a plugin, which can be disabled when not needed.

What are the benefits of disabling the plugin?

The biggest benefit of disabling the plugin is a big performance boost. Without the plugin the old code is not registered and will never be loaded. You can be sure you have no extension installed which uses old code and you have a higher chance to have a smoother update to Joomla 6.

Where can I find this plugin?

The Backward Compatibility plugin is automatically activated upon upgrading from Joomla 4 to Joomla 5 or on fresh installs. The “Behaviour - Backward Compatibility” plugin is located in the plugin group behaviour. You find the plugins, when you go via the “System” menu item to the plugins area in your backend.

Find the plugin in the backend

Do I need the Plugin?

That depends on the extensions installed on your website. So there is only one way to find out: disable the plugin, but of course not on your live site. Make a copy of your site and try it in your test environment. It’s recommended to enable the debug mode before you disable the plugin to see better error messages when something is going wrong.

No error? Perfect, you can try to disable it now on the live site (don’t forget to backup before) and you’re good to go.

Find an error? There are several ways to get your site back:

  1. Check which extension is responsible for the error and either check if there is a new version of the extension available or find an alternative for it.
  2. Go to the plugin manager in the backend (System => Plugins) and enable the plugin again.
  3. If the plugin manager is blocked by an error message, you can restore your backup or access the database via e.g. phpMyAdmin and enable the plugin. Find it in the #__extensions table and change “enabled” from 0 to 1. 
    Set enabled status to 1 to enable the plugin in the extensions table of your database

What should I do when a 3rd party extension does not work without the plugin?

Don’t disable the plugin 🙂 

For now it’s OK to have the plugin activated, if the performance impact on your site is acceptable for you. But you should either check the developers’ site if there are any plans to get rid of this old code or you should look for alternative extensions to replace the current one.

If my site works with the plugin disabled, does that mean it's Joomla 6 ready?

That’s hard to predict, as Joomla 6 is in an early development phase. Based on the backwards compatibility promise, Joomla 5 sites that work without the plugin have a better chance to have a smooth update process. Having said that: there could always be future changes which can’t be avoided and break something. Right now all we can say is: if your site is not working without the plugin, it will certainly not work with Joomla 6. So it’s still recommended to get a site with disabled plugin as soon as possible.

1
The February Issue
Smoothest Joomla Upgrade - My History of Joomla Up...
 

Comments 6

Already Registered? Login Here
Marc Dechèvre on Tuesday, 20 February 2024 12:54
A few extensions which do not work without the plugin atm

Thank you so much @benjamin for this very useful article!

I have just tried to disable the Backward Compatibility plugin on all my J5 websites.

Here are the extensions (that I personally use) which will crash your site at the moment if you disable the Backward Compatibility plugin:

  • Convert Forms (and NRFramework which is part of it) by Tassos
  • Acymailing by Acyba
  • Dropfiles by JoomUnited
  • LSCache (LiteSpeed Cache)


So if you use any of these 4 extensions, you already know that you should wait for a new version before disabling the Backward Compatibility Plugin

0
Thank you so much @benjamin for this very useful article! I have just tried to disable the Backward Compatibility plugin on all my J5 websites. Here are the extensions (that I personally use) which will crash your site at the moment if you disable the Backward Compatibility plugin: [list] [*] Convert Forms (and NRFramework which is part of it) by Tassos [*] Acymailing by Acyba [*] Dropfiles by JoomUnited [*] LSCache (LiteSpeed Cache) [/list] So if you use any of these 4 extensions, you already know that you should [i]wait[/i] for a new version before disabling the Backward Compatibility Plugin
gasoline on Tuesday, 20 February 2024 17:20
No, no more fast upgrades

The last sentence "So it’s still recommended to get a site with disabled plugin as soon as possible." scares me a lot. What the f******.

We already had major issues upgrading clients from 3 to 4. Than to soon came 5, which was luckely mostly easy in most cases and now we can expect already Joomla 6 soon with more upgrade problems??

Where are the 5 to 7 years release cycles? Wordpress does not do this f.e. To much changes will drive people away of Joomla. I'm a happy customer since 2005 but lately Joomla scares me. Can't run a business like this.

0
The last sentence "So it’s still recommended to get a site with disabled plugin as soon as possible." scares me a lot. What the f******. We already had major issues upgrading clients from 3 to 4. Than to soon came 5, which was luckely mostly easy in most cases and now we can expect already Joomla 6 soon with more upgrade problems?? Where are the 5 to 7 years release cycles? Wordpress does not do this f.e. To much changes will drive people away of Joomla. I'm a happy customer since 2005 but lately Joomla scares me. Can't run a business like this.
Anja de Crom on Thursday, 22 February 2024 10:42
Keep breathing Gasoline

Hi Gasoline, Joomla 5 will be supported until 2027. So there's absolutely no need to panic yet.

Between your complaints about the release cycles I read this "Than to soon came 5, which was luckily mostly easy in most cases".

I'm glad that went well, because given your comment below this article: https://magazine.joomla.org/all-issues/april-2023/joomla-5,-find-out-who-is-in-the-driving-seat and this one: https://magazine.joomla.org/all-issues/october/updating-a-rather-complex-site-to-joomla-5-0-0, you weren't so sure about that.

This article is not meant to scare anyone away. It's mainly an encouragement to keep your sites up to date and get rid of deprecated stuff. That is a good thing: there is absolutely nothing wrong with safe and secure websites.

1
Hi Gasoline, Joomla 5 will be supported until 2027. So there's absolutely no need to panic yet. Between your complaints about the release cycles I read this "[i]Than to soon came 5, which was luckily mostly easy in most cases[/i]". I'm glad that went well, because given your comment below this article: [url=https://magazine.joomla.org/all-issues/april-2023/joomla-5,-find-out-who-is-in-the-driving-seat]https://magazine.joomla.org/all-issues/april-2023/joomla-5,-find-out-who-is-in-the-driving-seat[/url] and this one: [url=https://magazine.joomla.org/all-issues/october/updating-a-rather-complex-site-to-joomla-5-0-0]https://magazine.joomla.org/all-issues/october/updating-a-rather-complex-site-to-joomla-5-0-0[/url], you weren't so sure about that. This article is not meant to scare anyone away. It's mainly an encouragement to keep your sites up to date and get rid of deprecated stuff. That is a good thing: there is absolutely nothing wrong with safe and secure websites.
Philip Walton on Thursday, 22 February 2024 10:58
Not what Tuesday nights audience was saying

I've run the London Joomla User Group for over 15 years, and on Tuesday evening's meeting after the security release, the audience started to talk about the successful updates and were saying how much better it has got for both Major and Minor releases. Several were users and admins from Mambo days, and they were praising not only the smoothness of most updates but the release cycle, as the more regular we have, the smaller the steps in each.

With the roadmap planned 2 years, when before 4 the day of any release was a secret until it landed, and the 6 week regular interval, for updates, 6 months for Minors and 2 years for majors, similar to many other professional software packages such as Ubuntu, planning has never been easier.

If you have any issues, then why not share them in monthly meetings such as JUGL, which can help you if you are having issues?

I have over 100 clients, some large institutions, and they really like the professional way it all happens; it gives them confidence and reassurance that they are regularly updated.

0
I've run the London Joomla User Group for over 15 years, and on Tuesday evening's meeting after the security release, the audience started to talk about the successful updates and were saying how much better it has got for both Major and Minor releases. Several were users and admins from Mambo days, and they were praising not only the smoothness of most updates but the release cycle, as the more regular we have, the smaller the steps in each. With the roadmap planned 2 years, when before 4 the day of any release was a secret until it landed, and the 6 week regular interval, for updates, 6 months for Minors and 2 years for majors, similar to many other professional software packages such as Ubuntu, planning has never been easier. If you have any issues, then why not share them in monthly meetings such as JUGL, which can help you if you are having issues? I have over 100 clients, some large institutions, and they really like the professional way it all happens; it gives them confidence and reassurance that they are regularly updated.
Robert Fairhead on Thursday, 22 February 2024 05:50
Follow the article's guidelines!

After reading this article, I thought I'd try disabling the "Behaviour - Backward Compatibility" plugin in my staging/test environment. I enabled debug mode, disabled the plugin, and immediately got an error message in the Admin backend:

An error has occurred
0 Class "JPlugin" not found

I got the same error when I refreshed the front end.

As I couldn't enable the plugin in the Admin backend, I followed the instructions to reset the test website via phpMyAdmin, finding the #__extensions table and changing "enabled" from 0 to 1.

Unfortunately, this didn't work for me, and it looks like I'll have to restore a backup of the website.

So, please follow the article's guidelines and only try disabling the "Behaviour - Backward Compatibility" plugin in a test environment.

0
After reading this article, I thought I'd try disabling the "Behaviour - Backward Compatibility" plugin in my staging/test environment. I enabled debug mode, disabled the plugin, and immediately got an error message in the Admin backend: An error has occurred 0 Class "JPlugin" not found I got the same error when I refreshed the front end. As I couldn't enable the plugin in the Admin backend, I followed the instructions to reset the test website via phpMyAdmin, finding the #__extensions table and changing "enabled" from 0 to 1. Unfortunately, this didn't work for me, and it looks like I'll have to restore a backup of the website. So, please follow the article's guidelines and only try disabling the "Behaviour - Backward Compatibility" plugin in a test environment.
Marc Dechèvre on Wednesday, 28 February 2024 08:51
News about those above-mentioned extensions which are not yet J5-native

Here are some news related to the 4 extensions I was mentioning above.

Indeed I contacted the respective developers to ask when a J5-native version would be released (ie not requiring the Backward Compatibility plugin) and here is their answers :

Convert Forms (and NRFramework which is part of it) by Tassos

"All our extensions will be Joomla 5 native within the next set of stable releases. Stay tuned here for more announcements. The next extension that will receive its Joomla 5 native version will be Google Structured Data, followed by Advanced Custom Fields, and finally Convert Forms."

Acymailing by Acyba

Answer by Jeremy : "We try to keep AcyMailing compatible with Joomla 3, 4 and 5 at the same time, that's why we are still using previous versions of Joomla classes. I hope we can manage to update these classes without breaking the Joomla 3 compatibility as quite a few users still have j3 websites"

Dropfiles by JoomUnited

"We are planning to make the Dropfiles compatible with J5 native at the end of this year. We will let you know asap when it's ready"

LSCache (LiteSpeed Cache)

I contacted Wuhua at LiteSpeed yesterday on Slack (and also posted this on the forum: https://www.litespeedtech.com/support/forum/threads/joomla-5-compatibility.22549/#post-129197 ).
I am waiting for his answer.

0
Here are some news related to the 4 extensions I was mentioning above. Indeed I contacted the respective developers to ask when a J5-native version would be released (ie not requiring the Backward Compatibility plugin) and here is their answers : [b]Convert Forms (and NRFramework which is part of it) by Tassos[/b] "All our extensions will be Joomla 5 native within the next set of stable releases. Stay tuned here for more announcements. The next extension that will receive its Joomla 5 native version will be Google Structured Data, followed by Advanced Custom Fields, and finally Convert Forms." [b]Acymailing by Acyba[/b] Answer by Jeremy : "We try to keep AcyMailing compatible with Joomla 3, 4 and 5 at the same time, that's why we are still using previous versions of Joomla classes. I hope we can manage to update these classes without breaking the Joomla 3 compatibility as quite a few users still have j3 websites" [b]Dropfiles by JoomUnited[/b] "We are planning to make the Dropfiles compatible with J5 native at the end of this year. We will let you know asap when it's ready" [b]LSCache (LiteSpeed Cache)[/b] I contacted Wuhua at LiteSpeed yesterday on Slack (and also posted this on the forum: https://www.litespeedtech.com/support/forum/threads/joomla-5-compatibility.22549/#post-129197 ). I am waiting for his answer.

By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/