Tag 7: Updates für Contao und OPTIMIST

Transkript

Moin und herzlich Willkommen zu Tag Sieben des Kurses „Bessere Websites mit OPTIMIST“. Heute sprechen wir über das Thema Updates – sowohl für Contao als auch für das Theme.

Aber bevor wir damit starten, müssen wir erstmal ein paar Tage zurückgehen, zu dem Tag, als du OPTIMIST installiert hast. Vielleicht hast du dich während der Installation von OPTIMIST mit Contao gefragt, was da eigentlich gerade im Hintergrund passiert.

Stell dir einfach vor, das OPTIMIST Theme wäre ein Fertighaus, dass du mit der Installation komplett ausgestattet, als inklusive Einbauküche, der Lila Couch im Wohnzimmer und Bildern an den Wänden übergeben bekommen hast.

Genau diese Schritte vom Bau bis zur Einrichtung durchläuft auch der Contao Manager bei der Installation von OPTIMIST und Contao. Zunächst werden alle notwendigen Komponenten zusammengestellt und heruntergeladen, dann wird alles nach dem Masterplan des Architekten – im Fall von OPTIMIST bin ich das – eingerichtet.

Ich habe nicht nur festgelegt, dass Contao mit den entsprechenden Erweiterungen wie der Grid-Erweiterung installiert werden soll, sondern auch, dass die Dateien aus dem Git-Repository, zum Beispiel in den Ordnern files und templates, bei der Erstinstallation in dein Projekt kopiert werden sollen.

Mit Schlüsselübergabe, dem Ende der OPTIMIST-Installation, gehört das Projekt dir. Du kannst damit nun machen, was du willst. Du kannst die Wände im Wohnzimmer in einer anderen Farbe streichen oder die Bilder an der Wand durch Bilder von der Familie austauschen. Du kannst sogar die neuen LED-Spots in der Decke gegen Hängeleuchten im Industrial-Look ersetzen.

Bezogen auf das OPTIMIST Theme wären das alles Änderungen, die du direkt im Theme machen würdest. Die Wandfarbe im Wohnzimmer könntest du über die _variables.scss ändern, während du die Wandbilder über das Contao Backend einfügst. Und die LED-Spots ein Codeblock für den Header, den du in der _layout.scss komplett entfernst und durch deine eigenen Anweisungen ersetzt.

Was passiert nun bei einem Update? Damit die ganzen Anpassungen, die du gemacht hast, bei einem Contao Update nicht überschrieben werden und du wieder vor einer weißen Wand mit LED-Leuchten in der Decke sitzt, werden die Dateien in files und templates nur bei der Ersteinrichtung kopiert. Bei Updates über den Contao Manager  oder Composer wird nur noch Contao mit den Erweiterungen aktualisiert.

Aber auch OPTIMIST bekommt ab und zu Updates. Das können kleine Verbesserungen, Fehlerbehebungen oder neue Funktionen sein. Auf unser Hausbeispiel bezogen, könnten das Rolläden an allen Schlafzimmer-Fenstern sein, die sich per Smart Home steuern lassen.

Wenn du diese praktischen Rolläden haben möchtest, dann bleibt dir leider nichts anderes übrig, als sie selbst nachzurüsten oder einen Spezialisten oder eine Spezialistin damit zu beauftragen. Das Gute ist, dass der Architekt die Baupläne zur Montage und Einrichtung öffentlich gemacht hat, du kannst also genau nachvollziehen, was sich von deiner Haus-Version gegenüber der neuen Version geändert hat und so die Rolläden nachrüsten.

Wenn du in OPTIMIST die neuesten Änderungen und Funktionen haben möchtest, dann bist du selbst dafür verantwortlich, diese Änderungen durchzuführen. Was sich geändert hat, kannst du, sofern es sich um Änderungen an den Dateien handelt, ganz einfach über Github nachvollziehen. Bei Änderungen an der Datenbank geht das aber leider nicht.

Vielleicht fragst du dich, ob es dann nicht besser wäre eine custom.scss außerhalb des Theme-Ordners zu verwenden. Das kannst du natürlich auch machen, dann profitierst du allerdings nicht mehr von der Datei- und Ordner-Struktur des Themes, über die ich im nächsten Video sprechen werde. Denn je mehr Änderungen du in deiner custom.scss machst, desto unübersichtlicher wird sie.

Außerdem wird das Theme dennoch nicht bei einem Update aktualisiert. Es gibt zwar einen Trick, indem du das Theme als ZIP-Datei herunterlädst und über das Contao Backend erneut importierst, aber um nochmal auf das Hausbeispiel zurückzukommen: die Verwendung einer custom.scss ist ein bisschen, als würde man  vor die weiße Wand noch eine zusätzliche, farbige Wand setzen, damit die weiße Wand weiß bleibt.

Deswegen ermutige ich dich, deine Änderungen am Layout direkt in den Theme-Dateien zu machen. Oder wie ein Baumarkt es lange Zeit zu sagen pflegte: „Mach es zu deinem Projekt.“

Ich melde mich schon bald wieder bei dir, dann mit einem Video, in dem ich dir die Datei-Struktur des Themes näher bringe und dir erkläre, wo du welche Anweisungen findest.

Bis dahin, machs gut und Erstma!