Ampliar la interfaz de usuario del frontend
Las extensiones de plugin de OpenKM facilitan ampliar la interfaz de usuario final de OpenKM, encapsulando el código del plugin y haciéndolo reutilizable entre versiones de OpenKM.
La arquitectura de extensiones de plugin de OpenKM se basa en:
- Extensiones
- Eventos
- Manejadores (handlers)
- Comunicadores
Las extensiones son definiciones de widgets disponibles que permiten al desarrollador crear paneles y widgets extensibles (por ejemplo, añadir un nuevo panel de pestaña en la pestaña de documento)
Los eventos son una colección de eventos que la interfaz de OpenKM dispara cada vez que se produce algún cambio (por ejemplo, cuando se añade una nueva palabra clave en la pestaña de documento se dispara el evento HasDocumentEvent.KEYWORD_ADDED)
Los manejadores son una colección de métodos que OpenKM llama internamente. Los manejadores deben implementarse en sus extensiones para recoger los eventos disparados por OpenKM. Cada extensión que cree puede tener uno o varios manejadores, que OpenKM registra automáticamente durante el proceso de carga. OpenKM dispara internamente eventos hacia cada manejador declarado.
Los comunicadores son una colección de métodos disponibles como API de comunicadores de OpenKM para acceder de forma transparente a algunos valores internos de la interfaz. Existen varios comunicadores; por ejemplo, con GeneralComunicator puede acceder a algunas acciones generales, como refrescar la interfaz con GeneralComunicator.refreshUI(). La API de comunicadores de OpenKM tiene métodos de lectura y escritura para interactuar con los objetos internos de la interfaz de OpenKM.
Habilitar las extensiones de ejemplo
Sección titulada «Habilitar las extensiones de ejemplo»OpenKM incluye algunas extensiones de ejemplo de la interfaz del frontend que no están habilitadas por defecto. Para habilitarlas, vaya a Administration > Utilies > Database query y ejecute las consultas SQL:
| Extensión | Sentencia SQL |
|---|---|
| ToolBarButtonExample | <br>INSERT INTO OKM_EXTENSION (EXT_UUID,EXT_NAME) VALUES('9f84b330-d096-11df-bd3b-0800200c9a66','Toolbar button example');<br> |
| TabWorkspaceExample | <br>INSERT INTO OKM_EXTENSION (EXT_UUID,EXT_NAME) VALUES('44f94470-d097-11df-bd3b-0800200c9a66','Tab workspace example');<br> |
| TabFolderExample | <br>INSERT INTO OKM_EXTENSION (EXT_UUID,EXT_NAME) VALUES('d95e01a0-d097-11df-bd3b-0800200c9a66','Tab folder example');<br> |
| TabFolderExample | <br>INSERT INTO OKM_EXTENSION (EXT_UUID,EXT_NAME) VALUES('d9dab640-d098-11df-bd3b-0800200c9a66','Hello world example');<br> |