1 / 20

Desenvolvimento para Moodle

Desenvolvimento para Moodle. Desenvolvimento para Moodle Estrutura do banco de dados e principais API Lino Vaz Moniz linovazmoniz@gmail.com Moodle Moot 2013. Banco de Dados do Moodle Tabelas do Core do Sistema. mdl_context mdl_config mdl_modules mdl_capabilities mdl_role

truman
Télécharger la présentation

Desenvolvimento para Moodle

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desenvolvimento para Moodle Desenvolvimento para Moodle Estrutura do banco de dados e principais API Lino Vaz Monizlinovazmoniz@gmail.com Moodle Moot 2013

  2. 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. 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. Banco de Dados do Moodle Tabelas do Curso mdl_course mdl_course_categories mdl_course_modules mdl_course_sections

  5. Banco de Dados do Moodle Tabelas da Matrícula mdl_role_assignmentsmdl_enrol (versão 2.x)mdl_user_enrolments (versão 2.x) Tabelas de referenciamdl_context mdl_role mdl_user

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

  7. Banco de Dados do Moodle Layout da Tabela de Matrícula mdl_role_assignmentsid 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 Banco de Dados do Moodle Efetuar Matrícula com Comando SQL Versão 1.9 Recuperar Id do contexto do cursoSELECT id FROM mdl_context WHERE contextlevel=50 AND instanceid=? Efetuar matrícula INSERT INTO mdl_role_assignments (roleid,contextid,userid) VALUES (?,?,?) http://moodlesql.blogspot.com.br/2010/07/matricular-usuario-no-curso-do-moodle.html

  9. 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ículaINSERT INTO mdl_role_assignments (roleid,contextid,userid,timemodified) VALUES (?,?,?,?)http://moodlesql.blogspot.com.br/2010/07/matricular-usuario-no-curso-do-moodle.html?showComment=1317436246579#c1869475564775276003

  10. 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. Banco de Dados do Moodle Tabela de domínio do contexto SISTEMA 10 USUÁRIO 30 CATEGORIA DE CURSO 40 CURSO 50 MÓDULO 70 BLOCO 80

  12. API do MoodlePrincipais APIs Banco de dados http://docs.moodle.org/dev/Data_manipulation_API Permissão http://docs.moodle.org/dev/Access_API Formulário http://docs.moodle.org/dev/Form_API String http://docs.moodle.org/dev/String_API Thema http://docs.moodle.org/19/en/Theme_basics Autenticação http://docs.moodle.org/dev/Authentication_API http://moodlephp.blogspot.com.br/2012/06/moodle-e-um-framework-de-ensino-online.html

  13. API do MoodleImportar Bibliotecas do Core require_once("MOODLE_DIR_INSTALL/config.php"); http://moodlephp.blogspot.com.br/2010/11/usar-bibliotecas-de-funcoes-do-sistema.html

  14. API do MoodleVariá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 $CFG; global $DB; //só aplica na versão 2.xglobal $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. API do MoodleManipulaçã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) { global $CFG; global $DB; return $DB->update_record('teste', $dto); } //excluir registro function delete_by_id($id) { global $CFG; global $DB; return $DB->delete_records_select('teste', "id=$id"); }

  16. Arquitetura Modular do MoodleTipos 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. Arquitetura Modular do MoodleTipos 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. Programar para MoodleDiretrizes 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 http://moodlesql.blogspot.com • Moodle PHP - Para Programador do Moodle http://moodlephp.blogspot.com • Moodle Educ - Para Administrador e Tutor do Moodle http://moodleeduc.blogspot.com • Moodle DI - Para Professor e Pesquisador (reflexões acadêmicas) http://moodledi.blogspot.com • Badiu GMoodle – Sistema de Gestão do Moodle http://gmoodle.blogspot.com.br/

  20. Lino Vaz MonizTelefone (61) 9937-8258 E-mail linovazmoniz@gmail.com Skype badiu.net

More Related