57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
---
|
|
id: KB-PLUGIN-001
|
|
title: Instalacao de plugin GLPI requer callbacks install/uninstall
|
|
domain: plugin-dev
|
|
tags:
|
|
- glpi
|
|
- plugin
|
|
- install
|
|
- setup.php
|
|
- hooks
|
|
status: active
|
|
severity: high
|
|
created_at: 2026-05-01
|
|
updated_at: 2026-05-01
|
|
applies_to:
|
|
- plugins locais GLPI 11.x
|
|
- estrutura setup.php
|
|
related_records:
|
|
- KB-INFRA-001
|
|
---
|
|
|
|
# Contexto
|
|
O plugin `GLPI Matrix` aparecia na lista de plugins, mas falhava ao instalar pela interface.
|
|
|
|
# Sintoma observavel
|
|
- Notificacao generica de falha na instalacao.
|
|
- Plugin permanecia em status "Nao instalado".
|
|
|
|
# Causa raiz
|
|
Ausencia dos callbacks de ciclo de vida no `setup.php`:
|
|
- `plugin_<chave>_install(): bool`
|
|
- `plugin_<chave>_uninstall(): bool`
|
|
|
|
Sem esses callbacks, o GLPI nao consegue concluir o fluxo de instalacao/desinstalacao.
|
|
|
|
# Correcao aplicada
|
|
Adicionar no `setup.php`:
|
|
- `plugin_glpimatrix_install(): bool { return true; }`
|
|
- `plugin_glpimatrix_uninstall(): bool { return true; }`
|
|
|
|
# Validacao padrao
|
|
Executar:
|
|
1. `php /var/www/glpi/bin/console plugin:install glpimatrix -n`
|
|
2. `php /var/www/glpi/bin/console plugin:activate glpimatrix -n`
|
|
3. `php /var/www/glpi/bin/console plugin:list`
|
|
|
|
Esperado:
|
|
- instalacao concluida;
|
|
- ativacao concluida;
|
|
- status final "Habilitado".
|
|
|
|
# Regra para agentes
|
|
Ao criar plugin base, sempre incluir no `setup.php`:
|
|
1. `plugin_<chave>_check_prerequisites`
|
|
2. `plugin_<chave>_check_config`
|
|
3. `plugin_<chave>_install`
|
|
4. `plugin_<chave>_uninstall`
|