Os comandos SQL a seguir atualizam os seguintes dados da tarefa:
- fluxo de avaliação
- quantidade máxima de tentativas
- definir tentativas manuais
- ocultar o avaliador.
Essas configurações são necessárias em contextos de uso de inteligência artificial para correção de avaliação automática.
Alteração deve ser feita na tabela mdl_assign.
Seguem os campos que devem sofrer alteração.
Habilitar tentativa ilimitada
maxattempts = -1
Definir nova tentativa manualmente
attemptreopenmethod = manual
Definir nova tentativa automaticamente
attemptreopenmethod = automatic
Definir nova tentativa enqunato não nota de conclusão
attemptreopenmethod = untilpass
Habilitar fluxo de avaliação
markingworkflow = 1
• Ocultar avaliador
hidegrader = 1
Os comandos SQL a seguir são comandos que oportunizam essa alteração em vários níveis.
Alterar todas as tarefas de todos os cursos criados ou modificados após uma determinada data. Passe o parâmetro de timestamp em a.timemodified > ?
UPDATE mdl_assign a SET a.maxattempts =-1,a.attemptreopenmethod='manual', a.markingworkflow=1, a.hidegrader=1 WHERE a.timemodified > ?
Alterar uma tarefa específica, passando o parâmetro cmid em cm.id = ?
UPDATE mdl_assign a SET a.maxattempts =-1,a.attemptreopenmethod='manual', a.markingworkflow=1, a.hidegrader=1 WHERE (SELECT COUNT(cm.id) FROM mdl_course_modules cm WHERE cm.instance=a.id AND cm.id =?) > 0
Alterar todas as tarefas de um curso. Passe o parâmetro do ID do curso em a.course = ?
UPDATE mdl_assign a SET a.maxattempts =-1,a.attemptreopenmethod='manual', a.markingworkflow=1, a.hidegrader=1 WHERE a.course =?
Alterar todas as tarefas de todos os cursos ativos que iniciaram após uma determinada data. Passe o parâmetro de timestamp em c.startdate = ?
UPDATE mdl_assign a SET a.maxattempts =-1,a.attemptreopenmethod='manual', a.markingworkflow=1, a.hidegrader=1 WHERE (SELECT COUNT(c.id) FROM mdl_course c WHERE c.id=a.course AND c.startdate = ? AND c.visible=1) > 0
Alterar todas as tarefas de todos os cursos de uma determinada categoria. Passe o parâmetro do ID da categoria em c.category = ?
UPDATE mdl_assign a SET a.maxattempts =-1,a.attemptreopenmethod='manual', a.markingworkflow=1, a.hidegrader=1 WHERE (SELECT COUNT(c.id) FROM mdl_course c WHERE c.id=a.course AND c.category =?) > 0
Em todos os parâmetros que você vai passar timestamp, acesse o site https://timestamp.online/. Nesse site, selecione uma data que será convertida em timestamp e utilize esse valor de timestamp para o filtro.
O Sql a seguir verifica a configuração do fluxo de avaliação de uma atividade pelo cmid da atividade
SELECT a.id,a.name,a.markingworkflow FROM mdl_assign a WHERE (SELECT COUNT(cm.id) FROM mdl_course_modules cm WHERE cm.instance=a.id AND cm.id =?) > 0;
Ao habilitar fluxo de avaliação, definir as atividades já avaliadas com fluxo publicado para evitar exibir fluxo não avaliado mesmo tendo nota
UPDATE mdl_assign_user_flags f SET f.workflowstate = 'released' WHERE (SELECT COUNT(cm.id) FROM mdl_course_modules cm WHERE cm.instance=f.assignment AND cm.id =?) > 0 AND (workflowstate IS NULL OR workflowstate='');