Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
typo3:administration:update [08.11.2019 18:56]
Monika Schneiders [Optionale Änderungen]
typo3:administration:update [03.04.2020 15:34] (aktuell)
Monika Schneiders [Update von 8.7 auf 9.5]
Zeile 15: Zeile 15:
 ====== Update von 8.7 auf 9.5 ====== ====== Update von 8.7 auf 9.5 ======
  
-Wie bei jedem Update starten wir mit einer **Kopie** (s.o.), überprüfen die Kompatibilität der **Extensions**,​ aktualisieren sie so weit wie möglich und deaktivieren sie gegebenenfalls, ​führen im Installtool ​den **Database analyzer** aus und aktualisieren ​den **Referenz-Index**. +Wie bei jedem Update starten wir mit einer **Kopie** (s.o.), überprüfen die Kompatibilität der **Extensions**,​ aktualisieren sie so weit wie möglich und deaktivieren sie gegebenenfalls, ​aktualisieren ​den **Referenz-Index** und führen im Installtool ​den **Database analyzer** aus
  
 :!: Anforderung:​ Mindestens **PHP 7.2 Extended** - nicht FASTCGI! - Wenn man im Installtool,​ im Backend und im Frontend nur leere weiße Seiten sieht, kann das der Grund sein. :!: Anforderung:​ Mindestens **PHP 7.2 Extended** - nicht FASTCGI! - Wenn man im Installtool,​ im Backend und im Frontend nur leere weiße Seiten sieht, kann das der Grund sein.
 +
 +:!: Configuration Presets auf "​Live"​ stellen. Sonst verschluckt sich der Upgrade Wizard an den Fehlermeldungen.
 +
 +:!: Seiten, die nicht in der URL erscheinen sollen, auf "​Ordner"​ umstellen. Mit RealURL konnte man Seiten aus dem Pfad ausschließen;​ mit den "​Slugs"​ in TYPO3 9 geht das nicht mehr bzw. man muss nachträglich [[typo3:​administration:​update:​datenbankfeld_slug_leeren|per phpMyAdmin das Feld ''​slug''​ der betroffenen Seiten leeren und die Pfade neu generieren]].
  
 Dann wird der **Quellcode** entpackt und den symbolische Link zum Quellcode geändert (z.B. im Midnight Commander über Menü > File > Edit Symlink). Dann wird der **Quellcode** entpackt und den symbolische Link zum Quellcode geändert (z.B. im Midnight Commander über Menü > File > Edit Symlink).
  
 Im Installtool alle Punkte im **Upgrade-Wizard** durchgehen, auch die nicht gewünschten Änderungen auswählen, aber nicht ausführen lassen. So weiß der Wizard, dass man diese absichtlich übergangen hat. Anschließend im **Database Analyzer** die Datenbank anpassen. Dabei Tabellen deaktivierter Extensions nicht ändern. Anschließend den **Cache löschen**. Im Installtool alle Punkte im **Upgrade-Wizard** durchgehen, auch die nicht gewünschten Änderungen auswählen, aber nicht ausführen lassen. So weiß der Wizard, dass man diese absichtlich übergangen hat. Anschließend im **Database Analyzer** die Datenbank anpassen. Dabei Tabellen deaktivierter Extensions nicht ändern. Anschließend den **Cache löschen**.
 +
 +Es lohnt sich auch, einen Blick in den **Directory Status** unter Umgebung zu werfen.
  
 ===== Seitenkonfiguration ===== ===== Seitenkonfiguration =====
Zeile 27: Zeile 33:
 ... ersetzt sozusagen RealURL und baseURL. ... ersetzt sozusagen RealURL und baseURL.
  
-Im Reiter Allgemein: ​+Im Reiter ​**Allgemein**
   * Seitenbezeichner = Name des Ordners, in dem die Konfiguration gespeichert wird   * Seitenbezeichner = Name des Ordners, in dem die Konfiguration gespeichert wird
   * Einstiegspunkt = baseURL; komplette Adresse   * Einstiegspunkt = baseURL; komplette Adresse
  
  
-Im Reiter Sprachen, am Beispiel einer deutschen Seite:+Im Reiter ​**Sprachen**, am Beispiel einer deutschen Seite:
   * Titel: Deutsch   * Titel: Deutsch
   * Sprachschlüssel für XLF-Dateien:​ German   * Sprachschlüssel für XLF-Dateien:​ German
Zeile 39: Zeile 45:
   * Sprachkürzel nach RFC 1766/3066: de-DE   * Sprachkürzel nach RFC 1766/3066: de-DE
   * ggf. noch Flaggensymbol:​ Suchen nach "​de"​   * ggf. noch Flaggensymbol:​ Suchen nach "​de"​
 +Die Konfiguration der Sprachen im config.ts (sys_language_mode etc.) wird dadurch überflüssig.
  
-Im Reiter Fehlerbehandlung kann z.B. eine eigene 404-Seite mit dem Fehlercode verknüpft werden.+Im Reiter ​**Fehlerbehandlung** kann z.B. eine eigene 404-Seite mit dem Fehlercode verknüpft werden.
  
-===== Optionale Änderungen =====+Die Konfiguration wird in ''​typo3conf/​sites/''​ gespeichert. Für die [[typo3:​administration:​yaml:​seitenkonfiguration|Extension News]] muss sie anschließend in einem Editor von Hand erweitert werde.
  
-Die **Dateiendungen** für TypoScript und TSconfig ​sollten im Hinblick auf weitere Updates an den neuen Standard angepasst ​werden.+===== Troubleshooting ===== 
 + 
 +==== Leere Typoscript-Objekte ==== 
 + 
 +Leere Typoscript-Objekte führen zu einem Fehler. Dies ist eventuell ein temporärer Bug. Abhilfe: Folgenden Code einfügen, wo das leere Objekt ausgegeben wird. 
 + 
 +<code typoscript>​ 
 + lib.searchfield = TEXT 
 + lib.searchfield.value > 
 +</​code>​ 
 + 
 + 
 +==== Auskommentierte Typoscript-Elemente im Fluidtemplate ==== 
 + 
 +Auch wenn ein cObject in einem auskommentierten Teil des Templates steht, scheint TYPO3 9 zu versuchen, dieses zu rendern. Fehlt es im Setup, wird im Frontend nur eine leere Seite mit dem allseits beliebten "Oops, an error occurred"​ ausgegeben. 
 +<code html> 
 +<!-- div> <​f:​cObject typoscriptObjectPath="​lib.notfoundcode"/>​ </​div-->​ 
 +</​code>​ 
 +===== Rechte der BE-User ===== 
 + 
 +Redakteure müssen Zugriff auf das URL-Segment haben, sonst bleibt das Feld leer, wenn der Redakteur eine neue Seite anlegt. 
 + 
 +Zugriffsliste -> Erlaubte Ausschlussfelder -> Seite -> URL-Segment (slug) 
 + 
 +===== Neue Syntax für TypoScript Conditions ===== 
 + 
 +TypoScript Conditions mit der Symfony Expression Language,  
 +vgl. [[https://​docs.typo3.org/​m/​typo3/​reference-typoscript/​master/​en-us/​Conditions/​Index.html|Typoscript Reference]] 
 + 
 +Eine bestimmte Seite: ''​[globalVar = TSFE:id = 123]''​ -> ''​%%[ page["​uid"​] == 123 ]%%''​\\ 
 +Eine bestimmte Seite und ihre Unterseiten:​ ''​[PIDinRootline = 123]''​ -> ''​[ 123 in tree.rootLineIds ]''​\\ 
 +Seite auf einer bestimmten Ebene: ''​[treeLevel = 0]'' ​ -> ''​[tree.level == 0]''​\\ 
 +Login eines beliebigen Benutzers: ''​[loginUser = *]''​ -> ''​[ loginUser('​*'​) ]''​\\ 
 +Eine Seite im Bereich 10-20: ''​%%[ page["​uid"​] in 10..20 ]%%''​ 
 + 
 +Beispiel: 
 +<code typoscript>​ 
 +[globalVar = TSFE:id = 1] || [globalVar = TSFE:id = 2] 
 +# ... 
 +[global] 
 +</​code>​ 
 +wird zu 
 +<code typoscript>​ 
 +[ page["​uid"​] == 1 || page["​uid"​] == 2 ] 
 +# ... 
 +[END] 
 +</​code>​ 
 + 
 +==== Seitensprache ==== 
 +Mit TYPO3 9.4 entfällt der L-Parameter,​ daher wird die Site-Configuration abgefragt: Aus 
 +<code typoscript>​ 
 + ​[globalVar = GP:L = 1] 
 +</​code>​ 
 +wird 
 +<code typoscript>​ 
 + ​[siteLanguage("​languageId"​) == "​1"​] 
 + 
 + // oder auch 
 + ​[siteLanguage("​title"​) == "​Deutsch"​] 
 +</​code>​ 
 + 
 +===== Optionale Änderungen (für TYPO3 10) ===== 
 + 
 + 
 +Die **Dateiendungen** für TypoScript und TSconfig werden ​vereinheitlicht:​
  
 TypoScript ''​.ts''​->​ ''​.typoscript''​\\ TypoScript ''​.ts''​->​ ''​.typoscript''​\\
 TSconfig ''​.txt''​ -> ''​.tsconfig''​ TSconfig ''​.txt''​ -> ''​.tsconfig''​
  
-Entsprechend muss der Pfad zu den inkludierten Dateien im Setup angepasst werden. Auch hier ist die Syntax einfacher geworden:+Entsprechend muss der Pfad zu den inkludierten Dateien ​in der **ext_localconf.php** und im **Setup** angepasst werden. ​ 
 + 
 +Auch hier ist die Syntax einfacher geworden:
  
 <code typoscript>​ <code typoscript>​
Zeile 61: Zeile 134:
   * Die meisten System-Extensions müssen nach dem Update von Hand aktiviert werden.   * Die meisten System-Extensions müssen nach dem Update von Hand aktiviert werden.
   * Deshalb muss man auch vor dem Update in der "all configuration"​ **[BE][loginSecurityLevel]** temporär von "​rsa"​ auf "​normal"​ setzen. Sonst klappt das BE-Login nicht.   * Deshalb muss man auch vor dem Update in der "all configuration"​ **[BE][loginSecurityLevel]** temporär von "​rsa"​ auf "​normal"​ setzen. Sonst klappt das BE-Login nicht.
 +
 +===== Troubleshooting =====
 +In TYPO3 8 können Extensions einfach deaktiviert werden, indem man den entsprechenden Eintrag in der PackageStates.php löscht.