Übersicht
Das Plugin-System von Fess ermoglicht die Erweiterung der Kernfunktionen. Plugins werden als JAR-Dateien verteilt und dynamisch geladen.
Plugin-Typen
Fess unterstutzt folgende Plugin-Typen:
| Typ | Beschreibung |
|---|---|
| DataStore | Inhaltserfassung von neuen Datenquellen (Box, Slack usw.) |
| Script-Engine | Unterstutzung neuer Skriptsprachen |
| WebApp | Erweiterung des Web-Interfaces |
| Ingest | Datenverarbeitung beim Indexieren |
Plugin-Struktur
Grundstruktur
pom.xml-Beispiel
Plugin-Registrierung
Registrierung im DI-Container
Plugins werden in Konfigurationsdateien wie fess_ds.xml registriert:
Automatische Registrierung
Viele Plugins registrieren sich automatisch mit der @PostConstruct-Annotation:
Plugin-Lebenszyklus
Initialisierung
JAR-Datei wird geladen
DI-Container initialisiert Komponenten
@PostConstruct-Methoden werden aufgerufenPlugin wird beim Manager registriert
Beendigung
@PreDestroy-Methode wird aufgerufen (falls definiert)Ressourcen werden bereinigt
Abhangigkeiten
Abhangigkeit von Fess-Core
Externe Bibliotheken
Plugins konnen eigene Abhangigkeitsbibliotheken enthalten:
Abhangigkeitsbibliotheken konnen zusammen mit dem Plugin-JAR verteilt werden, oder es kann ein Fat-JAR mit dem Maven Shade Plugin erstellt werden.
Konfigurationszugriff
Zugriff auf FessConfig
Build und Installation
Build
Installation
Uber die Administrationsoberflache:
„System“ -> „Plugins“ -> „Installieren“
Plugin-Namen eingeben und installieren
Kommandozeile:
Manuell:
JAR-Datei in das
plugins/-Verzeichnis kopierenFess neu starten
Debugging
Log-Ausgabe
Entwicklungsmodus
Wahrend der Entwicklung kann Fess aus der IDE zum Debuggen gestartet werden:
FessBoot-Klasse im Debug-Modus ausfuhrenPlugin-Quellcode in das Projekt einbinden
Breakpoints setzen
Veroffentlichte Plugins
Wichtige vom Fess-Projekt veroffentlichte Plugins:
| Plugin | Beschreibung |
|---|---|
| fess-ds-box | Box.com-Konnektor |
| fess-ds-dropbox | Dropbox-Konnektor |
| fess-ds-slack | Slack-Konnektor |
| fess-ds-atlassian | Confluence/Jira-Konnektor |
| fess-ds-git | Git-Repository-Konnektor |
| fess-theme-* | Benutzerdefinierte Themes |
Diese Plugins sind als Entwicklungsreferenz auf GitHub veroffentlicht.
Referenzinformationen
DataStore-Plugin-Entwicklung - DataStore-Plugin-Entwicklung
Script-Engine-Plugin - Script-Engine-Plugin
WebApp-Plugin - WebApp-Plugin
Ingest-Plugin - Ingest-Plugin