Management von CSS- und Javascript-Dateien
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
CSS- und Javascript-Dateien werden bereichsübergreifend gespeichert. Sie können nur formularbasiert hochgeladen, versteckt, reaktiviert und gelöscht, aber nicht formularbasiert verändert werden.
Um eine dieser Aktionen ausführen zu können, muss der Aufrufer des Befehls für die Manipulation von CSS-Dateien das spezifische Redaktionsrecht "css" und für die Manipulation von Javascript-Dateien das spezifische Redaktionsrecht "javascript" innerhalb des "zac4web"-Projekts besitzen.
Die System-Administratoren legen in den Vorgabendateien für die beiden Dateiarten fest, welche Zugriffsrechte für die Datei-Management-Aktionen benötigt werden. Für das Hochladen, Verstecken und Reaktivieren von CSS-Dateien und Javascript-Dateien muss der Aufrufer neben dem spezifischen Redaktionsrecht nur in einem Bereich das jeweilige Zugriffsrecht besitzen, welches in der Vorgabendatei notiert ist. Um Dateien und Ordner löschen zu können, muss der Aufrufer dagegen das geforderte Recht in dem Bereich mit dem internen Namen "home" besitzen.
Der Schalter zum Aufruf der Übersichtsseite, über welche die Formulare für die Datei-Management-Aktionen aufgerufen werden können, werden einem Mitglied dann innerhalb des Navigationsmenüs eines Mitgliederbereichs angezeigt, wenn das Mitglied in diesem Bereich mindestens das Recht "pruefling" besitzt. Prinzipiell darf diese Übersichtsseite auch allen Personen angezeigt werden, die nur das Recht "mitglied" in dem Bereich besitzen, aus dem der Aufruf erfolgt, doch müsste den einfachen Mitgliedern der Link zu der Übersichtsseite anders angeboten werden, wenn gewünscht ist, dass auch diese mit dem Systemformular Dateien hochladen können.
Übersichtsseite
Sofern der Aufrufer über sämtliche Rechte für die Manipulation von CSS- und Javascript-Dateien verfügt und die Ordner für die Speicherung der aktiven und veralteten CSS- und Javascript-Dateien vorhanden sind, sieht die Übersichtsseite für das Dateimanagement dieser Dateien wie folgt aus.
Startseite für das Management der Dateien, die bereichsübergreifend gespeichert werden
CSS-Dateien
CSS-Datei hochladen
CSS-Datei raktivieren
CSS-Datei löschen
Ordner löschen
Javascript-Dateien
Javascript-Datei hochladen
Javascript-Datei raktivieren
Javascript-Datei löschen
Ordner löschen
abbrechen
Javascript
In der Originalversion von "zac4web" ist im Ordner "___Material" die js-Datei mit der jquery-Bibliothek gespeichert. Für das "zac4web"-Projekt kann auch eine andere jquery-Bibliothek als die in der Originalversion erhaltene verwendet werden. In diesem Fall muss nur der Pfad zur jquery-Bibliothek in der Datei jquery_url.php innerhalb des Ordners "___Material" manuell angepasst werden.
In den Ordnern "__zac4web/__javascript", "__zac4web/_redaktion/__javascript" und "__wm/__javascript" sind Javascript-Dateien gespeichert, die für die Funktionalität eines "zac4web"-Projekts benötigt werden. Die Dateien in dem Ordner "__wm/__javascript" dürfen manuell an das "zac4web"-Projekt angepasst werden, die Dateien aus dem Ordner "__zac4web/__javascript" sollten dagegen nur dann verändert werden, wenn festgestellt werden sollte, dass sie Fehler enthalten oder die Änderungen zur Erweiterung der Funktionalität erforderlich sind.
Werden darüberhinaus Javascript-Befehle benötigt, können diese in den Seiten notiert werden, in denen die Befehle gebraucht werden.
Damit die gleichen Javascript-Befehle, die von mehreren Seiten verwendet werden sollen, aber nicht in jeder dieser Dateien notiert werden müssen, bietet "zac4web" das formularbasierte Hochladen von Dateien in den Ordner "__javascript" an. Die Angaben für die Befehle, mit denen Browser angewiesen werden, die Dateien aus diesem Ordner und seinen Unterordnern beim Aufruf einer Seite zu laden, können Redakteure mit dem spezifischen Redaktionsrecht "javascript" formularbasiert bei der Erstellung/Bearbeitung aufrufbarer PHP-Dateien (Inhaltsseiten, Gliederungsseiten, Formularen) sowie im Rahmen der Arbeitsblattbearbeitung in die Dateien einfügen.
Welche Dateikennung die Dateien besitzen dürfen, die im Ordner "__javascript" gespeichert werden können, und wie groß die Dateien maximal sein dürfen, können die System-Administratoren in der Vorgabendatei für Javascript-Dateien festlegen.
Formularbasiert können nur die Dateien aus dem Ordner "__javascript" ersetzt, versteckt, reaktiviert und gelöscht werden, aber nicht die Javascript-Dateien aus den Ordnern "___Material", "__zac4web/__javascript", "__zac4web/_redaktion/__javascript" und "__wm/__javascript".
Dateien hochladen
Weil Javascript-Dateien nur im bereichsübergreifenden Ordner "__javascript" gespeichert werden können, wird nach der Wahl des Schalters "Datei hochladen" aus dem Abschnitt "Javascript-Dateien" der Übersichtsseite sofort die Seite angezeigt, welche zum einen das Formular enthält, mit dem der Speicherort für die Datei und der Dateiname festgelegt werden können, und zum anderen das Formular zeigt, mit dem Unterordner im Ordner "__javascript" angelegt werden können.
Datei hochladen
Speicherort und Dateinamen wählen
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. ...
abbrechen
Nachdem der Dateiname und der Speicherort festgelegt wurden, kann das Mitglied im nächsten Formular eine Datei auswählen und diese hochladen. "zac4web" speichert die Datei nur dann unter dem vom Mitglied ausgewählten Dateipfad, wenn die hochgeladene Datei den Vorgaben entspricht.
Damit beim Hochladen einer neuen Datei in den Ordner "__javascript" oder einen seiner Unterordner nicht versehentlich eine bereits vorhandene Datei überschrieben wird, verschiebt das System die bereits vorhandene Datei in den Sicherungsordner "__ersetzt/_spezial", sofern der Aufrufer der neuen Datei einen Namen geben möchte, den eine schon vorhandene Datei besitzt, und der Aufrufer nicht berechtigt ist, die Datei zu ersetzen. Dateien, die sich in dem Sicherungsordner befinden, können bei Bedarf reaktiviert werden.
Dateien löschen und 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 Upload-Ordner "__javascript" versteckt, wird sie durch Umbenennung in den Sicherungsordner "__ersetzt/_spezial" verschoben. Damit wird die Datei nicht mehr in den Redaktionsformularen zur Auswahl angeboten.
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.
Sind nur aktive Dateien vorhanden, wenn der Befehl "Datei löschen" aus der Übersichtsseite heraus aufgerufen wird, wird nur eine Auswahlliste angeboten. Sind auch versteckte Dateien vorhanden, werden bis zu drei Auswahllisten angeboten.
Veraltete Versionen ohne aktive Datei
...
weiter
Aktive Dateien mit veralteten Versionen
...
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 Datei ausgewählt, zu der eine aktive Version und zwei veraltete Versionen vorhanden sind, wird als nächstes Folgendes ausgegeben:
Aktive Version verstecken
...__javascript/aktiv_mit.js
...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.
Dateien reaktivieren
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, werden nach der Wahl des Schalters "Datei reaktivieren" auf der Übersichtsseite maximal zwei Auswahllisten angeboten.
Veraltete Versionen ohne aktive Datei
...
weiter
Aktive Dateien mit veralteten Versionen
...
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, zu der sowohl eine aktive Version als auch zwei veraltete Versionen vorhanden sind, wird folgendes Formular ausgegeben:
Datei aktivieren
Weil es immer nur maximal eine aktive Version zu einer Datei geben darf, kann in diesem Formular nur eine der Dateiversionen markiert werden.
Ordner löschen
Wird der Befehl "Ordner löschen" für Javascript-Dateien aufgerufen, ermittelt "zac4web" die Verzeichnisstruktur im Ordner "__javascript" und ordnet in den Verzeichnisbaum alle Dateien ein, die im Ordner "__ersetzt/_spezial" gespeichert sind und mit der Zeichenfolge "__javascript-" beginnen. Wenn der Ordner "__javascript" einen Unterordner enthält oder dem Ordner "__javascript" mindestens eine aktive oder veraltete Datei zugeordnet ist, werden alle Elemente des so ermittelten Verzeichnisbaums wie in der nachfolgenden Abbildung angezeigt.
Der Verzeichnisbaum von "__javascript"
__javascript
spiele
veraltete Dateien
abc
malen
Stammordner leeren
leere Ordner löschen
veraltete Dateien löschen
abbrechen
In diesem Verzeichnisbaum ist jede Datei mit einem Link hinterlegt, über welche die Datei - abhängig vom Dateityp - entweder heruntergeladen oder im Browser angezeigt werden kann, damit der Aufrufer vor der Auswahl eines Löschbefehls noch einmal prüfen kann, ob die Dateien, die von dem Löschbefehl betroffen sein werden, nur Inhalte enthalten, die nicht mehr benötigt werden. Jeder Datei ist in dem Verzeichnisbaum der Schalter "Datei löschen" zugeordnet, so dass gezielt auch einzelne Dateien gelöscht werden können.
Außerdem sind im Verzeichnisbaum alle Ordnernamen außer dem Ordner "__javascript" mit einem Schalter hinterlegt. Wird einer dieser Ordnernamen angeklickt, so wird der Ordner sofort gelöscht, wenn er leer ist. Anderenfalls wird der Teilbaum für diesen Ordner ausgegeben und ein Formular angeboten, mit dem der Löschbefehl bestätigt werden kann. Der Teilbaum enthält dann keine Schalter und Links, damit nicht versehentlich der Seiteninhalt im Browser ausgetauscht wird.
Der Ordner "__javascript" wird als "Stammordner" für den Verzeichnisbaum bezeichnet. Dieser kann nicht gelöscht, sondern nur geleert werden. Der Schalter für diese Aktion wird unterhalb des Verzeichnisbaums angeboten.
Wie in der Abbildung zu sehen ist, wird außerdem immer der Schalter "leere Ordner löschen" angeboten. Wird dieser Schalter ausgewählt, werden ordnerübergreifend sämtliche vorhandenen leeren Ordner aus dem angezeigten Verzeichnisbaum gelöscht. Der Schalter "veraltete Dateien löschen" wird dagegen nur angezeigt, wenn in dem Verzeichnisbaum veraltete Dateien ausgewiesen werden. Mit der Wahl dieses Schalters können alle veralteten Dateien, deren Namen im Verzeichnisbaum darüber enthalten sind, zum Löschen ausgewählt werden. Die veralteten Dateien werden aber erst dann gelöscht, wenn der Aufrufer dies mit dem dann angezeigten Formular bestätigt hat.
Abweichend zu vielen anderen Seiten mit Formularen, besitzt der Schalter "abbrechen" beim Aufruf des Formulars zum Löschen von Ordnern die Farbe, die sonst den Schaltern zugeordnet ist, mit denen Aktionen begonnen oder fortgesetzt werden können. Und sämtliche Schalter, mit denen ein Löschbefehl gestartet oder bestätigt werden kann, besitzen die "Warn-"Farbe, die sonst den Schaltern für "abbrechen" zugeordnet ist. Der Farbtausch wurde deshalb vorgenommen, weil die Löschbefehle kritische Befehle sind, die zum Verlust von Daten/Dateien führen werden, wohingegen der Abbruch der Aktion beim Löschen von Ordnern keinerlei Auswirkungen auf die Daten/Dateien hat.
CSS-Dateien
Damit Formatierungsanweisungen, die in mehreren Dateien eingesetzt werden sollen, nicht in jeder dieser Dateien zu notieren sind, werden diese Formatierungsanweisungen im allgemeinen in CSS-Dateien gespeichert. Die Anweisungen der CSS-Dateien, deren Pfade zusammen mit dem Aufruf einer Seite ausgeliefert werden, werden vom Browser ausgelesen und auf den Seiteninhalt angewendet.
Für die Speicherung von CSS-Dateien ist in "zac4web" der Ordner "__wm/styles" vorgesehen. In der ausgelieferten Originalversion enthält der Ordner u.a. die Dateien "kern.css", "screen.css" und "print.css". In der Datei "kern.css" sind die css-Angaben enthalten, die sich sowohl auf die Anzeige der Seiten im Browser als auch beim Ausdruck der Seiten auswirken. Die Befehle der Style-Datei "scseen.css" wirken sich nur auf die Anzeige aus und die aus "print.css" nur beim Ausdruck und in der Druckvorschau. In dem Unterordner "__wm/styles/plus" sind Dateien mit denen die Ausgabe im Redaktionsformular oder beim Dateimanagement gesteuert werden.
In den Ordner "__wm/styles" können bei Bedarf weitere CSS-Dateien hochgeladen werden. Welche Dateikennung diese Dateien besitzen dürfen und wie groß die Dateien maximal sein dürfen, können die System-Administratoren in der Vorgabendatei für CSS-Dateien festlegen.
Dateien hochladen
Das Hochladen von CSS-Dateien verläuft analog zum Hochladen von Javascript-Dateien. Allerdings differenziert "zac4web" bei den angebotenen Zielordnern danach, ob der Aufrufer System-Administrator ist oder nicht.
Möchte ein Mitglied eine CSS-Datei hochladen und ist dieses Mitglied kein System-Administrator, darf es die CSS-Datei nur in den Ordner "__wm/styles/spezial" hochladen. Sofern dieser Ordner nicht vorhanden ist, wird er beim Hochladen einer CSS-Datei automatisch angelegt.
System-Administratoren dürfen dagegen formularbasiert CSS-Dateien in den Ordner "__wm/styles" und jeden beliebigen Unterordner davon hochladen.
Das formularbasierte Hochladen direkt in den Ordner "__wm/styles" wird jedoch nur empfohlen, wenn eine dort vorhandene Datei durch eine neuere Version ersetzt werden soll. Ansonsten sollten zusätzliche CSS-Dateien nur in einem Unterordner von "__wm/styles" gespeichert werden. Denn nur die Adressen zu den CSS-Dateien aus den Unterverzeichnissen von "__wm/styles" können mit dem Redaktionsformular in Seiten eingefügt werden. Der Redakteur muss allerdings auch dafür das spezifische Redaktionsrecht "css" innerhalb des "zac4web"-Projekts besitzen.
Damit beim Hochladen einer neuen Datei in den Ordner "__wm/styles" oder einen seiner Unterordner nicht versehentlich eine bereits vorhandene Datei überschrieben wird, verschiebt das System die bereits vorhandene Datei in den Sicherungsordner "__ersetzt/spezial", sofern der Aufrufer der neuen Datei einen Namen geben möchte, den eine schon vorhandene Datei besitzt, und der Aufrufer nicht das Recht besitzt, die Datei zu ersetzen. Dateien, die sich in dem Sicherungsordner befinden, können bei Bedarf reaktiviert werden. Die Namen der ersetzten Versionen von CSS-Dateien beginnen immer mit der Zeichenfolge "__wm-styles-" und können dadurch leicht von den ersetzten Versionen von Javascript-Dateien unterschieden werden.
Beim Aufruf der Befehle "Datei reaktivieren" und "Datei löschen" werden die Dateien zur Auswahl angeboten, für die der Aufrufer den Befehl ausführen darf.
Dateien löschen und verstecken
Der Ablauf und die Formulare für das Löschen und Verstecken von CSS-Dateien stimmen überein mit dem Ablauf und den Formularen für das Löschen und Verstecken von Javascript-Dateien.
Allerdings können von CSS-Dateien nur die aktiven Dateien aus dem Ordner "__wm/styles/spezial" und dessen Unterordnern versteckt und gelöscht werden. Damit soll sichergestellt werden, dass von den CSS-Dateien, die mit der Originalversion ausgeliefert wurden, immer eine aktive Version vorhanden ist.
Für veraltete CSS-Dateien gilt diese Beschränkung nicht. Diese dürfen immer gelöscht werden.
Dateien reaktivieren
Das Reaktivieren von CSS-Dateien unterscheidet sich nicht von dem Reaktivieren der Javascript-Dateien.
Ordner löschen
Das Löschen von Ordnern für CSS-Dateien ähnelt dem Löschen von Ordnern für Javascript-Dateien und kann ebenfalls aus der Übersichtsseite mit dem Schalter "Ordner löschen" gestartet werden. Wenn allerdings das Formular für das Löschen von Ordnern für CSS-Dateien aufgerufen wird, wird nur der Verzeichnisbaum für den Ordner "__wm/styles/spezial" angezeigt. Der Ordner "__wm/styles/spezial" wird dann als "Stammordner" betrachtet, der nur geleert, aber nicht gelöscht werden kann. Dies hängt damit zusammen, dass die aktiven Dateien aus den anderen Ordnern in "__wm/styles" nicht gelöscht werden dürfen.
Maßnahmen von "zac4web", damit Browser immer die aktuellsten Versionen der CSS- und Javascript-Dateien anfordern
Damit Browser beim Aufruf der Seiten einer Internetpräsenz nicht jedesmal die benötigten CSS- und Javascript-Dateien neu laden müssen, speichern sie diese in ihrem Cache. Auf diese Weise wird die Datenmenge, die beim Aufruf verschiedener Seiten einer Internetpräsenz zwischen Browser und Server transportiert werden muss, insgesamt verringert.
Wenn ein Nutzer seinen Browser explizit auffordert, eine bereits angezeigte Seite neu zu laden, werden auch die eingebundenen CSS- und Javascript-Dateien neu vom Server angefordert.
Weil aber der Nutzer in der Regel nicht weiß, ob eine der eingebundenen CSS- oder Javascript-Dateien seit dem letzten Aufruf der Seite verändert worden ist, ergänzt "zac4web" in der Originalversion im Abschnitt "<head>" mit den Angaben und Befehlen aus der Datei "__wm/_admin/__variablen/versionen_fuer_header.php" hinter den Dateipfaden für jene CSS- und Javascript-Dateien, die innerhalb des "zac4web"-Projekts gespeichert sind und eingebunden werden sollen, jeweils die Zeichenfolge "?v=" gefolgt von einer Integerzahl oder einer weiteren Zeichenfolge, die als Versionsnummer interpretiert wird. Stellt der Browser beim Aufruf einer Seite fest, dass er im Cache von einer Datei nur Versionen mit abweichenden Versionsnummern im Cache hat, fordert er automatisch die neue Version der CSS- bzw. Javascript-Datei an.
Soll für ein "zac4web"-Projekt sichergestellt werden, dass bei einer Änderung der CSS-Dateien oder Javascript-Dateien Browser tatsächlich die aktuellste Version anfordern, sollten die System-Administratoren eines "zac4web"-Projekts die Anweisungen in der Datei "__wm/_admin/__variablen/versionen_fuer_header.php" pflegen/anpassen. System-Administratoren dürfen die Systemdatei mit dem Redaktionsformular bearbeiten, wenn sie ds Redaktionsrecht "php" besitzen.
© zacher-info.de
- Seite zuletzt geändert: 15.04.2021 - Elisabeth Zacher