knowledge-base/records/plugin-dev/KB-PLUGIN-001-install-hooks-required.md

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`