Ü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).
Ein Theme beziehen
Die vom Fess-Projekt entwickelten Themes werden als ZIP-Archive unter https://maven.codelibs.org/release/org/codelibs/fess/themes/ veröffentlicht, als <name>/<version>/<name>-<version>.zip mit einer .sha1-Prüfsumme daneben.
Die Version eines Themes benennt die Fess-Linie, für die es gebaut ist: 15.9.0 ist ein Theme für Fess 15.9, und minFessVersion sagt dasselbe. Ein Feld für eine Obergrenze gibt es nicht. Ein veröffentlichtes Archiv ändert sich nie, eine Obergrenze ließe sich also nachträglich nicht ergänzen, wenn ein Theme auf einem neueren Fess nicht mehr läuft. Es für diese Linie nicht zu veröffentlichen sagt dasselbe – zu dem Zeitpunkt, an dem man es weiß.
Es gibt zwei Wege, eines zu installieren.
bin/fess-setup install theme <name>lädt das für dieses Fess gebaute Theme herunter, prüft es gegen die veröffentlichte Prüfsumme und installiert es. Siehe Der Befehl fess-setup.Das ZIP herunterladen und auf dieser Seite hochladen, wie unter Theme hochladen beschrieben.
Ein Theme lässt sich auch aus einem Checkout des Repositorys fess-themes paketieren, was immer zu dem Quellstand passt, den Sie vor sich haben; siehe Theme-Entwicklungsleitfaden.
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