Migrar comentários de uma tarefa para outra

Migrar comentários de uma tarefa para outra

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

Caso você precise migrar os comentários feitos no plugin tarefa, de uma intância para outra,  uma alternativa é usar SQL. 

A figura a baixo mostra  os comentários que se pretende migrar de tarefa:

Para migrar de uma terafa para outra, seja no mesmo curso ou em curso diferente, o procedimento é o seguite.

1) Gere a lista de tarefa com informações de id de contexto (contextid) e id do item (itemid). O comando SQL  a seguir processa isso. 

SELECT s.id,a.name,c.fullname,cm.id AS moduleid,ct.id AS contextid, s.id AS itemid,s.userid,u.firstname,u.lastname,u.email FROM mdl_assign a INNER JOIN mdl_course c ON c.id=a.course INNER JOIN mdl_course_modules cm ON cm.instance=a.id INNER JOIN mdl_modules m ON m.id=cm.module INNER JOIN mdl_context ct ON ct.instanceid=cm.id INNER JOIN mdl_assign_submission s ON a.id=s.assignment INNER JOIN mdl_user u ON s.userid=u.id WHERE m.name='assign' AND ct.contextlevel=70

2)  Faça update na tabela mdl_comments onde fica os comentários. 

Para isso, execute o seguinte comando

UPDATE mdl_comments SET contextid=?, itemid=? WHERE contextid=? AND itemid=?

Os parâmetros contextid e itemid foram gerados na primeira consulta. Sendo assim, passe os parâmetros referentes a tarefa origem para a tarefa destino. 

O parâmetro contextid se refere a tarerfa e o itemid se refere a instância da tarefa para um determinado aluno.