A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento para Moodle Desenvolvimento de Plugin de Relatório para Moodle Lino Vaz Moniz Moodle Moot.

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento para Moodle Desenvolvimento de Plugin de Relatório para Moodle Lino Vaz Moniz Moodle Moot."— Transcrição da apresentação:

1 Desenvolvimento para Moodle Desenvolvimento de Plugin de Relatório para Moodle Lino Vaz Moniz Moodle Moot 2014

2 Sumário  Tipos de plugin  Estrutura básica de um plugin de relatório  Instalação do plugin  Cabeçalho e Rodapé do Thema  Listar usuário  Formulário de filtro de usuário

3 Tipos de Módulo/Plugin Matrícula moodle/enrol Autenticação moodle/auth Relatório do curso moodle/course/reporter Relatório de nota moodle/grade/repórter Relatório no contexto do sistema moodle/admin/report (até moodle 2.1) moodle/report (a partir de moodle 2.2) Exportação de nota moodle /grade/export Tema (interface gráfica) moodle/theme Formato de curso moodle/course/format

4 Tipos de Módulo/Plugin Tipo de questão moodle/question/type Atividade moodle/mod Campos para base de dados moodle/mod/data/field Tipo de Atividade tarefa moodle/mod/assignment/type Relatório de questionário moodle/mod/quiz/report Blocos moodle/blocks Campo de perfil de usuário moodle/user/profile/field Plugin deversos moodle/local

5 Banco de Dados do Moodle Estrutura Básica do Plugin badiu lang/en/report_badiu.php settings.php version.php index.php

6 lang/en/report_badiu.php

7 settings.php add( 'reports', new admin_externalpage( 'badiu', get_string('pluginname', 'report_badiu'), "$CFG->wwwroot/report/badiu/index.php“ ) ); $settings = null; ?>

8 version.php version = ; $plugin->requires = ; $plugin->component = 'report_badiu'; ?>

9 index.php

10 Instalação Local: MOODLE_DIR_INSTALACAO/report

11 Finalizar Instalação

12 Acessar o Plugin

13 Página Principal

14 Adicionar Cabeçalho e Rodapé do Thema set_context($context); $PAGE->set_url('/report/badiu/index.php'); $PAGE->navbar->add(get_string('pluginname','report_badiu'), new moodle_url("$CFG->httpswwwroot/report/badiu/index.php")); $PAGE->navbar->add(get_string('lista_usuario','report_badiu')); $PAGE->set_title(get_string('lista_usuario','report_badiu')); $PAGE->set_pagelayout('report'); $PAGE->set_heading(get_string('lista_usuario','report_badiu')); //imprimir cabeçalho echo $OUTPUT->header(); echo get_string('alou', 'report_badiu'); //imprimir rodapé echo $OUTPUT->footer(); ?>

15 Aplicação do Cabeçalho e Rodapé

16 Lista de Usuário  Adicionar string no pacote de língua  Extrair lista de usuário do banco de dados  Imprimir lista de usuário

17 Lista de Usuário Adicionar String no Pacote de Língua $string['id']='ID'; $string['nome']='Nome'; $string[' ']=' ';

18 Lista de Usuário Extrair Lista de Usuário do Banco function get_usuarios(){ global $DB; global $CFG; $sql="SELECT id,firstname, FROM {$CFG->prefix}user "; $lista=$DB->get_records_sql($sql); return $lista; }

19 Lista de Usuário Imprimir Lista de Usuário function imprimir_usuarios($lista){ $table = new html_table(); $table->head = array( get_string('id', 'report_badiu'), get_string('nome', 'report_badiu'), get_string(' ', 'report_badiu') ); $table->align = array('left', 'left','left'); $table->width = '95%'; $table->class = 'generaltable'; $table->data = array(); foreach ($lista as $usr) { $table->data[] = array($usr->id,$usr->firstname,$usr-> ); } echo html_writer::table($table); }

20 Lista de Usuário Lista de usuário na Página Principal index.php //imprimir cabeçalho echo $OUTPUT->header(); //extrair lista de usuários $lista=get_usuarios(); //imprimir lista de usuarios imprimir_usuarios($lista); //imprimir rodapé echo $OUTPUT->footer();

21 Lista de Usuário Página Principal com a Lista de Usuários

22 Formulário de Filtro do Usuário  Adicionar string no pacote de língua  Criar formulário  Instanciar formulário  Capturar parâmetro  Passar parâmetro para SQL

23 Formulário de filtro de usuário Criar Formulário index_form.php libdir.'/formslib.php'; class usuario_form extends moodleform { function definition() { global $param; $mform =& $this->_form; $renderer =& $mform->defaultRenderer(); $mform->addElement('header', '',get_string('pesquisar_usr','report_badiu'), ''); $mform->addElement('text', 'nome', get_string('nome','report_badiu'),'size="20"'); $mform->setType('nome', PARAM_TEXT); $mform->setDefault('nome', $param->nome); $mform->addElement('text', ' ', get_string(' ','report_badiu'),'size="20"'); $mform->setType('nome', PARAM_TEXT); $mform->setDefault(' ', $param-> ); $this->add_action_buttons(true,get_string('pesquisar','report_badiu')); } function validation($data, $files) { $errors = parent::validation($data, $files); return $errors; } } ?>

24 Formulário de filtro de usuário Instanciar Formulário //importar index_form.php require("$CFG->dirroot/report/badiu/index_form.php"); //instanciar form $form= new usuario_form(); //imprimir form $form->display();

25 Formulário de filtro de usuário Capturar Parâmetro function get_form_parametros(){ $param= new object(); $param->nome=optional_param('nome', NULL,PARAM_TEXT); $param-> =optional_param(' ', NULL,PARAM_TEXT); return $param; }

26 Formulário de filtro de usuário Adicionar Filtro SQL no WHERE function get_usuarios($param){ global $DB; global $CFG; $wsql= get_filtro_sql($param); $sql="SELECT id,firstname, FROM {$CFG->prefix}user WHERE id > 0 $wsql "; $lista=$DB->get_records_sql($sql); return $lista; }

27 Formulário de filtro de usuário Juntar Tudo na Página Principal index.php //imprimir cabeçalho echo $OUTPUT->header(); //receber parâmetros do form $param = get_form_parametros(); //instanciar form $form= new usuario_form(); //imprimir form $form->display(); //extrair lista de usuários $lista=get_usuarios($param); //imprimir lista de usuarios imprimir_usuarios($lista); //imprimir rodapé echo $OUTPUT->footer();

28 Formulário de filtro de usuário Tela com Formulário de Filtro

29 CÓDIGO FONTE DO PLUGIN BADIU Compatível com a versão 2.2 ou superior do Moodle VersãoDescriçãoLink 1.0Estrutura básico do pluginhttp://badiu.net/download/badiu/badiu_1.0.zip 1.1Adiciona cabeçalho e rodapé do thema 1.2Relatório de lista de usuário cadastrado no Moodle 1.3Relatório de lista de usuário cadastrado no Moodle com formulário de filtro

30 API do Moodle API Usado Banco de dados Formulário String Thema

31 Lino Vaz Moniz Telefone (61) Skype badiu.net


Carregar ppt "Desenvolvimento para Moodle Desenvolvimento de Plugin de Relatório para Moodle Lino Vaz Moniz Moodle Moot."

Apresentações semelhantes


Anúncios Google