Contao: Wartungshelferlein

Die Wartung einer Contao Website ist an Komfort ja kaum zu übertreffen: Aus dem Backend heraus kann man gelegentlich Tabellen leeren und alte temporäre Dateien löschen und mit der Live Update ID ist ein Update von einer Version auf die nächste eine Sache von Sekunden - nur das Backup (das man nicht vergessen sollte) dauert etwas länger.

Manchmal aber muss man das Ein oder Andere umstellen und die Website kurz “unsichtbar” machen, damit sich vorbeikommende Besucher nicht wundern, wenn’s mal “ruckelt”, sich die Bilder ändern oder ein Link nicht funktioniert wie er soll.

Der Kunde hat es in vielen Fällen gerne einfach. Er mag das nicht groß planen müssen, er mag nicht drüber nachdenken müssen. Er will einen Knopf drücken, auf dem “Wartungsmodus” steht und gut ist es. Insbesondere aber will auch der Kunde oder design-affine Webmacher sich nicht mit Redirects verkünsteln. Und das Wort “Testsystem” - das hören ja auch nicht viele wirklich gern.

Mit der Erweiterung kann man es genau so machen.

Aktuell zum Test verwendete Contao Version: 2.9.4

Maintenance liegt derzeit in Version 0.4.1 rc2 vor - eigentlich natürlich ein Stadium, in dem ich nicht grundsätzlich empfehlen würde, eine Erweiterung wirklich im Produktiveinsatz zu nutzen.  Der Entwickler schreibt aber selbst:

Die Version läuft schon sehr stabil, wenn keine Probleme vorkommen da[nn] ist die nächste eine Stable.

und ich finde, man kann das so stehen lassen (wobei ich das Hilpfsprogramm zwar genutzt, aber nicht auf Herz und Nieren getestet habe).

Maintenance ist schnell installiert und wie es funktioniert beschreibt eigentlich schon der Erweiterungskatalog:

So wirds gemacht

Zunächst benötigt man in seiner Seitenstruktur eine Wartungsseite mit freundlichem Text.
Zusätzlich wird man wahrscheinlich auch ein “Wartungsseitenlayout” erstellen müssen. Die Meldung, dass die Seite gerade gewartet wird, soll schließlich alleine und unmissverständlich lesbar dargestellt werden können. Es reicht also, dem Seitenlayout einen Hauptbereich zu geben, in dem der Artikel steht, linke und rechte Seite kann man sich sparen. Vielleicht noch ein bisschen CSS hinterher?
Man legt dann noch den Artikel mit zugehörigem Text an und schon ist alles erledigt.

Halt: die Wartungsseite muss natürlich im Menü versteckt werden… Veröffentlichen allerdings sollten Sie die Seite natürlich schon.

Im nächsten Schritt muss pro Theme ein Maintenance Modul angelegt werden. Dieses ist rein funktional. Es wird dann in jedes Seitenlayout des Themes eingebunden. Die Position ist dabei vollkommen egal - das Modul kümmert sich nur um die Wartung (so der Wartungsmodus aktiv ist) und ist ansonsten wie nicht existent.

Innerhalb des Wartungsmoduls sind einige einfache Einstellungen vorzunehmen:

  1. Welches ist die Wartungsseite?
  2. Welches ist die Startseite nach Beendigung des Wartungsmodus (i.A. ist das die Startseite der gesamten Website)

Schon kann es losgehen:

Wann immer man die Seite in den Wartungsmodus bringen möchte, wechselt man in die System-Einstellungen und aktiviert dort den/die Root-Seiten der Seitenstruktur, deren Seiten einer Wartung unterzogen werden. Man legt also mit der Wartung nicht gleich das gesamte Frontend “lahm” - man kann das domain-spezifisch (oder besser Seitenstruktur-spezifisch) einschränken.

Ist die Wartung beendet, deaktiviert man die entsprechende Checkbox wieder.

Aber ich sehe selbst meine Seite nicht…

Damit man selbst während der Wartung nicht im Dunkeln tappt, bietet die Erweiterung noch einen zusätzlichen Komfort.

Für das Wartungsmodul kann in den Systemeinstellungen angegeben werden, welche Frontend-Benutzergruppen (also Contao Mitglieder) die Website trotz Wartungsmodus sehen dürfen. Hat man sich eine solche Gruppe samt User erstellt (ich würde sehr dafür plädieren, einen Mitglieder-Account zu erstellen, der nur dafür zuständig ist und sonst keine Funktion hat), ruft man über den Administrationsbereich die Frontend-Vorschau auf und “simuliert” dort den angemeldeten “Wartungsnutzer”: die Website ist sichtbar und man kann nach Belieben Änderungen vornehmen, die dem Rest der Welt in diesem Moment verborgen bleiben.

Fazit

Ein praktisches, unkompliziertes Helferlein für kleinere Umstellungen, die  nicht “on the fly” zu machen sind, aber trotzdem kein komplettes Testsystem erfordern.

Die Erweiterung ist leider nur bis 2.7.2 getestet, die Datei wurde aber laut Erweiterungskatalog erst im März wieder aktualisiert. Man findet sie daher auch nicht ganz so einfach über den Erweiterungskatalog im Administrationsbackend.

 

4 Antworten zum Beitrag “Contao: Wartungshelferlein”

  1. am 07 Mai 11 um 11:58 meint

    Hallo Anne-Kathrin,

    vielen Dank für diesen Tipp. Mit welcher Contao-Version hast du die Erweiterung denn getestet?

  2. am 07 Mai 11 um 12:04 meint

    Anne-Kathrin

    Hallo Daniel,

    erst dieser Tage mit 2.9.4.
    Ich hab es gleich im Text ergänzt, danke für den Hinweis.

    Anne-Kathrin

  3. am 11 Mai 11 um 18:38 meint

    Nina

    Noch eine Kleinigkeit: Man sollte die Wartungsseite auch so einstellen, dass der Text darauf nicht in den Contao-Suchindex aufgenommen wird ;)

  4. am 11 Mai 11 um 18:47 meint

    Anne-Kathrin

    Danke, Nina!
    Hab grad ganz entsetzt auf meine letzte Contao Site geschaut, wo ich die Erweiterung im Schnellverfahren installiert hatte, ob ich das auch wirklich nicht vergessen habe ;-) (Es war alles in Ordnung).

Auch was dazu sagen?