Modul System

Das System-Modul bietet die Möglichkeit grundlegende Einstellungen vorzunehmen.

Es bietet zum Einen eine Liste der aktuell verfügbaren Module, zum Anderen ein paar Informationen zum Webserver.

In der Systemverwaltung lassen sich die Root-Rechte definieren. Das ist der oberste Datensatz der Hierarchie, von diesem erben die Module sowie die untergeordneten Datensätze ihre Rechte.

Unter dem Punkt „Datenbankmanagement“ könne Wartungstasks der Datenbank gestartet werden. Dies kann eine Sicherung der Datenbank, oder auch ein Import einer früheren Sicherung sein.

Die Option „Systemlog“ gewährt einen Einblick in das Systemlogbuch. Die Granularität des Loggens kann hierfür angepasst werden (siehe unten).

Ob das System noch aktuell ist, erfährt man unter dem Punkt „Updates“. Hier werden die lokal installierten Modulversionen mit den aktuell verfügbaren Versionen verglichen. Ein automatisches Update stellt diese Funktion bewusst nicht zur Verfügung.

Sperren von Datensätzen

Bislang nur vom Modul Pages verwendet, unterstützt Kajona das Sperren von Datensätzen, um ein zeitgleiches Bearbeiten eines Datensatzes von zwei unterschiedlichen Usern zu verhindern. Ein gesperrter Datensatz wird in der Regel vom System selber entsperrt. Sollte ein Datensatz nicht entsperrt werden, so kann ein Mitglied der Gruppe „Administratoren“ diese Sperre explizit wieder aufheben. Dies erfolgt direkt in der jeweiligen Listenansicht.

Sessionverwaltung

Die Aktion „Sessions“ bietet einen Einblick in die aktuell aktiven Sessions des Systems. In der Tabelle kann eingesehen werden welche Benutzer und Gäste sich auf der Seite aufhalten und welche Aktion von diesen getätigt wird. Wenn notwendig kann die Session beendet werden, ein angemeldeter User wird hierdurch also ausgeloggt.

Aspekte

Aspekte dienen der logischen Gruppierung von Modulen im Backend.
Zu beginn werden die einzelnen Aspekte angelegt, z.B. "Verwaltung" und "Seitenmanagement". Danach lassen sich die Module in die zuvor erstellen Aspekte einordnen. Ein Modul lässt sich im im Modul System -> Liste der Module -> Icon "Aspekte bearbeiten" bezüglich der Aspekte administrieren. Dort könnten bspw. die Module System, User, Filemanager und Stats in den zuvor angelegten Aspekt "Verwaltung" eingeordnet werden. Die Module "Seiten", "Navigationen" und "News" dann entsprechend in "Seitenmanagement".
Sobald mehr als ein Aspekt angelegt wurde, sollte der Skin eine möglichkeit bieten zwischen den Aspekten umzuschalten und damit die Menge der angezeigten Module (in der Navigation) zu  beeinflussen.
Da die Aspekte auch noch per Rechte konfigurierbar sind können bestimmte Aspekte für normale Benutzer ausgeblendet werden, so dass der Seitenredakteur den Aspekt "Verwaltung" gar nicht erst sehen kann.

Aspekte lassen sich auch noch auf Ebene der Datensätze verwenden, so dass bestimmte Datensätze (wie Seitenordner) nur in bestimmten Aspekten angezeigt werden, dies erfordert jedoch eine zusätzliche Implementierung auf der Seite des entsprechenden Moduls.

Settings

Mit der Einstellung „Portal deaktiviert“ kann das gesamte Portal ausgeschaltet werden. Ist diese Einstellung aktiviert, dann wird stattdessen die unter „Zwischenseite“ angegebene Seite geladen.

Anzahl DB-Dumps legt fest, wie viele Sicherungen der Datenbank im System vorgehalten werden sollen. Der Wert sollte nicht all zu hoch sein, da sonst schnell viel Speicherplatz verbraucht wird.

Die im Feld „Admin Email“ hinterlegte Mail-Adresse wird dafür verwendet, um im Fehlerfall eine Mail zu verschicken. Wird keine Adresse angegeben, wird auch keine Mail verschickt.

Der Wert, der unter „maximale Sperrdauer“ definiert wird, gibt an, nach wie vielen Sekunden gesperrte Datensätze automatisch wieder entsperrt werden.

Mit der Einstellung „GZIP-Kompression“ wird festgelegt, ob die Ausgaben des Systems per gzip komprimiert werden sollen. Dies hat den Vorteil, dass die vom Server zum Client versendeten Daten geringer ausfallen, Server und Client jedoch komprimieren, bzw. entpacken müssen.

Der in der Option „Anzahl Datensätze pro Seite“ hinterlegte Wert gibt an, wie viele Datensätze in einer Admin-Liste pro Seite ausgegeben werden. Dies muss vom jeweiligen Modul unterstützt werden und kann von einem Modul gegebenenfalls redefiniert werden.

„Admin nur per https“ stellt sicher, dass die Administrationsoberfläche nur per https geladen wird und nicht per http. Dies setzt jedoch vorraus, dass der Webserver mit https-Unterstützung konfiguriert wurde. Dies Einstellung beeinflusst unter Umständen den Portal-Editor: Wird das Portal per http geladen, die Administration (in Form des Portal-Editors) jedoch per https, verweigert der Browser unter Umständen das Schließen des Portal-Editor Popups sowie das anschließende Neuladen des Portals. Dies stellt eine Sicherheitsfunktion des Browser dar und kann somit nicht verhindert werden.

Soll der interne Datenbankcache deaktiviert werden, so kann dies über die Einstellung „Datenbankcache aktiv“ vorgenommen werden. Es wird aber ausdrücklich von einem deaktivierten Cache abgeraten, da das System hierdurch wesentlich langsamer wird!

Da externe Anfragen, z.B. RSS-Feeds von Kajona zwischengespeichert werden, definiert die Einstellung „Cachedauer externer Quellen“ die maximale Zeit, die Anfragen gespeichert werden. Ist diese Zeitspanne vergangen, werden die Anfragen erneut ausgeführt. Eine höhere Cachedauer verringert die Anzahl an externen Anfragen und erhöht damit die Geschwindigkeit des Systems, bei sich oft ändernden externen Inhalten sollte hier jedoch ein sinnvolles Maß gefunden werden.

Die Dauer einer Session gibt an, wann eine Session nach der letzten Aktion des Benutzers automatisch beendet wird. Vergisst also beispielsweise ein Benutzer sich von der Administration abzumelden, so wird die Sitzung automatisch nach der angegebenen Dauer beendet.

Welche Bibliothek zum Erstellen von Diagrammen verwendet wird, definiert die Einstellung „Verwendete Chart-Bibliothek“. Hier kann zwischen ez Components sowie pChart umgschaltet werden. pChart kann aus lizenztechnischen Gründen nicht mit Kajona ausgeliefert werden und muss von daher getrennt heruntergeladen und installiert werden.

ModRewrite

Mit der Einstellung „Mod Rewrite“ wird festgelegt, ob das System die Rewrite-Extension verwenden soll. Mod Rewrite ist ein Modul des Apache-Webservers und wird in der Regel dazu verwendet, dynamische URLs in scheinbar statische html-URLs zu verwandeln. Aus index.php?seite=bilder&action=folderImage&systemid=23hgk57gfhdk58jhgjf87 wird dann bilder.folderImage.23hgk57gfhdk58jhgjf87.html. Das ist nicht nur für den Menschen, sondern zum Beispiel auch für Suchmaschinen besser lesbar. Zusätzlich zu dieser Einstellung im System muss die Einstellung in der .htaccess-Datei auf „on“ gesetzt werden. In der .htaccess-Datei also einfach aus „RewriteEngine off“ ein „RewriteEngine on“ machen und wie beschrieben alle „RewriteRule“-Einträge aktivieren – das wars. Ist das Modul nun auch aktiviert, so werden die Links umgeschrieben.

System-Tasks

Systemtasks stellen kleine Programme dar, mit denen alltägliche Aufgaben erfüllt werden können. Dies können wartende Aufgabe, wie bspw. das Löschen der erzeugten Bilder sein oder auch verwaltende Aufgaben wie das Erzeugen oder Importieren von Datenbanksicherungen. Das Erstellen von eigenen Tasks ist auf Grund der vorgegebenen Schnittstellen einfach zu bewerkstelligen.

Debug-Optionen / config.php

Die Datei /system/config/config.php stellt die zentrale Konfigurationsdatei des Systems dar. In dieser werden nicht nur die Einstellungen für die Datenbank vorgenommen, ebenso bietet die Datei die Möglichkeit, zusätzliche Parameter, z.B. zur Fehlersuche, zu setzen.
Oft kann es nützlich sein, bei der Suche nach einem Fehler mehr Informationen zur Verfügung zu haben. Hierfür bietet Kajona verschiedenen Debug-Optionen an. Diese werden alle in der config.php-Datei im Ordner /system/config definiert.
Die Einstellungen befinden sich im Abschnitt „System-Settings“.
Einschalten lassen sich normale Debug-Ausgaben, wie die Zeit (time), Anzahl Datenbankabfragen (dbnumber) und Anzahl verarbeiteter Templates (templatenr) die zur Generierung der Seite benötigt wurden. Zusätzlich kann über die Einstellung „memory“ der Speicherverbrauch ausgegeben werden, welcher für die Generierung einer Seite benötigt wird.
Es lassen sich aber auch Werte für das Debuggen im Hintergrund einstellen: Ist „dblog“ auf „true“ gesetzt, wird in ein Logfile ein Protokoll aller Datenbankabfragen geschrieben. Der Wert „debuglevel“ gibt an, ob Fehler wie Datenbankfehler ausgegeben werden sollen, oder stillschweigend übergangen werden sollen. Auf Live-Systemen sollte dieser Wert immer „0“ sein!
Um auch in den Java-Script Dateien erweiterte Nachrichten zu erhalten, kann der Wert ebenfalls auf 1 gesetzt werden.
Mit der Einstellung „debuglogging“ wird festgelegt, wie detailliert das Log-File aufgebaut werden soll.
Um die Einträge des globalen Caches einzusehen kann im Modul System die Aktion „Cache“ gewählt werden. Per Default wird die Anzahl an Zugriffen auf einen Cache-Eintrag nicht protokolliert, dies kann jedoch durch die System-Einstellung „cache“ aktiviert werden. Es wird geraten den Wert nur temporär zu Testzwecken zu aktivieren, da sich die Protokollierung negativ auf die Portalgeschwindigkeit auswirken kann.

Wenn über die Systemeinstellungen der HTTPS Modus aktiviert wurde, dann können die entsprechend zu prüfenden HTTP Header ebenfalls definiert werden.
Per Default werden die Einstellungen


$config['https_header']         = "HTTPS";
$config['https_header_value']   = "on";


verwendet. Je nach Serverkonfiguration sollten diese aber angepasst werden, anderenfalls kann ein Login am System fehlschlagen. Auf Systemen des Hosters 1&1 gelten beispielsweise die Werte


$config['https_header']         = "HTTPS";
$config['https_header_value']   = "1";