O Moodle 5.3 chega como uma nova versão LTS e traz mudanças importantes não apenas para professores e estudantes, mas também para quem desenvolve plugins, temas, integrações e soluções baseadas no Moodle.
A versão continua o processo de modernização da plataforma, com avanços principalmente em APIs, autenticação, frontend e infraestrutura.
Se você desenvolve para Moodle, estes são alguns dos pontos que merecem atenção.
Nova REST API e OAuth 2
Uma das mudanças mais interessantes do Moodle 5.3 está na evolução da infraestrutura de APIs.
Os novos Routed Web Services passam a contar com autenticação via OAuth 2, além de suporte a Personal Access Tokens.
Isso oferece uma abordagem mais moderna para integrações com aplicações externas, reduzindo a dependência dos tradicionais tokens utilizados pelos Web Services do Moodle.
React começa a chegar ao core
O Moodle 5.3 continua o trabalho iniciado no Moodle 5.2 para introduzir uma infraestrutura baseada em React.
Agora começamos a ver essa arquitetura sendo utilizada pelo próprio core.
O bloco Timeline é o primeiro componente do Moodle migrado para essa nova infraestrutura.
Isso não significa que AMD, Mustache e a arquitetura atual desaparecerão imediatamente.
A tendência é uma migração gradual, mas para desenvolvedores é um sinal importante sobre a direção que o frontend do Moodle está tomando.
Em breve traremos um post dedicado ao uso do React dentro do Moodle.
Bootstrap 5.3.8
O Moodle 5.3 passa a utilizar Bootstrap 5.3.8.
Para desenvolvedores de temas, essa mudança merece atenção especial.
Customizações SCSS, componentes sobrescritos, templates e comportamentos que dependem da estrutura do Bootstrap devem fazer parte dos testes de compatibilidade antes de declarar um tema compatível com Moodle 5.3.
O Classic saiu do core
Outra mudança importante para desenvolvedores de temas é a remoção do Classic do core do Moodle.
O Boost passa a ser o único tema distribuído junto ao Moodle.
Temas que possuem dependência ou herança do Classic precisam ser revisados antes da atualização. O próprio Moodle recomenda verificar customizações SCSS, presets e configurações anteriormente relacionadas ao tema Classic.
O Classic continua podendo ser instalado separadamente, mas deixa de fazer parte da distribuição padrão.
Para desenvolvedores de temas, fica cada vez mais clara a importância de acompanhar a arquitetura do Boost e do novo Design System do Moodle.
Dark Mode também impacta desenvolvedores de temas
Embora seja uma funcionalidade voltada ao usuário, ela também cria uma nova responsabilidade para desenvolvedores.
Plugins e temas que utilizam cores fixas, backgrounds personalizados ou componentes que não respeitam as variáveis do tema podem apresentar problemas quando o usuário alternar entre os modos Light, Dark e System.
Por isso, testar plugins visuais no Dark Mode passa a ser mais um item importante na matriz de compatibilidade com o Moodle 5.3.
APIs mais restritas e seguras
O novo sistema de rotas traz um conceito particularmente interessante: scopes de API.
Com eles, um token pode receber apenas as permissões necessárias para determinada integração. Por exemplo, uma aplicação pode ter acesso somente à leitura de determinados dados de usuários, sem receber permissões sobre outras áreas do Moodle.
Além das verificações normais de autenticação e capabilities do Moodle, requisições autenticadas por OAuth 2 ou Personal Access Tokens também podem ser restringidas pelo escopo do token.
Um endpoint pode, por exemplo, exigir explicitamente um scope como:
core_user:user:read
Dessa forma, mesmo que o usuário associado ao token tenha outras permissões dentro do Moodle, aquela integração continua limitada ao conjunto de operações autorizado para ela.
Essa arquitetura aproxima bastante o Moodle das práticas utilizadas atualmente em APIs modernas.
Atenção às APIs depreciadas
Como em qualquer versão principal do Moodle, desenvolvedores devem revisar as deprecations e upgrade notes antes de atualizar seus plugins.
O Moodle também vem fortalecendo o processo de depreciação do JavaScript.
Desde a versão 5.2 existe uma infraestrutura específica através do módulo AMD core/deprecated, seguindo uma lógica semelhante ao processo utilizado nas APIs PHP.
Para quem mantém plugins compatíveis com várias versões do Moodle, acompanhar essas depreciações é fundamental para evitar uma grande quantidade de mudanças acumuladas no futuro.
Operações assíncronas continuam ganhando espaço
No Moodle 5.3, operações administrativas como exclusão de cursos e execução de determinadas tarefas podem ser enviadas para processamento assíncrono.
Embora isso apareça inicialmente como uma melhoria administrativa, é mais um indicativo da importância crescente da infraestrutura de ad hoc tasks e scheduled tasks no Moodle.
Para desenvolvedores, continua valendo uma boa prática importante: operações pesadas não deveriam depender de uma única requisição HTTP.
O Moodle está mudando sua arquitetura aos poucos
O Moodle não está abandonando sua arquitetura atual de uma vez. A mudança está acontecendo de forma progressiva, permitindo que o enorme ecossistema de plugins continue acompanhando a evolução da plataforma.
Para quem desenvolve plugins, porém, este é um bom momento para começar a acompanhar essas novas APIs de perto.
Precisa de ajuda na sua plataforma Moodle?
A conecti.me é Moodle Partner oficial no Brasil e trabalha diariamente com desenvolvimento de plugins, temas, integrações, atualizações e projetos personalizados com o LMS Moodle.
Se sua empresa ou instituição precisa atualizar plugins para o Moodle 5.3, desenvolver uma integração, criar funcionalidades específicas ou modernizar seu ambiente, fale com a nossa equipe.
Podemos ajudar a transformar necessidades específicas em soluções reais.