a01a04a05a03a02
Sie sind hier: Startseite > Maintenance-Mode - Projekt

Einige Bereiche dieser Website benötigen zu ihrer Funktion sogenannte SESSION-Cookies, die jedoch keine Daten enthalten, die sich auf Sie, Ihren Webclient oder Ihr Gerät (PC oder Mobil-Gerät) beziehen (also keine personenbezogenen Daten).
Es werden lediglich seiteninterne Werte gespeichert.

Wir hätten gerne Ihre Erlaubnis evtl. weitere Cookies auf Ihrem Rechner zu platzieren. - Erfahren sie mehr über diese Cookies in unserer Cookie Policy.

Letzte Bearbeitung:

Maintenance-Mode - ein Projekt wird zum Plugin


Edit 30.11.2019
Holger Irmler hat mit Unterstützung einer Reihe engagierter Community-Mitglieder ein schönes Plugin fertiggestellt.
Das fertige Plugin ist hier zu finden: https://github.com/TN03/maintenance_xh 
Beachten Sie unbedingt, dass der hochzuladende Ordner des Plugins nur "maintenance" heißt, nicht maintenance_xh und auch nicht maintenance_xh-master! Sie müssen deshalb den entpackten Ordner vor dem Hochladen umbenennen oder nachher den Ordner auf dem Server umbenennen!

November 2019

Als ich noch mit WordPress gearbeitet habe, habe ich den Maintenance-Mode sehr zu schätzen gewusst.
Jetzt, bei CMSimple_HX, war ich nicht gerade glücklich feststellen zu müssen, dass das vorhandene Plugin mit der aktuellen Version von CMSimple nicht mehr komatibel ist.

Ein Workaround wäre natürlich gewesen, die Änderungen in einem lokalen Testserver vorzunehmen und nach Testung die Änderungen per FTP hochzuladen. Da ja keine Datenbank involviert ist, ist dies ohne weiteres möglich.

Der Nachteil dieser Methode ist natürlich, dass dies nur geht, wenn ich entweder am richtigen PC sitze oder zumindest einen USB-Stick mit allen erforderlichen Programmen incl. einem aktuellen Download des Web dabei habe.

Eine Änderung (ohne dass dabei das Web online ist) vom Android-Gerät aus oder einem Fremdrechner aus geht so nicht.

Wenn größere Umbauten / Änderungen / Wartungen notwendig sind, kann man den Surfer nur durch eine vorgeschaltete Ebene mit Benutzeranmeldung von der eigentlichen Website fern halten. Bei den Providern, mit denen ich bisher gearbeitet habe, war und ist es relativ einfach die Domain von dem einen auf das andere Verzeichnis umzuleiten. Diese Methode hat jedoch den Nachteil, dass sie zum einen relativ unbequem ist und, was viel wichtiger ist, zum anderen während des Wartungsmodus die absoluten Server-Pfade sich ändern. Dadurch gestaltet sich unter Umständen das Scripting von eigenen Tools aufwändiger, weil sie sich zwingend auf relative Pfadangaben beschränken müssen oder den absoluten Serverpfad ermitteln und verwenden müssen.

Ausserdem beinflusst die in einem erheblichen Maße die Suchmaschinen-Indexe negativ!

Deshalb:

Sehen wir mal, ob ich sowas zu Wege bringe!

Vorausgeschickt: Ende der 70iger, Anfang der 80iger habe ich mich mit echter Programmierung beschäftigt. Commodore-Basic, etwas Assembler, Fortran und ein wenig PL1 waren meine Betätigungsfelder zu Hause und im Studium. In dieser Zeit habe ich tatsächlich mal eine Textverarbeitungssoftware in Basic für den Commodor-8032 geschrieben (lief dann im Arbeitseinsatz auf dem Sekretärinen-Arbeitsplatz unserer Firma). Auch einen Pre-Compiler habe ich in dieser Zeit marktreif bekommen. Da ich dann aber, nach dem plötzlichen Tod meines ältern Bruders, das Familien-Handwerksunternehmen übernehmen durfte/mußte brach ich das Studium, und damit meine Programmierer-Karriere, ab. Mit Webseiten hab ich mich von Anfang an beschäftigt, auch mit MS-DOS-Batches, jedoch nie mit PHP !

Wenn ich jetzt etwas PHP-codiere sieht das so aus: PC mit 2 Monitoren, auf dem einen Monitor der Editor, auf dem anderen Monitor ein Browser mit x Fenstern zu PHP- und HTML- und CSS-Tutorials.

Alles in allem sehr langsam und mühsam.

Der geneigte Leser möge also Verständnis dafür haben, wenn ich mich jetzt (Herbst 2019) nicht auch noch durch die Anleitung zur Erstellung von Plugins für CMSimple_XH kämpfe. Dafür fühle ich mich z.Zt. einfach nicht fit genug. Ausserdem hatten meine Frau und ich andere Vorstellungen von der Ruhestands-Freizeitgestaltung (jedenfalls nicht wochenlang von morgens bis morgens {kein Schreibfehler} am PC zu sitzen. Genau das tue ich gerade zum Zeitpunkt, da ich diesen Artikel schreibe.

Also, drauf und dran!

Um den Weg, den ich beschritten habe, am besten zu verstehen, möge man sich vor Augen halten, das ich bei vermeindlich kleinen Projekten ohne schriftliche Planung arbeite (mit dem Hintergrundwissen: " - da war doch diese/r Funktion/Befehl, war das jetzt Batch, Basic, Fortran oder PHP? - "). Komplexes CSS ist für mich zu schwierig.

Ausgang meiner Überlegungen war: Nach Möglichkeit sollte die Gestaltung der Benutzeroberfläche und der Maintenance-Mode-Seite innerhalb von CMSimple_XH möglich ein. Der Admin sollte durch die Sperrseite durch kommen ohne FTP zu Hilfe zu nehmen.

Diese Anforderungen könnten erfüllt werden, wenn der nicht angemeldete Surfer im Maintenance-Modus auf eine bestimmte Seite umgeleitet wird. Wäre das alles, würde der Surfer dann aber irritiert werden, wenn ein Klick ins Menu doch nur wieder zur Sperrseite führt. Daher müssen alle Menü-Links etc. im Maintenance-Mode weg.

Um zu vermeiden, dass eine externe, nicht über CMSimple_XH editierbare Seite erstellt werden muß, die dann als Sperrseite dient, muß ein zweites Template her, bei dem so gut wie alles, was zur Navigation dient, entfernt wurde (einzelnen Seiten, hier die Maintenace-Sperrseite, läßt sich ein separates Template zuweisen, CMSimple_XH - Funktion).

Das hin- und her-schalten des Modus kann durch ein PHP-Script erfolgen. Als Merker für den Schaltzustand des Modus kann eine Datei dienen. Die Benutzeroberfläche des Maintenance-Modes kann innerhalb des CMS liegen, wobei die funktionalen PHP-Scripte via <iframe> eingebunden werden.

Also leigt das Interface innerhalb des CMS, die Funktionen außerhalb des CMS und -tadaaaa- für die Weiterleitung muß in das Template der produktiven Seite eingegriffen werden.

Da ich, wie gesagt, keine Ahnung habe, wie ich ein Plugin bauen kann, oder die userfunc.php dafür benutzen kann, füge ich tatsächlich im Template den Aufruf einer externen PHP-Datei ein.

try and error

Das war mehr oder weniger die Entwicklungsmethode. Und das ist dabei raus gekommen (siehe Unterseiten).

Ein bitte hätte ich noch

Kann bitte jemand, der sich damit auskennt ein Plugin zu bauen oder zumindest weiß wie mam mittels userfunc.php eigenen php-code ausgeführt bekommt, das Ganze in ein Paket verwandeln, das sich mit weniger Handarbeit einrichten läßt.

Bis jetzt haben meine Tests ergeben, dass meine Lösung funktioniert. Die Einrichung ist aber eine Frickelei.

Aktualisierung 30.11.2019:

Holger Irmler hat sich mittlerweile meiner erbarmt und mit Unterstützung einer Reihe engagierter Community-Mitglieder ein schönes Plugin vertiggestellt.

Forumsdiskussion: https:/https://cmsimpleforum.com/viewtopic.php?f=16&t=15669

Das fertige Plugin ist hier zu finden: https://github.com/TN03/maintenance_xh 


Seitenanfang

Please activate JavaScript in your browser.

» Sitemap