version 1.158, 2006/04/08 06:51:47
|
version 1.162, 2006/04/28 21:51:35
|
Line 204 The response table holds data (documente
|
Line 204 The response table holds data (documente
|
associated with a particular response id which is stored when a student |
associated with a particular response id which is stored when a student |
attempts a problem. The following are the columns of the table, in order: |
attempts a problem. The following are the columns of the table, in order: |
'symb_id','part_id','response_id','student_id','transaction','tries', |
'symb_id','part_id','response_id','student_id','transaction','tries', |
'awarddetail', 'response_specific' (data particular to the response |
'awarddetail', 'response_specific', 'response_specific_value', |
type), 'response_specific_value', and 'submission (the text of the students |
'response_specific_2', 'response_specific_value_2', and 'submission |
submission). The primary key is based on the first five columns listed above. |
(the text of the students submission). The primary key is based on the |
|
first five columns listed above. |
|
|
=item $fulldump_part_table |
=item $fulldump_part_table |
|
|
Line 466 sub init_dbs {
|
Line 467 sub init_dbs {
|
type => 'TINYTEXT' }, |
type => 'TINYTEXT' }, |
{ name => 'response_specific_value', |
{ name => 'response_specific_value', |
type => 'TINYTEXT' }, |
type => 'TINYTEXT' }, |
|
{ name => 'response_specific_2', |
|
type => 'TINYTEXT' }, |
|
{ name => 'response_specific_value_2', |
|
type => 'TINYTEXT' }, |
{ name => 'submission', |
{ name => 'submission', |
type => 'TEXT'}, |
type => 'TEXT'}, |
], |
], |
Line 1086 sub update_full_student_data {
|
Line 1091 sub update_full_student_data {
|
$transaction, |
$transaction, |
$data->{'awarddetail'}, |
$data->{'awarddetail'}, |
$data->{'response_specific'}, |
$data->{'response_specific'}, |
$data->{'response_specific_value'}). |
$data->{'response_specific_value'}, |
|
$data->{'response_specific_2'}, |
|
$data->{'response_specific_value_2'}). |
"',".$submission."),"; |
"',".$submission."),"; |
$store_rows++; |
$store_rows++; |
} |
} |
Line 1265 sub store_student_data {
|
Line 1272 sub store_student_data {
|
my %stored; |
my %stored; |
while (my ($parameter,$value) = each(%$param_hash)) { |
while (my ($parameter,$value) = each(%$param_hash)) { |
next if ($parameter !~ /^resource\.(.*)\.(solved|awarded)$/); |
next if ($parameter !~ /^resource\.(.*)\.(solved|awarded)$/); |
my $part = $1; |
my $part = $1; |
|
my $which = $2; |
next if ($part =~ /\./); |
next if ($part =~ /\./); |
next if (exists($stored{$part})); |
next if (exists($stored{$part})); |
$stored{$part}++; |
$stored{$part}++; |
# |
# |
my $part_id = &get_part_id($part); |
my $part_id = &get_part_id($part); |
next if (!defined($part_id)); |
next if (!defined($part_id)); |
my $solved = $value; |
|
my $tries = $param_hash->{'resource.'.$part.'.tries'}; |
my ($solved,$awarded); |
my $awarded = $param_hash->{'resource.'.$part.'.awarded'}; |
if ($which eq 'solved') { |
|
$solved = $value; |
|
$awarded = $param_hash->{'resource.'.$part.'.awarded'}; |
|
} else { |
|
$solved = $param_hash->{'resource.'.$part.'.solved'}; |
|
$awarded = $value; |
|
} |
my $award = $param_hash->{'resource.'.$part.'.award'}; |
my $award = $param_hash->{'resource.'.$part.'.award'}; |
my $awarddetail = $param_hash->{'resource.'.$part.'.awarddetail'}; |
my $awarddetail = $param_hash->{'resource.'.$part.'.awarddetail'}; |
my $timestamp = $param_hash->{'timestamp'}; |
my $timestamp = $param_hash->{'timestamp'}; |
Line 2322 sub get_student_data {
|
Line 2336 sub get_student_data {
|
} |
} |
} |
} |
|
|
sub RD_student_id { return 0; } |
sub RD_student_id { return 0; } |
sub RD_awarddetail { return 1; } |
sub RD_awarddetail { return 1; } |
sub RD_response_eval { return 2; } |
sub RD_response_eval { return 2; } |
sub RD_submission { return 3; } |
sub RD_response_eval_2 { return 3; } |
sub RD_timestamp { return 4; } |
sub RD_submission { return 4; } |
sub RD_tries { return 5; } |
sub RD_timestamp { return 5; } |
sub RD_sname { return 6; } |
sub RD_tries { return 6; } |
|
sub RD_sname { return 7; } |
|
|
sub get_response_data { |
sub get_response_data { |
my ($Sections,$enrollment,$symb,$response,$courseid) = @_; |
my ($Sections,$enrollment,$symb,$response,$courseid) = @_; |
Line 2355 sub get_response_data {
|
Line 2370 sub get_response_data {
|
&limit_by_section_and_status($Sections,$enrollment,'d'); |
&limit_by_section_and_status($Sections,$enrollment,'d'); |
my $request = 'SELECT '. |
my $request = 'SELECT '. |
'a.student_id, a.awarddetail, a.response_specific_value, '. |
'a.student_id, a.awarddetail, a.response_specific_value, '. |
'a.submission, b.timestamp, c.tries, d.student '. |
'a.response_specific_value_2, a.submission, b.timestamp, '. |
|
'c.tries, d.student '. |
'FROM '.$fulldump_response_table.' AS a '. |
'FROM '.$fulldump_response_table.' AS a '. |
'LEFT JOIN '.$fulldump_timestamp_table.' AS b '. |
'LEFT JOIN '.$fulldump_timestamp_table.' AS b '. |
'ON a.symb_id=b.symb_id AND a.student_id=b.student_id AND '. |
'ON a.symb_id=b.symb_id AND a.student_id=b.student_id AND '. |
Line 2397 sub get_response_data {
|
Line 2413 sub get_response_data {
|
} |
} |
|
|
|
|
sub RDs_awarddetail { return 3; } |
sub RDs_awarddetail { return 3; } |
sub RDs_submission { return 2; } |
sub RDs_submission { return 2; } |
sub RDs_timestamp { return 1; } |
sub RDs_timestamp { return 1; } |
sub RDs_tries { return 0; } |
sub RDs_tries { return 0; } |
sub RDs_awarded { return 4; } |
sub RDs_awarded { return 4; } |
|
sub RDs_response_eval { return 5; } |
|
sub RDs_response_eval_2 { return 6; } |
|
sub RDs_part_award { return 7; } |
|
|
sub get_response_data_by_student { |
sub get_response_data_by_student { |
my ($student,$symb,$response,$courseid) = @_; |
my ($student,$symb,$response,$courseid) = @_; |
Line 2419 sub get_response_data_by_student {
|
Line 2438 sub get_response_data_by_student {
|
my $dbh = &Apache::lonmysql::get_dbh(); |
my $dbh = &Apache::lonmysql::get_dbh(); |
return undef if (! defined($dbh)); |
return undef if (! defined($dbh)); |
my $request = 'SELECT '. |
my $request = 'SELECT '. |
'c.tries, b.timestamp, a.submission, a.awarddetail, e.awarded '. |
'c.tries, b.timestamp, a.submission, a.awarddetail, c.awarded, '. |
|
'a.response_specific_value, a.response_specific_value_2, c.award '. |
'FROM '.$fulldump_response_table.' AS a '. |
'FROM '.$fulldump_response_table.' AS a '. |
'LEFT JOIN '.$fulldump_timestamp_table.' AS b '. |
'LEFT JOIN '.$fulldump_timestamp_table.' AS b '. |
'ON a.symb_id=b.symb_id AND a.student_id=b.student_id AND '. |
'ON a.symb_id=b.symb_id AND a.student_id=b.student_id AND '. |