Contao-Updates
Patch/Bugfix-Version installieren
Section titled “Patch/Bugfix-Version installieren”über trakked oder manuell:
- Prüfen ob Composer Cloud aktiviert ist!
- BackupDB, composer.json, composer.lock sichern
- Update:
- CM: Alle Pakete aktualisieren
- Konsole:
$ composer updateeingeben
- Änderungen anwenden
- CM arbeitet …
- Datenbank aktualisieren:
- CM: Tools > Installtool oder Systemwartung > Datenbankmigrationen > Datenbank überprüfen
- Konsole:
$ php vendor/bin/contao-console contao:migrate
- ev. lokale Sicherung ergänzen
Minor Release
Section titled “Minor Release”- Prüfen ob Composer Cloud aktiviert ist!
- BackupDB, composer.json, composer.lock sichern
- Wartungsmodus aktivieren
- Update (siehe oben)
- Paket Contao > Zahnrad > neue Version eintragen
- Änderungen anwenden
- CM arbeitet …
- Datenbank aktualisieren (siehe oben)
- Änderungen lt. Changelog durchführen
- ev. lokale Sicherung ergänzen
von Contao 3.5
Section titled “von Contao 3.5”Wo krieg ich einen alten CM her? – Brauchts nicht, weil man kann ein Update direkt auf Contao 4.13 machen: Contao Update: Contao 3.5 auf 4.9 durchführen - Contao Academy
auf Contao 4.9
Section titled “auf Contao 4.9”Prüfen ob Composer Cloud aktiviert ist!
Composer 2 ist nur mit Contao 4.9.25 (?) und aufwärts kompatibel, daher besser direkt auf dem Server oder eine neue Installation parallel machen
PHP 8 wird ab Contao 4.9.10 unterstützt (Error reporting wurde angepasst)
- Kompatibilität der Erweiterungen prüfen
- benötigt eine der Erweiterungen den multicolumnwizard? → siehe unten
- wird euf_grid verwendet? das muss umgestellt werden → siehe unten
- wird dma_elementgenerator verwendet? -> der muss ersetzt werden
- Composer Resolver Cloud deaktiviert? → die sollte ev. zur Zeit doch aktiviert werden wegen Plugin-Fehler, oder ist der eh schon wieder gelöst?
- die aktuelle Major-Version auf den Letztstand bringen (siehe Bugfix)
Update
Section titled “Update”- ce_access ist ab 4.9 im Core: in der
composer.jsondas manager-bundle auf 4.9.35 stellen und ce_access entfernen, dann eine Paketaktualisierung machen
Spooky hat zwar mal geschrieben, manager-bundle auf 4.9.*, aber das kann auch crashen, wenn keine Version explizit angegeben ist - also vorsichtig sein. Sonst einfach die letzte Version eintragen und zum Schluss nicht vergessen, wieder ein Sternchen zu setzen, sonst bleibt die Version getagged - composer.json → manager-bundle auf 4.9.*, andere Erweiterungen auf 4.9, vollständige Paketaktualisierung,
composer update - DB muss in den strict mode versetzt werden (kommt kein Hinweis mehr)
- app/config → config
- app/resources/contao → contao
- app → löschen
- tinyMCE muss angepasst werden, wenn angepasstes vorhanden, am besten neu auf Basis 4.9
- .htaccess kontrollieren → https://contao-academy.de/contao-faq/seiten-lassen-sich-mit-und-ohne-index-php-aufrufen
Spezialfall euf_grid
Section titled “Spezialfall euf_grid”Vorab: Contao 4.13 funktioniert mit euf_grid 2.2 - eventuell braucht’s keinen Umstieg? (cms-ub.com)
euf_grid wird nicht mehr unterstützt, daher muss auf das contao-grid-bundle umgestiegen werden
das sollte wegen größerer Änderungen vorab lokal getestet werden!
- Zuerst euf_grid auf die letzte Version updaten, nach dem Update auf 4.13 auf contao-grid-bundle umsteigen
https://github.com/ErdmannFreunde/euf_grid
https://github.com/ErdmannFreunde/contao-grid-bundle
Spezialfall nutshell-framework
Section titled “Spezialfall nutshell-framework”composer.jsonanpassen, euf/nutshell-kit raushauen- Update auf 4.9, ce_access raus etc.
- Installtool
- nutshell 0.4.2 rein (nötig??)
- C 4.4 → 4.8: Konflikt mit Splash-Screen in YouTube, responsive Darstellung von E&F kollidiert mit dem Splash-Screen, wenn der drin ist → ersetzen
Spezialfall multicolumnwizard:
Section titled “Spezialfall multicolumnwizard:”Subcolumns, news4ward: Abhängigkeit multicolumnwizard → da gibt es ein bisschen Wirbel und mehrere Ansätze:
- auf die Erweiterung, die den multicolumnwizard benötigt, verzichten - beste Variante, weil alles andere endet in einer Endlosschleife im CM
- Zusatz
conflicts multicolumnwizard
4.12.0 und [menatwork/contao-multicolumnwizard-bundle]
https://contao.slack.com/archives/CLTUNH78X/p1667299642007049 - Was beim Update von 4.9 auf 4.13 letztendlich geholfen hat:
- vendor/menatwork/contao-multicolumnwizard löschen
- system/modules/contao-multicolumnwizard löschen (Symlink auf Vendor)
- var/cache löschen
- dann composer update
auf Contao 4.13
Section titled “auf Contao 4.13”Prüfen ob Composer Cloud aktiviert ist!
Vorbereitungen
Section titled “Vorbereitungen”- Seitenstruktur: im Startpunkt ist (ab 4.10/11/12?) automatisch https:// verwenden eingestellt, daher kann es nach dem Update zu einem Umleitungsfehler kommen, wenn das nicht vorher schon so war → Einstellung kontrollieren
- Seitenstruktur: auf Lokal ist meistens noch http:// verwenden eingestellt, das muss jetzt auf https:// umgestellt werden, sonst kann die Seite nie aufgerufen werden (weil FF ja jetzt ein Zerti hat)
- die PHP-Anforderungen in der composer.json prüfen - wenn alt, dann am besten ganz raus
- falls noch nicht passiert: auf PHP 8 updaten
Update
Section titled “Update”- CM: Zahnrad 4.13.* > Änderungen anwenden > Alle Pakete aktualisieren
Konsole:
$ composer updateeingeben - Bei Erfolg: Installtool aufrufen, DB aktualisieren, Löschen gut prüfen
mögliche Fehler: Script @php vendor/bin/contao-setup handling the post-install-cmd event returned with error code 1- Abhilfe:
4.9.x Composer Install Problem
Erweiterungen anpassen
- Zahnrad klicken
Nacharbeiten
Section titled “Nacharbeiten”- Changelog 4.10, 4.11, 4.12, 4.13 → https://github.com/contao/contao/blob/4.13/UPGRADE.md
Contao 4.10 - CSS-Klassen
.firstund.lastbei Artikeln und Inhaltselementen entfallen! ersetzen durch:first-child,:last-childbetrifft.grid-u-2-1,.grid-u-1-1-1, … - Umstieg auf tinyMCE 5: tinyMCE-Template anpassen, wenn angepasstes vorhanden
neue Codemirror-Version hochladen
wenn im tinyMCE Fehlermeldungen nach dem Update auftauchen, Browsercache löschen!
Das Feldstyleselectin der Toolbar nimmt immer den Wert des ausgewählten Styles an → sehr verwirrend!
Contao 4.11 - neue (dynamische) Sitemap in GSC anpassen:
<domain>/sitemap.xml - Google Webfonts, CDN jQuery/Mootools entfallen
Contao 4.12 - Datenbank-Server muss im Strict-Mode laufen (entfällt bei C 4.13 wieder!?)
Contao 4.13
Was ist neu in Contao 4.13 LTS? - pdir.de - eigener Seitentyp für Wartungsmodus: 503 → kann mit eigenen Inhalten befüllt werden
composer.jsonscripts anpassen/webam besten gleich auf/publicändern (insbesondere, wenn es schon eine Installation in der devilbox gibt):- Ordner umbenennen
- Document root beim Hoster anpassen
- Pfad in der
composer.jsonanpassen, falls vorhanden - nach dem Umbenennen den Prod-Cache leeren → wenn das nicht gemacht wird, **glaubt Contao, dass JavaScript im Browser deaktiviert ist! **((oder
composer updatemachen?)) - .htaccess kontrollieren → https://contao-academy.de/contao-faq/seiten-lassen-sich-mit-und-ohne-index-php-aufrufen ACHTUNG FALLE: nicht mit /index.html verwechseln!!!
- Datenbank-Zugangsdaten, SMTP-Daten von der parameters.yaml in die env.local eintragen, sicherheitshalber die parameters.yaml noch stehen lassen
- Sicherheitsupdates bis 02/2026
- Templates anpassen
/var/logsauf neue Fehlermeldungen prüfen
auf Contao 5.3
Section titled “auf Contao 5.3”Update von Contao 4.13 auf Contao 5.3
Update und Migration :: Contao Handbuch
Voraussetzungen
Section titled “Voraussetzungen”- 4.13 mit dem aktuellsten Bugfix-Update
- alle Erweiterungen sind kompatibel
- raus: subcolumns, sticky-backend-footer, easy-themes, linking-you - keine offenen DB-Migrationen
- PHP 8.1 oder höher
Vorbereitungen:
Section titled “Vorbereitungen:”- Website root von
web/zupublic/ändern → siehe 4.13 - Ordnerstruktur anpassen Contao-Doku
app/config/config.yaml→config/config.yaml
app/config/parameters.yaml→ wird zur.env.localVariable
app/Resources/contao/…→contao/…system/config/dcaconfig.php→contao/dca/tl_…phpsystem/config/langconfig.php→contao/languages/de/…phpsystem/config/localconfig.php→ kopierensystem/modules/*→ manuell prüfen auf Erweiterungen, die nicht über den CM installiert wurden
- Interne Stylesheets vorhanden? Ex- und Import als externe Stylesheets
- RSCE-Templates: neue Templates in den Ordner legen, sonst kommt eine Fehlermeldung
Update:
Section titled “Update:”-
In der
composer.json- die Versions-Anforderung auf
^5.0bzw. auf5.3.*ändern - Versions-Anforderungen der Erweiterungen auf die jeweils passende Version ändern
- falls Update von einer älteren Version:
scriptsanpassen, der CM macht das automatisch, bei Konsole kontrollieren - ev. zwei Schritte: zuerst nur Contao Core updaten und alle anderen Erweiterungen, die nicht in derselben Version installiert werden können, außen vor lassen, dann die neuen Erweiterungen dazu (sinnvoll wegen Abhängigkeiten?)
- die Versions-Anforderung auf
-
Änderungen anwenden, dabei vollständige Paketaktualisierung machen
-
CM: Migrationen und Datenbank-Updates starten
- Probleme? Ev. sind noch Module in system/modules, die da nicht reindürfen?
nach dem Update/Anpassungen:
Section titled “nach dem Update/Anpassungen:”Templates
Section titled “Templates”-
Twig-Templates
- aktuell sind nur die
ce_*Templates betroffen, es gibt legacy-Templates als fallback - RSCE-Templates im Inhaltselement neu definieren, dann können die alten Templates gelöscht werden
- aktuell sind nur die
-
TinyMCE 6 → angepasste Templates müssen wieder angepasst werden
-
angepasste Templates auf Änderungen prüfen bzw. nach Twig migrieren
- Änderungen:cspInlineStyles(Content Security Policy),$schemaOrg, Ausgabe von Author, Time, … in den News-Templates
ce_wird zucontent-in VSCode suchen und ersetzen, aber aufpassen auf z.B. news- in Textelementen kommt
.rtedazu (.tinymcein eigenen Templates!) - Bilder:
float_wird zumedia--.captionentfällt,figcaptionverwenden.image-containerentfällt,figureverwenden
- Tabellen:
.row_,.col_entfallen - Formulare:
.fieldsentfällt (z.B. bei Passwort ändern) - allgemein:
.first,.last,.even,.oddenfallen,:last-childetc. verwenden - eigene Layout-Bereiche:
.customgibt’s nicht mehr, die Bereiche bekommen eine eigene ID mit dem selbst vergebenen Namen, z.B.#contact-bar.
Sonstiges
Section titled “Sonstiges”- URL-Präfix/Suffix prüfen (Website-Startpunkt, config.yaml alt)
- .htaccess prüfen
- Mailadresse in den Systemeinstellungen prüfen (nicht riese-webdesign!)
{{post::*}}insert-tag zu{{form_session_data::*}}- Berechtigungen für neue Funktionen freigeben
- Info über Änderungen für Redakteure
- Accordeon neu (Slider analog dazu):
- neues Container-Element anlegen
- alle Elemente dort reinschieben
- Elementtyp auf Text ändern
- Bereichsüberschrift ergänzen - Module:
- Passwort vergessen Link nicht mehr nötig, ist im Login-Modul enthalten, Password-Reset-Seite hinzufügen??
- Logout-Modul löschen und durch Abmeldeseite ersetzen - Formulare:
- Versand prüfen
- Weiterleitungsseite nicht mehr nötig, Bestätigungsmeldung auf der Kontaktformularseite → wenn keine Bestätigungsseite genutzt wird, sollte die Option “Formulardaten in der Session speichern” deaktiviert werden - Formulareingaben nur bei Bedarf in Session speichern → siehe trakked
- Backend-Breitenbeschränkung einrichten → siehe trakked
- Ordner layout auf public setzen! Das muss offenbar direkt im Ordner in Contao passieren, die
.publicDatei mitkopieren reicht nicht
Lokales Update auf Live-Seite bringen:
Section titled “Lokales Update auf Live-Seite bringen:”composer.json und composer.lock hochladen und dann nur ein composer install machen, kein composer update
auf Contao 5.4
Section titled “auf Contao 5.4”- ALTCHA-Anti-Spam für Formulare: alte Sicherheitsabfrage deaktivieren, Feld ALTCHA Anti-Spam anlegen
- ARIA-Label für Navigationsmodule
- TinyMCE 7
auf Contao 5.5
Section titled “auf Contao 5.5”- autocomplete-Attribut bei Formularen einfügen
- title-Attribut für iframes (YouTube, Vimeo)
- Untertitel für Videos
auf Contao 5.6
Section titled “auf Contao 5.6”- Template be_tinyMCE.html5 anpassen (schon wieder oder ist das eh die Version von Contao 5.4?)
auf Contao 5.7
Section titled “auf Contao 5.7”vor dem Update
Section titled “vor dem Update”- lukasbableck/contao-better-elementgoups-bundle muss vorerst leider wieder raus issue auf github
nach dem Update
Section titled “nach dem Update”- Seitenbreite kann bei den persönlichen Einstellungen angepasst werden, d.h., die
config.yamlmuss angepasst werden, sonst werden die Einstellungen im Profil nicht übernommen - Template be_tinyMCE.html5 anpassen (geringfügige Anpassungen ggü. 5.6)
Kompatibilität prüfen
Section titled “Kompatibilität prüfen”Tilde ~ und Caret ^ Constraints in Composer
Section titled “Tilde ~ und Caret ^ Constraints in Composer”Quelle: docs.contao.ninja
| Tilde ~ | Caret ^ | ||
|---|---|---|---|
| ~ 4.1.3 | >= 4.1.3, < 4.2.0 | ^ 4.1.3 | >= 4.1.3, < 5.0.0 |
| ~ 4.1 | >= 4.1.0, < 5.0.0 | ^ 4.1 | >= 4.1.0, < 5.0.0 |
| ~ 0.4 | >= 0.4.0, < 1.0.0 | ^ 0.4 | >= 0.4.0, < 0.5.0 |
| ~ 4 | >= 4.0.0, < 5.0.0 | ^ 4 | >= 4.0.0, < 5.0.0 |
~ 4.1 wird oft genutzt, ^4.1 ist genau gleich
~ 4 und ^4 sind auch gleich
~ 0.4 und ^0.4 sind nicht gleich, ^0.4 ist nützlich für Abwärtskompatibilität
Codemirror
Section titled “Codemirror”https://github.com/jmulet/moodle-tiny_codepro/tree/master
https://community.contao.org/de/showthread.php?65828-Plugin-quot-codemirror-quot-zum-TinyMCE-hinzufügen-funktioniert-nicht-so-ganz