Depois de tentar distorcer as funcionalidades do sistema para atender a demandas específicas, em 2015, eu decidi iniciar os estudos sobre desenvolvimento para Moodle. E observo que as versões mais recentes estão ficando cada vez melhor documentadas e com desenvolvimento mais fácil. Então se você sabe um pouco de PHP vale a pena tentar.
Aqui existem dois caminhos a seguir. Desenvolver um módulo completo do zero ou criar um clone de algum módulo já existente e fazer modificações para que te atenda. Fazer um clone é muito simples, basta copiar o módulo para a pasta de execução, renomear ele, e alterar o nome dele no clódigo (eu utilizo o Notpad++ para localizar e substituir em lote todas as ocorrências que o nome do módulo aparece no código) e por ultimo trocar o nome do arquivo de linguas. Isso é muito bom para fazer pequenas alterações em alguma funcionalidade do sistema e evita modificar a estrutura core. Em um outro momento falarei mais detalhadamente sobre esse método.
Mas tem alguns momentos que você precisa desenvolver algo maior, um módulo completamente novo que não cabe da estrutura padrão. Desde as primeiras versões do Moodle já foi lançado um tipo de módulo curinga para o Moodle chamado simplesmente de "Local", até a versão 2.7 parece que ele não tinha decolado ainda, mas foram feitas alguns modificações importantes na sua API que vem tornando interessante e transforma o Moodle numa forte framework de desenvolvimento. Digo isso pois antes quando você precisava desenvolver algo diferente era mais fácil desenvolver tudo em algum framework externo e integrar de alguma forma com o Moodle. Agora não, você pode desenvolver tudo dentro do Moodle mesmo, utilizando a sua API e ainda estendendo e incorporando novas APIs.
Eu até tentei localizar um modelo de Modulo Local para desenvolvimento, mas não encontrei. Então, a partir da documentação oficial (https://docs.moodle.org/dev/Local_plugins), iniciei a desenvolver um projeto aberto com um modelo base para iniciar um projeto qualquer. Você pode verificar e até contribuir em: https://github.com/exavier28/localframework
Nenhum comentário:
Postar um comentário