Joomla 4.4.x'ten 5.x'e Adım Adım Planlama ve Güncelleme
From Joomla! Documentation
Bu kılavuz Joomla 4.4.x ile başladığınızı varsayar. Daha eski bir sürüm kullanıyorsanız, Joomla 5.x'e yükseltme yapmadan önce Joomla 4.4.x'e geçiş yaptığınızdan veya güncelleme yaptığınızdan emin olun.
Tanıtım
Joomla 4.4.x'ten 5.x'e geçiş için iyi haber; bu bir geçiş değil yükseltmedir. Neden? İki ana sebep:
- Kodun tüm kullanımdan kaldırılmasını kaldıran ve güncel Joomla kodunu kullanan Joomla 4 (J4) eklentiler Joomla 5 (J5)'te çalışacaktır.
- Diğerlerinin çoğu yeni Davranış - Geriye Dönük Uyumluluk Eklentisi (uyumlu ek) etkinken çalışacak
Cette documentation reflète le processus le plus simple en combinant la planification et le pas à pas dans un seul document. Néanmoins, vous aurez besoin de certaines compétences. Veuillez consulter l'Auto-évaluation pour déterminer si vous devriez ou non vous attaquer à la mise à niveau vous-même.
https://manual.joomla.org/migrations/44-50/removed-backward-incompatibility
https://manual.joomla.org/migrations/44-50/new-deprecations
https://manual.joomla.org/migrations
4.4.x'ten 5.x'e planlama
Hosting/Teknik özellikler
1. Hosting ortamınızın gereklilikleri karşılayıp karşılamadığını belirleyin.
Vous ne pourrez pas passer à Joomla 5 si votre environnement serveur ne répond pas aux exigences techniques minimales. L'option de mise à niveau n'apparaîtra pas dans le composant Joomla Update.
- PHP 8.1
- MySQL 8.0.13
- MariaDB 10.4.x (testler J3, J4 ve J5'in MariaDB 10.4.x ile uyumlu olduğunu gösterdi)
- PostgreSQL 12.0
Joomla 4 sitesindeki sistem bilgilerinizi Sistem -> Sistem Bilgileri'ne tıklayarak kontrol edebilirsiniz. Sunucunuz gereksinimleri karşılamıyorsa hosting sağlayıcınızla iletişime geçin.
Voici un exemple d'environnement qui répond aux exigences techniques. Il contient MySQL 8.0.34, PHP 8.1 et Joomla 4.4.x.
2. Tüm eklentilerinizin Joomla 5 ile uyumluluğunu kontrol edin
Il existe un certain nombre de scénarios d'extension tierces pour cette mise à jour.
- L'extension peut être compatible avec les versions J4 et J5 sans l'utilisation du plugin de rétrocompatibilité.
- L'extension peut être compatible avec les versions J4 et J5 AVEC l'utilisation du plugin de rétrocompatibilité.
- L'extension peut sembler fonctionner dans J5, mais lorsque vous essayez de l'utiliser, elle est cassée.
- L'extension peut casser tout le site.
Ne vous inquiétez pas ! Ce n'est pas aussi grave que ça en a l'air ! Parlons d'abord du plugin de rétrocompatibilité.
==Le plugin de retrocompatibilité
Le plugin de rétrocompatibilité est une tentative pour permettre à des extensions tierces d'utiliser des classes qui ne sont plus incluses dans Joomla 5.
Lors d'une mise à jour de J4.4.x vers J5, le plugin de rétrocompatibilité sera activé automatiquement. Pour les nouvelles installations de J5, le plugin de rétrocompatibilité sera activé par défaut.
The backward compatibility plugin that supports extensions that work in J4 will be in place through J5. In J6, the J4 extensions will not be made backward compatible with the plugin. This gives extension developers two additional years to make their extensions compatible with J5 without the backward compatibility plugin. The intention is that with every life cycle release, a backward compatibility plugin will support the life cycle before it until the life cycle after it.
Can you ever disable the backward compatibility plugin in J5? Great question. After determining that every single one of your third-party extensions are compliant and fully functional without the backward compatibility plugin enabled, you can disable the backward compatibility plugin. That said, we recommend using caution. Before you disable the backward compatibility plugin, doing one of the following two things is suggested:
- Do it on a dev/test site. That way, if you accidentally missed one extension that makes your backend inaccessible, it doesn’t take your production site down.
- Make sure you have access to the db. That way, you can enable the plugin again quickly if needed. More about this below.
Pre-update check vs. System -> Manage Extensions
Theoretically, the pre-update check would tell you if your third-party extensions are compatible with J5. However, the pre-update check is only helpful if all extension developers have made their extension reflect compatibility with their extensions. In a perfect world, the Extensions portion of the pre-update check would tell you if an extension either:
- Can be upgraded without the backward compatibility plugin enabled
- Can be upgraded with the backward compatibility plugin enabled
- If an update to the extension is required before upgrading from J4 to J5
- If an extension is incompatible completely
Testing has shown discrepancies between extensions that are compatible and are not compatible. This isn’t an issue with the pre-update check component. Rather, extension developers send information through their extensions which would populate the pre-update check correctly. If their extensions aren’t coded to tell the pre-update check the correct information, there’s very little (nothing) the pre-update check nor the Joomla! Project can do about it. A good source of information would be the third-party extension developer’s website to verify how the specific extension should be handled during the upgrade from J4 to J5.
The image below shows an example of the pre-update check component in Joomla 4.4.x of the Extensions section.
The top section will show the extensions that require an update. Please go to System -> Update -> Extensions and update your extensions.
The middle section shows extensions that the update information is unavailable from the extension developer. You will not know if these are compatible or not without testing them or contacting the developer.
The bottom section shows the extensions that have no update required. This means that the extensions are telling Joomla that they are compatible with Joomla 5. It is not specified if they require the backward compatibility plugin or not.
Please note that these extensions are not preferred by the Joomla Project. These extensions are shown as an example only. They were randomly picked from the JED as a test.
It is recommended to only use the Extensions portion of the pre-update check component as an extremely high level overview, but not the 100% source of truth. To say it another way, you may not be able to trust the pre-update check component depending on the extensions you are using.
What is the source of truth then? Systems -> Manage Extensions
From the Extensions: Manage screen, you will be able to see all of the third-party extensions you are using on the site. In the screenshot below you see the main screen. In the Author column, you can see a popular extension developer’s name in a number of rows. You can also see the Author of the Joomla Project in a number of rows.
Check your third party extensions. You’ll next be determining if they are compatible with J5 (with or without the backward compatibility plugin) or not. If they’re not, the upgrade will be unsuccessful.
Three ways to check your third-party extensions for J5 compatibility
- Check the developer website.
- Take a backup/copy of your J4 site, restore it on a subdomain, turn on debug, follow the step by step (below) to upgrade to J5. See if anything breaks. If it does break, disable each extension that throws an error making note of the extension. You’ll need to contact the developer about it since it isn’t compatible with J5.
- Install a clean J5 package on a subdomain, enable the Behaviour - Backward Compatibility Plugin, install all the extensions you use and see if they work.
NOTE: The Joomla! Extensions Directory JED will display Joomla 5 compatible badges for extensions that are compatible with or without the use of the backward compatibility plugin.
You could do a combination of the above. Start with a clean install and test out your extensions. When you know which ones do or don’t work, you can work with the developers to see where they’re at with their development for J5. THEN, once all your extensions work in a clean site, you’ll know you can test a full upgrade from J4.4.x to 5.x.
You may want to determine if an extension works without the backward compatibility plugin enabled. If that’s the case, you’ll want access to the database. Plan for it. Make sure you have access to the database.
After installing J5, the backward compatibility plugin will be enabled. You must disable it. Go to 'Plugins', filter by the 'Behaviour' type and disable 'Behaviour - Backward Compatibility'. Install each extension one at a time. If it kills your site, enable the backward compatibility plugin via the database.
The Backward Compatibility Plugin can be found in the database in the _extensions table. It’s called plg_behaviour_compat. Set the Enabled field to 0 to disable the plugin. 1 to enable the plugin. By enabling the backward compatibility plugin again, you may gain access to the backend of Joomla again (as long as the extension works with the backward compatibility plugin).
OR
You can disable the extension in the database so that you can continue testing your other extensions to see if they will function without the compatibility plugin enabled. These entries will be in the #_extensions table. You’ll change the Enabled field to 0 to disable the extension.
In some cases, when you install an extension in J5 that isn’t compatible with or without the backward compatibility plugin enabled, you will need to find the entries in the database for that extension (there may be a few or many of them) and disable them until you can regain access to the backend. These entries will be in the #_extensions table. You’ll change the Enabled field to 0 to disable the extension. Once you can access the backend of Joomla again, you can uninstall it properly from System -> Manage -> Extensions and inquire with the developer.
Cassiopeia, Recaptcha, Weblinks, Schema.org, and Search (com_search not Smart Search)
Cassiopeia
Cassiopeia will remain the frontend template for Joomla 5. Your customisations should be fine, still, we recommend testing on a dev site to make sure. Bootstrap will be upgraded to Bootstrap 5.3 in Joomla 4.4.0. If there are Bootstrap discrepancies in your template, they will already be visible in 4.4.0. Thus, most, if not all issues would be found prior to upgrading to J5.
Google reCAPTCHA
If you are using Google reCAPTCHA in J4, you should replace it with Invisible reCAPTCHA prior to upgrading to Joomla 5 (or a third-party solution). J5 will not include Google Recaptcha any longer. The Recaptcha plugin will be uninstalled upon upgrade to J5. The Invisible reCAPTCHA plugin still exists if you’ve upgraded from 4.4.x. You can enable it and set it up with new keys so you can use Invisible reCAPTCHA instead. Or you may use another third-party solution. Fresh installations of Joomla 5.x do not include any reCAPTCHA plugins in the core. Fresh installations of Joomla 5.x will need to use a third-party plugin/solution.
com_weblinks
The Weblinks extension works in J5 without the backward compatibility plugin enabled in version 4.3.0+. 4.3.0 on Github. Weblinks on the JED.
Schema.org Plugin
With Joomla! 5 a new and more dynamic way of handling rich snippets (based on https://schema.org/) data was implemented. By default they are set up in a way that the information for search engines is the same as in Joomla 4, but to customize the output, please go to System => Manage => Plugins and search for the system plugin “System - Schema.org”. Edit the plugin to add your site information for a proper usage of the functionality. Read more about Rich Snippets in this magazine article.
com_search
com_search is not available in Joomla 5. Uninstall it before upgrading to Joomla 5. You will now use Smart Search (com_finder).
Trial run
As part of your planning, it’s recommended to test your upgrade on a subdomain or locally to determine it works perfectly. Make sure you keep track of any steps you need to take for your upgrade to take place perfectly.
Once you’ve tested your upgrade on a subdomain or localhost, and it works perfectly, you can take a backup of your production site and perform the upgrade to it. Step by step instructions are below.
Upgrade Step by Step
The site you will be upgrading must meet all the technical requirements and be running Joomla 4.4.x in order to upgrade. If your site is not yet running Joomla 4.4.x, update to 4.4.x prior to upgrading to J5.
1. Follow all the instructions in the Planning section (above) prior to upgrading.
2. Backup your website.
3. Update any extensions that need to be updated.
4. Disable or uninstall any extensions that are not compatible with J5.
5. If you are using the old Search component (com_search) or any related modules, uninstall them prior to upgrading.
6. If you are using Google reCAPTCHA, disable it and begin using Invisible reCAPTCHA instead.
7. Turn Debug on (Global Configuration -> System tab -> Debug System setting to Yes).
8. Backup your website again.
9. Test your backup to make sure it restores. (Yes, do this. You’ll feel better.)
10. Go to System -> Update -> Joomla
11. Click on Options in the Top Toolbar on the right hand side.
12. Change the Update Channel to Joomla Next
13. Click Save & Close from the Top Toolbar.
14. If your server meets the technical specifications, you will see the following screen with links on the left sidebar for Required Settings, Recommended Settings, and Extensions.
15. Chances are good that your Required Settings and Recommended Settings will be fine since this screen will not display if your environment doesn’t meet the technical requirements. Extensions may not be fine. See the section in Planning (above) about the Pre-update check and why it may not have a green checkmark but still have all compatible extensions. You’ve already done your testing (correct?), so you already know if they’re compatible or not.
16. The Backward Compatibility plugin will be enabled during the upgrade from Joomla 4.4.x to 5.x.
17. If you haven’t followed the instructions in Planning (above) for the Trial run, stop now and go back to the Planning section and follow the instructions. Planning is the most important part of this upgrade.
18. Once you are sure that all of your extensions are compatible with J5 and you have tested the upgrade and the result was perfect, you may tick the button to Acknowledge the warnings about potentially incompatible extensions and proceed with the update, click OK in the popup box, then click the Update button.
19. Then, your site will ask you again to confirm you’ve taken a backup (which you have and you tested it restores).
20. Your site will perform the upgrade to J5.
21. A successful upgrade will show you a screen like this
22. You will see your site being Joomla 5 in the top right corner of the screen.
23. Test the frontend of your site.
24. Test the backend of your site.
25. Turn off Debug in System -> Global Configuration -> Server tab.
26. Fix up your new Smart Search if required.
27. Set up your schema plugin like described in the planning area of this document.
28. Enjoy a nice beverage and marvel at how wonderful you are.
What if it goes wrong?
If you tested everything beforehand, it shouldn’t. But it’s possible something in the environment changed or some code in an extension changed between the time of your testing and your upgrade.
Because you enabled Debug before you started, you should be able to see the extension that causes the issue and disable it (this may need to happen from the database if you can no longer access the backend to disable it). That way your site will be up and running whilst you figure out what went wrong, and fix it.
Worst case, restore your backup so you have time to address what happened in a test environment.
Database Fix might resolve some of your issues. Navigate to the System Dashboard and click on Database.
In the Maintenance: Database page, it will show any database structure issues your site may have. Tick the appropriate checkbox and then click the Update Structure button in the Top Toolbar.
Other places to get help
Joomla Forum: Migration & Upgrade Board 5.x