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
Moodle SQL
terça-feira, 11 de abril de 2017
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
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
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
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:
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.
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=?
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=?
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.
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
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.
Assinar:
Postagens (Atom)