SlideShare uma empresa Scribd logo
1 de 21
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
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
linovazmoniz@gmail.com
lino@badiu.net
http://www.badiu.net
Skype
badiu.net

Mais conteúdo relacionado

Semelhante a Plugin Matrícula Moodle

03 configurando um-curso
03 configurando um-curso03 configurando um-curso
03 configurando um-cursoLarissaouwina
 
Zend Framework 2 é legal ! Mas como ele funciona ?!
Zend Framework 2 é legal ! Mas como ele funciona ?!Zend Framework 2 é legal ! Mas como ele funciona ?!
Zend Framework 2 é legal ! Mas como ele funciona ?!Alefe Variani
 
Desenvolvimento de Plugin para Geração de Relatório de Notas no Moodle
Desenvolvimento de Plugin para Geração de Relatório de Notas no MoodleDesenvolvimento de Plugin para Geração de Relatório de Notas no Moodle
Desenvolvimento de Plugin para Geração de Relatório de Notas no MoodleAlexsandra Barbosa
 
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...Tchelinux
 
MoodleMoot Brasil 2011 - O Moodle na UFSC (Infraestrutura de TI)
MoodleMoot Brasil 2011 - O Moodle na UFSC (Infraestrutura de TI)MoodleMoot Brasil 2011 - O Moodle na UFSC (Infraestrutura de TI)
MoodleMoot Brasil 2011 - O Moodle na UFSC (Infraestrutura de TI)Daniel Neis
 
Guia do Estudante - Programador de Sistemas FIC IFB.pptx
Guia do Estudante - Programador de Sistemas  FIC IFB.pptxGuia do Estudante - Programador de Sistemas  FIC IFB.pptx
Guia do Estudante - Programador de Sistemas FIC IFB.pptxemilsonribeiro
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDaniel Paz
 
Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Fabio Telles Rodriguez
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!Diego Santos
 
Padrões de Projeto J2EE para Aplicações Web
Padrões de Projeto J2EE para Aplicações WebPadrões de Projeto J2EE para Aplicações Web
Padrões de Projeto J2EE para Aplicações WebDenis L Presciliano
 
Como criar módulos para magento 2
Como criar módulos para magento 2Como criar módulos para magento 2
Como criar módulos para magento 2Rafael Corrêa Gomes
 
Phalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações IniciaisPhalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações IniciaisPauloRobertoBolsanel
 
Joomla + Moodle = Joomdle
Joomla + Moodle = JoomdleJoomla + Moodle = Joomdle
Joomla + Moodle = JoomdleObiz
 
Moodle - Práticas pedagógicas inovadoras
Moodle - Práticas pedagógicas inovadorasMoodle - Práticas pedagógicas inovadoras
Moodle - Práticas pedagógicas inovadorasGisele Brugger
 
Orientações para implementação na rede colaborativa de aprendizagem do uca
Orientações para implementação na rede colaborativa de aprendizagem do ucaOrientações para implementação na rede colaborativa de aprendizagem do uca
Orientações para implementação na rede colaborativa de aprendizagem do ucarositalima
 
Palestra FISL 2015 - Ao infinito e além com Joomla
Palestra FISL 2015 - Ao infinito e além com JoomlaPalestra FISL 2015 - Ao infinito e além com Joomla
Palestra FISL 2015 - Ao infinito e além com JoomlaJohnny Salazar Reidel
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 

Semelhante a Plugin Matrícula Moodle (20)

03 configurando um-curso
03 configurando um-curso03 configurando um-curso
03 configurando um-curso
 
Zend Framework 2 é legal ! Mas como ele funciona ?!
Zend Framework 2 é legal ! Mas como ele funciona ?!Zend Framework 2 é legal ! Mas como ele funciona ?!
Zend Framework 2 é legal ! Mas como ele funciona ?!
 
Desenvolvimento de Plugin para Geração de Relatório de Notas no Moodle
Desenvolvimento de Plugin para Geração de Relatório de Notas no MoodleDesenvolvimento de Plugin para Geração de Relatório de Notas no Moodle
Desenvolvimento de Plugin para Geração de Relatório de Notas no Moodle
 
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
Iniciando com Yii Framework - Volmar Machado da Silva Neto (Rede Pampa de Com...
 
MoodleMoot Brasil 2011 - O Moodle na UFSC (Infraestrutura de TI)
MoodleMoot Brasil 2011 - O Moodle na UFSC (Infraestrutura de TI)MoodleMoot Brasil 2011 - O Moodle na UFSC (Infraestrutura de TI)
MoodleMoot Brasil 2011 - O Moodle na UFSC (Infraestrutura de TI)
 
Guia do Estudante - Programador de Sistemas FIC IFB.pptx
Guia do Estudante - Programador de Sistemas  FIC IFB.pptxGuia do Estudante - Programador de Sistemas  FIC IFB.pptx
Guia do Estudante - Programador de Sistemas FIC IFB.pptx
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi Builder
 
Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4Tutorial para criação de módulo no Xoops 2.4
Tutorial para criação de módulo no Xoops 2.4
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!
 
Padrões de Projeto J2EE para Aplicações Web
Padrões de Projeto J2EE para Aplicações WebPadrões de Projeto J2EE para Aplicações Web
Padrões de Projeto J2EE para Aplicações Web
 
Framework Miolo
Framework MioloFramework Miolo
Framework Miolo
 
Como criar módulos para magento 2
Como criar módulos para magento 2Como criar módulos para magento 2
Como criar módulos para magento 2
 
Phalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações IniciaisPhalcon FrameWork - Considerações Iniciais
Phalcon FrameWork - Considerações Iniciais
 
Joomla + Moodle = Joomdle
Joomla + Moodle = JoomdleJoomla + Moodle = Joomdle
Joomla + Moodle = Joomdle
 
Moodle - Práticas pedagógicas inovadoras
Moodle - Práticas pedagógicas inovadorasMoodle - Práticas pedagógicas inovadoras
Moodle - Práticas pedagógicas inovadoras
 
Trabalhando com Módulos no Puppet
Trabalhando com Módulos no PuppetTrabalhando com Módulos no Puppet
Trabalhando com Módulos no Puppet
 
Orientações para implementação na rede colaborativa de aprendizagem do uca
Orientações para implementação na rede colaborativa de aprendizagem do ucaOrientações para implementação na rede colaborativa de aprendizagem do uca
Orientações para implementação na rede colaborativa de aprendizagem do uca
 
Palestra FISL 2015 - Ao infinito e além com Joomla
Palestra FISL 2015 - Ao infinito e além com JoomlaPalestra FISL 2015 - Ao infinito e além com Joomla
Palestra FISL 2015 - Ao infinito e além com Joomla
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 

Plugin Matrícula Moodle

  • 1. 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
  • 2. Sumário Requisitos Estrutura de arquivos Instalação / atualização Configuração global e local Solicitação e processamento de inscrição
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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.
  • 7. Teste de Funcionamento Instalação Continuação  Tela de configuração global do plugin. Conteúdo dessa tela fica no arquivo settings.php
  • 8. 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
  • 9. Teste de Funcionamento Habilitar o Plugin  Habilite o plugin clicando no olho fechado
  • 10. Teste de Funcionamento Habilitar o Plugin  Visualização do plugin habilitado
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. Teste de Funcionamento Criar Instância do Plugin no Curso  Configurar a regra de inscrição
  • 15. 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.
  • 16. 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.
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. Lino Vaz Moniz Telefone (61) 9937-8258 E-mail linovazmoniz@gmail.com lino@badiu.net http://www.badiu.net Skype badiu.net