Keymaster_XH - ein CMSimple_XH Plugin

Keymaster_XH ermöglicht es den Administrationsbereich einer CMSimple_XH Website zu sperren, wenn bereits ein Anwender angemeldet ist. Das ist nötig, wenn mehr als ein Anwender Zugriff auf das Back-End hat, da das Back-End von CMSimple_XH keine Vorkehrung bzgl. gleichzeitiger Bearbeitung trifft. Um zu verhindern, dass die Website für immer gesperrt ist, wenn ein Anwender vergisst sich ordnungsgemäß abzumelden, ist die Anmeldung für andere Anwender nach einem einstellbaren Zeitraum der Inaktivität wieder möglich.

Bitte lesen Sie diese Dokumentation bevor Sie auf Probleme stoßen!

Wichtiger Hinweis

Keymaster_XH konnte bisher nicht in diversen Umgebungen getestet werden. Es ist eine so genannte Beta Version. Vorsicht bei der Verwendung!

Voraussetzungen

Keymaster_XH ist ein Plugin für CMSimple_XH. Es benötigt eine UTF-8 kodierte Version.

Installation

Die Installation erfolgt wie bei vielen anderen CMSimple_XH-Plugins auch. Im CMSimple_XH-Wiki finden Sie weitere Details.

  1. Sichern Sie die Daten auf Ihrem Server.
  2. Entpacken Sie die ZIP-Datei auf Ihrem Rechner.
  3. Laden Sie das ganze Verzeichnis keymaster/ auf Ihren Server in das plugins/ Verzeichnis von CMSimple_XH hoch.
  4. Machen Sie die Unterverzeichnisse config/, css/, languages/ und die Datei "key" beschreibbar
  5. Gehen Sie zu "Plugins→Keymaster" im Administrationsbereich, um zu prüfen, ob alle Voraussetzungen erfüllt sind.

Einstellungen

Die Plugin-Konfiguration erfolgt wie bei vielen anderen CMSimple_XH-Plugins auch im Administrationsbereich der Website. Wählen Sie "Plugins"→"Keymaster".

Sie können die Voreinstellungen von Keymaster_XH unter "Konfiguration" ändern. Hinweise zu den Optionen werden beim Überfahren der Hilfe-Icons mit der Maus angezeigt.

Die Lokalisierung wird unter "Sprache" vorgenommen. Sie können die Sprachtexte in Ihre eigene Sprache übersetzen, oder diese Ihren Wünschen gemäß anpassen.

Das Aussehen von Keymaster_XH kann unter "Stylesheet" angepasst werden.

Verwendung

Nach der Installation funktioniert das Plugin bereits.

Wie funktioniert es?

Wenn kein Anwender im Administrationsmodus angemeldet ist, hält der Schlüsselmeister einen einzigen Schlüssel. Sobald sich ein Anwender anmeldet, wird ihm der Schlüssel übergeben und der Zugriff auf das CMSimple_XH Back-End gewährt. Da es nur einen Schlüssel gibt, kann sich ein anderer Anwender nicht anmelden; er wird einfach mit einer entsprechenden Meldung abgewiesen (vgl. aber Einschränkungen).

Nach einer einstellbaren Inaktivitätsdauer, wird der Anwender abgemeldet, was den Schlüssel wieder an den Schlüsselmeister zurück gibt. Unter Inaktivitätsdauer versteht man einen Zeitraum, in der keine Anfrage an den Server gestellt wurde, die vom Schlüsselmeister erkannt werden konnte. Eine einstellbare Weile bevor der Anwender abgemeldet wird, wird er aufgefordert die Sitzung zu verlängern, was dann eine erkennbare Anfrage auslöst.

Es ist möglich mehrere Browserfenster (bzw. -tabs; im folgenden bezieht sich der Begriff Browserfenster ebenso auf Browsertabs) für die selbe CMSimple_XH Installation offen zu haben; Aktivität in einem Fenster wird durch den Schlüsselmeister von den anderen ebenfalls erkannt, was allerdings einen Moment dauern kann (abhängig vom Poll-Intervall).

Achtung! Das Bearbeiten einer CMSimple_XH Website in mehr als einem Browserfenster funktioniert im Allgemeinen nicht. Außer wenn Sie genau wissen, was Sie tun, führen Sie Änderungen nur in einem einzigen Fenster durch, und behandeln Sie die anderen als seien sie schreibgeschützt.

Falls Sie verpasst haben die Sitzung rechtzeitig zu verlängern, und vom Schlüsselmeister abgemeldet wurden, obwohl Sie Änderungen noch nicht gespeichert hatten, besteht die Chance diese wieder zu bekommen: melden Sie sich in einem anderen Browserfenster bei der Website an, und betätigen Sie den Zurück-Schalter im ursprünglichen Fenster. Mit etwas Glück sind Ihre Änderungen noch da.

Einschränkungen

Für security_type="javascript" bzw. "wwwaut" wird der Anmeldeversuch eines zweiten Anwenders keine Meldung anzeigen; der Anwender kann sich einfach nicht anmelden. Lösung: wechseln Sie zu security_type="page".

Manche Erweiterungen (z.B. Chat_XH) senden periodisch Hintergrundanfragen an den Server, die vom Schlüsselmeister als Aktivität gewertet werden könnten. Wenn eine solche Erweiterung aktiv ist, funktioniert die automatische Abmeldung nicht, d.h. andere Anwender werden nicht in der Lage sein sich anzumelden, bis das Browserfenster geschlossen wird.

Wenn ein angemeldeter Anwender das Browserfenster schließt (aber nicht den gesamten Browser), und ein anderer Anwender sich später anmeldet, kann der erste Anwender die Prüfung durch den Schlüsselmeister umgehen, wenn er erneut zur CMSimple_XH Installation navigiert. Lösung: melden Sie sich ordnungsgemäß ab, wenn Sie mit der Bearbeitung fertig sind (zumindest sollten Sie den Browser schließen).

Lizenz

Keymaster_XH kann unter Einhaltung der GPLv3 verwendet werden.

© 2013 Christoph M. Becker

Danksagung

Keymaster_XH wurde von Martin Damkens und Gert Ebersbachs LoginLocker und einem brillianten Film (raten Sie mal von welchem ;)) angeregt.

Das Plugin Icon wurde von Alessandro Rei gestaltet. Vielen Dank für die Veröffentlichung dieses Icons unter GPL.

Diese Plugin verwendet "free applications icons" von Aha-Soft. Vielen Dank für die freie Nutzbarkeit dieser Icons.

Und zu guter letzt vielen Dank an Peter Harteg, den "Vater" von CMSimple, und allen Entwicklern von CMSimple_XH ohne die es dieses phantastische CMS nicht gäbe.