terça-feira, 11 de abril de 2017

Explorar relatório do tutor no Moodle com comando SQL

  Caso você quer explorar relatório de inscrição e acesso dos tutores no Moodle,  consulte os posts publicados na Comunidade Badiu.

Extrair lista de tutores de um curso com comando SQL
http://comunidade.badiu.com.br/mod/forum/discuss.php?d=156

Gerar lista de tutores de todos os cursos do Moodle com comando SQL
http://comunidade.badiu.com.br/mod/forum/discuss.php?d=328

Relatório consolidado de acesso dos tutores no cursos do Moodle com comando SQL
http://comunidade.badiu.com.br/mod/forum/discuss.php?d=329

Gerar relatório de log de acesso dos tutores com comando SQL
http://comunidade.badiu.com.br/mod/forum/discuss.php?d=330

sábado, 18 de março de 2017

Explorando SQL da enquete do Moodle (questionnaire)


    Caso você quer explorar a estrutura do SQL da enquete da Plataforma Moodle, o plugin questionnaire, explore os posts publicados na comunidade Badiu.

Desvendando estrutura das tabelas do plugin questionnaire – enquete do Moodle
http://comunidade.badiu.com.br/mod/forum/discuss.php?d=58

Extrair quantidade de usuários que preencheram a enquete do Moodle com comando SQL
http://comunidade.badiu.com.br/mod/forum/discuss.php?d=69

Listar as questões e alternativas de respostas de uma enquete plugin - questionnaire do Moodle com comando SQL
http://comunidade.badiu.com.br/mod/forum/discuss.php?d=67

Extrair lista de alternativas de resposta de uma questão da enquete - questionnaire do Moodle com comando SQL
http://comunidade.badiu.com.br/mod/forum/discuss.php?d=62

Listar as questões com opção de escolha (objetivas) de uma enquete plugin - questionnaire do Moodle com comando SQL
http://comunidade.badiu.com.br/mod/forum/discuss.php?d=103

Extrair quantidade de resposta atribuída nas questões objetivas de tipo única escolha de uma enquete do Moodle com comando SQL
http://comunidade.badiu.com.br/mod/forum/discuss.php?d=68

 Extrair quantidade de resposta atribuída nas questões objetivas de tipo múltipla escolha de uma enquete do Moodle com comando SQL
 http://comunidade.badiu.com.br/mod/forum/discuss.php?d=75



domingo, 29 de novembro de 2015

Moodle Moot Brasília 2015

E ai galera, só alegria?
Na 11º edição do  Moodle Moot realizado nos dias  27 e 28 de novembro  no UniCEUB - Centro Universitário de Brasília, o final não foi diferente 
Moodle Moot 2013 e Moodle Moot  Maio/2014. A merecida cerveja gelada com a galera da comunidade do Moodle Brasil para fechar o evento foi no Beirute.

Neste evento participei com as seguintes palestras:


Segue um breve resumo de cada Palestra:

 Arquitetura do Banco de Dados do Moodle 3 [Power Point]

Essa palestra teve
por objetivo analisar a arquitetura do banco de dados da versão 3 do Moodle  para verificar se ocorreu alguma mudança de estrutura nas tabelas que constituem o núcleo do sistema.

Rastreamento de conclusão do curso pelo comando SQL/PHP [Power Point]
Essa palestra teve como foco apresentar como efetuar rastreamento de conclusão de curso do Moodle usando comando SQL e programação PHP. Será explorado as tabelas do banco que armazenam informações sobre controle de progresso das atividades e do curso. Será apresentado script PHP que faz leitura sobre o progresso do curso em um plugin de inscrição. Será apresentado a evolução do plugin Badiu Grade Curricular que incorporar a lógica de liberar acesso no curso se o curso pré-requisito tiver sido concluído, com base no critério de rastreamento de conclusão do Moodle 2.

Participo do Moodle Moot desde 2013.  Veja todas palestra que já ministrei no Moodle Moot na comunidade Badiu: http://comunidade.badiu.com.br/mod/forum/discuss.php?d=189
 

Programação completa do Moodle Moot Brasília 2015
Site do Moodle Brasil: http://www.moodlebrasil.org

sábado, 11 de outubro de 2014

Moodle Moot Floripa 2014

E ai galera, só alegria?
Na 8º edição do  Moodle Moot realizado nos dias 9 e 10 de outubro na Universidade Federal de Santa Catarina, o final não foi diferente
Moodle Moot 2013 e Moodle Moot  Maio/2014. A merecida cerveja gelada com a galera da comunidade do Moodle Brasil foi bar chamado Meu Escritório.  

Neste evento participei com as seguintes palestras:


Segue um breve resumo de cada Palestra:

 Arquitetura do Banco de Dados do Moodle [Power Point]

Essa palestra teve por objetivo apresentar as tabelas que fazem parte do core da arquitetura do Moodle. Além disso, abordou as alterações que ocorreram na estrutura do banco na versão 2.7. Também foi abordado as dúvidas mais frequentes dos programadores do Moodle mapeados neste blog.

Desenvolvimento de Plugin de Matrícula para  Moodle 2 [Power Point]

Essa palestra teve como foco apresentar um método de desenvolvimento de plugin para a Plataforma Moodle. Foi mostrado um passo a passo para desenvolver um plugin de inscrição para a versão 2.x do Moodle e que também seja compatível com a versão 2.7 do Moodle. Além disso, foi abordado as regras do framework e estrutura de banco de dados que regem o funcionamento do plugin de inscrição.


Programação completa do Moodle Moot Floripa 2014
Site do Moodle Moot 2014: http://www.moodlebrasil.org

sexta-feira, 30 de maio de 2014

Palestra no Moodle Moot 2014

E ai galera, só alegria?
Novamente estou aqui no Moodle Moot 2014.  Naturalmente, tomei aquela cerva gelada com o pessoal. Não foi diferente do Moodle Moot 2013.

Desta vez participei com as seguintes palestras:


Segue um breve resumo de cada Palestra:

 Monitorar evasão no Moodle com o sistema Badiu GMoodle [Power Point]

O objetivo principal dessa temática  visa apresentar como usar o sistema Badiu GMoodle  para efetuar monitoramento da evasão dos alunos no Moodle com base no indicador de acesso. Monitorar evasão diretamente no Moodle exige um trabalho manual, o que é muito demorado. Com a ferramenta Badiu GMoodle é possível automatizar esse processo, o que  oportuniza tomar medidas preventivas para evitar a evasão.

Criar plugin de Relatório do Moodle [Power Point]


O foco central dessa 
temática  é compartilhar as técnicas e os procedimentos para criar um plugin de relatório seguindo o padrão do framework Moodle. Será apresentado passo a passo para: criar plugin, gerenciar permissão de acesso, configurar pacote de idioma, acessar banco de dados e impressão de dados na tela.  Tudo isso aproveitando o máximo possível da biblioteca de API do Moodle.

Programação completa do Moodle Moot 2014
Site do Moodle Moot 2014: http://www.moodlemoot.com.br/2014

terça-feira, 10 de dezembro de 2013

Desativar data do questionário no Moodle com comando SQL

O objetivo deste post é mostrar como desativar a data de preenchimento do questionário do Moodle com comando SQL.

Na plataforma  Moodle  o questionário pode ser configurado para ser preenchido por um determinado período de tempo. O aluno só consegue iniciar o preenchimento dentro no período que for habilitado.  


Na estrutura da tabela do questionário mdl_quiz os campos que controlam a data de preenchimento são:



  • timeopen – define data de abertura do questionário
  • timeclose - define data de encerramento do questionário

    O valor zero nesses campos significa que a data está desabilitada. Então para desabilitar, basta executar os seguintes comandos:


Desabilitar data de um determinado questionário
UPDATE mdl_quiz SET timeopen=0 AND timeclose=0  WHERE id=?

  Passe o parâmetro id do questionário 
 
Desabilitar data de todos os questionários de um determinado curso
UPDATE mdl_quiz SET timeopen=0 AND timeclose=0  WHERE course=?

Passe o parâmetro id do curso
 
Desabilitar data de todos os questionários  de todos os curso do Moodle
UPDATE mdl_quiz SET timeopen=0 AND  timeclose=0

 
O comando SQL facilita o processos de atualização caso for necessário fazer atualização em lote. Imagina desativar a data de mais de 20 questionário na interface do Moodle! Ninguém merece isso. Vai fundo no SQL  mas com cuidado. Comando errado pode lhe deixar em apuros com a equipe pedagógica.

segunda-feira, 26 de agosto de 2013

Corrigir data de inscrição no Moodle com comando SQL

Neste post vamos mostrar como atualizar o cadastro de matrícula do aluno para inserir a data de inscrição caso estiver faltando.

    A data de inscrição do aluno no curso do Moodle é de extrema importância para gerar relatórios gerenciais. Ainda mais nos cursos em que a inscrição é aberta, ou seja, pode ocorrer a qualquer momento.

     Para computar evasão, a data de inscrição é o ponto de  referência. Pois, a falta desse registro dificulta emissão de relatórios. Por exemplo, há administradores do Moodle que usam sistema Badiu GMoodle para automatizar o cálculo da evasão tendo como regra os alunos que deixaram de acessar o curso durante 15 dias após a data de inscrição. Essa regra não será viável caso não houver registro de quanto o aluno ingressou no curso.

    A data de inscrição pode não ser lançada ou cadastrada de forma errada quando a carga de dados no Moodle vem de um sistema externo. Para corrigir isso, é necessário usar o comando UPDATE na tabela mdl_user_enrolments na versão 2.x e mdl_role_assignments na versão  1.9.

Versão 2.x do Moodle
Para corrigir data inscrição na versão 2.x do Moodle, execute os seguintes comandos SQL:

1° Passo – Recupere método de inscrição do curso
SELECT id FROM mdl_enrol WHERE courseid=? AND enrol=?




Parâmetro
Descrição
courseid=?
Passe o valor do id do curso. Esse valor fica registrado na tabela mdl_course. Trata-se do curso em que se pretende corrigir a data de inscrição
enrol=?
Trata-se do método de inscrição do curso. Na versão 2.x um curso pode ter mais de um método de inscrição. O método padrão é manual. Se for manual o parâmetro deve ficar assim: enrol='manual'


O id retornado pelo SELECT é o método de inscrição. Esse valor deve ser usado para dar entrada de dados na tabela  mdl_user_enrolments no campo enrolid.

2° Passo – Atualizar data de inscrição
 
UPDATE mdl_user_enrolments SET timestart=?,timeend=?,timemodified=? WHERE enrolid=? AND userid=?


Parâmetro
Descrição
timestart=?
Data do início da inscrição em formato timestamp
timeend=?
Data da validade de inscrição em formato timestamp. Use esse campo apenas se houver data de validade da matrícula.
timemodified=?
Data em que a atualização do registro da matrícula foi feita. Também e em formato timestamp.
enrolid=?
Método de inscrição recuperado pelo comando SQL do 1° passo
userid=?
Id do usuário que se pretende alterar a data de inscrição. O valor do id deve ser recuperado na tabela mdl_user


Para ficar mais prático, vamos juntar os dois comandos em um só.  Código abaixo mostra o resultado dessa junção. 

UPDATE mdl_user_enrolments SET timestart=?,timeend=?,timemodified=? WHERE enrolid IN (SELECT id FROM mdl_enrol WHERE courseid=? AND enrol=?)  AND userid=?

A execução desse comando dá o mesmo resultado que os dois comandos anteriores. É mais prático quando se estiver processando SQL na base de forma manual.


Versão 1.9.x do Moodle

Para corrigir data inscrição na versão 1.9.x e também nas versões inferiores 1.8 e 1.7 do Moodle, execute os seguintes comandos SQL:

1° Passo – Recupere o contexto da inscrição

SELECT id FROM mdl_context WHERE contextlevel=50 AND instanceid=?




Parâmetro
Descrição
contextlevel=50
Especifica que se trata do contexto do curso. Na tabela de domínio, 50 se refere ao contexto do curso. Dê uma olhada nesse link:http://docs.moodle.org/dev/Roles_and_modules#Context
instanceid=?
Aqui passa o id do curso, o qual se pretende corrigir a data de inscrição. O valor desse parâmetro deve ser extraído na tabela mdl_course quando o nível do contexto for 50.



2° Passo – Atualizar data de inscrição

UPDATE mdl_role_assignments SET timestart=?,timeend=?,timemodified=? WHERE contextid=? AND userid=?

Para ficar mais prático, vamos juntar os dois comandos em um só.  Código abaixo mostra o resultado dessa junção. 

UPDATE mdl_role_assignments SET timestart=?,timeend=?,timemodified=? WHERE contextid IN (SELECT id FROM mdl_context WHERE contextlevel=50 AND instanceid=?) AND userid=?

A execução desse comando dá o mesmo resultado que os dois comandos anteriores. É mais prático quando se estiver processando SQL na base de forma manual.

    Agora você já sabe como corrigir a sua base de dados. Há um detalhe importante a ser levado em conta  caso a carga no Moodle for feita por um sistema externo. Se a base externa tiver registro da data de ingresso de cada aluno no curso, para automatizar essa informação no Moodle,  é necessário que as duas bases estejam sincronizadas. Ou seja, a base externa deve possuir uma chave de identificação, de forma precisa, de cada registro de usuário e curso no Moodle. Tendo isso,  basta fazer um loop numa rotina de programação, extraindo a data de matrícula de cada aluno no curso e atualizar o Moodle. Não tendo a sincronização, a alternativa  é fazer manualmente.

    Na eventualidade de não ter a base externa, a data de inscrição pode ser atualizada com a data do primeiro acesso do aluno no ambiente do curso. Há uma margem de erro  que deve ser levada em conta uma vez que não necessariamente o aluno  acessou o curso no dia em que foi inscrito.

Comando SQL que extrai o primeiro acesso no curso
SELECT MIN(time) FROM mdl_log WHERE course=?  AND  userid=?

    Essa alternativa atualiza a data de inscrição apenas dos alunos que acessaram o curso. Os que ainda não acessaram vão continuar sem registro da data de ingresso.
   
    Agora tudo que você precisa é solicitar ao seu desenvolvedor que faça uma rotina de programação para corrigir as informações no Moodle. Geralmente você dá conta desse problema quando precisa gerar relatórios que usam a data de inscrição.