Update von TYPO3 12 auf 13

Vorbereitungen (wie immer)

  1. Extensions so weit wie möglich aktualisieren
  2. Upgrade Wizard und Database Analyzer ausführen
  3. Referenz-Index aktualisieren
  4. nicht-kompatible und eigene Extensions deaktivieren
  5. Datenbanktabellen und -felder der deaktivierten Extensions dokumentieren
  6. ggf. Link zum Backend-Logo entfernen

Update

  1. auf PHP 8.4 umschalten (mindestens 8.2)
  2. Quellcode entpacken
  3. Symlink ändern
  4. Verzeichnis typo3temp/var löschen
  5. Browser-Cache löschen
  6. Install-Tool aktivieren und unter /typo3/install.php aufrufen
  7. Directory Status automatisch korrigieren
  8. Flush TYPO3 and PHP Cache
  9. add and change fields in Database Analyzer
  10. Upgrade-Wizards ausführen
  11. Flush TYPO3 and PHP Cache
  12. Reset Backend User Preferences
  13. Erweiterungsliste und dann Erweiterungen aktualisieren
  14. Referenzindex aktualisieren
  15. Manage Language Packs aktualisieren

Umstellung auf Hauptdomain

  1. Domainziel im Kundenmenü
  2. site-Konfiguration
  3. .htaccess
  4. robots.txt
  5. Berichte prüfen
  6. Security testen https://developer.mozilla.org/en-US/observatory, ggf. in den Einstellungen (Configure Installation-Wide Options) anschalten und in der config.typoscript ergänzen, vgl. Security Headers ab TYPO3 12

Troubleshooting

Site Sets

Manche Extensions werden nicht mehr über das TypoScript Template (sys_template), sondern als Site Set eingebunden, also über Site Management > Sites. Die Konfiguration kann man dann in Site Management > Einstellungen ändern. Damit diese Einstellungen greifen, muss man im Root-Template das Löschen von TypoScript-Einstellungen aus übergeordneten TypoScript Datensätzen (Constants, Setup) ausschalten.

Betroffen ist z.B. die Extension maps2.

felogin

Die Typoscript-Syntax zur Abfrage, ob ein FE-User eingeloggt ist, hat sich geändert. Aus [ loginUser('*') ] wird [ frontend.user.isLoggedIn ].

In der Version 13.4.20 sind zwei Bugs:

  1. Die Pagination (Seite 1, 2, 3 usw.) funktioniert nicht. Grund: Im Template Search.html fehlt der Javascript-Aufruf <f:asset.script useNonce=„true“ identifier=„indexed_search_pagination“ src=„EXT:indexed_search/Resources/Public/JavaScript/pagination.js“ />
  2. Die Suchergebnisse werden falsch herum sortiert, d.h. die weniger relevanten Ergebnisse kommen zuerst. Lösung: plugin.tx_indexedsearch.settings.defaultOptions.sortDesc = 0