Management von Index-Dateien, PHP-Dateien, Navigationsdateien und Systemdateien
Dieses Hinweisdokument enthält zur Veranschaulichung Abschnitte, die optisch den Formularen und Seiten ähneln, die erläutert werden. In diesen Abschnitten wurde zwar die Optik von Links und Schaltern beibehalten, aber der HTML-Code so reduziert, dass die Zeichenketten und Elemente, die Links bzw. Schaltern ähneln, keine Reaktion ausslösen, wenn sie ausgewählt werden.
Vorbemerkung
Die Aussagen in diesem Skript betreffen vor allem die Dateien und Verzeichnisse, die innerhalb der Bereichsordner "xxx" und "_mb_xxx" gespeichert sind/werden oder diesen Ordnern zugeordnet sind, sofern die Elemente nicht in den Unterordnern "xxx/Bilder", "xxx/_db_tabellen", "xxx/_medien", "xxx/_svg", "xxx/_upload", "_mb_xxx/Bilder", "_mb_xxx/_chat_medien" und "_mb_xxx/_medien" gespeichert sind oder diesen zugeordnet werden, da für das Management der Dateien und Unterverzeichnissen aus diesen Ordnern eigenständige Skripte programmiert wurden (vgl. Einleitung in das Datei-Management von "zac4web"). Die Zeichenfolge "xxx" in diesen Pfaden steht dabei für jeden beliebigen internen Namen eines Bereichs innerhalb eines "zac4web"-Projekts. Der Kernbereich eines "zac4web"-Projekts besitzt immer den Namen "home".
Weil auch innerhalb des individuellen Systemkern eines "zac4web"-Projekts Navigationsdateien und PHP-Skripte vorhanden sind, die formularbasiert manipuliert werden können, enthält diese Seite auch Hinweise zu den System-Dateien, die im Verzeichnis "__wm" gespeichert werden.
Um Wiederholungen in den verschiedenen Informationsseiten zu vermeiden, wurden die Informationen zu der grundsätzlichen Struktur der Dateien, die mit dem Redaktionssystem von "zac4web" erstellt/bearbeitet werden können, ausgelagert in die Seite Strukturen für PHP-Dateien. Und die Seiten Seiten erstellen/bearbeiten - Optionen und Ablauf, Seiten erstellen/bearbeiten - Redaktionsformular und Abbildungen zu den verschiedenen Knotentypen im Redaktionsformular informieren darüber, wie die Dateien mit dem Redaktionssystem manipuliert werden können.
Die Übersichtsseite "Startseite für Redaktionstätigkeiten"
Anders als die Übersichtsseiten für andere Dateigruppen lautet der Titel für die Übersichtsseite, welche die Schalter zum Starten des Managements von Index-Dateien, PHP-Dateien, Navigationsdateien und Systemdateien enthält, "Startseite für Redaktionstätigkeiten". Dies hat damit zu tun, dass diese Dateien redaktionell bearbeitet werden können und auf der Übersichtsseite auch die Schalter ausgegeben werden, mit denen die formularbasierte Bearbeitung der Dateien gestartet werden kann.
Wird die "Startseite für Redaktionstätigkeiten" für den Bereich "xxx" von einem Redakteur aufgerufen, der in dem Bereich "xxx" Administrator-Rechte besitzt, so werden ihm alle Schalter, die in der nachfolgenden Abbildung enthalten sind, angeboten.
Navigation und PHP-Dateien des Bereichs
Seite erstellen/bearbeiten
Datei hochladen
Dateien verlinken
Dateien aus dem Mitgliederbereich
Datei reaktivieren
Datei löschen
Ordner löschen
Dateien aus dem öffentlichen Bereich
Datei reaktivieren
Datei löschen
Ordner löschen
Ruft ein System-Administrator die Übersichtsseite für den Kernbereich auf, werden ihm zusätzlich zu den Schaltern für Aktionen auf Dateien und Ordnern des Kernbereichs die Schalter angeboten, mit denen er auf die Formulare zugreifen kann, mit denen System-Administratoren die Dateien des "individuellen Systemkerns" verändern und veraltete Systemdateien reaktivieren oder löschen können (Management von Systemdateien).
Mitglieder eines "zac4web"-Projekts können die Seite "Startseite für Redaktionstätigkeiten" nur für die Bereiche aufrufen, in denen sie mindestens das Zugriffsrecht "redaktion_intern" besitzen. Ihnen werden auf der Startseite immer die Schalter "Seiten erstellen/bearbeiten", "Datei hochladen" und "Dateien verlinken" angeboten. Die Schalter unter den Überschriften "Dateien aus dem Mitgliederbereich" und "Dateien aus dem öffentlichen Bereich" werden dagegen nur dann angezeigt, wenn das Mitglied die damit verbundenen Aktionen ausführen darf und auch Dateien oder Ordner vorhanden sind, die von dem Mitglied manipuliert werden können. Die System-Administratoren können über die System-Einstellungen festlegen, welche Zugriffsrechte für die Datei-Management-Aktionen "Datei reaktivieren" und "Datei löschen" erforderlich sind. Für das Management der Dateien aus dem öffentlichen Bereich ist aber immer mindestens das Zugriffsrecht "redaktion_offen" erforderlich, während für das Management der Dateien aus dem Mitgliederbereich schon das Zugriffsrecht "redaktion_intern" ausreichen kann. Die Schalter "Ordner löschen" werden nur den Bereichs-Administratoren angeboten.
Für allgemeine Bereiche ohne Mitgliederbereich sind die Schalter für die redaktionelle Bearbeitung der Bereichsdateien und zum Management der PHP-Dateien auf der Seite "Bereiche ohne Mitgliederbereich pflegen" enthalten. Da zu einem Bereich ohne Mitgliederbereich nur der öffentlichen Bereich gehört, werden auf der Seite "Bereiche ohne Mitgliederbereich pflegen" unter der Überschrift "PHP-Dateien und Navigation" ohne weitere Zwischenüberschrift unterhalb der Schalter "Seiten erstellen/bearbeiten", "Datei hochladen" und "Dateien verlinken" die Schalter für das Dateimanagement der PHP-Dateien aus dem öffentlichen Ordner angeboten. Die Seite "Bereiche ohne Mitgliederbereich pflegen" können die System-Administratoren über die Seite "Bereich wechseln" (erreichbar über den Navigationsschalter "wechseln zu ...") per Schalter aufrufen.
Management der Index-Dateien
Index-Dateien sind PHP-Dateien der Dateiart "Inhaltsseite", die zu einem Bereich "xxx" gehören und nur von den Administratoren des Bereichs "xxx" formularbasiert manipuliert werden dürfen.
Index-Dateien werden im Rahmen des Datei-Managements als eine eigenständige Dateigruppe betrachtet, da sie folgende Besonderheiten aufweisen:
- werden als einzige Dateien automatisch aus den Vorlagendateien für die Startseiten der Bereiche erzeugt.
Die Vorlagendateien gehören zu den Dateien des individuellen Systemkern eines "zac4web"-Projekts, die mit dem Redaktionsformular verändert werden können. - werden immer unmittelbar in den Verzeichnissen "xxx" und "_mb_xxx" gespeichert.
- besitzen immer den Dateinamen "index.php".
- sind die einzigen Dateien, die direkt nach der Anlage eines Bereichs / eines Mitgliederbereichs in den Bereichsordnern "xxx" bzw. "_mb_xxx" vorhanden sind.
- sind die einzigen Dateien aus den Verzeichnissen "xxx" und "_mb_xxx", die mit dem Redaktionssystem von "zac4web" bearbeitet werden können.
Außerdem kann die aktive Version einer Index-Datei nicht im Rahmen des Datei-Managements gelöscht werden. Nur wenn der Bereich "xxx" gelöscht wird, werden auch die aktiven Index-Dateien des Bereichs "xxx" gelöscht.
Wird die aktive Version eine Index-Datei des Bereichs "xxx" bei der Bearbeitung mit dem Redaktionssystem durch die Veröffentlichung eines Entwurfs ersetzt, so wird die veraltete Version unmittelbar im Ordner "__ersetzt/xxx" gespeichert. Veraltete Index-Dateien dürfen im Rahmen des Datei-Managements reaktiviert und gelöscht werden.
Manipulation von PHP-Dateien
Als PHP-Dateien werden die Dateien mit der Dateikennung "php" bezeichnet, die in den Ordnern "xxx/_admin", "xxx/_red", "_mb_xxx/_ad_int", "_mb_xxx/_ad_rva" und "_mb_xxx/_red_int" und deren Unterordnern gespeichert werden, sofern die Dateien nicht innerhalb der Ordner "xxx/_admin/_frage", "xxx/_ad_int/_frage", "xxx/_ad_rva/_frage" oder "xxx/_red_int/_test" oder einem Unterordner davon gespeichert sind. In den zuletzt genannten Ordnern werden die Dateien gespeichert, die zu Arbeitsblättern und Umfragen des Bereichs "xxx" gehören.
"zac4web" speichert "Inhaltsseiten" innerhalb der fünf Stammordner "xxx/_admin", "xxx/_red", "xxx/_ad_int", "_mb_xxx/_ad_rva" und "_mb_xxx/_red_int" des Bereichs "xxx" oder in einem beliebigen Unterverzeichnis dieser Stammordner, sofern der Name des Unterverzeichnisses oder der Ordnerpfad nicht für eine bestimmte Dateiart reserviert ist. "Gliederungsseiten" dürfen z.B. nur in den Unterordner "_linkpages" oder einem Unterverzeichnis davon abgelegt werden, wobei der Ordner "_linkpages" immer unmittelbarer Unterordner von einem der fünf Stammordner sein muss. Dateien, denen die Dateiart "Formular" zugewiesen wurde, werden immer im Unterordner "_forms" und "Zieldateien für AJAX-Befehl" in dem Unterordner "_ajax" der fünf Stammordner gespeichert. Auch innerhalb von "_forms" und "_ajax" sind Unterordner zur strukturierten Ablage der Dateien zugelassen. Sofern eine nicht-aufrufbare Datei nur Funktionsdeklarationen, Variablendeklarationen oder Konstantendefinitionen enthält, sollte sie im gleichnamigen Ordner "__funktionen", "__variablen" bzw. "__konstanten" gespeichert werden. Alle anderen nicht-aufrufbaren Dateien sind im Ordner "_inc" abzulegen. Die Ordner "__funktionen", "__variablen", "__konstanten" und "_inc" dürfen Unterordner zu jedem Ordner sein, in denen Inhaltsseiten gespeichert werden können. Zu den Ordnern mit dem Namen __funktionen, __variablen, __konstanten und _inc können formularbasiert keine Unterordner erstellt werden.
Werden PHP-Dateien mit einem externen Datei-Management-Programm wie "FileZilla" hochgeladen, so ist darauf zu achten, dass die Ordnernstrukturen für die acht verschiedenen Dateiarten, die "zac4web" unterscheidet, eingehalten werden, damit die Dateien von "zac4web" formularbasiert verwendet und verändert werden können.
Für die Befehle "Datei reaktivieren", "Datei löschen" und "Ordner löschen" legen die System-Administratoren über die System-Einstellungen bereichsübergreifend fest, welche Zugriffsrechte Redakteure innerhalb eines Bereichs besitzen müssen, um diese Aktionen auf PHP-Dateien des Bereichs ausführen zu können. Für den Kernbereich können die System-Administratoren abweichende Rechte vorschreiben, um diesen besser zu schützen.
PHP-Datei erstellen/bearbeiten oder hochladen
Eine PHP-Datei kann mit dem Redaktionsformular nur dann bearbeitet werden, wenn sie strukturell korrekt aufgebaut ist (vgl. Strukturen für PHP-Dateien) und nur Blöcke enthält, die für die Dateiart zugelassen sind (vgl. Art der Seite).
Damit eine Datei mit dem Befehl "Datei hochladen" aus der "Startseite für Redaktionstätigkeiten" hochgeladen werden kann, muss die Datei nur die Vorgaben zu den Strukturen für PHP-Dateien einhalten. Mit dem Befehl "Datei hochladen" können allerdings keine vorhandenen aktiven Dateien ersetzt werden, sondern nur zusätzliche aktive Dateien in den Bereichsordnern gespeichert werden.
Die ersten Schritte, die auf die Wahl der Schalters "Datei erstellen/bearbeiten" und "Datei hochladen" ähneln sich sehr, wobei sich das Vorgehen allerdings auch danach richtet, ob ein Bereichsadministrator oder ein Mitglied mit geringeren Redaktionsrechten das Formular aufruft.
Wenn ein Bereichsadministrator einen der beiden Schalter wählt, muss er zunächst festlegen, in welchem Hauptverzeichnis, die Datei gespeichert werden soll bzw. bereits gespeichert ist. Administratoren für Bereiche mit Mitgliederbereich können wie in der nachfolgenden Abbildung dargestellt, zwischen fünf Hauptverzeichnissen wählen. Wenn er das Formular mit dem Schalter "Datei erstellen/bearbeiten" aufgerufen wird, sieht es wie folgt aus:
Seite aus dem Bereich xxx erstellen/bearbeiten
...Öffentliche Seite des Bereichs
W: redaktion_offen
W: admin
Seite aus dem Mitgliederbereich
W: redaktion_intern
W: admin
W: admin
Ruft der Administrator das Formular mit dem Schalter "Datei hochladen" auf, lautet der Titel "Zusätzliche PHP-Datei in den Bereich xxx hochladen" und es fehlen die Hinweise "hierzu gehört die ...".
Wie aus den Schalter-Beschriftungen ersichtlich sind, unterscheiden sich die zur Wahl stehenden Hauptverzeichnisse danach, wer die Dateien aufrufen darf ("R") und wer sie bearbeiten darf ("W"). Die Kombinationen sind wie folgt den Hauptverzeichnissen zugeordnet:
Zugriffsrechte | Hauptverzeichnis |
---|---|
R: jeder / W: redaktion_offen | xxx/_red |
R: jeder / W: admin | xxx/_admin |
R: mitglied / W: redaktion_intern | _mb_xxx/_red_int |
R: mitglied / W: admin | _mb_xxx/_ad_int |
R: pruefling / W: admin | _mb_xxx/_ad_rva |
Fehlt ein gewähltes Hauptverzeichnis, wird es automatisch angelegt, sobald eine Datei in diesem Verzeichnis oder einem Unterordner davon gespeichert werden soll.
Bei der Wahl eines Schalters, dem die Zeichenfolge "hierzu gehört auch ..." steht, wird dem Administrator auf der nächsten Seite als oberstes folgendes Formular angeboten, wenn er PHP-Code schreiben darf und zu der Startseite kein Entwurf vorhanden ist.
Startseite ... bearbeiten
Entwurf erstellen
zum DOWNLOAD
Ersetzen
Ist ein Entwurf vorhanden und darf der Aufrufer keinen PHP-Code schreiben werden dem Aufrufer in dem Formular andere Schalter angeboten. Außerdem wird er darauf hingewiesen, dass er keinen PHP-Code schreiben darf.
Startseite ... bearbeiten
...Entwurf bearbeiten
Entwurf veröffentlichen
Entwurf löschen
Weil du in diesem "zac4web"-Projekt keinen PHP-Code schreiben darfst werden dir die Schalter "zum DOWNLOAD" und "Ersetzen" nicht angeboten.
Nach der Wahl des Hauptverzeichnisse wird dem Administrator in jedem Fall das Formular angeboten, mit dem er Aktionen für andere PHP-Dateien starten kann. Darf der Administrator PHP-Code schreiben, werden ihm alle Optionen angeboten, die in der nachfolgenden Abbildung enthalten sind.
Hatte der Administrator den Schalter "Datei hochladen" gewählt, ist die Art der Redaktionstätigkeit schon festgelegt, so dass er in diesem Schritt nur die Art der Seite festlegen muss.
Wählt ein Mitglied, welches zwar Redaktionsrechte besitzt, aber über keine Administrator-Rechte im Bereich verfügt, den Befehl "Datei erstellen/bearbeiten" auf, wird ihm sofort das Formular mit den Wahlmöglichkeiten zur "Art der Seite ..." und der "Art der Redaktionstätigkeit" gezeigt.
Rufen Redakteure, die nicht nur Dateien des Mitglieder-Bereichs, sondern auch für den öffentlichen Ordner des Bereichs erstellen oder verändern dürfen, das Formular auf, enthält das Formular auch den folgenden Block:
Darf der Administrator oder der Redakteur keinen PHP-Code schreiben, werden ihm die Optionen, die mit "php-Skript:" beginnen nicht angeboten. Auch fehlen dann bei der Aktion "Datei erstellen/bearbeiten" die beiden Optionen "DOWNLOAD - Datei herunterladen zur Offline-Bearbeitung" und "Datei ersetzen durch Upload".
Für alle Redakteure ist für die Aktionen "Datei hochladen" und für die Option "neuen Entwurf erstellen" der nächste Schritt identisch. Abhängig von der gewählten Dateiart und dem gewählten Hauptverzeichnis sind der Dateiname und der exakte Speicherort für die Datei festzulegen. Sofern erforderlich können auch erforderliche Ordnerstrukturen angelegt werden. Für das Beispiel wurde die Dateiart "Inhaltsseite" und das Hauptverzeichnis "xxx/_red" gewählt.
Das obere Formular ("Ordner wählen und Dateinamen eingeben") enthält die Liste mit den Namen aller vorhandenen Ordner, in denen du mit diesem Formular eine Datei speichern kannst.
Falls der gewünschte Ordner nicht angezeigt wird, musst du ihn erst mit dem unteren Formular ("Ordner anlegen") noch erzeugen. ...
Auswahl ändern
abbrechen
Bei dem Befehl "Datei hochladen" folgt dann nur noch das Formular, mit dem der Aufrufer die Datei auswählen kann, die er auf den PHP-Server hochladen möchte.
Hatte der Aufrufer dagegen den Befehl "neuen Entwurf erstellen" ausgewählt, kann er bei einigen Dateiarten zunächst auswählen ob und welche Bilder er in die Datei einbetten möchte, bevor sich dann das Redaktionsformular öffnet. Abbildungen dazu enthält die Datei Redaktions-Modul auf www.zacher-info.de.
Alle anderen Redaktionstätigkeiten beziehen sich auf eine bereits vorhandene Datei. Sofern es nicht die Startseite des Bereichs oder Mitgliederbereichs ist, muss diese nach der Wahl des Hauptverzeichnisses und der Art der Redaktionstätigkeit ausgewählt werden. Dies geschieht über Auswahllisten, in denen die Dateipfade zu allen aktiven Dateien und Entwürfen enthalten sind, die innerhalb des gewählten Hauptverzeichnisses zu der gewählten Dateiart vorhanden sind.
- Bei der Redaktionstätigkeit "Datei/Entwurf bearbeiten" ist das weitere Vorgehen wie bei der Aktion "neuen Entwurf erstellen" nach der Festlegung des Speicherortes und des Dateinamens.
- Hatte der Aufrufer die Aktion "Datei kopieren" gewählt, muss er zusätzlich zu der Datei auchauswählen, in welchem Bereich und welchem Hauptverzeichnis die Kopie gespeichert werden soll. Danach muss er für die Kopie den Namen und den exakten Speicherort festlegen. Sobald das erfolgt ist ist das weitere Vorgehen wie bei der Aktion "neuen Entwurf erstellen."
- Wurde eine der Aktionen "Entwurf veröffentlichen" oder "Entwurf löschen" gewählt, wird der Entwurf in der Vorschau angezeigt. Erst aus der Vorschau heraus kann die eigentliche Aktion ausgelöst werden.
- Bei der Aktion "DOWNLOAD - Datei herunterladen zur Offline-Bearbeitung" (für Starseiten verbirgt sich der Befehl hinter dem Schalter "zum DOWNLOAD"), muss nur noch der Download-Befehl bestätigt und die Datei auf dem eigenen Gerät gespeichert werden.
- Die Aktion "Datei ersetzen durch Upload" (für Starseiten verbirgt sich der Befehl hinter dem Schalter "Ersetzen") ist nur im Anchluss nach der Aktion "DOWNLOAD" möglich. Nach der Auswahl der Datei, die ersetzt werden soll, muss auf dem eigenen Gerät die Datei ausgewählt werden, die hochgeladen werden soll und der Befehl bestätigt werden.
Wird ein Entwurf veröffentlicht, zu dem bereits eine aktive Datei vorhanden ist, wird zunächst eine Kopie der aktiven Datei im Sicherungsordner abgelegt, bevor die aktive Datei durch den Entwurf ersetzt wird. Auch beim Ersetzen durch Upload wird vor dem Ersetzungsvorgang von der bisherigen aktiven Datei eine Kopie im Sicherungsordner gespeichert. Wurde eine Startseite ersetzt, wird die Kopie unmittelbar im Sicherungsordner "__ersetzt/xxx" gespeichert. Die Kopien der anderen PHP-Dateien werden abhängig von dem Hauptverzeichnis, aus dem sie stammen, in einem der Ordner "__ersetzt/xxx/_admin", "__ersetzt/xxx/_ad_int", "__ersetzt/xxx/_ad_rva", "__ersetzt/xxx/_red" bzw. "__ersetzt/xxx/_red_int" gespeichert.
PHP-Datei löschen oder verstecken
Das Löschen von Dateien ist in "zac4web" immer unwiderruflich.
Soll dagegen nur der Zugriff auf eine aktive Datei verhindert werden, die Datei aber nicht endgültig gelöscht werden, kann sie versteckt werden. Wird z.B. eine Datei aus dem Ordner "xxx/_red" versteckt, wird sie durch Umbenennung in den Sicherungsordner "__ersetzt/xxx/_red" verschoben. Damit wird die Datei nicht mehr in den Redaktionsformularen zur Auswahl angeboten. Außerdem lösen nach dem Verstecken bereits existierende Links zu der Datei den Fehler 404 ("file not found") aus.
Weil das Verstecken in Bezug auf die Sichtbarkeit der Datei wie das Löschen wirkt, ist der Formularteil zum Verstecken von Dateien in die Seite integriert, mit dem auch Dateien endgültig gelöscht werden können.
Mit dem Befehl "Datei löschen" können die Redakteure des Bereichs "xxx", die sämtliche spezifischen Redaktionsrechte besitzen, Dateien zu den Ordnern, in denen sie Dateien speichern dürfen, immer verstecken oder löschen.
Fehlt dem Aufrufer eines der spezifischen Redaktionsrechte, wird es etwas komplizierter, weil sichergestellt werden soll, dass kein Mitglied Inhalte versteckt oder löscht, die es selber nicht innerhalb des "zac4web"-Projekts erstellen darf.
Hat der Aufrufer eine aktive Datei ausgewählt, ermittelt "zac4web", welche Art von Blöcken in der Datei enthalten sind, die gelöscht oder versteckt werden soll. Nur wenn das Mitglied sämtliche Blöcke bearbeiten darf, wird die Datei versteckt oder gelöscht.
Wurde vom Mitglied eine veraltete Datei ausgewählt, wird ebenfalls für diese Datei ermittelt, welche Art von Blöcken in der Datei enthalten sind. Sind nur Blöcke enthalten, die das Mitglied bearbeiten darf, wird die Datei gelöscht. Ist dagegen ein Block enthalten, den das Mitglied nicht bearbeiten darf, darf das Mitglied diese Datei nicht löschen, wenn keine aktive Version zu dieser Datei vorhanden ist. Ist eine aktive Version vorhanden, darf das Mitglied die veraltete Version nur dann löschen, wenn in der aktiven Datei alle Blöcke 1:1 enthalten sind, für denen dem Mitglied die spezifischen Redaktionsrechte fehlen. Welche Inhalte vor, zwischen und nach diesen Blöcken notiert sind, ist dabei egal.
Weil die Prüfung sehr aufwändig ist, wird erst geprüft, wenn der Aufrufer den Befehl für eine Dateiversion ausglöst. In den Auswahllisten können also auch Dateien angeboten werden, die der Aufrufer weder verstecken noch löschen darf.
Abhängig davon, ob aktive und veraltete Dateien und Entwürfe vorhanden sind, werden beim Aufruf des Befehls "Datei löschen" aus der Übersichtsseite bis zu fünf Auswahllisten angeboten. Das hängt damit zusammen, dass von den Dateien, zu denen ein Entwurf vorhanden ist, zwar die veralteten Dateien gelöscht, aber die aktive Datei weder versteckt noch gelöscht werden darf.
Aktive Dateien mit veralteten Versionen und Entwurfsdatei
...
weiter
Aktive Dateien mit veralteten Versionen
...
weiter
Veraltete Versionen ohne aktive Datei, aber mit Entwurfsdatei
...
weiter
Veraltete Versionen ohne aktive Datei und ohne Entwurfsdatei
...
weiter
Aktive Dateien ohne veralteten Versionen
...
weiter
abbrechen
Wie in der Abbildung zu sehen ist, sind die Farben für die Schalter zum Fortsetzen und zum Abbruch des Vorgangs gegenüber vielen anderen Formularen vertauscht, da beim Fortsetzen/Auslösen eines Löschvorgangs ein Datenverlust droht/stattfindet, während ein Abbruch des Vorgangs keine Folgen hat.
Wird eine Inhaltsseite ausgewählt, zu der eine aktive Version, zwei veraltete Versionen und kein Entwurf vorhanden sind, wird als nächstes etwas wie in der nächsten Abbildung ausgegeben.
Aktive Version verstecken
...define('zac4web_pfad', '../../');
define('zac4web_seiten_autor', 'System');
define('zac4web_datei_datum', 'auto-wert');
define('zac4web_bereich', 'termin');
$seiten_titel = 'Bericht hochladen';
$seiten_sprache = 'de';
$verfaellt_nach_sec = 0;
$max_style = 2;
$pruefen_mitglied = 'redaktion_offen';
$formular = true;
$robots_no = true;
include zac4web_pfad."__zac4web/_wm/html_anfang.php";
?>
<?php //<block>:h1 ?>
<h1>Fehlercodes</h1>
<?php //<block>:p ?>
<p>Hier werdden nun die Fehlercodes beschrieben. ... </p>
<?php //Ende include ?>
Version verstecken
Versionen löschen
Mit dem oberen Formular kann die aktive Version versteckt werden.
Mit dem unteren Formular können die Versionen per Checkbox markiert werden, die gelöscht werden sollen. Für die älteren Versionen wird jeweils angegeben, wann sie zuletzt aktiv waren. Diese Information wird aus dem Zeitstempel ermittelt, der Teil des Dateinamens ist. Versionen, deren Checkbox markiert ist, werden sofort unwiderruflich gelöscht, sobald der Schalter "Versionen löschen" ausgewählt wird.
Im Gegensatz zu anderen Dateitypen wird für PHP-Dateien der Quellcode zeilenweise ausgegeben und kein Link angeboten, mit dem die PHP-Datei aufgerufen werden kann. Für die Ausgabe innerhalb der Seite werden allerdings die Zeichen < und > durch die zugehrigen HTML-Entities ausgetauscht, damit sich HTML-Tags innerhalb des Quellcodes nicht auf die Optik der ausgegebenen Seite auswirken.
PHP-Datei reaktivieren
Auch bei dem Befehl "Datei reaktivieren" verhindert "zac4web" wie beim Befehl "Datei löschen" dass beim Ersetzen einer aktiven Datei durch eine veraltete Datei, Code versteckt wird, der von dem Aufrufer nicht selber erstellt werden darf.
Dateien, die versteckt wurden, oder die beim Upload einer gleichnamigen Datei in den Sicherungsordner verschoben wurden, können reaktiviert werden. Durch das Reaktivieren wird eine Datei, in den Ordner verschoben, in dem sie ursprünglich gespeichert war, und erhält auch wieder ihren ursprünglichen Namen innerhalb des "zac4web"-Projekts.
Wird eine Version reaktiviert, zu der eine aktive Datei vorhanden ist, wird zuerst die aktive Datei umbenannt und in den Sicherungsordner verschoben. Danach erhält die reaktivierte Version ihren ursprünglichen Namen wieder und wird in den Ordner für aktive Dateien verschoben.
Weil nur Dateiversionen reaktiviert werden können, die sich im Sicherungsordner befinden und zu denen kein Entwurf vorhanden ist , werden nach der Wahl des Schalters "Datei reaktivieren" auf der Übersichtsseite maximal zwei Auswahllisten angeboten. Die Auswahllisten werden aber zweimal ausgegeben, da neben der unmittelbaren Aktivierung auch die Umwandlung einer veralten Version in einen Entwurf möglich ist..
Datei "direkt" reaktivieren
Aktive Dateien mit veralteten Versionen
...
weiter
Veraltete Versionen ohne aktive Datei und ohne Entwurfsdatei
...
weiter
Datei reaktivieren als Entwurf
Aktive Dateien mit veralteten Versionen
...
weiter
Veraltete Versionen ohne aktive Datei und ohne Entwurfsdatei
...
weiter
abbrechen
Weil durch das Reaktivieren kein Datenverslust droht, sind hier die Schalterfarben für das Fortsetzen/Bestätigen einer Aktion und Abbrechen wie in den meisten Formularen von "zac4web".
Nach der Auswahl einer Datei mit aktiver Version für die direkte Reaktivierung ähnelt das Formular dem Teilformular für das Löschen der Dateiversionen. Weil allerdings nur eine Datei aktiv sein kann, kann nur eine der Dateiversionen markiert werden.
Datei aktivieren
Wäre eine Datei ohne aktive Version ausgewählt worden, würde im Formular ein Hinweis erscheinen, dass aktuell keine Version aktiv ist. Und bei der Auswahl für die Reaktivierung als Entwurf wäre der Text leicht geändert
Management-Aktion: Ordner löschen
Nur Bereichs-Administratoren dürfen den Befehl "Ordner löschen" aufrufen. Mit diesem Befehl können die Bereichs-Administratoren auch Ordner löschen, in denen sich Dateien befinden, die sie wegen fehlender Rechte mit dem Befehl "Datei löschen" nicht löschen dürfen. Dies hängt damit zusammen, dass bei dem Befehl "Ordner löschen" wegen des sehr hohen Aufwands nicht ermittelt wird, welche Blöcke in den Dateien enthalten sind, die sich in den Ordnern befinden, die gelöscht werden sollen.
Ordner löschen für den öffentlichen Bereich
Ruft ein Bereichs-Administrator diesen Befehl für den Bereich "xxx" auf, ermittelt "zac4web" sämtliche Dateien und Verzeichnisse, die unmittelbar im Ordner "xxx" gespeichert sind. Sofern tatsächlich andere Unterordner als jene vorhanden sind, in denen mit den Formularen von "zac4web" Dateien gespeichert und Ordner angelegt werden können ("xxx/Bilder", "xxx/_admin", "xxx/_db_tabellen", "xxx/_medien", "xxx/_red", "xxx/_svg", "xxx/_upload"), wird für diese der Verzeichnisbaum ermittelt. Außerdem ermittelt "zac4web" aus dem Ordner "__ersetzt/xxx" alle Dateien, die nicht einem der zuvor genannten Unterordner und auch nicht den Ordnern aus dem Mitgliederbereich "_mb_xxx" zuzuordnen sind. Genauso verfährt "zac4web" mit den Ordnern "xxx/_drafts" und "xxx/_drafts_temp" in dem die Entwurfsdateien bzw. die Hilfsdateien zu den Entwürfen gespeichert werden.
Anschließend werden bis auf die Ordnernamen "xxx/Bilder", "xxx/_db_tabellen", "xxx/_medien", "xxx/_svg" und "xxx/_upload" sämtliche ermittelten Elemente von "xxx" als Verzeichnisbaum ausgegeben.
Unmittelbar nach der Anlage des Bereichs, würde der Verzeichnisbaum wie folgt aussehen:
xxx
Sobald die Index-Datei bereits einmal formularbasiert verändert und ein neuer Entwurf erstellt, aber noch nicht veröffentlicht und die Hilfsdatei ordnungsgemäß von "zac4web" beim Speichern des Entwurfs gelöscht wurde, die Navigationsdatei für den öffentlichen Bereich erstellt wurde und die Ordner "xxx/_admin" und "xxx/_red" angelegt wurden, würde folgendes angezeigt, sofern die veralteten Versionen für die Index-Datei und die Navigationsdatei nicht gelöscht wurden.
xxx
_drafts
__ersetzt/xxx
Stammordner: _admin
Stammordner: _red
Wenn in dem Ordner "xxx" und in dem Ordner "__ersetzt/xxx" auch einige Dateien oder Ordner vorhanden sind, die nicht mit den Formularen von "zac4web" erzeugt oder gespeichert wurden, und der Stammordner "_red" nicht vorhanden ist, könnte der Baum wie folgt aussehen
xxx
__ersetzt/xxx
malen
Stammordner: _admin
Bei dem Befehl "Ordner löschen" sind im Verzeichnisbaum alle Dateinamen mit einem Link hinterlegt, damit sich der Bereichs-Administrator die Dateien im Browser anzeigen lassen oder die Dateien herunterladen kann.
Jeder Datei, die gelöscht werden darf, ist im Verzeichnisbaum der Schalter "Datei löschen" zugeordnet. Mit diesen Schalter kann das Löschen der Datei gestartet werden. Der Löschbefehl muss aber noch bestätigt werden. Erst dann wird die zugeordnete Datei entfernt.
Weil die Index-Datei nicht gelöscht werden darf, ist ihr kein Schalter zugeordnet. Obwohl die aktive Navigationsdatei fehlen darf, kann auch sie nicht formularbasiert gelöscht werden, wenn sie einmal erstellt wurde. Nur wenn der gesamte Bereich über die Bereichsverwaltung gelöscht wird, werden diese beiden Dateien durch "zac4web" zusammen mit dem Ordner "xxx" gelöscht.
Der Ordnername "xxx" ist der einzige Ordnername im Verzeichnisbaum, der nicht mit einem Schalter hinterlegt ist, weil der Ordner "xxx" nur im Rahmen der Bereichsverwaltung gelöscht werden darf.
Durch die Wahl des Schalters, der dem Ordnername "_drafts" zugeordnet ist, können alle Dateien die für den Verzeichnisbaum aus dem Entwurfsordner "xxx/_drafts" ermittelt wurden, mit dem nachfolgenden Formular gelöscht werden. Analog würde sich "zac4web" verhalten, wenn der Orndername "xxx/_drafts_temp" angezeigt und ausgewählt würde.
Wird im Verzeichnisbaum der Schalter für den Ordner "__ersetzt/xxx" ausgewählt, werden sämtliche Dateien, die im Verzeichnisbaum diesem Ordner zugeordnet sind, gelöscht, nachdem der Löschbefehl bestätigt wurde. Sofern der Ordner "__ersetzt/xxx" nach dem Löschen der Dateien leer wäre, würde auch er gelöscht.
Werden im Verzeichnisbaum weitere Ordnernamen ausgewiesen, denen ebenfalls nicht die Zeichenfolge "Stammordner:" vorangestellt ist, wie z.B. "malen" in der obigen Abbildung, können die zugehörigen Ordner durch die Wahl des zugeordneten Schalters vollständig gelöscht werden.
Vor den beiden Ordnernamen "_admin" und "_red" ist im Verzeichnisbaum "Stammordner:" notiert, da in diesen Ordner formularbasiert die aktiven PHP-Dateien gespeichert werden, die zu dem öffentlichen Bereich von "xxx" gehören. Wenn diese beiden Ordner Elemente enthalten, würde für diese Ordner bei der Wahl des Schalters erst einmal der Verzeichnisbaum ermittelt
Wird der Schalter mit dem Ordnernamen "_red" ausgewählt, ermittelt "zac4web" alle Kindelemente der Ordner "xxx/_red" und "__ersetzt/xxx/_red", sowie alle Dateien, die in den Ordnern "xxx/_drafts" und "xxx/_drafts_temp" gespeichert sind und mit der Zeichenfolge "red-" beginnen. Anschließend ordnet "zac4web" in den Verzeichnisbaum, der für "xxx/_red" ermittelt wurde, die ermittelten Dateien aus den Ordnern "__ersetzt/xxx/_red", "xxx/_drafts" und "xxx/_drafts_temp" ein. Fehlen im Verzeichnisbaum von "xxx/_red" Ordner für die Einsortierung dieser Dateien, so ergänzt "zac4web" für die Ausgabe die benötigten Ordnerstrukturen ohne diese tatsächlich anzulegen.
Analog würde sich "zac4web" bei der Wahl des Schalters mit dem Ordnernamen "_admin" verhalten. Allerdings würden die Kindelemente des Ordners "xxx/_admin/_frage" nicht ermittelt, da in diesem Ordner nur Dateien gespeichert werden, die zu Fragebögen gehören, die von jedermann beantwortet werden dürfen/durften. Würden einzelne Dateien aus diesem Ordner gelöscht, könnte das dazu führen, dass Umfragen nicht mehr korrekt funktionieren. Außerdem können zu einer Umfrage sehr viele Dateien gehören, so dass die Auflistung sehr unübersichtlich würde. Daher können die Ordner und Dateien nur über die Verwaltung der Umfragen gelöscht werden (vgl. Arbeitsblätter und Umfragen löschen).
Falls der Verzeichnisbaum für den Ordner "xxx/_admin" angefordert wird und nicht nur aktive Dateien, sondern auch Entwürfe, Hilfsdateien für Entwürfe und veraltete Dateien sowie der Ordner "xxx/_admin/_frage" vorhanden sind, könnte die Ausgabe wie folgt aussehen:
Der Verzeichnisbaum von "xxx/_admin"
xxx/_admin
spiele
veraltete Dateien
Entwürfe im Ordner
Hilfsdateien für Redaktionsvorgänge im Ordner
berichte
tiere
veraltete Dateien
hunde_rassen
Entwürfe im Ordner
vogel_arten
planzen
baeume
laubbaeume
nadelbaeume
_frage
leere Ordner löschen
veraltete Dateien löschen
zum Bereichsordner
Anders als der Ordner "xxx" darf der Ordner "xxx/_admin" vollständig gelöscht werden. Daher ist im Verzeichnisbaum die Ordnerangabe "xxx/_admin" auch mit einem Schalter hinterlegt. Wird allerdings wie in der obigen Abbildung in dem Verzeichnisbaum der Ordner "_test" als Kindordner von "xxx/_admin" angezeigt, so werden nach der Bestätigung des Löschbefehls für den Ordner "xxx/_admin" nur alle Kindelemente von "xxx/_admin" gelöscht, die sich außerhalb des Ordners "xxx/_admin/_frage" befinden. Der Ordner "xxx/_admin/_frage" und sein Inhalt kann nur über die Verwaltung von Arbeitsblättern und Umfragen gelöscht werden. Daher ist der Ordnername "_frage" im Verzeichnisbaum auch nicht mit einem Schalter hinterlegt. Nur wenn der Ordner "xxx/_admin/_frage" nicht vorhanden ist, kann der Ordner "xxx/_admin" vollständig gelöscht werden.
In der Abbildung fällt auf, dass nicht allen Dateien der Schalter "Datei löschen" zugeordnet ist. Den aktiven PHP-Dateien ist im Verzeichnisbaum kein Schalter zugeordnet, um das Risiko zu minimieren, dass aktive Inhalte versehentlich gelöscht werden. Aktive PHP-Dateien dürfen mit dem Skript nur gelöscht werden, wenn der Ordner gelöscht wird, in dem sie gespeichert sind. Entwurfsdateien können wie alle anderen Dateien auch einzeln aus dem Verzeichnisbaum gelöscht werden. Ihnen ist allerdings der Schalter "Entwurf löschen" zugeordnet, um sie von den veralteten Dateien, den Hilfsdateien und all den Dateien, die einen anderen Dateityp als "php" besitzen, optisch abzuheben.
Würde im Verzeichnisbaum der Schalter mit dem Ordnernamen "spiele" gewählt, würde als nächstes der Teilbaum für diesen Ordner - allerdings ohne Links und Schalter - angezeigt. Darunter wäre ein Formular, mit dem der Löschbefehl bestätigt werden könnte, und darunter Schalter, mit denen der Löschbefehl durch Rücksprung zu einer Auswahlseite abgebrochen werden könnte. Würde der Löschbefehl bestätigt, würde nicht nur die Datei "spiel_1.php" gelöscht, die tatsächlich in dem Ordner gespeichert ist, sondern auch die Dateien, die dem Ordner zugeordnet sind, weil sie entweder veraltete Versionen zu Dateien sind, die in diesem Ordner gespeichert sind oder waren, oder weil sie Entwürfe sind, die nach der Veröffentlichung in dem Ordner gespeichert würden. Auch die zugeordneten Hilfsdateien würden gelöscht. Enthielte der Ordner "spiele" einen Unterordner, würde auch dieser samt seinen Kindelementen gelöscht. Die Zeichenfolge, mit welcher der Löschbefehl zu bestätigen ist, wird von "zac4web" bei jedem Aufruf des Formulars neu festgelegt.
Der Verzeichnisbaum von "xxx/_admin/spiele"
xxx/_admin/spiele
veraltete Dateien
Entwürfe im Ordner
Hilfsdateien für Redaktionsvorgänge im Ordner
zum Startverzeichnis
zum Bereichsordner
Zusätzlich zu den Schaltern im Verzeichnisbaum, werden bei der Anzeige des Verzeichnisbaums für den Stammordner unterhalb des Baums weitere Schalter ausgegeben.
Der Schalter "leere Ordner löschen" wird immer angezeigt, wenn der Ordner "xxx/_admin" nicht leer ist. Wird dieser Schalter ausgewählt, werden ohne weitere Nachfrage ordnerübergreifend sämtliche leeren Ordner aus dem Verzeichnisbaum gelöscht. Für den Verzeichnisbaum aus der voranstehenden Abbildung würde das bedeuten, dass nicht nur die drei Ordner "vogel_arten", "laubbäume" und "nadelbaeume", sondern auch der gesamte Teilbaum "planzen" gelöscht würde. Denn bei dem Löschen der Ordner wird auf der untersten Verzeichnisebene begonnen. Nach dem Löschen der Ordner "laubbaeume" und "nadelbaeume" wäre daher der Ordner "baeme" leer, und nachdem dieser gelöscht wurde, träfe dies auch auf den Ordner "pflanzen" zu.
Der Schalter "veraltete Dateien löschen" wird dagegen nur dann ausgegeben, wenn mindestens eine veraltete Datei innerhalb des Verzeichnisbaums enthalten ist. Wird dieser Schalter angeklickt, wird das Löschen für sämtliche veralteten Dateien, die im Verzeichnisbaum darüber angezeigt werden, gestartet. Die veralteten Dateien werden aber erst dann gelöscht, wenn der Löschbefehl bestätigt wurde.
Und mit dem Schalter "zum Bereichsordner" kann der Verzeichnisbaum für "xxx" aufgerufen werden. Dies entspricht sozusagen einem Abbruch des Befehls "Ordner löschen" für das Verzeichnis "xxx/_admin".
Der Schalter "zum Bereichsordner" besitzt in dieser Anzeige die Farbe, die sonst den Schaltern zugeordnet ist, mit denen eine Aktion gestartet oder begonnen werden kann, während sämtlichen Schaltern, mit denen ein Löschbefehl gestartet oder bestätigt werden kann, die "Warn"-farbe zugeordnet ist, die normalerweise in den Formularen von "zac4web" dem Schalter "abbrechen" zugeordnet wird. Die Farben für die Schalter wurden getauscht, weil ein Löschbefehl als "kritischer" Befehl eingestuft wird, da eine Löschaktion zu Daten/Dateiverlusten führen wird, während der Abbruch eines Löschbefehls keine Auswirkungen auf die gespeicherten Daten/Dateien hat und mit dem Abbruch des Löschbefehls auch keine per Formular eingegebenen Daten verloren werden. Auch auf den Seiten, die über einen Schalter mit "Warn"-Farbe aufgerufen werden, wird nur den Schaltern die "Warn"-Farbe zugeordnet, bei deren Wahl ein Daten/Dateiverlust ausgelöst wird oder droht.
Wie die Abbildung erahnen lässt, kann der angezeigte Verzeichnisbaum für einen Stammordner sehr viele Elemente enthalten. Damit nicht bei jedem Befehl der komplette Verzeichnisbaum ermittelt werden muss, kann nach dem Start des Befehls "Datei löschen" für eine Datei, die in einem Unterverzeichnis von "xxx/_admin" gespeichert ist, gewählt werden, ob nur der Verzeichnisbaum des Ordners angezeigt werden soll, in dem die Datei unmittelbar gespeichert ist (Schalter "zurück"), oder ob der Verzeichnisbaum für "xxx/_admin" anzuzeigen ist ("zum Startverzeichnis") oder der Verzeichnisbaum für das Bereichsverzeichnis "xxx" wieder angezeigt werden soll ("zum Bereichsverzeichnis").
Ordner löschen für den Mitgliederbereich
Bis auf kleine Abweichungen verhält sich "zac4web" bei dem Befehl "Ordner löschen" für den Mitgliederbereich zum Bereich "xxx" wie bei dem Befehl "Ordner löschen" für den öffentlichen Bereich.
So werden für den Ordner "_mb_xxx" aus dem Ordner "__ersetzt/xxx" nur die veralteten Versionen der Index-Datei und der Navigationsdateien des Mitgliederbereichs angezeigt.
Und für alle drei Stammordner des Mitgliederbereichs wird jeweils ein Unterordner nicht auf Kindelemente untersucht. Für die Stammordner "_mb_xxx/_ad_int" und "_mb_xxx/_ad_rva" ist dies wie für den Stammordner "xxx/_admin" des öffentlichen Bereichs der Unterordner "_frage", da dieser Dateien zu Mitgliederbefragungen enthalten kann. Und für den Stammordner "_mb_xxx/_red_int" ist es der Unterordner "_test", da in diesem die Dateien zu den Arbeitsblättern gespeichert werden.
Management der Navigationsdateien
Navigationsdateien sind zwar auch PHP-Dateien innerhalb des Systems, werden aber auftrund ihrer spezifischen Eigenschaften nicht wie die anderen PHP-Dateien behandelt. Die Navigationsdateien müssen den Dateityp "php" besitzen, damit sie von den php-Skripten, welche die Ausgabe der Navigationsmenüs steuern, eingebunden werden können. Die Navigationsdateien dürfen nur stark strukturierten reinen html-Code enthalten, damit die Navigationsmenüs in einer Anwendung optisch immer identisch aussehen. Daher gibt es für die Navigationsdateien ein eigenständiges Bearbeitungsformular. Mit diesem können ohne HTML-Kenntnisse in den Dateien Zeilen erstellt werden, die wie folgt aufgebaut sind:
<a class="navigation_L1" href="home/_admin/kontakt.php">Kontakt</a>
Navigationsdateien können nicht formularbasiert hochgeladen werden, sondern nur formularbasiert erstellt und verändert werden. Die Startseite für das Management der Navigationsdateien ist die Seite "Dateien verlinken".
Die Seite "Dateien verlinken"
Den Redakteuren wird der Link zum Aufruf der Seite "Dateien verlinken" nicht nur als Schalter auf der "Startseite für Redaktionstätigkeiten" angeboten. Der Link wird auch immer dann ausgegeben, wenn eine neue PHP-Datei der Typen "Inhaltsseite", "Gliederungsseite" und "Formular" erstellt oder formularbasiert hochgeladen wurde. Außerdem wird der Link angeboten, wenn eine "sonstige Datei" formularbasiert hochgeladen und dadurch keine aktive Datei ersetzt wurde.
Für einen System-Administrator enthält die Seite "Dateien verlinken" immer die Überschriften und Schalter, die in der nachfolgenden Abbildung enthalten sind. Erläuternde Texte wurden nicht mit in die Abbildung übernommen, da diese kontextabhängig sind.
Dateien verlinken
Gliederungsseite
Navigations-Menü
Haupt-Navigation
Versionsmanagement für Navigations-Menüs
reaktivieren
löschen
abbrechen
Die Dateiart "Gliederungsseite" wurde in "zac4web" eingeführt, um erweiterte Linklisten für die Navigation anbieten und die Navigationsmenüs übersichtlich halten zu können. Mit dem Schalter "Gliederungsseite" wird die gleiche Seite aufgerufen, die aus der Startseite für Redaktionstätigkeiten auch mit dem Schalter "Seite erstellen/bearbeiten" aufrufbar ist, da die Listen mit den Navigationslinks in den Gliederungsseiten mit dem Redaktionsformular gepflegt werden.
Über den Schalter "Navigations-Menü" kann das Formular erreicht werden, mit dem die verschiedenen Navigationsdateien für den Bereich verändert - oder sofern noch nicht vorhanden, erstellt - werden können.
Und mit dem Schalter "Haupt-Navigation können die System-Administratoren zu den Formularen gelagen, mit denen sie die bereichsübergreifenden Navigationsdateien pflegen können.
Ruft ein Mitglied, welches nur das Zugriffsrecht "redaktion_intern" zum Bereich besitzt, die Seite auf, werden diesem Mitglied lediglich die Schalter "Gliederungsseite" und "abbrechen" angeboten.
Bei Mitgliedern, die mindestens das Zugriffsrecht "redaktion_offen" zum Bereich besitzen, wird immer auch der Schalter "Navigations-Menü" ausgegeben. Ob die Schalter "reaktivieren" und "löschen" ausgegeben werden, hängt davon ab, ob das Mitglied für den Bereich mindestens die Zugriffsrechte besitzt, welche durch die System-Einstellungen für die Manipulation veralteter Navigationsdateien gefordert werden.
Die Navigationsdateien eines Bereichs "xxx"
Unmittelbar im öfffentlichen Verzeichnis eines Bereichs wird die Navigationsdatei "navigation.php" gespeichert. Diese Navigationsdatei wird immer eingebunden, wenn eine Seite ausgerufen wird, die jedermann aufrufen darf, sofern die Ausgabe der Navigationsspalte nicht unterdrückt werden soll.
Falls zu dem Bereich "xxx" ein Mitgliederbereich gehört, können unmittelbar im Ordner "_mb_xxx" die sechs Navigationsdateien "navigation.php", "navigation_pruefling.php", "navigation_redaktion_intern.php", "navigation_redaktion_offen.php", "navigation_verwalten.php" und "navigation_admin.php" gespeichert sein.
Einfachen Mitgliedern des Bereichs "xxx" werden beim Aufruf einer Seite aus dem Mitgliederbereich in der Navigationsspalte nur die Einträge aus der Datei "_mb_xxx/navigation.php" angezeigt. Die Namen der übrigen Navigationsdateien weisen darauf hin, welches Zugriffsrecht ein Aufrufer mindestens im Bereich "xxx" besitzen muss, damit ihm auch die Einträge aus diesen Navigationsdateien angezeigt werden.
Die Navigationsdateien dürfen fehlen oder leer sein. Wenn das System den Inhalt für das Navigationsmenü des Bereichs oder die Gesamtnavigation/Sitemap erzeugt, liest es - sofern die Dateien vorhanden sind und der Aufrufer den erforderlichen Rechtestatus besitzt - den Inhalt aus diesen Dateien ein. Außerdem schreibt das System - abhängig von dem Login-Status und den Zugriffsrechten des Aufrufers im Bereich - in das Navigationsmenü immer mindestens einen der Standard-Schalter, die für die Funktionsweise von "zac4web" benötigt werden.
Um Navigationsdateien des Bereichs "xxx" manipulieren zu können, benötigen Mitglieder eines Bereichs mindestens das Zugriffsrecht "redaktion_offen" zum Bereich "xxx". Die Navigationsdateien ""navigation_pruefling.php", "navigation_redaktion_intern.php", "navigation_redaktion_offen.php", "navigation_verwalten.php" und "navigation_admin.php" können allerdings nur von den Bereichs-Administratoren manipuliert werden. Handelt es sich bei dem Bereich "xxx" um den Kernbereich, darf auch die öffentliche Navigationsdatei "navigation.php" nur von den Bereichs-Administratoren, also den System-Administratoren, manipuliert werden.
Ruft ein Bereichsadministrator das Formular zum Bearbeiten eines Navigationsmenüs auf, so wird ihm, wenn schon ein Eintrag vorhanden ist und "zac4web" Dateien ermittelt hat, zu denen formularbasiert ein Link in das Navigationsmenü eingefügt werden darf, ein Formular angezeigt, welches der folgenden Abbildung ähnelt.
Wenn eine anderer Redakteur das Formular für ein Navigations-Menü aufruft, fehlt der Hinweis "Im nachfolgenden Feld ..." und die Eingabefelder darunter.
Navigationsmenü verändern
zur Auswahl
abbrechen
Jeder, der für den Bereich eine Navigationsdatei formularbasiert verändern darf, kann aus einer Auswahlliste Links in das Navigationsmenü einfügen, sofern "zac4web" Dateien ermitteln konnte, zu denen in der Auswahlliste ein Link angeboten werden darf. In der Auswahlliste für die Datei "xxx/navigation.php" sind die Pfade zu allen Inhaltsseiten, Gliederungsseiten und Formularen vorhanden, die in den Verzeichnissen "xxx/_admin" und "xxx/_red" sowie deren Unterordnern gespeichert sind. Wird die Datei "_mb_xxx/navigation.php" bearbeitet, enthält die Auswahlliste die Pfade zu allen Inhaltsseiten, Gliederungsseiten und Formularen vorhanden, die in den Verzeichnissen "_mb_xxx/_ad_int" und "_mb_xxx/_red_int" sowie deren Unterordnern gespeichert sind. Für den Kernbereich werden in diese Auswahllisten u.U. weitere Pfade eingefügt, wenn die System-Administratoren mit den System-Einstellungen diese Sprunglinks festgelegt haben. Und für alle anderen Navigationsdateien werden die verlinkbaren Dateien aus dem Ordner "_mb_xxx/_ad_rva" ermittelt. Wird eine Navigationsdatei bearbeitet, deren Name mit "navigation_" beginnt, sollte darauf geachtet werdem, dass das jeweils benötigte Minimalrecht für den Aufruf der verlinkten Datei zu dem Recht passt, welches für die Anzeige der Navigationsdatei nötig ist (erkennbar an dem Teil des Dateinamens nach der Zeichenfolge "navigation_").
Konnten keine Pfade für die Auswahlliste ermittelt werden, können die Redakteure, die nicht Bereichs-Administrator sind, höchstens vorhandene Sprunglinks aus den Navigationsdateien löschen.
Nur Bereichs-Administratoren dürfen in diesen Navigationsdateien beliebige Sprungziele notieren, also auch Links zu Dateien, die zu einem anderen Bereich als "xxx" oder zu den Systemdateien gehören. Auch Links zu Dateien, die nicht innerhalb des "zac4web"-Projekts gespeichert sind, sind möglich. Bei Seiten, die sich innerhalb des "zac4web"-Projekts befinden, reicht als Dateipfad der vollständige Pfad der Datei ab dem Wurzelverzeichnis des "zac4web"-Projekts aus. Bei allen anderen Dateien muss der Pfad mit dem Protokoll beginnen. Die Verwendung des Protokolls "https" für diese Links ist allerdings nur dann sinnvoll, wenn für den Aufruf der Seite das Protokoll "https" genutzt werden darf. Dass Erzwingen des Protokolls "http" dagegen kann zu einer Sicherheits-Warnung des Browsers führen, wenn die Seite des "zac4web"-Projekts, in der das Navigationsmenü eingebettet wird, selber mit dem Protokoll "https" im Browser aufgerufen wird.
Sobald eine Navigationsdatei des Bereichs "xxx" formularbasiert verändert wird, verschiebt "zac4web" die vorherige Version der Navigationsdatei in den Ordner "__ersetzt/xxx/_nav" und wandelt den Namen der Datei dabei um. So können zu einer Navigationsdateien mehrere veraltete Versionen gespeichert werden. Solange eine veraltete Navigationsdatei nicht gelöscht wurde, kann sie bei Bedarf wieder reaktiviert werden. Beim Reaktivieren tauschen die aktive Navigationsdatei und die ausgewählte veraltete Datei den Ordner, in dem sie gespeichert werden. Außerdem werden beide Dateien umbenannt. Aus der ausgewählten veralteten Version wird dadurch die aktive Navigationsdatei und die bislang aktive Datei wird zu einer veralteten Version. Die aktiven Navigationsdateien dürfen nicht gelöscht, sondern nur durch Löschung der Einträge geleert werden. Nur die veralteten Versionen, die in "__ersetzt" gespeichert sind, dürfen formularbasiert gelöscht werden.
Die Dateien der Haupt-Navigation
Die Dateien für die Haupt-Navigation sind identisch aufgebaut, wie die Navigationsdateien der Bereiche. Die Links aus diesen Navigationsdateien werden im allgemeinen bereichsübergreifend in den Navigationszeilen unterhalb und oberhalb der Zeile mit dem Logo und am Seitenende ausgegeben. Die Dateien der Haupt-Navigation dürfen nur System-Administratoren pflegen.
Mit Befehlen der Form
include zac4web_pfad."__wm/nav_schalter_red_x.php";
können die System-Administratoren in die Dateien der Hauptnavigation auch sogenannte "freie" Schalter einbinden. Dies sind Schalter der Hauptnavigation, deren Schaltertext und Linkziel von jedem Mitglied formularbasiert gepflegt werden dürfen, das in einem beliebigen allgemeinen Bereich des Projektes Seiten veröffentlichen darf, die jedermann aufrufen kann. Die System-Administratoren können das Pflegen dieser Schalter auch den Mitgliedern erlauben, die nur in einem Inhaber-Bereich öffentlich aufrufbare Seiten veröffentlichen dürfen.
Statt des Buchstaben "x" ist in dem include-Befehl im Dateipfad die Zahl zu notieren, die dem Schalter automatisch als Nummer zugeordnet wurde. (Das System nummeriert die Schalter, beginnend mit 1, fortlaufend.)
Die Reihenfolge der Befehle in der Datei für die Hauptnavigation entscheidet über die Reihenfolge der Schalter beim Aufruf der Seiten.
Die "freien" Schalter ermöglichen es, dass Redakteure von verschiedenen Bereichen gemeinsame Schalter nutzen können, um in der Hauptnavigation z.B. einen Link auf die aktuellste Seite ihres Bereichs zu platzieren. Je Schalter kann aber zu jedem Zeitpunkt nur eine Seite verlinkt sein, so dass Absprachen zwischen den Redakteuren bzgl. der Nutzung der gemeinsamen Schalter empfehlenswert sind.
Es können nur bereits vorhandene Navigationsdateien, die für die Pflege freigegeben sind, formularbasiert verändert werden. Über die Pflege der System-Einstellungen können System-Administratoren die bereichsübergreifenfen Navigationsdateien für die Pflege freigeben und auch weitere bereichsübergreifende Navigationsdateien anlegen. Die Dateien für die Hauptnavigaion werden unmittelbar im Ordner "__wm" gespeichert. Der Name dieser Dateien muss mit der Zeichenfolge "nav_" beginnen.
Beeinflussung der Gesamtnavigation/Sitemap
Bei kleineren Webanwendungen enthält u.U. die öffentliche Navigationsdatei des Kernbereichs auch die Namen der anderen Bereiche. Um irritierende Doppelnennungen dieser Bereichsnamen in der Gesamtnavigation und der Sitemap zu vermeiden, können die System-Administratoren in den System-Einstellungen wählen, ob die Einträge aus der öffentlichen Navigationsdatei des Kernbereichs wie die Einträge aus den öffentlichen Navigationsdateien der allgemeinen Bereiche in der Gesamtnavigation und der Sitemap ausgegeben werden sollen, oder nicht. Damit aber die Einträge aus der unterdrückten öffentlichen Navigationsdatei des Kernbereichs in der Gesamtnavigation und der Sitemap angezeigt werden können, die nicht die Startseite eines Bereichs mit öffenlicher Navigationsdatei können diese Einträge im Rahmen der Pflege der Systemdateien in die beiden zweidimensionalen Felder (numerisch/assoziativ) $erste_Schalter und $letzte_Schalter eingetragen werden. Die Einträge aus diesen Feldern werden automatisch in die Gesamtnavigation bzw. in die Ausgabe der Navigation auf der Seite Sitemap eingefügt.
Navigationsdateien für Inhaber-Bereiche werden niemals in der Gesamtnavigation und auch nicht in der Sitemap aufgelistet.
Auch für allgemeine Bereiche kann die Ausgabe der Navigationsdateien in der Navigation und der Sitemap unterdrückt werden, damit die Gesamtnavigation nicht zu umfangreich wird.
Die allgemeinen Bereiche sind für jedermann und die Seiten der Inhaber-Bereiche für die Mitglieder der Bereiche immer über die Seite "__zac4web/_System/bereich_wechseln.php" aufrufbar. Der Schalter "wechseln zu ..." wird von "zac4web" automatisch sowohl in die Gesamtnavigation als auch in die Bereichsnavigation eingefügt. Außerdem kann auf die Startseiten dieser Bereiche u.U. auch über die Bereichssuche zugegriffen werden. Die Erreichbarkeit für die Seiten dieser Bereiche kann erhöht werden, indem Links zu den öffentlichen Startseiten dieser Bereiche in Gliederungsseiten oder in Navigationsdateien der allgemeinen Bereiche notiert werden, deren Navigationsmenüs immer in der Sitemap/Gesamtnavigation ausgegeben werden.
Die System-Administratoren können über die Pflege der vier Dateien, deren Pfad mit "__wm/_admin/_inc/nav_mobil_frei_" beginnen, die "freien" Schalter aus der Hauptnavigation einbinden. Auf diese Weise kann auch den Nutzern mit mobilen Geräten der schnelle Zugang zu den Seiten ermöglicht werden, die vor kurzem verändert oder neu erstellt wurden.
Management von Systemdateien
Systemdateien können nur von System-Administratoren verändert, ersetzt und reaktiviert werden. Es können keine zusätzlichen Dateien formularbasiert in die Ordner hochgeladen werden, welche diese Systemdateien enthalten. Auch können mit dem Redaktionssystem von "zac4web" keine zusätzlichen Dateien erzeugt werden. Und formularbasiert können nur die veralteten Versionen der Systemdateien gelöscht werden.
Auf der Startseite für Redaktionstätigkeiten des Kernbereichs sieht der Abschnitt mit den Schaltern für den Aufruf der Formulare zur Pflege der Systemdateien wie folgt aus, da in "zac4web" einige System-Dateien mit dem Redaktionssystem von "zac4web" verändert werden können und für die Pflege der anderen System-Dateien eigenständige Formulare programmiert wurden.
Dateien des individuellen Systemkerns
Redaktionelle Seite pflegen
Datei bearbeiten
Datei reaktivieren
Datei löschen
Konstanten und Variablen ändern
System pflegen
Management der redaktionellen Seiten
Mit dem Schalter "Datei bearbeiten" kann der System-Administrator das Redaktionssystem für die Systemdateien aus dem Ordner "__wm/_admin" aufrufen. Im nächsten Schritt muss er wählen, ob er im oberen Formular eines der vorhandenen "PHP-Skripte - für Funktionen", "PHP-Skripte - für Variablen" oder "PHP-Skripte - für gemischten Inhalt" verändern möchte, oder ob er mit dem unteren Formular die Bearbeitung von einer der beiden Vorlagendateien für die Startseiten neuer Bereiche bzw. neuer Mitgliederbereiche beginnen möchte.
Wird eine der Dateiarten "PHP-Skript" ausgewählt, kann der System-Administrator wie bei der Bearbeitung der PHP-Dateien, die zu einem Bereich gehören, im nächsten Schritt die Datei auswählen, die er mit dem Redaktionsformular bearbeiten möchte. Sendet er im Anschluss die Inhalte aus dem Redaktionsformular mit dem Befehl "speichern" an den PHP-Server, wandelt das Redaktionsystem von "zac4web" die Inhalte in eine Entwurfsdatei um. Der Entwurf wird für Systemdateien in dem Ordner "__wm/_drafts" gespeichert. Den Entwurf kann der System-Administrator veröffentlichen und dadurch in eine aktive Datei umwandeln. Die bisherige aktive Datei wird zuvor als veraltete Datei in dem Ordner "__ersetzt/__wm/fgi" gespeichert.
Wählt der System-Administrator dagegen eine Vorlagendatei aus, öffnet sich sofort das Redaktionsformular. Beim Speichern überschreiben die Inhalte aus dem Redaktionsformular sofort die Inhalte in der bisherigen Vorlagendatei. Zuvor wurde eine Kopie der bisherigen Vorlagendatei als veraltete Datei in dem Ordner "__ersetzt/__wm/fgi" gespeichert. Es entsteht also nicht die Zwischenstufe "Entwurf", die für alle anderen Dateien sonst bei dem Befehl "speichern" aus den Inhalten des Redaktionsformulars erzeugt wird.
Die System-Dateien können mit dem Redaktionsformular aber nur dann bearbeitet werden, wenn sie strukturell korrekt aufgebaut sind (vgl. Strukturen für PHP-Dateien). Besitzen die Dateien eine abweichende Struktur wird den System-Administratoren angeboten, eine Kopie der Datei herunterzuladen, diese offline zu bearbeiten und durch Upload der veränderten Kopie die vorhandene aktive Datei zu ersetzen.
Die veralteten Dateien aus "__ersetzt/__wm/fgi" können reaktiviert und gelöscht werden. Die Formulare für die Manipulation der veralteten Dateien können aus der Startseite mit den Schaltern "Datei reaktivieren" und "Datei löschen" unterhalb der Überschrift "Dateien des individuellen Systemkerns" aufgerufen werden.
Weil keine zusätzlichen Dateien erstellt werden dürfen, wird auch nicht angeboten, neue Ordner anzulegen. Da die in der Originalversion von "zac4web" enthaltenen aktiven Systemdateien alle benötigt werden, dürfen sie nicht gelöscht werden. Weil weder Ordner noch aktive Dateien gelöscht werden dürfen, wird für die Systemdateien nicht der Schalter "Ordner löschen" angeboten.
Management der Dateien mit Konstanten und Variablen
Mit dem Schalter "System pflegen" wird die Übersichtsseite "System anpassen" aufgerufen, welche vor allem die Schalter enthält, mit denen die Formulare für die Bearbeitung der Skripte aufgerufen werden können, die in den Ordnern "__wm/__konstanten" und "__wm/__variablen" gespeichert sind.
Werden die Systemdateien aus diesen Ordnern formularbasiert verändert, werden die veralteten Versionen im Ordner "__ersetzt/__wm/kv" gespeichert. Die Übersichtsseite "System anpassen" enthält auch die Schalter mit denen die veralteten Dateien zu den Dateien aus den Ordnern "__wm/__konstanten" und "__wm/__variablen" reaktiviert und gelöscht werden können.
© zacher-info.de
- Seite zuletzt geändert: 12.12.2023 - Elisabeth Zacher