Pular para conteúdo

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: BIGINT vs INT).
  • 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.

  1. Acesse Administração do Site.
  2. Navegue até Plugins > Plugins Locais > MIDDAG.
  3. 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.