gradeimporter_submission : gradeimporterid={gradeimporter}.id
da "atividade"; usermodified={user}.id do prof. que modificou por
ultimo (FALTA usercreated?)
gradeimporter_submissiontype : ?nao implementado?
O que o arquivo ZIP a ser submetido deve ter:
Um arquivo com extensao 'csv', (hoje) com as colunas "id , name ,
email , grade , file",
sendo 1 linha por aluno com: id = {user}.id (remover este, pois o
professor NAO consegue {user}.id facilmente);
name = nome atividade, que aparecera' na pg do curso ; "email" =
{user}.email ; "grade" = nota do aluno ; "file" = nome do arq. do
aluno (na ZIP)
O que falta: O mais basico e' fazer a associacao do usuario no
arquivo CSV (que precisa ser via "email" e NAO via {user}.id.
Tambem falta inserir a nota no quadro de notas no Moodle, isso deve
ser feito via PHP "/lib/gradelib.php", usando sua funcao
"grade_update('.)" (como esquematizei abaixo).
essa funcao deveria pegar o campo "email" e buscar em
{user}.email o aluno, para associar com o aluno da base Moodle
essa funcao (ou outra) deveria criar uma entrada na tabela
{grade_items} via require_once($CFG->libdir . '/gradelib.php'); //
/lib/gradelib.php
$grades = array();
$grades['userid'] = {user}.id; // ja' encontrado (comentado
acima) - {user} significa a tabela Moodle "prefixo_user"
$grades['rawgrade'] = $total_grade; // nota do aluno {user}.id
vindo no campo $content (conteudo do arquivo CSV)
$params_temp = array('itemname' => {gradeimporter}->name); //
para Moodle associar GradeImporter com quadro de notas do Moodle
$params_temp['iteminstance'] = {gradeimporter}->id; // para
Moodle associar GradeImporter com tabela {course}.module do Moodle
$params_temp['gradetype'] = GRADE_TYPE_VALUE; // constante
definida em /lib/gradelib.php
$params_temp['grademax'] = $total_grade; // nota do aluno
(conteudo do arquivo CSV)
$params_temp['rawgrademax'] = $total_grade; // idem
grade_update('mod/gradeimporter', {gradeimporter}->course, 'mod',
'gradeimporter', {gradeimporter}->id, 0, $grades, $params_temp);
1. Estrutura do "GradeImporter" na base do Moodle (tabelas):
- gradeimporter : id ; course ; name ; intro ;
timecreated ; timemodified ; usermodified
- gradeimporter_feedback : id ; submissionid ; studentid ;
grade ; comment ; fileid ; usermodified ; timecreated ; timemodified ;
contextid ; name
- gradeimporter_submission : id ; gradeimporterid ; type ;
gradebook ; timecreated ; timemodified ; usermodified ; name ;
description ; descriptionformat ; position ; visibility
- gradeimporter_submissiontype : id ; gradeimporterid ; name ;
description ; descriptionformat
2. Papel de cada tabela do "GradeImporter":
- gradeimporter : course={course}.id ;
- gradeimporter_feedback : submissionid={gradeimporter}.id;
studentid={user}.id; grade={grade_grades}.rawgrade (?)
- gradeimporter_submission : gradeimporterid={gradeimporter}.id
da "atividade"; usermodified={user}.id do prof. que modificou por
ultimo (FALTA usercreated?)
- gradeimporter_submissiontype : ?nao implementado?
3. O que o arquivo ZIP a ser submetido deve ter:
- Um arquivo com extensao 'csv', (hoje) com as colunas "id , name ,
email , grade , file",
sendo 1 linha por aluno com: id = {user}.id (remover este, pois o
professor NAO consegue {user}.id facilmente);
name = nome atividade, que aparecera' na pg do curso ; "email" =
{user}.email ; "grade" = nota do aluno ; "file" = nome do arq. do
aluno (na ZIP)
O que falta: O mais basico e' fazer a associacao do usuario no
arquivo CSV (que precisa ser via "email" e NAO via {user}.id.
Tambem falta inserir a nota no quadro de notas no Moodle, isso deve
ser feito via PHP "/lib/gradelib.php", usando sua funcao
"grade_update('.)" (como esquematizei abaixo).
+ gradeimporter/forms/submission/submission_form_functions.php :
- function prepare_csv ($content) :
* essa funcao deveria pegar o campo "email" e buscar em
{user}.email o aluno, para associar com o aluno da base Moodle
* essa funcao (ou outra) deveria criar uma entrada na tabela
{grade_items} via require_once($CFG->libdir . '/gradelib.php'); //
/lib/gradelib.php
$grades = array();
$grades['userid'] = {user}.id; // ja' encontrado (comentado
acima) - {user} significa a tabela Moodle "prefixo_user"
$grades['rawgrade'] = $total_grade; // nota do aluno {user}.id
vindo no campo $content (conteudo do arquivo CSV)
$params_temp = array('itemname' => {gradeimporter}->name); //
para Moodle associar GradeImporter com quadro de notas do Moodle
$params_temp['iteminstance'] = {gradeimporter}->id; // para
Moodle associar GradeImporter com tabela {course}.module do Moodle
$params_temp['gradetype'] = GRADE_TYPE_VALUE; // constante
definida em /lib/gradelib.php
$params_temp['grademax'] = $total_grade; // nota do aluno
(conteudo do arquivo CSV)
$params_temp['rawgrademax'] = $total_grade; // idem
grade_update('mod/gradeimporter', {gradeimporter}->course, 'mod',
'gradeimporter', {gradeimporter}->id, 0, $grades, $params_temp);
Estrutura do "GradeImporter" na base do Moodle (tabelas):
Papel de cada tabela do "GradeImporter":
O que o arquivo ZIP a ser submetido deve ter:
O que falta: O mais basico e' fazer a associacao do usuario no arquivo CSV (que precisa ser via "email" e NAO via {user}.id.
Tambem falta inserir a nota no quadro de notas no Moodle, isso deve ser feito via PHP "/lib/gradelib.php", usando sua funcao "grade_update('.)" (como esquematizei abaixo).