Fórum de administradores

A inscrição no banco de dados externo não está criando cursos

 
Picture of Daniel Caixeta Queiroz Garcia
A inscrição no banco de dados externo não está criando cursos
by Daniel Caixeta Queiroz Garcia - Tuesday, 31 December 2019, 12:14 PM
 

Prezados colegas, 

Estou com dificuldade de fazer funcionar a criação automática de cursos via inscrição no banco de dados externo. A parte de sincronização de inscrição remota está funcionamento perfeitamente, contudo, somente a criação de cursos novos que não está.

Eu tentei várias combinações de configuração no registro de banco de dados externo. Acredito que estou cometendo algum erro na configuração ou no meu entendimento. Estou usando a versão 3.2.9 e segue abaixo as telas para facilitar o entendimento da situação:

1 - Configuração da inscrição via Banco de dados externo:

2 - Tabela utilizada para cursos novos do sistema externo:

OBS: Defini como padrão o valor '2' para o campo categoria_padrão_moodle que é o id da categoria "cursos_novos" no Moodle.

3 - Resultado do cron do enrol/database/cli/sync.php em anexo


É isso, caso precisem de mais informações para me ajudar nessa situação, basta me pedir e desde já agradeço a ajuda da comunidade.

Picture of Lino Vaz Moniz
Re: A inscrição no banco de dados externo não está criando cursos
by Lino Vaz Moniz - Tuesday, 7 January 2020, 1:13 PM
 

Daniel,

Analisando a log que você enviou, o erro que chama atenção é:

error: invalid category id, can not create course: *****

Esse erro indica que o curso não foi criado uma vez que o id da categoria em que o curso será vinculado não existe. A solução para esse erro, é vc revisar o campo referente a configuração do categoria de curso no sua tabela remota. 

Pela lógica, na tabela remota, deve ter um campo com o número de  identificação da categoria do curso. O valor desse campo deve constar no campo idnumber da tabela categoria de curso (mdl_course_categories) do Moodle. 

Um forma de testar isso seria o seguinte:

1) Crie uma categoria de curso no Moodle com número de identificação text10;

2) Na sua tabela remota sobre sincronização de cursos, adicione o valor text10 na coluna de mapeamento referente a categoria de curso;

3) Execute o cron e veja se o curso não é criado referente ao registro cuja categoria foi registrado text10

Se der certo isso, basta replicar para os demais. Caso isso não solucione sugiro efetuar uma consulta SQL na tabela que de mapeamento remoto e uma consulta SQL na tabela categoria de curso (mdl_course_categories) do Moodle e compare o valor referente os campo de categoria de curso na tabela remota e o valor referente ao campo idnumber na tabela de categoria de curso no Moodle. Se os valores não são iguais, certamente é a causa do problema. Faça esse mapeamente compartilhe aqui o resultado. 

Picture of Daniel Caixeta Queiroz Garcia
Re: A inscrição no banco de dados externo não está criando cursos
by Daniel Caixeta Queiroz Garcia - Friday, 10 January 2020, 1:26 PM
 

Olá Lino, muito obrigado pelo retorno. Acabou que depois de continuar realizando pesquisas e de ajudas de outras pessoas da comunidade, percebi qual era o meu erro e era mais de entendimento da funcionalidade.

Primeiramente o campo/coluna "categoria_padrão_moodle" está apenas com um valor padrão definido ("2") e vi que tinha que usar uma chave única, dessa forma, alterei para a própria PK da tabela externa que foi a "id_turmas".

Mesmo assim, após isso deu erro de gravação no moodle e vi que o campo "nome_turmas" contém caracteres especiais, dessa forma, para resolver de vez, incluir "SET NAMES 'utf8'" na configuração "dbsetupsql", conforme destacado no print abaixo:

 

Apesar de ter ido por outro caminho que você sugeriu para resolver essa questão, agradeço demais pelo pronto atendimento e espero que com essa resposta possa ajudar outras pessoas da comunidade que possam passar por essas dificuldades.

Cordialmente,

Daniel Caixeta