Para desenvolver um plugin no Moodle, deve seguir os seguintes padrões sobre processo de instalação:
- Módulos / Plugin – A instalação de qualquer módulo ou plugin no ambiente Moodle deve seguir o padrão do framework do Moodle. A pasta e os arquivos do plugin devem ser instalados no sistema de arquivo do Moodle e devem ser reconhecidos automaticamente pelo framework.
- Local de instalação do Plugin – Cada tipo de plugin deve ser instalada numa pasta específica no sistema do arquivo do Moodle para poder ser reconhecido automaticamente pelo framework. A tabela a seguir indicada o local em que cada tipo de plugin deve ser instalado.
Tipo de Plugin |
Local de Instalação |
Matrícula |
moodle/enrol |
Autenticação |
moodle/auth |
Relatório do curso |
moodle/course/reporter |
Relatório de nota |
moodle/grade/reporter |
Relatório no contexto do sistema |
moodle/ reporter |
Exportação de nota |
moodle /grade/export |
Bloco |
moodle/blocks |
Thema (interface gráfica) |
moodle/theme |
Formato de curso |
moodle/course/format |
Atividade do curso |
moodle/mod |
|
|
- Banco de dados - As tabelas do banco de dados do plugin devem ser geradas automaticamente durante o processo de instalação. A especificação da estrutura da tabela deve ser montada em formato xml seguindo o padrão XMLDB - http://docs.moodle.org/dev/XMLDB_Documentation
- Permissão de Acesso – As permissões de acesso ao plugin devem ser criadas automaticamente durante o processo de instalação. Para isso, é necessário definir no plugin as ações do módulo. Além disso, atribuir permissão a um determinado perfil do usuário padrão do Moodle. Uma ação é um procedimento de leitura ou edição de dados. Perfil de usuário padrão do Moodle são as funções criadas durante a instalação do Moodle tais como: Administrador, Autor do curso, Tutor, Tutor sem edição etc. Atribuir as ações definidas a um determinado perfil do usuário possibilita que o plugin seja acessível após a instalação. Para mais detalhes, consulte o API do Moodle sobre permissão no link http://docs.moodle.org/dev/Access_API