Vue d’ensemble
Le systeme de plugins de Fess permet d’etendre les fonctionnalites de base. Les plugins sont distribues sous forme de fichiers JAR et charges dynamiquement.
Types de plugins
Fess supporte les types de plugins suivants:
| Type | Description |
|---|---|
| DataStore | Recuperation de contenu depuis de nouvelles sources de donnees (Box, Slack, etc.) |
| Script Engine | Support de nouveaux langages de script |
| WebApp | Extension de l’interface web |
| Ingest | Traitement des donnees lors de l’indexation |
Structure d’un plugin
Structure de base
Exemple de pom.xml
Enregistrement du plugin
Enregistrement dans le conteneur DI
Les plugins sont enregistres dans des fichiers de configuration comme fess_ds.xml:
Enregistrement automatique
De nombreux plugins s’enregistrent automatiquement avec l’annotation @PostConstruct:
Cycle de vie du plugin
Initialisation
Le fichier JAR est charge
Le conteneur DI initialise les composants
Les methodes
@PostConstructsont appeleesLe plugin est enregistre dans le gestionnaire
Terminaison
Les methodes
@PreDestroysont appelees (si definies)Nettoyage des ressources
Dependances
Dependance avec Fess
Bibliotheques externes
Les plugins peuvent inclure leurs propres dependances:
Les bibliotheques dependantes peuvent etre distribuees avec le JAR du plugin, ou vous pouvez creer un fat JAR avec Maven Shade Plugin.
Recuperation de la configuration
Recuperation depuis FessConfig
Build et installation
Build
Installation
Depuis l’interface d’administration:
« Systeme » -> « Plugins » -> « Installer »
Entrer le nom du plugin et installer
Ligne de commande:
Manuellement:
Copier le fichier JAR dans le repertoire
plugins/Redemarrer Fess
Debogage
Sortie de logs
Mode developpement
En developpement, vous pouvez lancer Fess depuis l’IDE pour deboguer:
Executer la classe
FessBooten mode debugInclure les sources du plugin dans le projet
Definir des points d’arret
Liste des plugins publies
Principaux plugins publies par le projet Fess:
| Plugin | Description |
|---|---|
| fess-ds-box | Connecteur Box.com |
| fess-ds-dropbox | Connecteur Dropbox |
| fess-ds-slack | Connecteur Slack |
| fess-ds-atlassian | Connecteur Confluence/Jira |
| fess-ds-git | Connecteur de depot Git |
| fess-theme-* | Themes personnalises |
Ces plugins sont publies sur GitHub comme reference de developpement.
Informations complementaires
Developpement de plugins DataStore - Developpement de plugins DataStore
Plugin Script Engine - Plugins Script Engine
Plugin WebApp - Plugins WebApp
Plugin Ingest - Plugins Ingest