24
Desenvolvimento para Moodle Desenvolvimento de Plugin de Matrícula para Moodle 2 Lino Vaz Moniz [email protected] http://www.badiu.net/ Moodle Moot Floripa 2014 10/10/2014

DesenvolimentTEsteo de Plugin de Matricula

Embed Size (px)

DESCRIPTION

TEste

Citation preview

  • Desenvolvimento para Moodle

    Desenvolvimento de Plugin de Matrcula para Moodle 2

    Lino Vaz Moniz [email protected]://www.badiu.net/

    Moodle Moot Floripa 2014 10/10/2014

  • Sumrio

    Funcionamento do Plugin de Matrcula

    Tabelas que Gerenciam Matrcula no Banco de Dados

    Criar um novo Plugin de Grade Curricular

    Criar um Plugin Casca

    Mapear Lgica do Core do Plugin

    Teste de Funcionamento

    O que fala adicionar

  • Funcionamento do Plugin de Matrcula

    Um curso pode ter vrias regras de matrculaUm regra uma instncia de um pluginUm mesmo plugin pode ter mais de uma instncia

  • Tabelas que Gerenciam Matrcula no Banco de Dados

    Tabela Descriomdl_config_pluginsRegistra todos os plugins instalados e suas configuraes globaismdl_enrolRegistra as regras de matrcula (mtodo de inscrio). Cada regra uma instncia de um determinado plugin vinculado a um curso.mdl_user_enrolmentsRegistra o vnculo do usurio a regra de inscrio. Tambm configura o perodo de validade da matrculamdl_role_assignmentsRegistra a matricula do usurio vinculado a um determinado contexto (categoria de curso, curso ...) e a um determinado perfil (aluno, tutor ...).

  • Criar um novo Plugin de Grade Curricular

    Requisitos FuncionaisConfigurar condio de inscrio com base na nota final de um determinado curso; Se o usurio acessar o curso, ele ser inscrito caso atender o requisito de nota de aprovao configurado no plugin; Requisitos TcnicosSeguir o padro do Moodle. Deve ser instalado e desinstalado na prpria interface do Moodle; Deve ser compatvel com qualquer verso do Moodle de famlia 2. De 2.0 a 2.7

  • Criar um Plugin Casca

    Clonar um plugin j existenteAcesse a pasta MOODEL_DIR_INSTALL/enrolCopie a pasta self e renomeie cpia com o nome badiugcurricular; Apague todos os arquivos e funes que so especficas do plugin self e no fazem parte do core do plugin: Renomeie todos os arquivos / funes 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 (Prottipo sem funcionalidades)

    Download do plugin casca: http://badiu.net/download/badiugcurricular/badiugcurricular_1.0.zip

    ArquivoObrigatrio Descriolang/en/enrol_badiugcurricular.php SimPacote de idiomadb/access.phpNoControle de permissodb/upgrade.phpNoControle de atualizaodb/install.xmlNoDefinio de tabelas a ser criado no banco de dadossettings.phpSimConfigurao global do pluginversion.phpSimDefinio da verso do pluginlib.phpSimLgica de processamento do plugin. Ponto de ligao do plugin com o core do sistema edit_form.phpNoFormulrio de configurao de regra da matrculaedit.phpNoProcessa o formulrio

  • lang/en/enrol_badiugcurricular.php $string['pluginname'] = 'Badiu Grade Curricular';

    $string['msgshowonrequest'] = 'Mtodo de inscrio Badiu....";

    $string['msgsglobalsetting'] = 'Coloque aqui o formulrio ....";

    $string['status'] ='Ativo';

  • Mapear Lgica do Core do Pluginsettings.php

    defined('MOODLE_INTERNAL') || die();

    $settings->add(new admin_setting_heading('enrol_badiugcurricular_settings', '', get_string('msgsglobalsetting', 'enrol_badiugcurricular')));

  • Mapear Lgica do Core do Pluginversion.php defined('MOODLE_INTERNAL') || die();

    $plugin->version = 2014051200; $plugin->requires = 2012112900; $plugin->component = 'enrol_badiugcurricular'; $plugin->cron = 600;

  • Mapear Lgica do Core do Pluginlib.php

    Classe / Funo/ArquivoTipoDescrioenrol_badiugcurricular_pluginclassClasse a ser invocado pelo core do Moodleget_newinstance_linkfunctionHabilita link na caixa de seleo do mtodo de inscrio habilitadas para serem instanciadas no cursoget_action_iconsfunctionHabilita cone ou link na instncia criada no mtodo de inscrioenrol_page_hookfunctionInterface de acesso do aluno. Ponto de controle para executar a regra da matrcula. Essa funo invocada pelo core do Moodle quando o aluno no est inscrito no curso e tentar acessar. cronfunctionProcessar rotinas quando o cron do Moodle for executadolang/en/enrol_badiugcurricular.phpArquivoConfigure .o pacto de idioma. Deve ter o nome do plugin: $string['pluginname']=Nome do Plugin

  • Teste de FuncionamentoInstalao Faa download do plugin cascahttp://badiu.net/download/badiugcurricular/badiugcurricular_1.0.zip

    Descompacte o arquivo badiugcurricular_1.0.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 administrao do site. A outra alternativa acessar o link URL_MOODLE/admin/index.php

  • Teste de FuncionamentoInstalao Continuao Ao acessar o gerenciador de plugin, ser exibido a seguinte tela

    Clique no boto Atualizar base de dados do Moodle agora. Feito isso deve ser exibido a tela com mensagem que a instalao foi realizada com sucesso.

  • Teste de FuncionamentoHabilitar o Plugin Acesse o gerenciador do plugin de inscrio navegando no bloco de administrao do site

    Outra alternativa acessar o seguinte url:MOODLE_URL/admin/settings.php?section=manageenrols

  • Teste de FuncionamentoHabilitar o Plugin Habilite o plugin clicando no olho fechado

  • Teste de FuncionamentoHabilitar o Plugin Visualizao do plugin habilitado

  • Teste de FuncionamentoConfigurao Global do Plugin Visualizao do plugin habilitado

    Contedo dessa tela fica no arquivo settings.php

  • Teste de FuncionamentoCriar Instncia do Plugin no Curso Acesse o gerenciador do mtodo de de inscrio do curso

    Outra alternativa acessar o seguinte url:MOODLE_URL/admin/settings.php?section=manageenrols

  • Teste de FuncionamentoCriar Instncia do Plugin no Curso Selecione o mtodo de inscrio

    Essa opo colocada pela funo get_newinstance_link do lib.php

  • Teste de FuncionamentoCriar Instncia do Plugin no Curso Configurar a regra de inscrio

  • Teste de FuncionamentoCriar Instncia do Plugin no Curso Regra de inscrio instanciada

    Esse cone colocado pela funo get_action_icons do lib.php.

  • Teste de FuncionamentoAcesso do aluno ao curso Regra de inscrio que ser exibida ao aluno

    Essa mensagem colocado pela funo enrol_page_hook do lib.php

  • Teste de FuncionamentoO que falta fazer Adicionar novos campos no formulrio de cadastro da regra.Campo cursoCampo nota de corte Isso deve ser feita no arquivo edit_form.php e form.php Processar a inscrio do aluno caso atenda o requisito da nota de corte e exibir mensagem de recusa caso no atende a regra. Isso deve ser feita na funo enrol_page_hook do arquivo lib.php

    Processar o cron no segundo plano matriculando automaticamente os alunos que atenderam os requisitos e enviar e-mail aos alunosIsso deve ser feita na funo cron do arquivo lib.php

  • Lino Vaz Moniz Telefone (61) 9937-8258 E-mail [email protected]://www.badiu.net

    Skypebadiu.net