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. Upgrade-Wizards ausführen
  9. Flush TYPO3 and PHP Cache
  10. Analyze Database Structure
  11. Erweiterungsliste und dann Erweiterungen aktualisieren
  12. Referenzindex aktualisieren
  13. 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