Plugins de GLPI: cómo elegir sin bloquear la próxima actualización

Cómo elegir y combinar plugins de GLPI sin caer en el plugin sprawl: por qué decenas de plugins sueltos se rompen en la actualización, cómo el enfoque modular de NexTool centraliza funciones en un único plugin base, cuándo basta con un plugin de la comunidad o una función nativa de GLPI 11 - y la experiencia de quien mantiene parques con más de 15 plugins.

Instalar un plugin para cada necesidad parece la solución obvia en GLPI - hasta el día de la actualización, cuando la mitad no vuelve a levantar. Después de años dando soporte a entornos GLPI de clientes, aprendimos que el cuello de botella rara vez es un plugin malo: es la suma de una docena de plugins sueltos, cada uno con su ciclo de versiones, su dependencia y su responsable. Esta guía muestra cómo elegir y combinar extensiones sin caer en el "plugin sprawl", dónde encaja el enfoque modular de NexTool - y, con honestidad, dónde no hace falta.

El problema: el "plugin sprawl"

Cada plugin del ecosistema GLPI es un proyecto aparte: responsable propio, repositorio propio, ritmo de versiones propio. Eso es una fortaleza de la comunidad open source, pero se vuelve un pasivo cuando acumulas una docena de ellos en el mismo entorno. Los síntomas que vemos con más frecuencia:

  • Compatibilidad desfasada con el core - GLPI publica una versión mayor y cada plugin necesita su propia actualización para seguirle el paso. Basta con que uno no se haya portado para que todo el entorno se quede bloqueado en la actualización.
  • Conflictos entre plugins - dos plugins que sobrescriben el mismo hook, inyectan CSS que compite o registran la misma ruta. El síntoma suele aparecer lejos de la causa.
  • Dependencias implícitas - un plugin que solo funciona con otro instalado, sin que eso esté documentado. Desactivar el equivocado tumba una función que nadie asociaba a él.
  • Superficie de mantenimiento multiplicada - cada plugin es un changelog que seguir, un CVE que vigilar y un "¿volverá a levantar la próxima vez?" en cada ventana de mantenimiento.

Antes que nada: inventaría lo que ya tienes

Antes de cualquier actualización - y antes de instalar un plugin más - lo primero que hacemos es listar qué está instalado y en qué estado. La consulta que lanzamos directo contra la base de datos:

-- Inventario de los plugins instalados en GLPI y el estado de cada uno.
-- state = 1 significa activado; los demas estados merecen atencion antes de la actualizacion.
SELECT directory AS plugin,
       name,
       version,
       state
FROM glpi_plugins
ORDER BY state, directory;

Para cada fila que aparezca, tres preguntas: quién lo mantiene, con qué ritmo de versiones y qué se rompe si no levanta en la próxima actualización. Un plugin del que nadie sepa responder es candidato a salir antes de la ventana, no durante.

Los tres enfoques, uno al lado del otro

No toda necesidad pide la misma respuesta. La tabla resume el trade-off entre resolver una carencia con un plugin suelto de la comunidad, con un módulo de NexTool o con una función ya nativa de GLPI 11:

CriterioPlugin suelto de la comunidadMódulo NexToolFunción nativa de GLPI 11
DependenciasUna por plugin, muchas veces implícitasUn único plugin base; módulos probados en conjuntoNinguna - forma parte del core
ActualizaciónCada plugin a su ritmo; uno atrasado bloquea la actualizaciónUn paquete que actualizar, con la compatibilidad probada por el proveedorSube junto con GLPI
ConflictosRiesgo real entre plugins de responsables distintosMenor: los módulos se prueban en conjunto. No elimina los bugs - concentra la responsabilidad en un solo lugarCero - es el propio core
Cobertura de versionesVaría según el plugin; puede no existir para tu versiónLa base corre en GLPI 10 y 11; cada módulo declara en qué versiones funciona (varios son exclusivos del 11)Acompaña a la versión instalada
SoporteComunidad / voluntario, sin SLAProveedor único con canal de soporteHoja de ruta oficial del proyecto GLPI
Dependencia del proveedorBaja - código abierto, puedes bifurcarlo y mantenerloAlta - hoja de ruta, precio y continuidad dependen de una sola empresaLa del propio proyecto GLPI
Curva de mantenimientoCrece con el número de pluginsPlana - un solo punto que seguirMínima, pero limitada a lo que cubre el core

Cómo funciona el enfoque modular

La alternativa no es renunciar a funciones - es reducir el número de cosas independientes que hay que gestionar. NexTool invierte la lógica: en lugar de N plugins, un único plugin base (gratuito) que aloja módulos activados bajo demanda.

  • Un único punto de instalación - instalas y actualizas el plugin base; los módulos viven dentro de él, sin que cada uno sea un paquete separado en el marketplace.
  • Activa solo lo que usas - el catálogo trae IA, comunicación, documentos, seguridad, automatización y más; enciendes módulo a módulo según la necesidad, sin cargar lo que no usas.
  • Sin gestionar dependencias entre módulos - la compatibilidad entre ellos es responsabilidad de un único proveedor, probada en conjunto en cada versión.
  • Un catálogo que crece - los módulos nuevos llegan sin exigir una nueva instalación de plugin; aparecen en la pantalla de módulos del plugin ya instalado.
  • Base gratuita - el plugin base y buena parte de los módulos son FREE; los licenciados conviven en el mismo lugar y pagas solo por lo que activas.

Lo que aprendimos en el soporte

En un cliente con más de 15 plugins sueltos, una actualización menor de GLPI tumbó la mitad: el entorno levantaba, pero cuatro plugins quedaban en estado "a actualizar" y desaparecían del menú. Lo que nadie esperaba es que un plugin de informes dependía de una tabla que creaba otro plugin - desactivar el segundo borraba silenciosamente el primero. Nos llevó una ventana entera solo mapear qué plugin bloqueaba a cuál. A partir de ahí decidimos tratar cada plugin nuevo como deuda de mantenimiento, no como una función gratis. El error común - que ya cometimos - es instalar un plugin para un único informe y olvidarlo instalado durante dos años, hasta que se convierte en el motivo de que una actualización no cierre.

Para quién es (y cuándo NO usarlo)

El enfoque modular brilla cuando necesitas varias funciones cohesionadas - IA en el ticket, notificación por WhatsApp, orden de trabajo en PDF, flujo de aprobación - y quieres un único proveedor responsable de la compatibilidad y del soporte. Si tu operación vive de ventanas de mantenimiento ajustadas y no puede permitirse una actualización bloqueada por un plugin huérfano, centralizar compensa.

Pero sé honesto sobre lo contrario: si un único plugin de la comunidad ya resuelve bien tu única necesidad, instálalo y sigue adelante - no hay motivo para traer un plugin base para encender un solo módulo. Y, sobre todo, mira primero lo que GLPI ya hace de forma nativa. El inventario nativo (GLPI Inventory, desde GLPI 10) sustituye al antiguo FusionInventory en la mayoría de los casos; los formularios y los objetos personalizados, que exigían FormCreator y GenericObject, se incorporaron al core en GLPI 11. No todo necesita un plugin, y mucho menos NexTool: el mejor plugin suele ser el que no hace falta instalar.

Hay además un trade-off que la centralización no resuelve, solo cambia de sitio: concentrar funciones en un único proveedor concentra también el riesgo. Con plugins sueltos de código abierto, si el responsable abandona el proyecto puedes bifurcarlo y seguir. Con un hub propietario, la hoja de ruta, el precio y la continuidad pasan a depender de una sola empresa. No es motivo para descartar el enfoque - es motivo para evaluar al proveedor como evaluarías a cualquier otro: historial de versiones, canal de soporte y qué pasa con tus datos si decides marcharte.

Cómo activar un módulo

  1. Instala el plugin base NexTool como cualquier plugin de GLPI: descomprime en plugins/, luego instala y activa en Configurar > Plugins.
  2. En el menú, ve a Configuración > NexTool > Módulos.
  3. Localiza el módulo deseado en el catálogo, comprueba qué versiones de GLPI soporta y haz clic en activar.
  4. Abre la pantalla configurar del módulo y ajusta los parámetros (claves de API, canales, perfiles, lo que corresponda).
  5. Repite para cada módulo. Ningún paso exige reinstalar el plugin base ni resolver dependencias a mano.

Compatibilidad

El plugin base de NexTool es gratuito y funciona tanto en GLPI 10 como en GLPI 11. La compatibilidad de los módulos, en cambio, se declara módulo a módulo: parte del catálogo es cross-version y funciona en las dos, mientras que buena parte de los módulos más recientes es exclusiva de GLPI 11, porque se apoya en funciones que solo existen allí. El catálogo muestra las versiones que soporta cada módulo, y la activación se bloquea con un mensaje explícito cuando el entorno no es compatible - te enteras antes de instalar, no en mitad de la actualización.

En la práctica, para quien migra del 10 al 11: comprueba en el catálogo cuáles de los módulos que usas son cross-version. Es el mismo inventario que este post recomienda para cualquier plugin - con la diferencia de que aquí la información está en un solo sitio, y no repartida por una docena de repositorios.

Si tu operación ha llegado al punto en que gestionar plugins se ha convertido en un trabajo en sí mismo, vale la pena conocer NexTool como hub modular - o habla con el equipo para evaluar si tu caso pide centralización o si el core ya lo resuelve.


Revisado por el equipo de NexTool Solutions.

Preguntas Frecuentes

Es la acumulación de decenas de plugins sueltos en el mismo entorno, cada uno con su responsable y su ciclo de versiones. El coste no es la instalación, es el mantenimiento: en cada actualización de GLPI dependes de que todos se hayan portado, y un solo plugin huérfano puede bloquear todo el entorno. Además, plugins de responsables distintos pueden entrar en conflicto y crear dependencias implícitas difíciles de rastrear.

Depende de la necesidad. Para un hueco puntual, un plugin de la comunidad bien mantenido cumple y no hay por qué traer nada más. NexTool compensa cuando necesitas varias funciones cohesionadas (IA, comunicación, documentos, automatización) y quieres un único proveedor responsable de la compatibilidad, el soporte y de no bloquear la próxima actualización.

El plugin base es gratuito y funciona en las dos versiones. Los módulos, en cambio, declaran individualmente qué versiones soportan: parte del catálogo es cross-version (GLPI 10 y 11) y buena parte de los módulos más recientes es exclusiva de GLPI 11. El catálogo muestra las versiones soportadas por módulo y bloquea la activación en un entorno incompatible, así que quien migra del 10 al 11 debe comprobar en el catálogo cuáles de los módulos en uso son cross-version.

Para esas funciones concretas, no. El inventario nativo (GLPI Inventory, desde GLPI 10) sustituye a FusionInventory en la mayoría de los casos, y los formularios y objetos personalizados que exigían FormCreator y GenericObject se incorporaron al core en GLPI 11. Antes de instalar cualquier plugin, comprueba si la función no existe ya de forma nativa - el mejor plugin suele ser el que no tienes que instalar.

Con el plugin base instalado y activo, ve a Configuración > NexTool > Módulos, localiza el módulo en el catálogo, haz clic en activar y luego abre la pantalla de configurar para ajustar los parámetros (claves de API, canales, perfiles). Ningún paso exige reinstalar el plugin base ni resolver dependencias a mano.

?Necesitas ayuda?