Übersicht
Die Theme-Funktion verwaltet „statische Themes“ – Pakete aus statischen Assets (HTML / CSS / JavaScript usw.), die das Erscheinungsbild des Suchbildschirms bestimmen. Statische Themes werden als ZIP-Archiv hochgeladen und in das Theme-Verzeichnis auf dem Server entpackt (Standard: themes, änderbar über theme.directory.path). Im Stammverzeichnis jedes Themes muss sich das theme.yml-Manifest mit den Theme-Metadaten befinden.
Bemerkung
JSP-basierte Themes werden über die Plug-in-Verwaltung behandelt und sind nicht Gegenstand dieser Seite. Für die hier beschriebenen Operationen ist die Rolle admin-theme erforderlich (für reinen Lesezugriff genügt die Rolle admin-theme-view).
Verwaltung
Anzeige
Um die Übersichtsseite der registrierten Themes zu öffnen, klicken Sie im linken Menü auf [System > Theme].
Themenliste
Die Übersichtsseite zeigt alle im Theme-Verzeichnis registrierten statischen Themes an. Folgende Spalten werden pro Eintrag angezeigt:
| Vorschaubild | Zeigt die Datei thumbnail.png im Theme-Verzeichnis an. Ist diese Datei nicht vorhanden, wird kein Bild angezeigt. |
| Name | Name des Themes (entspricht dem Verzeichnisnamen des Themes). Durch Klicken wird die Detailseite geöffnet. |
| Anzeigename | Der Wert displayName aus dem Manifest. |
| Version | Der Wert version aus dem Manifest. |
| Standard | Ein Häkchen wird angezeigt, wenn dieses Theme als Standardtheme festgelegt ist. |
| Aktion | Zeigt eine Schaltfläche „Löschen“ zum Entfernen des Themes an (wird für das Standardtheme nicht angezeigt). |
Tabelle: Spalten der Themenliste
Standardtheme festlegen
Wählen Sie im Dropdown-Menü oben auf der Übersichtsseite ein Theme aus und klicken Sie auf die Schaltfläche [Als Standard festlegen], um das Standardtheme für den Suchbildschirm festzulegen. Wenn Sie [(kein Standard)] auswählen und bestätigen, wird die Standardtheme-Zuweisung aufgehoben. Nach dem Speichern werden die Theme-Informationen neu geladen und die Änderung tritt sofort in Kraft.
Theme hochladen
Klicken Sie auf die Schaltfläche [Hochladen], um die Upload-Seite zu öffnen. Wählen Sie eine Theme-ZIP-Datei aus und klicken Sie auf die Schaltfläche [Hochladen], um das Theme zu installieren.
Es können nur Archive im Format
.ziphochgeladen werden.Die maximale Dateigröße des komprimierten Archivs beträgt standardmäßig 50 MB (
theme.upload.max.size).Das ZIP-Archiv muss im Stammverzeichnis ein
theme.yml-Manifest enthalten.
Wenn bereits ein Theme mit demselben Namen vorhanden ist, wird es ersetzt. Das ersetzte Theme wird für einen festgelegten Zeitraum (Standard: 7 Tage, theme.upload.attic.retention.days) als Sicherung aufbewahrt.
Falls das hochgeladene Archiv die Manifest-Validierung nicht besteht oder die Größe, Anzahl der Einträge oder das Komprimierungsverhältnis nach dem Entpacken die Servergrenzen überschreitet (Schutz vor Zip-Bomben), wird die Installation abgelehnt und eine Fehlermeldung angezeigt.
theme.yml-Manifest
Im Stammverzeichnis eines statischen Themes muss die Datei theme.yml (YAML-Format) mit den Theme-Metadaten vorhanden sein. Folgende Felder können angegeben werden:
| Feld | Pflichtfeld | Beschreibung |
|---|---|---|
apiVersion | Pflichtfeld | Gibt fess.codelibs.org/v1 an. |
kind | Pflichtfeld | Gibt StaticTheme an. |
name | Pflichtfeld | Name des Themes. Muss dem Muster ^[a-z0-9][a-z0-9_-]{0,63}$ entsprechen und mit dem Verzeichnisnamen des Themes übereinstimmen. |
displayName | Pflichtfeld | Der auf der Oberfläche angezeigte Name (maximal 4096 Zeichen). |
version | Pflichtfeld | Versionsnummer im SemVer-Format (Beispiel: 1.0.0). |
author | Optional | Autor des Themes. |
description | Optional | Beschreibung des Themes. |
license | Optional | Lizenz des Themes. |
homepage | Optional | Homepage-URL des Themes. |
minFessVersion | Optional | Mindest-Fess-Version, die von diesem Theme unterstützt wird. |
supportedLocales | Optional | Vom Theme unterstützte Sprachregionen. |
entry | Optional | Einstiegspunktdatei des Themes (Standard: index.html). |
spaFallback | Optional | Aktiviert oder deaktiviert den SPA-Fallback-Modus (Standard: true). |
Tabelle: Felder der theme.yml
Theme löschen
Ein Theme kann über die Schaltfläche „Löschen“ in der Übersichtsseite oder über die Schaltfläche [Löschen] auf der Detailseite entfernt werden. Das als Standardtheme festgelegte Theme kann nicht gelöscht werden. Heben Sie zuerst die Standardtheme-Zuweisung auf, bevor Sie das Theme löschen. Gelöschte Themes werden für einen festgelegten Zeitraum (Standard: 7 Tage, theme.upload.attic.retention.days) als Sicherung aufbewahrt.
Neu laden
Wenn das Theme-Verzeichnis direkt auf dem Server bearbeitet wurde, können Sie durch Klicken auf die Schaltfläche [Neu laden] die Theme-Informationen vom Datenträger neu in den Arbeitsspeicher laden.
Theme-Details
Durch Klicken auf einen Theme-Namen in der Übersichtsseite wird die Detailseite geöffnet. Auf der Detailseite können die Manifest-Inhalte eingesehen werden (Name, Anzeigename, Version, Standard-Flag, Zustand).
Konfigurationseigenschaften
Die wichtigsten Einstellungen der Theme-Funktion können in fess_config.properties geändert werden.
| Eigenschaft | Standardwert | Beschreibung |
|---|---|---|
theme.directory.path | themes | Verzeichnis zur Speicherung der Themes (relativer Pfad vom Servlet-Kontext oder absoluter Pfad). |
theme.upload.max.size | 52428800 | Maximale ZIP-Uploadgröße in Bytes (ca. 50 MB). |
theme.upload.max.extracted.size | 209715200 | Maximale Gesamtgröße nach dem Entpacken in Bytes (ca. 200 MB). |
theme.upload.max.entries | 1000 | Maximale Anzahl von Einträgen im ZIP-Archiv. |
theme.upload.max.compression.ratio | 100 | Maximales Komprimierungsverhältnis pro Eintrag. |
theme.upload.zip.ratio.max | 50 | Obergrenze des kumulierten Komprimierungsverhältnisses (Schutz vor Zip-Bomben). |
theme.upload.zip.ratio.check.threshold.bytes | 65536 | Komprimierte Bytegröße, ab der das kumulierte Komprimierungsverhältnis geprüft wird. |
theme.upload.attic.retention.days | 7 | Anzahl der Tage, für die Sicherungen ersetzter oder gelöschter Themes aufbewahrt werden. |
Tabelle: Konfigurationseigenschaften der Theme-Funktion