Vision General
El sistema de plugins de Fess permite extender la funcionalidad principal. Los plugins se distribuyen como archivos JAR y se cargan dinamicamente.
Tipos de Plugins
Fess soporta los siguientes tipos de plugins:
| Tipo | Descripcion |
|---|---|
| Almacen de datos | Obtencion de contenido desde nuevas fuentes de datos (Box, Slack, etc.) |
| Motor de scripts | Soporte para nuevos lenguajes de script |
| Aplicacion web | Extension de la interfaz web |
| Ingest | Procesamiento de datos durante la indexacion |
Estructura de un Plugin
Estructura Basica
Ejemplo de pom.xml
Registro de Plugins
Registro en el Contenedor DI
Los plugins se registran en archivos de configuracion como fess_ds.xml:
Registro Automatico
Muchos plugins se registran automaticamente con la anotacion @PostConstruct:
Ciclo de Vida del Plugin
Inicializacion
Se carga el archivo JAR
El contenedor DI inicializa los componentes
Se llama al metodo
@PostConstructEl plugin se registra en el gestor
Finalizacion
Se llama al metodo
@PreDestroy(si esta definido)Limpieza de recursos
Dependencias
Dependencia con Fess Principal
Bibliotecas Externas
Los plugins pueden incluir sus propias bibliotecas de dependencia:
Las bibliotecas de dependencia se distribuyen junto con el JAR del plugin o se crea un fat JAR usando Maven Shade Plugin.
Obtencion de Configuracion
Obtener desde FessConfig
Construccion e Instalacion
Construccion
Instalacion
Desde la pantalla de administracion:
«Sistema» -> «Plugins» -> «Instalar»
Ingrese el nombre del plugin e instale
Linea de comandos:
Manual:
Copie el archivo JAR al directorio
plugins/Reinicie Fess
Depuracion
Salida de Registros
Modo de Desarrollo
Durante el desarrollo, puede depurar iniciando Fess desde el IDE:
Ejecute la clase
FessBooten modo de depuracionIncluya el codigo fuente del plugin en el proyecto
Establezca puntos de interrupcion
Lista de Plugins Publicos
Principales plugins publicados por el proyecto Fess:
| Plugin | Descripcion |
|---|---|
| fess-ds-box | Conector de Box.com |
| fess-ds-dropbox | Conector de Dropbox |
| fess-ds-slack | Conector de Slack |
| fess-ds-atlassian | Conector de Confluence/Jira |
| fess-ds-git | Conector de repositorio Git |
| fess-theme-* | Temas personalizados |
Estos plugins estan disponibles como referencia de desarrollo en GitHub.
Informacion de Referencia
Desarrollo de Plugins de Almacen de Datos - Desarrollo de plugins de almacen de datos
Plugin de Motor de Scripts - Plugins de motor de scripts
Plugin de Aplicacion Web - Plugins de aplicacion web
Plugin Ingest - Plugins Ingest