Para desenvolver um plugin no Moodle, deve seguir os seguintes padrões sobre processo de codificação:
- Evitar hacker do código - Em caso de customização, evite alterar o código fonte do Moodle. Crie novos plugins ou módulos para adicionar ou alterar as funcionalidades do Moodle. Assim, a atualização para as novas versões não será comprometida.
- Usar API do Moodle –Antes de criar novos API, explore se os já existentes no Moodle não atendem a sua necessidade. Moodle é um framework que oferece muitos APIs prontos para o desenvolvedor. Segue na tabela a baixo alguns APIS importantes do Moodle.
API |
URL |
Banco de Dados |
|
Formulário |
|
Gerenciar Permissão |
|
Autenticação |
|
Thema |
|
String |
- Usar padrão de log do Moodle – Procure usar a estrutura de log do Moodle. Isso possibilita reaproveitar os relatórios já existentes no Moodle bem como outros plugin de relatórios do Moodle. O API do Moodle já oferece uma função que registra o log. Para mais detalhes, consulte o link: http://docs.moodle.org/dev/Logging_API
- Usar sistema de permissão do Moodle – Ao desenvolver novos módulos ou plugin do Moodle, faça o gerenciamento de permissões usando o sistema de permissão do framework do Moodle. Isso minimiza o esforço do desenvolvedor além de garantir a compatibilidade com o ambiente.
- Seguir padronização de nomes dos objetos de banco de dados do Moodle – O framework é um sistema baseado em nomes. As tabelas do banco de dados são nomeadas com prefixo do nome do módulo. Seguir essa regra garante a padronização, o que facilita o entendimento de outros desenvolvedores do Moodle.
- Internacionalização de idioma seguindo o padrão do Moodle – Evite misturar o texto de mensagens e rótulos que serão impressa na interface gráfica com código da lógica do sistema. Todos os textos devem ser isolados em um único arquivo de idioma na pasta lang, conforma o padrão framework. Isso possibilita tradução para outros idiomas. Para conhecer o API de gerenciamento de string do Moodle, consulte o link: http://docs.moodle.org/dev/String_API