21
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

Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz [email protected]

Embed Size (px)

Citation preview

Page 1: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 2: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

Sumário

Requisitos

Estrutura de arquivos

Instalação / atualização

Configuração global e local

Solicitação e processamento de inscrição

Page 3: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 4: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 5: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 6: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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.

Page 7: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

Teste de Funcionamento

Instalação Continuação

Tela de configuração global do plugin.

Conteúdo dessa tela fica no arquivo settings.php

Page 8: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 9: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

Teste de Funcionamento

Habilitar o Plugin

Habilite o plugin clicando no olho fechado

Page 10: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

Teste de Funcionamento

Habilitar o Plugin

Visualização do plugin habilitado

Page 11: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 12: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 13: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 14: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

Teste de Funcionamento

Criar Instância do Plugin no Curso Configurar a regra de inscrição

Page 15: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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.

Page 16: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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.

Page 17: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 18: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 19: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 20: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

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

Page 21: Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Versão 1.2 Lino Vaz Moniz linovazmoniz@gmail.com

Lino Vaz MonizTelefone

(61) 9937-8258

E-mail [email protected]

[email protected]

http://www.badiu.net

Skypebadiu.net