Skip to content

Contao-Updates

über trakked oder manuell:

  • Prüfen ob Composer Cloud aktiviert ist!
  • BackupDB, composer.json, composer.lock sichern
  • Update:
    • CM: Alle Pakete aktualisieren
    • Konsole: $ composer update eingeben
  • Ä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
  • 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

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

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)   
  • ce_access ist ab 4.9 im Core: in der composer.json das 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

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!

  • composer.json anpassen, 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

Subcolumns, news4ward: Abhängigkeit multicolumnwizard → da gibt es ein bisschen Wirbel und mehrere Ansätze:


Prüfen ob Composer Cloud aktiviert ist!

  • 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

  • CM: Zahnrad 4.13.* > Änderungen anwenden > Alle Pakete aktualisieren Konsole: $ composer update eingeben
  • 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

  • Changelog 4.10, 4.11, 4.12, 4.13 → https://github.com/contao/contao/blob/4.13/UPGRADE.md
    Contao 4.10
  • CSS-Klassen .first und .last bei Artikeln und Inhaltselementen entfallen! ersetzen durch :first-child, :last-child betrifft .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 Feld styleselect in 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.json scripts anpassen
  • /web am 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.json anpassen, falls vorhanden
  • nach dem Umbenennen den Prod-Cache leeren → wenn das nicht gemacht wird, **glaubt Contao, dass JavaScript im Browser deaktiviert ist! **((oder composer update machen?))
  • .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/logs auf neue Fehlermeldungen prüfen

Update von Contao 4.13 auf Contao 5.3
Update und Migration :: Contao Handbuch

  • 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
  • Website root von web/ zu public/ ändern → siehe 4.13
  • Ordnerstruktur anpassen Contao-Doku
  • app/config/config.yamlconfig/config.yaml
  • app/config/parameters.yaml → wird zur .env.local Variable
  • app/Resources/contao/…contao/…
  • system/config/dcaconfig.phpcontao/dca/tl_…php
  • system/config/langconfig.phpcontao/languages/de/…php
  • system/config/localconfig.php → kopieren
  • system/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
  • In der composer.json

    • die Versions-Anforderung auf ^5.0 bzw. auf 5.3.* ändern
    • Versions-Anforderungen der Erweiterungen auf die jeweils passende Version ändern
    • falls Update von einer älteren Version: scripts anpassen, 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?)
  • Ä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?

  • 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
  • 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 zu content- in VSCode suchen und ersetzen, aber aufpassen auf z.B. news
  • in Textelementen kommt .rte dazu (.tinymce in eigenen Templates!)
  • Bilder:
    • float_ wird zu media--
    • .caption entfällt, figcaption verwenden
    • .image-container entfällt, figure verwenden
  • Tabellen: .row_, .col_ entfallen
  • Formulare: .fields entfällt (z.B. bei Passwort ändern)
  • allgemein: .first, .last, .even, .odd enfallen, :last-child etc. verwenden
  • eigene Layout-Bereiche: .custom gibt’s nicht mehr, die Bereiche bekommen eine eigene ID mit dem selbst vergebenen Namen, z.B. #contact-bar.
  • 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 .public Datei mitkopieren reicht nicht

composer.json und composer.lock hochladen und dann nur ein composer install machen, kein composer update

  • ALTCHA-Anti-Spam für Formulare: alte Sicherheitsabfrage deaktivieren, Feld ALTCHA Anti-Spam anlegen
  • ARIA-Label für Navigationsmodule
  • TinyMCE 7
  • autocomplete-Attribut bei Formularen einfügen
  • title-Attribut für iframes (YouTube, Vimeo)
  • Untertitel für Videos
  • Template be_tinyMCE.html5 anpassen (schon wieder oder ist das eh die Version von Contao 5.4?)
  • lukasbableck/contao-better-elementgoups-bundle muss vorerst leider wieder raus issue auf github
  • Seitenbreite kann bei den persönlichen Einstellungen angepasst werden, d.h., die config.yaml muss angepasst werden, sonst werden die Einstellungen im Profil nicht übernommen
  • Template be_tinyMCE.html5 anpassen (geringfügige Anpassungen ggü. 5.6)

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

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