System Konfiguration

Grundsätzlich ist zum Betrieb des Systems keine Anpassung der Konfiguration erforderlich. Einzig die SQL-Zugangsdaten und das Passwort des Superadmin müssen bei der Installation angegeben werden. Weitere Möglichkeiten der Konfiguration werden im Folgenden beschrieben.

Das Setup des Systems findet im Backend unter dem gleichnamigen Menüpunkt statt. Wichtig sind die Eingabe der Zugangsdaten zur SQL-Datenbank sowie das Ändern von Username und Passwort des SUPERADMIN. Weitere Optionen der System-Konfiguration im Backend werden in einer eigenen Sektion beschrieben.

Es besteht die Möglichkeit, eigene, projektbezogene Einstellungen im Backend zu hinterlegen. Unter dem Menüpunkt Konfiguration können Gruppen und Werte frei angelegt und bearbeitet werden. Beim Anlegen stehen verschiedene Feldtypen zur Verfügung. Auf diese Werte kann innerhalb der Templates über eine API Methode zugegriffen werden. Die Zugangsberechtigung auf diese Gruppen lässt sich ebenfalls beschränken.

System-Verzeichnisse

Eine Umbenennung der System-Verzeichnisse aus Sicherheitsgründen ist möglich, aber nicht nötig da der direkte Zugriff von außen ohnehin nicht gestattet ist. Sollten die Namen der Ordner auf dem Webserver dennoch geändert werden müssen die Änderungen anschließend in die Datei index.php im System-Root-Verzeichnis übernommen werden. Für den Fall, dass der Name des Template-Verzeichnisses geändert wird, so muss auch der Template-Ordner unterhalb des Admin-Verzeichnisses umbenannt werden. Auf die System-Verzeichnisse kann über eine API Methode zugegriffen werden.

Verzeichnis
Beschreibung
/Im System-Root-Verzeichnis befinden sich die nachfolgend beschriebenen Ordner und alle Dateien die zum Betrieb des Systems notwendig sind. Das System-Root-Verzeichnis unterscheidet sich vom Server-Root-Verzeichnis innerhalb des /system/ Ordners.
/admin/Der Admin-Ordner beinhaltet das gesamte Backend. Außerdem beherbergt er einige CSS und JS Resourcen welche auch für die Benutzeranmeldung und diverse Systemtools benötigt werden.
/config/Hier befindet sich die Systemkonfiguration sowie einige Konfig-Dateien, um benutzerdefinierte Änderungen am Setup des Systems vorzunehmen. Desweiteren beinhaltet der Ordner die Zugangsdaten des SUPERADMIN.
/data/Benutzerdaten sowie Systemdaten. Der Zugriff auf einige Ordner ist beschränkt. Eine detailierte Beschreibung der Datenverzeichnisse findet sich weiter unten.
/libs/In den Libaries Ordner können 3rd Party Tools und Anwendungen abgelegt werden. Auf das Verzeichnis kann fast uneingeschränkt von außen zugegriffen werden. Verzeichnisse zum Ablegen sicherheitsrelevanter Daten gibt es innerhalb der Datenverzeichnisse welche weiter unten beschrieben werden.
/modules/Systemmodule sowie selbst erstellte Module müssen in diesem Ordner abgelegt werden, um anschließend in das System importiert werden zu können.
/system/Beinhaltet den System-Controller, die gesamte API sowie das Server-Root Verzeichnis für die Installation. Der Ordner ist gegen den Zugriff von außen geschützt.
/system/_root/Dieser Ordner dient als Server-Root-Verzeichnis auf dem Webserver. Werden neue Domains beim Hoster eingerichtet müssen alle Domains eines Projektes auf dieses Verzeichnis geroutet werden. Weitere Informationen finden sich im Abschnitt Installation.
/templates/Verzeichnis in dem alle Templates, sowie zugehörige JS und CSS Dateien abgelegt werden. Bei Projekten die Themes verwenden müssen die Templates in alle Unterverzeichnisse der jeweiligen Themes übernommen werden.

Daten-Verzeichnisse

Es existieren mehrere Verzeichnisse zum Ablegen unterschiedlicher Anwendungs-Daten. Einige dieser Verzeichnisse sind gegen den Zugriff von außen geschützt. Auf den Inhalt dieser Verzeichnisse kann nur aus dem System heraus oder über die API zugegriffen werden.

Verzeichnis
Beschreibung
/data/public/Standard-Datenverzeichnis für den Upload von Daten im Backend. Der Zugriff auf dieses Verzeichnis ist uneingeschränkt möglich.
/data/public/.../Daten-Verzeichnis für Templates die eigene SQL-Tabellen als Datenquelle verwenden. Auf das aktuelle Datenverzeichnis kann innerhalb der Templates über eine API Methode zugegriffen werden. Der Zugriff auf dieses Verzeichnis ist uneingeschränkt möglich.
/data/user/nickname/Verzeichnis in dem Daten unter dem Nickname eines Users abgelegt werden. Zugriff auf die Dateien dieses Ordners hat nur der angemeldete User oder ein System-Administrator.
/data/intern/Zugriff auf interne Daten hat jeder angemeldete User mit Zugriffsberechtigung aufs Backend.
/data/system/Zugriff auf System-Dateien haben nur User mit Administrator Rechten. Ansonsten können Dateien in diesem Verzeichnis über die API bearbeitet werden.
/data/cache/Intern genutztes Cache-Verzeichnis für das Frontend. Das Verzeichnis ist für den Zugriff von außen gesperrt.
/data/temp/Temporäres Verzeichnis ohne Zugriffsbeschränkung.

UTF-8 Zeichensatz

Der Standard-Zeichensatz kann in der Datei config_system.php im Konfig-Verzeichnis geändert werden. Der Defaultwert für diese Einstellung ist UTF-8.

MIME-Types

Der MIME-Type einer Seite wird automatisch gesetzt. Über eine API Methode lässt sich dieser innerhalb der Templates jedoch beeinflussen. So könnte eine HTML-Seite zum Beispiel auch als Textdatei ausgegeben werden. Die Liste der gängigen MIME-Types lässt sich in der Datei config_system.php im Konfig-Verzeichnis ändern und erweitern.

HTTP Status Codes

Der HTTP Status einer Seite wird automatisch auf 200 gesetzt, bei einer nicht vorhandenen Seite auf 404 und bei einer Weiterleitung auf 307. Der Status-Code einer Seite kann innerhalb der Templates mit einer API Methode geändert werden. Die Liste der standardmäßigen Status-Codes kann in der Datei config_system.php im Konfig-Verzeichnis beliebig erweitert werden.

Server Requests

Innerhalb der Datei config_events.php im Konfig-Verzeichnis besteht die Möglichkeit, jeden Server Request abzufangen, und zwar einmal bevor das System initialisiert wurde und einmal danach. An dieser Stelle wäre es zum Beispiel möglich, eine Blacklist oder Whitelist bestimmter IP Adressen zu hinterlegen oder die Programmausführung unter bestimmen Umständen abzubrechen.

Database Events

Einige Datenbank Events können in der Datei config_events.php im Konfig-Verzeichnis beeinflusst werden. An dieser Stelle ist es möglich, die zu speichernden oder zu löschenden Daten zu ergänzen, das Speichern/ Löschen bestimmter Daten zu unterbinden oder im Anschluss weitere Daten in der Datenbank anzulegen oder zu entfernen.

Backend Scripte

Über die Backend Scripte in der Datei config_events.php im Konfig-Verzeichnis lassen sich die Werte eigener SQL-Datentabellen evaluieren und ggf. mit einer Fehlermeldung versehen. Desweiteren können eigene Controls zur Anzeige von Daten im Backend erstellt werden.