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

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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 encontradaPor que aparece no Moodle e PHP atuais
Variáveis e campos opcionais sem valor inicialO PHP atual avisa quando o código usa algo que não existe
Opções de envio de arquivos definidas depois de usadasA ordem errada funcionava por acaso em versões antigas
Campos de nome incompletos nas consultas de usuáriosO Moodle passou a exigir os campos completos de nome
Textos de idioma ausentes ou com chave erradaO Moodle avisa quando falta uma tradução
Propriedades criadas dinamicamenteO PHP 8.2 em diante desaconselha esse padrão
Usuário excluído ou resultado vazio sem tratamentoDado real de produção expõe o caso que o teste não previa
Tipos e nomes de campos de formulário erradosOs formulários do Moodle ficaram mais rigorosos
Seletor de arquivos tratado como editor de textoErro 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 localResultado
Montagem e exibição dos formulários dos 107 tipos de blocoSem avisos nem exceções
Carga de dados e exibição dos 45 formulários afetadosZero avisos e zero falhas
Conteúdo e formulário dos 13 blocos em usoSem falhas; configuração preservada
Exibição de 807 instâncias de bloco existentesZero falhas
Verificações de segurança e edição complexa30 aprovadas
Fluxos de uso, inclusive como aluno e como professor22 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.

Alejandro Argachá, especialista em Moodle

Escrito por Alejandro Argachá

Conhece o Moodle desde 2011 e, desde 2016, atua na parte técnica: servidor, código e segurança. Mais de 250 projetos entregues, boa parte para outras empresas que vendem Moodle. Resolve na prática problemas como este em plataformas de empresas e instituições brasileiras. Ver casos reais.