Mapear controle de progresso de atividade no Moodle com comando SQL

Mapear controle de progresso de atividade no Moodle com comando SQL

por Lino Vaz Moniz -
Número de respostas: 2

No banco de dados do Moodle, o controle de progresso das atividades é registrada nas seguintes tabelas: mdl_course_modules e mdl_course_modules_completion

Configuração de progresso de uma atividade

A coluna completion da tabela  mdl_course_modules indica se a atividade está configurada com rastreamento de controle de progresso.

Para extrair a  lista de id das atividades no banco de dados com configuração de progresso ativado em um determinado curso, execute o seguinte comando SQL:

SELECT id FROM mdl_course_modules WHERE course=? AND completion > 0 

Coloque o parâmetro id do curso em course=?

Mapear atividades que o usuário já completou

A tabela mdl_course_modules_completion registra atividades completadas por um determinado usuário. 

Para mapear no banco a lista de id das atividades que um determinado  usuários já completou, execute o seguinte comando SQL:

SELECT c.coursemoduleid AS cmid  FROM mdl_course_modules_completion c INNER JOIN  mdl_course_modules m  ON c.coursemoduleid = m.id WHERE c.userid=? AND m.course=? AND c.completionstate > 0   AND c.completionstate < 3

Coloque o parâmetro id do usuário em c.userid=?

Coloque o parâmetro id do curso em m.course=?

Em resposta à Lino Vaz Moniz

Re: Mapear controle de progresso de atividade no Moodle com comando SQL

por Vanessa Silva -

Tem alguma campo de alguma tabela que informa se o estudante completou o curso? Ou sempre tenho que fazer o cálculo ? na primeira query ver quantas atividades tem no curso, na segunda query quantas os alunos já fizeram.

Em resposta à Vanessa Silva

Re: Mapear controle de progresso de atividade no Moodle com comando SQL

por Lino Vaz Moniz -

Vanessa,

Conclusão do curso é controlado na tabela mdl_course_completions e conclusão de atividades na tabela mdl_course_modules_completion são processos separados. Geralmente, se o aluno concluiu o curso na tabela mdl_course_completions se entende que já concluiu as atividades necessárias para tal na tabela mdl_course_modules_completion

Veja como um processo administrativo e não técnico.  Nos desenvolvimento que faço, se concluir o curso, automaticamente dou 100% concluído. 

 

Sobre o comando SQL, veja esse post:

 

https://comunidade.badiu.com.br/mod/forum/discuss.php?d=611&parent=854

Relatório de usuários que concluíram curso no Moodle com comando SQL
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=399

Verificar se o aluno completou o curso no Moodle com comando SQL
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=183


Rastrear progresso / quantidade de atividades no curso do Moodle que o aluno concluiu com comando SQL
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=289

Gerar relatório de concluintes consolidado por atividades de um curso do Moodle com comando SQL
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=593


Mapear controle de progresso de atividade no Moodle com comando SQL
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=36

Listar alunos que concluíram uma atividade do curso do Moodle com comando SQL
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=592