Tema Edumy no Moodle 4.5: como adaptamos sem perder o visual

Resposta rápida: Levar o tema Edumy de um Moodle 3.11 para o 4.5 não é só instalar a versão nova do tema. Foi preciso adaptar integrações ao Moodle atual, corrigir avisos de PHP em 45 tipos de bloco na origem, testar tudo numa cópia local e publicar com backup e conferência de arquivos. O resultado ficou operacional nas funções testadas, com a revisão visual completa em todos os dispositivos como etapa separada.
Caso real, contado sem identificar o cliente. Uma plataforma de cursos usava o Moodle 3.11 com o Edumy, um tema premium muito usado em Moodle, com os blocos de página do próprio tema e o formato de curso Tiles. A atualização para o Moodle 4.5 trouxe a navegação e os controles novos do Moodle, e a plataforma passou a mostrar botões duplicados, cartões sobrepostos e blocos que tinham sumido.
O objetivo era claro: manter a identidade visual e as funções que os alunos já conheciam, sem voltar para versões antigas e sem mexer nos dados acadêmicos.
Por que este projeto tinha pressa: a hospedagem anterior suspendeu o acesso à plataforma, e a atualização foi feita junto com a recuperação. Veja como recuperamos o Moodle pelo backup.
O ponto de partida
A cópia de trabalho ficou com Moodle 4.5, Edumy 4.0.2 e o formato Tiles 4.5. Essas são as versões que testamos; não significa que qualquer combinação de Edumy com Moodle 4.5 se comporte do mesmo jeito. O Moodle 4.5 é uma versão de suporte estendido (LTS), o que fazia sentido para quem queria estabilidade antes de pensar na série 5.
O que apareceu quebrado no 4.5
- Uma camada cinza sobre o curso e seções que não abriam direito no formato Tiles.
- Títulos, barras de progresso e cartões sobrepostos em telas estreitas.
- Controles novos do Moodle ao lado dos do tema: barras de navegação e botões duplicados.
- Painel de cursos com diferenças e problemas para mostrar os cursos em que o aluno estava matriculado.
- Dificuldades nos controles de inscrição, participantes e na exibição do relatório de notas.
- Blocos do tema instalados que não apareciam para uso, por uma configuração do próprio tema.
- Avisos de PHP ao configurar vários blocos.
Como adaptamos
- Cópia local primeiroTodo o trabalho foi feito numa cópia, com o Moodle 3.11 de referência ao lado para comparar. A produção só foi alterada nas etapas autorizadas.
- Integrações no padrão atualAjustamos as partes do tema que conversam com o Moodle (renderizadores, formulários e caminhos de componentes) para as APIs do 4.5, e corrigimos uma chamada a um método que não existe mais.
- Visual preservadoAjustes responsivos dentro do próprio tema para recuperar a organização da versão anterior, em vez de esconder elementos com CSS solto.
- Segurança mantidaNas telas de edição de blocos, preservamos as verificações de contexto, permissões, token de sessão e validação dos campos.
- Blocos disponíveisNa cópia de testes, 107 tipos de bloco do tema estavam instalados, mas a configuração do tema restringia o uso. Liberamos respeitando permissões e regras de duplicação.
Os avisos dos blocos: corrigidos, não escondidos
A análise encontrou avisos de PHP em 45 tipos de bloco. Nove deles estavam em uso, em 13 lugares da plataforma (página inicial, páginas institucionais e cursos); os outros 36 estavam instalados, sem uso. O atalho comum seria desligar a exibição de erros. Fizemos o contrário: corrigimos cada causa na origem.
| Causa encontrada | Por que aparece no Moodle e PHP atuais |
|---|---|
| Variáveis e campos opcionais sem valor inicial | O PHP atual avisa quando o código usa algo que não existe |
| Opções de envio de arquivos definidas depois de usadas | A ordem errada funcionava por acaso em versões antigas |
| Campos de nome incompletos nas consultas de usuários | O Moodle passou a exigir os campos completos de nome |
| Textos de idioma ausentes ou com chave errada | O Moodle avisa quando falta uma tradução |
| Propriedades criadas dinamicamente | O PHP 8.2 em diante desaconselha esse padrão |
| Usuário excluído ou resultado vazio sem tratamento | Dado real de produção expõe o caso que o teste não previa |
| Tipos e nomes de campos de formulário errados | Os formulários do Moodle ficaram mais rigorosos |
| Seletor de arquivos tratado como editor de texto | Erro de integração que o Moodle novo não tolera |
A correção final alterou 45 arquivos PHP do tema.
O que foi testado (e o que não foi)
| Teste na cópia local | Resultado |
|---|---|
| Montagem e exibição dos formulários dos 107 tipos de bloco | Sem avisos nem exceções |
| Carga de dados e exibição dos 45 formulários afetados | Zero avisos e zero falhas |
| Conteúdo e formulário dos 13 blocos em uso | Sem falhas; configuração preservada |
| Exibição de 807 instâncias de bloco existentes | Zero falhas |
| Verificações de segurança e edição complexa | 30 aprovadas |
| Fluxos de uso, inclusive como aluno e como professor | 22 aprovados |
Os testes com dados temporários foram desfeitos ao final. E aqui vai a parte que muitos relatórios omitem: teste automatizado de exibição não é navegação humana. A revisão visual completa em celular, tablet e computador, com perfis de administrador, professor e aluno, ficou como etapa separada. Por isso o resultado honesto é "operacional nas funções testadas", não "100% certificado".
A publicação em produção
- Conferimos que os 45 arquivos em produção eram exatamente a versão de partida esperada, comparando a assinatura de cada um.
- Fizemos backup fora da área pública do servidor.
- Validamos a sintaxe com o mesmo PHP do servidor.
- Publicamos num momento sem atividade recente de usuários e conferimos de novo a assinatura dos arquivos.
- Atualizamos o cache de idioma e verificamos que página inicial, acesso e catálogo respondiam sem erro.
No meio do projeto apareceu um problema que parecia do tema e não era: a correção das tarefas em PDF parou. A causa estava na configuração do PHP da hospedagem. Contamos em Moodle não converte o PDF da tarefa.
Lições para quem usa tema premium
- Antes de atualizar o Moodle, pergunte pelo tema. Tema premium antigo é o item que mais quebra num salto grande de versão.
- Adaptações precisam ficar registradas. Quando sair uma versão nova do tema, compare com as adaptações antes de sobrescrever os arquivos, ou elas se perdem.
- Não esconda avisos. Aviso escondido vira erro em produção na próxima atualização do PHP.
- Teste numa cópia e publique com backup e conferência dos arquivos.
Veja também temas e personalização do Moodle e, para quem vai além do 4.5, os requisitos do Moodle 5.x.
Perguntas frequentes
O tema Edumy funciona no Moodle 4.5?
No caso deste artigo, com Edumy 4.0.2 e Moodle 4.5, ficou operacional nas funções testadas depois de adaptações nas integrações e de correções em 45 tipos de bloco. Não é uma garantia para toda combinação de versões.
Por que o tema quebra ao atualizar o Moodle?
Porque o tema conversa com partes do Moodle que mudam entre versões, como navegação, renderizadores e formulários. Num salto grande, como do 3.11 para o 4.5, essas integrações precisam ser adaptadas.
Posso só desligar os avisos de PHP?
Esconder não resolve. O aviso indica código que pode virar erro na próxima atualização do PHP ou do Moodle. O certo é corrigir a causa.
Vale atualizar o tema premium junto com o Moodle?
Vale conferir antes se a versão do tema suporta a versão do Moodle e, se houver adaptações feitas no tema, compará-las com a versão nova antes de sobrescrever os arquivos.
Quanto tempo leva adaptar um tema premium?
Depende do tema, do salto de versão e de quantos blocos e páginas estão em uso. Por isso começamos com uma análise numa cópia, antes de orçar.


