Diagnóstico e Saúde¶
O Diagnóstico é o painel de verificação do MIDDAG. Ele permite inspecionar a saúde do plugin, a integridade do banco de dados e a compatibilidade do servidor — tudo a partir da interface administrativa, sem expor informações técnicas aos usuários finais.
Funcionalidades Principais¶
O painel de diagnóstico executa uma bateria de testes automatizados toda vez que é acessado, cobrindo três áreas críticas:
1. Verificação de Ambiente (Environment Check)¶
Analisa se o servidor onde o Moodle está hospedado atende aos requisitos técnicos das extensões ativas.
- Versão do PHP: Verifica compatibilidade mínima (ex: PHP 8.1+).
- Extensões PHP: Alerta se bibliotecas necessárias (como
soap,intl,gd) estão ausentes. - Permissões de Pasta: Garante que o plugin consegue escrever logs e arquivos temporários no
moodledata.
2. Integridade de Banco de Dados (Schema Integrity)¶
O MIDDAG utiliza tabelas personalizadas otimizadas. Esta ferramenta verifica se:
- Todas as tabelas necessárias existem.
- As colunas possuem os tipos corretos (ex:
BIGINTvsINT). - Os índices de performance estão criados.
- Existem dados órfãos (ex: metadados sem item pai).
Correção Automática
Se o diagnóstico encontrar inconsistências no banco (ex: uma tabela faltando após uma migração falha), ele oferecerá um botão "Reparar Schema" para tentar corrigir a estrutura automaticamente.
3. Status dos Módulos¶
Lista quais módulos do MIDDAG estão ativos e se algum apresentou falha durante a inicialização.
- Verde: Ativo e funcionando.
- Cinza: Desativado pelo administrador.
- Vermelho: Falha crítica (ex: dependência ausente). O detalhe do erro é exibido apenas para o administrador.
Ferramentas de Manutenção¶
Além de exibir problemas, o módulo oferece ações para resolvê-los:
Limpeza de Cache (Purge Caches)¶
Botão dedicado para limpar apenas os caches do MIDDAG (definições de serviço, rotas e metadados), sem precisar limpar o cache global do Moodle (que afeta a performance de todo o site).
Teste de Conectividade¶
Para módulos que dependem de serviços externos (como integração com BigQuery ou plataformas de E-commerce), o diagnóstico permite enviar um teste de conexão para verificar se o firewall ou credenciais estão corretos.
Visualizador de Logs Internos¶
Acesso rápido aos logs gerados por debug::trace(). Útil para desenvolvedores entenderem o fluxo exato de uma operação que falhou, sem precisar de acesso SSH ao servidor.
Como Acessar¶
O painel de diagnóstico é restrito a usuários com a capability local/middag:manage.
- Acesse Administração do Site.
- Navegue até Plugins > Plugins Locais > MIDDAG.
- Clique na aba Diagnóstico e Saúde.
Guia de Solução de Problemas (Troubleshooting)¶
Use esta tabela para interpretar os alertas mais comuns do painel:
| Alerta | Significado | Ação Recomendada |
|---|---|---|
| "Missing PHP Extension: intl" | O servidor não consegue processar formatação de moedas/datas internacional. | Solicite à hospedagem a instalação do php-intl. |
| "Database Drift Detected" | A estrutura do banco está diferente do esperado pelo código. | Clique em "Reparar Schema" ou rode o upgrade do plugin. |
| "Write Permission Denied" | O plugin não consegue salvar arquivos temporários. | Verifique as permissões da pasta moodledata/local/middag. |
| "Extension Boot Failure" | Uma extensão específica quebrou. | Desative a extensão problemática nas configurações para restaurar o sistema e verifique os logs. |