Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
typo3:administration:update [12.11.2019 13:45] – [Update von 8.7 auf 9.5] Monika Schneiders | typo3:administration:update [28.02.2024 14:08] (aktuell) – [Kopie der TYPO3-Site bei jweiland.net erstellen] Monika Schneiders | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
- neue Datenbank im Kundenmenü anlegen | - neue Datenbank im Kundenmenü anlegen | ||
- Backup der alten DB erstellen: '' | - Backup der alten DB erstellen: '' | ||
- | - dieses in die neue DB einspielen: '' | + | - dieses in die neue DB einspielen: '' |
- in der LocalConfiguration.php (resp. localconf.php) neue Datenbank eintragen (User, Passwort, Name) | - in der LocalConfiguration.php (resp. localconf.php) neue Datenbank eintragen (User, Passwort, Name) | ||
- Subdomain anlegen, die auf den neuen Ordner zeigt | - Subdomain anlegen, die auf den neuen Ordner zeigt | ||
- | - in den Templates des kopierten TYPO3 die baseURL | + | - in der YAML-Seitenkonfiguration |
[[typo3: | [[typo3: | ||
+ | |||
+ | [[mysql: | ||
+ | |||
+ | |||
+ | **[[typo3: | ||
+ | Update von TYPO3 11.5 auf 12.4]]** | ||
+ | |||
+ | [[typo3: | ||
+ | Update von 10.4 auf 11.5 bei jweiland.net]] | ||
+ | ====== Update von 9.5 auf 10.4 ====== | ||
+ | |||
+ | Systemvoraussetzungen: | ||
+ | |||
+ | - **Extensions** aktualisieren so weit wie möglich, **Referenz-Index** aktualisieren (in der Shell z.B. mit '' | ||
+ | - nicht-kompatible Extensions deaktivieren | ||
+ | - **eigene Template-Extension** deaktivieren und anpassen (s.u.) | ||
+ | - Quellcode entpacken | ||
+ | - Symlink bearbeiten | ||
+ | - **index.php** aus dem entpackten Quellcode in das Projektverzeichnis kopieren und anpassen (s.u.) | ||
+ | - **Browser-Cache** löschen | ||
+ | - Install-Tool aktivieren und unter ''/ | ||
+ | - **Upgrade wizard** und **Database analyzer** komplett durchlaufen und erst dann die Template-Extension wieder aktivieren | ||
+ | |||
+ | s. a. https:// | ||
+ | |||
+ | [[typo3: | ||
+ | ===== index.php anpassen ===== | ||
+ | |||
+ | <code php> | ||
+ | $classLoader = require __DIR__.'/ | ||
+ | // wird zu: | ||
+ | $classLoader = require __DIR__.'/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Eigene Template-Extension ===== | ||
+ | |||
+ | Der Link zum Einbinden des statischen Templates liegt nicht mehr auf der obersten Ebene in der Datei '' | ||
+ | '' | ||
+ | |||
+ | <code php> | ||
+ | \TYPO3\CMS\Core\Utility\ExtensionManagementUtility:: | ||
+ | // wird zu: | ||
+ | \TYPO3\CMS\Core\Utility\ExtensionManagementUtility:: | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Troubleshooting ===== | ||
+ | * Wenn die Detail-Ansicht der **News** das allseits beliebte "oops, an error occured" | ||
+ | * Für ein Kategorienmenü der **News** wird nun das Feld //slug// der Kategorien verwendet. Dieses muss also i.d.R. noch befüllt werden. | ||
+ | * Die Installation einer neuen Version der **eigenen Template-Extension** funktioniert komischerweise nur, wenn die Einstellung des Extensionmanagers '' | ||
+ | * Falls das **felogin** auf der temporären Domain nicht funktioniert, | ||
+ | |||
+ | |||
====== 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**, | + | Wie bei jedem Update starten wir mit einer **Kopie** (s.o.), überprüfen die Kompatibilität der **Extensions**, |
:!: Anforderung: | :!: Anforderung: | ||
:!: Configuration Presets auf " | :!: Configuration Presets auf " | ||
+ | |||
+ | :!: Seiten, die nicht in der URL erscheinen sollen, auf " | ||
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 29: | Zeile 89: | ||
... ersetzt sozusagen RealURL und baseURL. | ... ersetzt sozusagen RealURL und baseURL. | ||
- | Im Reiter Allgemein: | + | Im Reiter |
* 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 |
* Titel: Deutsch | * Titel: Deutsch | ||
* Sprachschlüssel für XLF-Dateien: | * Sprachschlüssel für XLF-Dateien: | ||
Zeile 41: | Zeile 101: | ||
* Sprachkürzel nach RFC 1766/3066: de-DE | * Sprachkürzel nach RFC 1766/3066: de-DE | ||
* ggf. noch Flaggensymbol: | * ggf. noch Flaggensymbol: | ||
+ | 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 |
- | ===== Optionale Änderungen ===== | + | Die Konfiguration wird in '' |
- | Die **Dateiendungen** für TypoScript und TSconfig | + | ===== Troubleshooting ===== |
+ | |||
+ | ==== Leere Typoscript-Objekte ==== | ||
+ | |||
+ | Leere Typoscript-Objekte führen zu einem Fehler. Abhilfe: Folgenden Code einfügen, wo das leere Objekt ausgegeben wird. | ||
+ | |||
+ | <code typoscript> | ||
+ | lib.searchfield = TEXT | ||
+ | lib.searchfield.value > | ||
+ | </ | ||
+ | |||
+ | === Fehlerhafte Pfadangaben === | ||
+ | |||
+ | Auch wenn im Fluid-Template Typoscript-Objekte aufgerufen werden, die es nicht gibt oder zu denen der Pfad nicht stimmt, werden die Templates nicht gerendert. | ||
+ | |||
+ | === 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" | ||
+ | <code html> | ||
+ | <!-- div> < | ||
+ | </ | ||
+ | |||
+ | ==== index.php ==== | ||
+ | |||
+ | Bei manchen Updates muss hier schon die Datei wie unter [[update# | ||
+ | ===== 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) | ||
+ | |||
+ | Das gilt natürlich auch für Extensions, also z.B. bei [news]: | ||
+ | |||
+ | Zugriffsliste -> Erlaubte Ausschlussfelder -> Artikel -> Sprechende URL Pfadabschnitt (path_segment) | ||
+ | |||
+ | ===== Neue Syntax für TypoScript Conditions ===== | ||
+ | |||
+ | TypoScript Conditions mit der [[https:// | ||
+ | vgl. [[https:// | ||
+ | |||
+ | Eine bestimmte Seite: '' | ||
+ | Eine bestimmte Seite und ihre Unterseiten: | ||
+ | Seite auf einer bestimmten Ebene: '' | ||
+ | Login eines beliebigen Benutzers: '' | ||
+ | Eine Seite im Bereich 10-20: '' | ||
+ | |||
+ | Beispiel: | ||
+ | <code typoscript> | ||
+ | [globalVar = TSFE:id = 1] || [globalVar = TSFE:id = 2] | ||
+ | # ... | ||
+ | [global] | ||
+ | </ | ||
+ | wird zu | ||
+ | <code typoscript> | ||
+ | [ page[" | ||
+ | # ... | ||
+ | [END] | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Seitensprache ==== | ||
+ | Mit TYPO3 9.4 entfällt der L-Parameter, | ||
+ | <code typoscript> | ||
+ | | ||
+ | </ | ||
+ | wird | ||
+ | <code typoscript> | ||
+ | | ||
+ | |||
+ | // oder auch | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | Beispiel: Sprache im '' | ||
+ | <code typoscript> | ||
+ | page.config.htmlTag_setParams = class=" | ||
+ | [globalVar = GP:L = 1] | ||
+ | page.config.htmlTag_setParams = class=" | ||
+ | [global] | ||
+ | </ | ||
+ | wird zu | ||
+ | <code typoscript> | ||
+ | page.config.htmlTag_setParams = class=" | ||
+ | [siteLanguage(" | ||
+ | page.config.htmlTag_setParams = class=" | ||
+ | [END] | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Optionale Änderungen (für TYPO3 10) ===== | ||
+ | |||
+ | |||
+ | Die **Dateiendungen** für TypoScript und TSconfig werden | ||
TypoScript '' | TypoScript '' | ||
TSconfig '' | 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 |
+ | |||
+ | Auch hier ist die Syntax einfacher geworden: | ||
<code typoscript> | <code typoscript> | ||
@import " | @import " | ||
</ | </ | ||
- | ====== Update von 7.6 auf 8.7.20 ====== | + | ====== Update von 7.6 auf 8.7 ====== |
... geht eigentlich genauso wie das [[# | ... geht eigentlich genauso wie das [[# | ||
Zeile 63: | Zeile 219: | ||
* 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" | * Deshalb muss man auch vor dem Update in der "all configuration" | ||
+ | * **index.php** nicht austauschen. | ||
+ | * Vor dem Aufruf des Install-Tools den Ordner **typo3temp** leeren. | ||
+ | * Ext. **news** trotz Kompatibilität vor dem Update deaktivieren. Nach dem Durchlaufen des Upgrade-Wizard und dem Aktivieren der Extension muss man den Task **Row updater: Scan for old "< | ||
+ | * PHP von FastCGI auf **EXTENDED** umstellen. | ||
+ | |||
+ | ===== Troubleshooting ===== | ||
+ | In TYPO3 8 können Extensions einfach deaktiviert werden, indem man den entsprechenden Eintrag in der PackageStates.php löscht. | ||
Zeile 84: | Zeile 247: | ||
===== CSS styled content ===== | ===== CSS styled content ===== | ||
- | Die Klasse '' | + | Die Klasse '' |
'' | '' | ||
Zeile 133: | Zeile 296: | ||
ln -s ../ | ln -s ../ | ||
- index.php aus dem Quellcode- in das Projektverzeichnis kopieren | - index.php aus dem Quellcode- in das Projektverzeichnis kopieren | ||
- | - **Install-Tool** freischalten und im Browser unter '' | + | - **Install-Tool** freischalten und im Browser unter '' |
- ggf. " | - ggf. " | ||
- " | - " | ||
Zeile 182: | Zeile 345: | ||
- **Immer** an einer Kopie der Seite arbeiten, da mit hoher Wahrscheinlichkeit irgendetwas zumindest zeitweise nicht funktioniert. | - **Immer** an einer Kopie der Seite arbeiten, da mit hoher Wahrscheinlichkeit irgendetwas zumindest zeitweise nicht funktioniert. | ||
- PHP-Version überprüfen (mindesten 5.4) und im PHP.INI-Editor max_execution_time = " | - PHP-Version überprüfen (mindesten 5.4) und im PHP.INI-Editor max_execution_time = " | ||
+ | - prüfen, ob die Passwörter verschlüsselt sind, sonst per Scheduler Task nachholen, vgl. [[https:// | ||
- Extensions überprüfen und, falls möglich, updaten auf die neueste Version, die noch mit 4.5 kompatibel ist. Andere Erweiterungen am besten deinstallieren. | - Extensions überprüfen und, falls möglich, updaten auf die neueste Version, die noch mit 4.5 kompatibel ist. Andere Erweiterungen am besten deinstallieren. | ||
- optional: Verzeichnis '' | - optional: Verzeichnis '' |