Desenvolvimento para Moodle
Desenvolvimento de Plugin de Matrícula para Moodle 2
Versão 1.2
Lino Vaz [email protected]://www.badiu.net/
Moodle Moot 201530/04/2015
Sumário
Requisitos
Estrutura de arquivos
Instalação / atualização
Configuração global e local
Solicitação e processamento de inscrição
Requisitos do Plugin
Requisitos Funcionais Configurar condição de inscrição com base na nota final de um
determinado curso;
Se o usuário acessar o curso, ele será inscrito caso atender o requisito de nota de aprovação configurado no plugin;
Requisitos Técnicos Segue o padrão do Moodle. Deve ser instalado e desinstalado
na própria interface do Moodle;
Deve ser compatível com qualquer versão do Moodle de família 2. De 2.0 a 2.8
Arquivos de Plugin
Arquivo Obrigatório Descriçãolang/en/enrol_badiugcurricular.php Sim Pacote de idioma
db/access.php Não Controle de permissão
db/upgrade.php Não Controle de atualização
db/install.xml Não Definição de tabelas a ser criado no banco de dados
settings.php Sim Configuração global do plugin
version.php Sim Definição da versão do plugin
lib.php Sim Lógica de processamento do plugin. Ponto de ligação do plugin com o core do sistema
edit_form.php Não Formulário de configuração de regra da matrícula
edit.php Não Processa o formulário
plugin_config Não Gerencia configuração global
gradelib.php Não Verifica se usuário atende o requisito de nota
util.php Não Funções auxiliares de modo geral
enrollib.php Não Gerencia cadastro do usuário no curso
locallib Não Gerencia cadastro do método de inscrição
enrol.php Processa solicitação de inscrição verificando se o usuário atende ou não o requisito
Teste de Funcionamento
Instalação
Faça download do plugin cascahttp://badiu.net/download/badiugcurricular/badiugcurricular_1.1.zip
Descompacte o arquivo badiugcurricular_1.1.zip
Coloque a pasta badiugcurricular dentro da pasta MOODLE_DIR_INSTALL/enrolVerifique que dentro da pasta badiugcurricular tem arquivos version.php pasta lang etc.
Acesse o Moodle com senha de admin e clique no link Avisos no bloco de administração do site. A outra alternativa é acessar o link URL_MOODLE/admin/index.php
Teste de Funcionamento
Instalação Continuação
Ao acessar o gerenciador de plugin, será exibido a seguinte tela
Clique no botão Atualizar base de dados do Moodle agora. Feito isso deve ser exibido a tela de configuração global do plugin.
Teste de Funcionamento
Instalação Continuação
Tela de configuração global do plugin.
Conteúdo dessa tela fica no arquivo settings.php
Teste de Funcionamento
Habilitar o Plugin
Acesse o gerenciador do plugin de inscrição navegando no bloco de administração do site
Outra alternativa é acessar o seguinte url:MOODLE_URL/admin/settings.php?section=manageenrols
Teste de Funcionamento
Habilitar o Plugin
Habilite o plugin clicando no olho fechado
Teste de Funcionamento
Habilitar o Plugin
Visualização do plugin habilitado
Teste de Funcionamento
Criar Instância do Plugin no Curso
Acesse o gerenciador do método de de inscrição do curso
Outra alternativa é acessar o seguinte url:
MOODLE_URL/admin/settings.php?section=manageenrols
Teste de Funcionamento
Criar Instância do Plugin no Curso
Selecione o método de inscriçãoEssa opção é colocada pela função get_newinstance_link do lib.php
Teste de Funcionamento
Criar Instância do Plugin no Curso
Configurar a regra de inscrição
Este formulário é configurado no arquivo edit_form.php e processado no arquivo edit.php
Teste de Funcionamento
Criar Instância do Plugin no Curso Configurar a regra de inscrição
Teste de Funcionamento
Criar Instância do Plugin no Curso
Regra de inscrição instanciadaEsse ícone é colocado pela função get_action_icons do lib.php.
Teste de Funcionamento
Criar Instância do Plugin no Curso
Regra de inscrição instanciadaEsse ícone é colocado pela função get_action_icons do lib.php.
Teste de Funcionamento
Acesso do aluno ao curso
Regra de inscrição que será exibida ao aluno Essa tela mostra a mensagem configurada no
formulário quando o aluno atende o requisito
Essa mensagem é colocada pela função enrol_page_hook do arquivo lib.php
A lógica de processamento fica na função exec do arquivo enrol.php que é invocado pela função enrol_page_hook
Tabelas que Gerenciam Matrícula no Banco de Dados
Tabela Descriçãomdl_config_plugins Registra todos os plugins instalados e suas configurações globais
O aquivo plugin_config.php faz leitura das configurações globais. O arquivo settings.php grava as configurações globais usando API do core Moodle
mdl_enrol Registra as regras de matrícula (método de inscrição). Cada regra é uma instância de um determinado plugin vinculado a um curso. O arquivo locallib.php gerencia cadastro nessa tabela. Recebe dados do formulário edit_form.php. Esses dados são processados pelo arquivo edit.php que invoca as funções do arquivo locallib.php
mdl_user_enrolments Registra o vínculo do usuário a regra de inscrição. Também configura o período de validade da matrícula. O gerenciamento de cadastro é feito pelo arquivo enrollib.php pela função save_user_enrolments
mdl_role_assignments Registra a matricula do usuário vinculado a um determinado contexto (categoria de curso, curso ...) e a um determinado perfil (aluno, tutor ...). O gerenciamento de cadastro é feito pelo arquivo enrollib.php pela função save_role_assignments
Campos da tabela mdl_enrol usados pelo plugin
Campo Core Descrição
nome Sim Nome da instância
status Sim Status da instância
courseid Sim Vincula regra de inscrição ao curso. Chave estrangeira do curso da tabela mdl_course
roleid Não Define a função padrão que será inscrito no curso. Chave estrangeira do curso da tabela mdl_role
enrolperiod Não Define o tempo de validade da inscrição
customint1 Não Permitir novas inscrições
customint2 Não Curso pré-requisitos
customint3 Não Limite de vaga
customint5 Não Nota mínimo de aproveitamento no curso pré-requisito
customtext1 Não Mensagem de apresentação se o usuário atende os requisitos
customtext2 Não Mensagem de apresentação se o usuário não atende os requisitos
Documentação e espaço de debate
Download do Pluginhttp://www.badiu.net/download/badiugcurricular/badiugcurricular_1.1.zip
Documentação http://moodleeduc.badiu.com.br/?cat=38
Fórum de debate e tira dúvida http://comunidade.badiu.com.br/mod/forum/view.php?id=2
Top Related