Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com http://www.badiu.net/ Moodle Moot 2015 30/04/2015
Instalação / atualização Configuração global e local Sumário Requisitos Estrutura de arquivos Instalação / atualização Configuração global e local Solicitação e processamento de inscrição
Requisitos Funcionais 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ção lang/en/enrol_badiugcurricular.php Sim Pacote de idioma db/access.php Não Controle de permissão db/upgrade.php Controle de atualização db/install.xml Definição de tabelas a ser criado no banco de dados settings.php Configuração global do plugin version.php Definição da versão do plugin lib.php Lógica de processamento do plugin. Ponto de ligação do plugin com o core do sistema edit_form.php Formulário de configuração de regra da matrícula edit.php Processa o formulário plugin_config Gerencia configuração global gradelib.php Verifica se usuário atende o requisito de nota util.php Funções auxiliares de modo geral enrollib.php Gerencia cadastro do usuário no curso locallib 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
Instalação Faça download do plugin casca Teste de Funcionamento Instalação Faça download do plugin casca http://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/enrol Verifique 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
Instalação Continuação 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.
Instalação Continuação 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
Habilitar o Plugin Habilite o plugin clicando no olho fechado Teste de Funcionamento Habilitar o Plugin Habilite o plugin clicando no olho fechado
Habilitar o Plugin Visualização do plugin habilitado Teste de Funcionamento Habilitar o Plugin Visualização do plugin habilitado
Criar Instância do Plugin no Curso 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
Criar Instância do Plugin no Curso Teste de Funcionamento Criar Instância do Plugin no Curso Essa opção é colocada pela função get_newinstance_link do lib.php Selecione o método de inscrição
Criar Instância do Plugin no Curso 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
Criar Instância do Plugin no Curso Teste de Funcionamento Criar Instância do Plugin no Curso Configurar a regra de inscrição
Criar Instância do Plugin no Curso Teste de Funcionamento Criar Instância do Plugin no Curso Regra de inscrição instanciada Esse ícone é colocado pela função get_action_icons do lib.php.
Criar Instância do Plugin no Curso Teste de Funcionamento Criar Instância do Plugin no Curso Regra de inscrição instanciada Esse ícone é colocado pela função get_action_icons do lib.php.
Acesso do aluno ao curso Teste de Funcionamento Acesso do aluno ao curso 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 Regra de inscrição que será exibida ao aluno Essa tela mostra a mensagem configurada no formulário quando o aluno atende o requisito
Tabelas que Gerenciam Matrícula no Banco de Dados Descrição mdl_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 Core Descrição nome Sim Nome da instância status Status da instância courseid 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 Define o tempo de validade da inscrição customint1 Permitir novas inscrições customint2 Curso pré-requisitos customint3 Limite de vaga customint5 Nota mínimo de aproveitamento no curso pré-requisito customtext1 Mensagem de apresentação se o usuário atende os requisitos customtext2 Mensagem de apresentação se o usuário não atende os requisitos
Documentação e espaço de debate Download do Plugin http://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
http://www.badiu.net Skype Lino Vaz Moniz Telefone (61) 9937-8258 E-mail linovazmoniz@gmail.com lino@badiu.net http://www.badiu.net Skype badiu.net