Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrcula

  • Slides: 24
Download presentation
Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Lino Vaz Moniz

Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Lino Vaz Moniz linovazmoniz@gmail. com http: //www. badiu. net/ Moodle Moot Floripa 2014 10/10/2014

Sumário q Funcionamento do Plugin de Matrícula q Tabelas que Gerenciam Matrícula no Banco

Sumário q Funcionamento do Plugin de Matrícula q Tabelas que Gerenciam Matrícula no Banco de Dados q Criar um novo Plugin de Grade Curricular q Criar um Plugin Casca q Mapear Lógica do Core do Plugin q Teste de Funcionamento q O que fala adicionar

Funcionamento do Plugin de Matrícula q Um curso pode ter várias regras de matrícula

Funcionamento do Plugin de Matrícula q Um curso pode ter várias regras de matrícula q Um regra é uma instância de um plugin q Um mesmo plugin pode ter mais de uma instância

Tabelas que Gerenciam Matrícula no Banco de Dados Tabela Descrição mdl_config_plugins Registra todos os

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 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. 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 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. . . ).

Criar um novo Plugin de Grade Curricular q Requisitos Funcionais q Configurar condição de

Criar um novo Plugin de Grade Curricular q Requisitos Funcionais q Configurar condição de inscrição com base na nota final de um determinado curso; q Se o usuário acessar o curso, ele será inscrito caso atender o requisito de nota de aprovação configurado no plugin; q Requisitos Técnicos q Seguir o padrão do Moodle. Deve ser instalado e desinstalado na própria interface do Moodle; q Deve ser compatível com qualquer versão do Moodle de família 2. De 2. 0 a 2. 7

Criar um Plugin Casca q Clonar um plugin já existente q Acesse a pasta

Criar um Plugin Casca q Clonar um plugin já existente q Acesse a pasta MOODEL_DIR_INSTALL/enrol q Copie a pasta self e renomeie cópia com o nome badiugcurricular; q Apague todos os arquivos e funções que são específicas do plugin self e não fazem parte do core do plugin: q Renomeie todos os arquivos / funções core do plugin mudando o nome self para badiugcurricular. Exemplo: de: lang/en/enrol_self. php para: lang/em/enrol_badiugcurricular. php de: class enrol_self_plugin extends enrol_plugin {. . . } para: class enrol_badiugcurricular_plugin extends enrol_plugin {. . . }

Arquivos de Plugin Casca (Protótipo sem funcionalidades) Arquivo Obrigatório Descrição lang/en/enrol_badiugcurricular. php Sim Pacote

Arquivos de Plugin Casca (Protótipo sem funcionalidades) 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 Download do plugin casca: http: //badiu. net/download/badiugcurricular_1. 0. zip

lang/en/enrol_badiugcurricular. php $string['pluginname'] = 'Badiu Grade Curricular'; $string['msgshowonrequest'] = 'Método de inscrição Badiu. .

lang/en/enrol_badiugcurricular. php $string['pluginname'] = 'Badiu Grade Curricular'; $string['msgshowonrequest'] = 'Método de inscrição Badiu. . "; $string['msgsglobalsetting'] = 'Coloque aqui o formulário. . "; $string['status'] ='Ativo';

Mapear Lógica do Core do Plugin settings. php defined('MOODLE_INTERNAL') || die(); $settings->add(new admin_setting_heading('enrol_badiugcurricular_settings', '',

Mapear Lógica do Core do Plugin settings. php defined('MOODLE_INTERNAL') || die(); $settings->add(new admin_setting_heading('enrol_badiugcurricular_settings', '', get_string('msgsglobalsetting', 'enrol_badiugcurricular')));

Mapear Lógica do Core do Plugin version. php defined('MOODLE_INTERNAL') || die(); $plugin->version = 2014051200;

Mapear Lógica do Core do Plugin version. php defined('MOODLE_INTERNAL') || die(); $plugin->version = 2014051200; $plugin->requires = 2012112900; $plugin->component = 'enrol_badiugcurricular'; $plugin->cron = 600;

Mapear Lógica do Core do Plugin lib. php Classe / Função/Arquivo Tipo Descrição enrol_badiugcurricular_plugin

Mapear Lógica do Core do Plugin lib. php Classe / Função/Arquivo Tipo Descrição enrol_badiugcurricular_plugin class Classe a ser invocado pelo core do Moodle get_newinstance_link function Habilita link na caixa de seleção do método de inscrição habilitadas para serem instanciadas no curso get_action_icons function Habilita ícone ou link na instância criada no método de inscrição enrol_page_hook function Interface de acesso do aluno. Ponto de controle para executar a regra da matrícula. Essa função é invocada pelo core do Moodle quando o aluno não está inscrito no curso e tentar acessar. cron function Processar rotinas quando o cron do Moodle for executado lang/en/enrol_badiugcurricular. php Arquivo Configure. o pacto de idioma. Deve ter o nome do plugin: $string['pluginname']=‘Nome do Plugin’

Teste de Funcionamento Instalação q Faça download do plugin casca http: //badiu. net/download/badiugcurricular_1. 0.

Teste de Funcionamento Instalação q Faça download do plugin casca http: //badiu. net/download/badiugcurricular_1. 0. zip q Descompacte o arquivo badiugcurricular_1. 0. zip q Coloque a pasta badiugcurricular dentro da pasta MOODLE_DIR_INSTALL/enrol Verifique dentro da pasta badiugcurricular tem arquivos version. php pasta lang etc. q 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 q Ao acessar o gerenciador de plugin, será exibido

Teste de Funcionamento Instalação Continuação q Ao acessar o gerenciador de plugin, será exibido a seguinte tela q Clique no botão Atualizar base de dados do Moodle agora. Feito isso deve ser exibido a tela com mensagem que a instalação foi realizada com sucesso.

Teste de Funcionamento Habilitar o Plugin q Acesse o gerenciador do plugin de inscrição

Teste de Funcionamento Habilitar o Plugin q Acesse o gerenciador do plugin de inscrição navegando no bloco de administração do site q Outra alternativa é acessar o seguinte url: MOODLE_URL/admin/settings. php? section=manageenrols

Teste de Funcionamento Habilitar o Plugin q Habilite o plugin clicando no olho fechado

Teste de Funcionamento Habilitar o Plugin q Habilite o plugin clicando no olho fechado

Teste de Funcionamento Habilitar o Plugin q Visualização do plugin habilitado

Teste de Funcionamento Habilitar o Plugin q Visualização do plugin habilitado

Teste de Funcionamento Configuração Global do Plugin q Visualização do plugin habilitado Conteúdo dessa

Teste de Funcionamento Configuração Global do Plugin q Visualização do plugin habilitado Conteúdo dessa tela fica no arquivo settings. php

Teste de Funcionamento Criar Instância do Plugin no Curso q Acesse o gerenciador do

Teste de Funcionamento Criar Instância do Plugin no Curso q Acesse o gerenciador do método de de inscrição do curso q Outra alternativa é acessar o seguinte url: MOODLE_URL/admin/settings. php? section=manageenrols

Teste de Funcionamento Criar Instância do Plugin no Curso q Selecione o método de

Teste de Funcionamento Criar Instância do Plugin no Curso q 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 q Configurar a regra de

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

Teste de Funcionamento Criar Instância do Plugin no Curso q Regra de inscrição instanciada

Teste de Funcionamento Criar Instância do Plugin no Curso q 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 q Regra de inscrição que será

Teste de Funcionamento Acesso do aluno ao curso q Regra de inscrição que será exibida ao aluno Essa mensagem é colocado pela função enrol_page_hook do lib. php

Teste de Funcionamento O que falta fazer q Adicionar novos campos no formulário de

Teste de Funcionamento O que falta fazer q Adicionar novos campos no formulário de cadastro da regra. q Campo curso q Campo nota de corte Isso deve ser feita no arquivo edit_form. php e form. php q Processar a inscrição do aluno caso atenda o requisito da nota de corte e exibir mensagem de recusa caso não atende a regra. Isso deve ser feita na função enrol_page_hook do arquivo lib. php q Processar o cron no segundo plano matriculando automaticamente os alunos que atenderam os requisitos e enviar e-mail aos alunos Isso deve ser feita na função cron do arquivo lib. php

Lino Vaz Moniz Telefone (61) 9937 -8258 E-mail linovazmoniz@gmail. com http: //www. badiu. net

Lino Vaz Moniz Telefone (61) 9937 -8258 E-mail linovazmoniz@gmail. com http: //www. badiu. net Skype badiu. net