System konfigurieren
Vorbemerkung
Das System bietet viele Formulare an, mit denen System-Administratoren das Verhalten des Systems über Konstanten und Variablen beeinflussen können. Die meisten Formulare sind selbsterklärend.
Außerdem können System-Administratoren die Inhalte von speziellen Datenbanktabellen und etlichen PHP-Dateien, die vom System für die Ausgabe und für die Verarbeitung benötigt werden, verändern.
Konstanten und Variablen
Mit den Konstanten und Variablen wird folgendes beeinflusst:
- die Grobstruktur der Seiten
- die Navigation - bis auf die Inhalte der Navigationsmenüs der Bereiche
- die Verwaltung von Personen- und Organisationskonten
- das Chatten
- das integrierte Redaktionssystem
- der Upload von Bildern, Videos und anderen Dateien
- Sessions und Reservierungen
- die Fehleranzeige - allerdings nicht jener von Datenbankabfragen *
- die Anlage von neuen Bereichen
- die Sortierreihenfolge für zentrale Datenbanktabellen
- der E-Mail-Versand durch die Skripte
- die Anredeform ("du" oder "Sie") für viele Systemskripte und ob die Anredeform bereichsabhängig bestimmt werden kann.
* Für die Fehleranzeige von Datenbankabfragen sind die Skripte von "zac4web" darauf angewiesen, dass keine Fehlermeldung ausgegeben wird, wenn die Funktion mysqli_query() den booleschen Wert false zurückliefert. Denn "zac4web" nutzt den booleschen Wert false für die Steuerung des weiteren Skriptablaufes. Daher ruft "zac4web" die php-Funktion mysqli_report() mit dem Flag "MYSQLI_REPORT_OFF" auf, wenn das Skript mit den Funktionen für die Datenbankanmeldung inkludiert wird. Wenn also für eigene Datenbankabfragen ein anderes Verhalten bzgl. des Umgangs mit Fehlern gewünscht ist, muss in den eigenen Skripten vor den Datenbankabfragen die php-Funktion mysqli_report() mit den gewünschten Flags aufgerufen und nach den Datenbankabfrage die php-Funktion mysqli_report() wieder mit dem Flag "MYSQLI_REPORT_OFF" aufgerufen werden.
Ob die Speicherung der Konfigurationsangaben in Form von Konstanten in den Dateien im Ordner "__wm/__konstanten" oder als Variablen in den Dateien im Ordner "__wm/__variablen" erfolgt, hängt von der Struktur der Angaben und der Verwendung der Angaben ab.
Konfigurationsangaben, die in Form von Konstanten gespeichert werden, dürfen im Rahmen einer Skriptausführung nur einmmal eingebunden werden. Mit den Befehlen include_once() und require_once() kann dies gewährleistet werden. Für die Einbindung der Konfigurationsangaben, die als Variablen vorliegen, empfiehlt sich dagegen die Einbindung mit einem der Befehle include() und require(). Mit diesem Befehlen können die Dateien mit den Variablen mehrfach eingebettet werden. So kann leichter sichergestellt werden, dass wirklich die Werte aus der Konfigurationsdatei zur Verfügung stehen, wenn sie benötigt werden.
Die Dateien können von System-Administratoren formularbasiert verändert werden. Bei der formularbasierten Veränderung wird eine Kopie der bisherigen Datei in dem Ordner "__ersetzt/__wm/kv" gespeichert, bevor die Datei mit der neuen Version überschrieben wird.
Solange die Kopie der bisherigen Datei im Ordner "__ersetzt/__wm/kv" vorhanden ist, kann sie formularbasiert wieder reaktiviert werden. Veraltete Versionen können aus diesem Ordner gelöscht werden. Damit eine veraltete Version nicht versehentlich reaktiviert wird, sollte sie gelöscht werden, sobald feststeht, dass diese veraltete Version der Datei nicht mehr benötigt wird. Auch das Löschen ist formularbasiert möglich.
Die Formulare zeigen sowohl beim Reaktivieren als auch beim Löschen den relevanten Inhalt der verschiedenen Dateiversionen an, so dass die Entscheidung, welche Version aktiv sein soll bzw. welche veralteten Versionen gelöscht werden sollen, leichter getroffen werden kann. Die aktive Version dieser Dateien kann niemals formularbasiert versteckt oder gelöscht werden.
Die Dateien für die Systemeinstellungen können auch per FTP-Client heruntergeladen, offline mit einem einfachen Texteditor verändert und danach wieder mit einem FTP-Client hochgeladen werden. Weil dabei das Risiko besteht, dass der Dateiinhalt fehlerhaft wird und das System in diesem Fall keine Kopie der ersetzten Datei im Ordner "__ersetzt/__wm/kv" speichert, wird davon abgeraten.
Datenbanktabellen
Die wichtigste Datenbanktabelle, die zu den Konfigurationseinstellungen gehört, ist die Datenbanktabelle "__personen_sex". In dieser Datenbanktabellen werden die Alternativen notiert, mit denen das Geschlecht einer Person gekennzeichnet werden kann. Die Datensätze können verändert, neue Datensätze hinzugefügt und vorhandene Datensätze u.U. gelöscht werden. Durch Constraints in der Datenbank wird verhindert, dass unzulässige Änderungen an den Datensätzen dieser Datenbanktabelle durchgeführt werden.
Das System bietet einige Suchformulare an, mit denen Datensätze aus zentralen Datenbanktabellen ausgewählt werden können. Um in diesen Suchformularen Schalter für die alphabetische Suche anbieten zu können, bietet das System die Datenbanktabelle "_sort_schalter_0" an, die nicht formularbasiert verändert oder gelöscht werden kann. Um eine weniger differenzierte oder eine differenziertere alphabetische Suche anbieten zu können, können über die Systemeinstellungen weitere Datenbanktabellen angelegt werden, mit denen bei der Ausgabe der Suchformulare die Schalter erzeugt werden können.
Dateien aus dem Ordner "__wm/_admin"
Die System-Dateien, die formualarbasiert mit dem Redaktionssystem verändert werden können, sind im Ordner "__wm/_admin" gespeichert. In diesem Ordner sind als einzige aufrufbare Dateien die beiden Vorlagen-Dateien für die Startseiten neuer Bereiche gespeichert. Mit den übrigen Dateien werden entweder Funktionen, Variablen oder gemischter Inhalt bereitgestellt. Abhängig vom Kontext werden diese Dateien in aufrufbare Dateien eingebunden, der Inhalt ausgegeben, die Variablen für die Steuerung verwendet oder die Funktionen aufgerufen.
Mit dem Redaktionssystem können die Dateien aus dem Ordner "__wm/_admin" verändert werden. Es können aber keine neuen Dateien mit dem Redaktionssystem diesem Ordner hinzugefügt werden. Nur mit einem FTP-Client können zusätzliche Dateien in diesem Ordner und seinen Unterverzeichnissen gespeichert werden. Auch die zusätzlichen Dateien können mit dem Redaktionssystem verändert werden, falls die Dateien strukturell korrekt aufgebaut sind (Details dazu in Strukturen für PHP-Dateien).
Nur System-Administratoren dürfen die php-Dateien aus dem Ordner "__wm/_admin" mit dem integrierten Redaktionsformular verändern und per Upload ersetzen. Für das Ersetzen per Upload wird in jedem Fall das Redaktionsrecht "php" benötigt. Vielfach wird es aber auch für die Bearbeitung der Dateien mit dem Redaktionssystem vorausgesetzt. System-Administratoren können sich über die Verwaltung des eigenen Kontos bei Bedarf das Redaktionsrecht "php" selber zuweisen.
Die Vorlagen-Dateien und die Dateien, die Variablen oder lediglich Texte für die Ausgabe enthalten, lassen sich leicht mit dem integrierten Redaktionsformular bearbeiten. Bei den anderen Dateien - insbesondere jenen, die Funktionsdefinitionen enthalten,- ist es oftmals leichter, die Dateien offline mit einem Texteditor zu bearbeiten.
Weil die in der Originalversion von "zac4web" enthaltenen Dateien für die einwandfreie Funktion von "zac4web" benötigt werden, können die Dateien aus diesem Ordner nicht formularbasiert gelöscht werden. Weil auch nicht vorgesehen ist, dass zusätzliche Dateien in diesem Ordner gespeichert werden, ist es auch nicht möglich, jene Dateien aus diesem Ordner formularbasiert zu löschen, die mit einem FTP-Client in diesen Ordner kopiert wurden.
Wenn ein Bereich neu angelegt wird, erzeugt das System aus der Vorlagendatei die Startseite ("index.php" = Index-Datei) des neuen Bereichs. Analog verhält es sich mit der Startseite für einen neuen Mitgliederbereich. Die beiden Vorlagendateien sind im Ordner "__wm/_admin/vorlagen" gespeichert. Die Vorlagendatei ist eine php-Datei der Dateiart "Inhalt", und damit eine aufrufbare Datei. Damit die erzeugten Startseiten später von den Bereichs-Admistratoren formularbasiert verändert werden können, wird empfohlen, die Vorlagen-Dateien nur mit dem Redaktionsformular des Systems zu verändern.
Wenn eine Vorlagendatei mit dem Redaktionsformular geöffnet wird, erzeugt "zac4web" eine Hilfsdatei, die im Ordner "__wm/_drafts_temp" gespeichert wird. Sendet der System-Administrator das Redaktionsformular mit dem Schalter "speichern" an den Server, verschiebt "zac4web" die bisherige Vorlagendatei in den Ordner "__ersetzt/__wm/fgi" und löscht die Hilfsdatei, bevor es die neue Vorlagendatei im Ordner "__wm/_admin/vorlagen" speichert. Im Gegensatz zu allen anderen Dateien, die mit dem Redaktionssystem bearbeitet werden, wird also zu einer Vorlagen-Datei kein Entwurf erzeugt, der erst mit dem Veröffentlichen in eine aktive Datei umgewandelt wird. Die veralteten Versionen der Vorlagendateien aus dem Ordner "__ersetzt/__wm/fgi" können formularbasiert reaktiviert und gelöscht werden.
Im Gegensatz zu den Vorlagendateien verhält sich "zac4web" bei der Veränderung der anderen Dateien aus dem Ordner "__wm/_admin" mit dem Redaktionssystem wie bei der Veränderung von Bereichsdateien mit dem Redaktionssystem. Es wird also zunächst nur eine Entwurfsdatei gespeichert. Der Entwurf muss explizit veröffentlicht werden, damit die vorgenommenen Änderungen in den Seiten wirksam werden, welche die aktive Version der Datei einbinden. Bei der Veröffentlichung wird die bisherige aktive Datei durch Umbenennung zu einer veralteten Version, bevor der Entwurf als aktive Datei gespeichert wird. Der Zwischendschritt über die Speicherung als Entwurfsdatei ist deshalb vorgesehen, damit die Auswirkungen der Änderungen getestet werden können und Fehler entdeckt und korrigiert werden können. Die Entwurfsdatei wird im Ordner "__wm/_drafts" und die veralteten Versionen im Ordner "__ersetzt/__wm/fgi" gespeichert.
© zacher-info.de
- Seite zuletzt geändert: 28.11.2023 - Elisabeth Zacher