Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz [email protected] http://www.badiu.net/ Moodle Moot 2015 30/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ção lang/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 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 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ção Essa 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 instanciada Esse í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 instanciada Esse í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çã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 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 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 Lino Vaz Moniz Telefone (61) 9937-8258 E-mail [email protected] [email protected] http://www.badiu.net Skype badiu.net