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

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

Desenvolvimento para Moodle

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento para Moodle"— Transcrição da apresentação:

1 Desenvolvimento para Moodle
Estrutura do banco de dados e principais API Lino Vaz Moniz Moodle Moot 2013

2 mdl_role_capabilities mdl_log
Banco de Dados do Moodle Tabelas do Core do Sistema mdl_context mdl_config mdl_modules mdl_capabilities mdl_role mdl_role_capabilities mdl_log

3 mdl_user_preferences mdl_user_info_category mdl_user_info_data
Banco de Dados do Moodle Tabelas do Usuário mdl_user mdl_user_preferences mdl_user_info_category mdl_user_info_data mdl_user_info_field

4 mdl_course_categories mdl_course_modules mdl_course_sections
Banco de Dados do Moodle Tabelas do Curso mdl_course mdl_course_categories mdl_course_modules mdl_course_sections

5 Tabelas de referencia mdl_context mdl_role mdl_user
Banco de Dados do Moodle Tabelas da Matrícula mdl_role_assignments mdl_enrol (versão 2.x) mdl_user_enrolments (versão 2.x) Tabelas de referencia mdl_context mdl_role mdl_user

6 mdl_grade_items mdl_grade_grades mdl_grade_letters
Banco de Dados do Moodle Tabelas de Nota mdl_grade_items mdl_grade_grades mdl_grade_letters

7 mdl_role_assignments id bigint(10) NOT NULL AUTO_INCREMENT
Banco de Dados do Moodle Layout da Tabela de Matrícula mdl_role_assignments id bigint(10) NOT NULL AUTO_INCREMENT roleid bigint(10) NOT NULL (FK mdl_role) contextid bigint(10) NOT NULL (FK mdl_context) userid bigint(10) NOT NULL (FK mdl_user)

8 Banco de Dados do Moodle Efetuar Matrícula com Comando SQL Versão 1.9
Recuperar Id do contexto do curso SELECT id FROM mdl_context WHERE contextlevel=50 AND instanceid=? Efetuar matrícula INSERT INTO mdl_role_assignments (roleid,contextid,userid) VALUES (?,?,?)

9 Recuperar identificador método de Inscrição do curso
Banco de Dados do Moodle Efetuar Matrícula com Comando SQL Versão 2.x Recuperar identificador método de Inscrição do curso SELECT id FROM mdl_enrol WHERE courseid=? AND enrol='manual' Vincular usuário ao método de inscrição INSERT INTO mdl_user_enrolments (status,enrolid,userid,timestart,timeend,timecreated,timemodified) VALUES (?,?,?,?,?,?,?) Recuperar Id do contexto do curso SELECT id FROM mdl_context WHERE instanceid=? AND contextlevel=50 Efetuar matrícula INSERT INTO mdl_role_assignments (roleid,contextid,userid,timemodified) VALUES (?,?,?,?)

10 SELECT u.id, u.firstname,u.lastname FROM mdl_role_assignments rs
Banco de Dados do Moodle Relatório de Matrícula pelo Comando SQL Perfil (mdl_role) 1 – Administrator 2 -Course creator 3 –Teacher (Tutor) 4 - Non-editing teacher 5 – Student (Aluno) 6 –Guest 7 - Authenticated user SELECT u.id, u.firstname,u.lastname FROM mdl_role_assignments rs INNER JOIN mdl_user u ON u.id=rs.userid INNER JOIN mdl_context e ON rs.contextid=e.id WHERE e.contextlevel=50 AND rs.roleid=5 AND e.instanceid=?

11 SISTEMA 10 USUÁRIO 30 CATEGORIA DE CURSO 40 CURSO 50 MÓDULO 70
Banco de Dados do Moodle Tabela de domínio do contexto SISTEMA USUÁRIO CATEGORIA DE CURSO 40 CURSO MÓDULO BLOCO

12 Banco de dados http://docs.moodle.org/dev/Data_manipulation_API
API do Moodle Principais APIs Banco de dados Permissão Formulário String Thema Autenticação

13 require_once("MOODLE_DIR_INSTALL/config.php");
API do Moodle Importar Bibliotecas do Core require_once("MOODLE_DIR_INSTALL/config.php");

14 require_once("MOODLE_DIR_INSTALL/config.php"); global $CFG;
API do Moodle Variáveis Globais require_once("MOODLE_DIR_INSTALL/config.php"); global $CFG; global $DB; ( a partir da versão 2.x) global $COURSE; global $USER; function get_course(){ global $DB; //só aplica na versão 2.x global $COURSE; $sql ="SELECT id,fullname,shortname FROM {$CFG->prefix}course WHERE id =$COURSE->id"; return $DB->get_record_sql($sql);// para versão 2.x //return get_record_sql($sql);// para versão 1.9 }

15 Manipular Tabela mdl_teste
API do Moodle Manipulação de Banco de Dados Manipular Tabela mdl_teste //adicionar registro function save($dto) { global $CFG; global $DB; return $DB->insert_record('teste', $dto); } //alterar registro function edit($dto) { return $DB->update_record('teste', $dto); //excluir registro function delete_by_id($id) { return $DB->delete_records_select('teste', "id=$id");

16 moodle/course/reporter Relatório de nota moodle/grade/reporter
Arquitetura Modular do Moodle 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/reporter Relatório no contexto do sistema moodle/admin/report / moodle/report Exportação de nota moodle /grade/export Tema (interface gráfica) moodle/theme Formato de curso moodle/course/format

17 moodle/question/type Atividade moodle/mod Campos para base de dados
Arquitetura Modular do Moodle 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

18 Evitar hacker do código
Programar para Moodle Diretrizes de Desenvolvimento Usar API do Moodle Evitar hacker do código Implementar/alterar funcionalidades através de plugin Usar sistema de permissão do Moodle Seguir padronização de nomes Seguir padrão de Internacionalização de idioma Alterar interface gráfica usando plugin do thema

19 Conheça meus Blogs Moodle SQL - Para Desenvolvedor e Programador do Moodle Moodle PHP - Para Programador do Moodle Moodle Educ - Para Administrador e Tutor do Moodle Moodle DI - Para Professor e Pesquisador (reflexões acadêmicas) Badiu GMoodle – Sistema de Gestão do Moodle

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


Carregar ppt "Desenvolvimento para Moodle"

Apresentações semelhantes


Anúncios Google