User tests: Successful: Unsuccessful:
The code assumed the existence of Joomla 6 backwards compatibility plugin and was generating an error when it got executed. This fixes it.
Pull Request for Issue # .
Added a null check after attempting to retrieve the Joomla 6 backwards compatibility plugin.
Make sure there is no Joomla 6 backwards compatibility plugin installed, then run http://localhost:8080/administrator/index.php?option=com_joomlaupdate to ensure no errors happen.
Visiting http://localhost:8080/administrator/index.php?option=com_joomlaupdate with the Joomla 6 backwards compatibility plugin missing causes an error.
Visiting http://localhost:8080/administrator/index.php?option=com_joomlaupdate with the Joomla 6 backwards compatibility plugin missing causes NO error.
Please select:
Documentation link for docs.joomla.org:
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
| Status | New | ⇒ | Pending |
| Category | ⇒ | Administration com_joomlaupdate |
Not sure, but I started with the Joomla Docker image in 5.3, upgraded to 5.4, then attempted upgrade to 6.0. I would guess that version 5.4 does not require Joomla 6 backwards compatibility plugin but I'm not immersed in this project so I don't know. I just fixed the error and thought I would contribute this. The upgrade to 6.0 worked after this.
The issue is the that this should never happen so it would be important to me what leads to this situation. J5.4 installs this plugin, wouldn't be possible for you to debug this or find a way how it can be replicated?
Thanks
Since I've performed my desired upgrades and described the upgrade process above, I'm not sure what else I can contribute for information, sorry. Apparently my upgrade to 5.4 did not install that plugin, that's all I know.
Not sure, but I started with the Joomla Docker image in 5.3, upgraded to 5.4,
@HLeithner Can it be that the database changes are not persisted when using a docker image?
Anyway this PR is wrong as it shows no error when the plugin is missing (which should not be the case).
The pre-update check for that plugin should show an error if the plugin is missing.
Not sure, but I started with the Joomla Docker image in 5.3, upgraded to 5.4,
@HLeithner Can it be that the database changes are not persisted when using a docker image?
You could verify that by seeing if the files for the plugin exist
@ConfidantCommunications How have you updated from 5.3. to 5.4? Have you used the update component? Of have you only unpacked the files from thr 5.4.0 and then used the database fixer? The latter is a method which is not supported anymore since 3.4. You have to use the update component, otherwise the database changes will not run, and the fixer fixes only the structure but not any data inserted during the update. This could explain why the plugin was not installed on 5.4.
I should clarify that I started with the base Docker image joomla:5.4.0-php8.3. Onto that I restored an Akeeba backup taken from Joomla 5.3. Then I ran the update component to get back to 5.4. It was there I experienced the issue where the plugin had a null value.
Onto that I restored an Akeeba backup taken from Joomla 5.3.
Have you restored the backup like it should be, into an empty folder and an empty database, like it should be done and like it's recommended by Akeeba?
Anyway, this PR here is wrong as it is for the reason stated above #46339 (comment) .
If you know this is wrong I'm not sure why my answer to that question is relevant. But if it helps, no it was not an empty folder (I just copied the backup and kickstart.php to the root directory) but it was an empty database. I trust that Akeeba will overwrite the necessary files when it extracts. Perhaps I'm wrong.
I trust that Akeeba will overwrite the necessary files when it extracts. Perhaps I'm wrong.
@ConfidantCommunications Restoring a backup from an older Version of course replaces files which are present from the newer version.
But restoring a backup cannot delete files which were added by the newer version and did not exists in the older version.
That's why you have to restore a backup into an empty folder.
It does not need to study rocket science to understand that, it only needs logical thinking.
@richard67 I am getting offended. I didn't submit the pull request to get lectured about logical thinking. I was trying to be helpful and I'm not arguing with anyone. Please try to imagine how your comments might be interpreted by someone who wants to contribute now or in future. It's not helpful.
| Status | Pending | ⇒ | Closed |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2025-10-21 16:38:14 |
| Closed_By | ⇒ | ConfidantCommunications | |
| Labels |
Added:
PR-5.4-dev
|
||
@ConfidantCommunications Well, it was not my intention to offend someone. Sorry if my answer was too harsh.
But look, when you restore a backup, you do not delete files which were not there in the backup. So the 5.4 update SQL scripts are still there. So the database fix shows there is an inconsistency between the schema version of the files and in the database. If you then use the fix button it will adjust the database schema version to 5.4.something, and when updating then to 5.4, the scripts will not run. I think this could have happened.
Thank you for the more genteel answer and explanation—I appreciate it. Perhaps this will help somebody who has a situation as equally bizarre as mine!
Well, I will at least keep an eye open if we get similar reports, and if so, we might have to make some fix (but different to this PR).
So thanks for reporting.
For now this was the first report of the Joomla 6 b/c plugin being missing on a 5.4, so for I think it was that special scenario.
All good!
Why should it not exist?