Duplicação de curso

Duplicação de curso

por Luis Lima -
Número de respostas: 4

Bom dia, Sou novo na comunidade de desenvolvimento do Moodle, comecei a vê-lo este ano e estou trabalhando na montagem de um sistema Moodle para uma universidade. Neste sistema, me pediram para fazer um script SQL para fazer uma cópia do curso com suas atividades e recursos, apenas alterando sua categoria. Estou com problema em conseguir fazer a cópia das atividades e recursos do curso para a cópia, se alguém conseguir me dar um norte de quais tabelas utilizar serei muito grato. dês de já, muito obrigado

Em resposta à Luis Lima

Re: Duplicação de curso

por Lino Vaz Moniz -
Você tem a opção de utilizar a API do Moodle para clonar um curso inteiro e movê-lo para outra categoria. Acesse este  link para obter mais informações. No entanto, é importante ressaltar que o SQL pode gerar uma lista das atividades cadastradas no curso, mas possui limitações, pois não é capaz de copiar arquivos de atividades armazenados no MOODLE_DATA.
Em resposta à Lino Vaz Moniz

Re: Duplicação de curso

por Luis Lima -
Muito obrigado pela ajuda :) :), sem querer abusar do seu bom grado, você também saberia se tem alguma forma de fazer a cópia sem puxar os integrantes?
Em resposta à Luis Lima

Re: Duplicação de curso

por Lino Vaz Moniz -

Luis,

Para fazer clone do curso sem dados do usuário, você precisa passar esses parâmetros na variavel $options

Veja um exemplo a seguir

 $cextlib = new core_course_external();
			 $options = array(

                array('name' => 'activities', 'value' => 1),

                array('name' => 'blocks', 'value' => 1),

                array('name' => 'filters', 'value' => 1),

                array('name' => 'users', 'value' => 0),

                array('name' => 'role_assignments', 'value' => 0),

                array('name' => 'comments', 'value' => 0),

                array('name' => 'logs', 'value' => 0),

            );
		$visible=1;
            $result = $cextlib->duplicate_course($sourcecourseid, $name, $shortname, $categoryid,$visible,$options);