Lista de participantes no curso Moodle

Lista de participantes no curso Moodle

Versão do Moodle: 2.2.3

Situação: Após criar uma nova função para usuários ( chamada de Role) no Moodle  e alocar usuários manualmente na mesma, a nova função não era exibida no menu de opções do link : Lista de participantes (../moodle/user/index.php?contextid=xx).

Mas se visualizassemos com o perfil de professor na opção : Usuários inscritos (../moodle/enrol/users.php?id=id_curso) o tutor a distância estava lá alocado.

Após verificar item por item das atribuições deste novo papel criado de nome “Tutor a distância” ( que foi herdado do papel : professor) , não identifiquei nada diferente que pudesse estar impedindo tal visualização.

Então parti para a verificação do código fonte exatamente na função : get_profile_roles(context $context)   no arquivo : /moodle/lib/accesslib.php onde pude perceber a seguinte verificação :

if (empty($CFG->profileroles)) {
return array();
}

EUREKA …. sim.. é uma variável global de nome profileroles que é armazenada no banco de dados na tabela mdl_config

A partir daí foi só digitar esta palavrinha mágica na área de busca do menu : Administração do site, conforme figura abaixo:


e verificar que esta configuração esta disponível na seção :

Políticas do site

opção : Papéis visíveis do perfil (profileroles) –  Lista dos papéis que ficarão visíveis nos perfis de usuário e na página de participação  conforme fig. abaixo


Agora já podemos visualizar na Lista de Participantes quem são os Tutores a Distância do curso

Módulo Certificate Moodle

O moodle possui um módulo, que não vem instalado por padrão, que emite um certificado de conclusão de curso.

Podemos customizá-lo com logomarca, marca dágua, borda, fontes e no final ele gera o certificado no formato .pdf

Detalhes : http://docs.moodle.org/22/en/Certificate_module

Caso tenha algum problema ao gerar o certificado, no caso de nome extensos de alunos:

a mensagem de erro é :

Default exception handler: Erro ao gravar na base de dados Debug: Data too long for column ‘studentname’ at row 1
INSERT INTO mdl_certificate_issues (certificateid,userid,timecreated,studentname,code,classname) VALUES(?,?,?,?,?,?)
[array (
0 => ‘2’,
1 => ’65’,
2 => 1331604718,
3 => ‘aqui aparecerá o nome do aluno ‘,
4 => ‘VuKPB7lWK8’,
5 => ‘aqui aparecerá o nome do curso’,
)]
* line 397 of \lib\dml\moodle_database.php: dml_write_exception thrown
* line 893 of \lib\dml\mysqli_native_moodle_database.php: call to moodle_database->query_end()
* line 935 of \lib\dml\mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
* line 840 of \mod\certificate\lib.php: call to mysqli_native_moodle_database->insert_record()
* line 36 of \mod\certificate\view.php: call to certificate_prepare_issue()

basta alterar o tamanho do campo :  studentname    de 40 para 100 (mesmo tamanho do campo firstname na tabela mdl_user)  na tabela mdl_certificate_issues  executando o comando abaixo vai phpmyadmin por exemplo.

ALTER TABLE `mdl_certificate_issues` CHANGE `studentname` `studentname` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT ”