version 1.204, 2008/09/11 14:47:17
|
version 1.210, 2008/12/23 18:09:36
|
Line 26
|
Line 26
|
# http://www.lon-capa.org/ |
# http://www.lon-capa.org/ |
# |
# |
|
|
|
=pod |
|
|
|
=head1 NAME |
|
|
|
Apache::resonse.pm |
|
|
|
=head1 SYNOPSIS |
|
|
|
This is part of the LearningOnline Network with CAPA project |
|
described at http://www.lon-capa.org. |
|
|
|
|
|
=head1 NOTABLE SUBROUTINES |
|
|
|
=over |
|
|
|
=item |
|
|
|
=back |
|
|
|
=cut |
|
|
|
|
package Apache::response; |
package Apache::response; |
use strict; |
use strict; |
use Apache::lonlocal; |
use Apache::lonlocal; |
Line 216 sub meta_stores_write {
|
Line 239 sub meta_stores_write {
|
"></stores>\n"; |
"></stores>\n"; |
} |
} |
|
|
|
=pod |
|
|
|
=item mandatory_part_meta() |
|
|
|
Autogenerate metadata for mandatory |
|
input (from RAT or lonparmset) and |
|
output (to lonspreadsheet) |
|
of each part |
|
|
|
Note: responseid-specific data 'submission' and 'awarddetail' |
|
not available to spreadsheet -> skip here |
|
|
|
=cut |
|
|
|
|
sub mandatory_part_meta { |
sub mandatory_part_meta { |
# |
return &meta_package_write('part'). |
# Autogenerate metadata for mandatory |
&meta_stores_write('solved','string','Problem Status'). |
# input (from RAT or lonparmset) and |
&meta_stores_write('tries','int_zeropos','Number of Attempts'). |
# output (to lonspreadsheet) |
&meta_stores_write('awarded','float','Partial Credit Factor'); |
# of each part |
|
# |
|
return |
|
# &meta_parameter_write('opendate','date_start','', |
|
# 'Opening Date'). |
|
# &meta_parameter_write('duedate','date_end','', |
|
# 'Due Date'). |
|
# &meta_parameter_write('answerdate','date_start','', |
|
# 'Show Answer Date'). |
|
# &meta_parameter_write('weight','int_zeropos','', |
|
# 'Available Points'). |
|
# &meta_parameter_write('maxtries','int_pos','', |
|
# 'Maximum Number of Tries'). |
|
&meta_package_write('part'). |
|
&meta_stores_write('solved','string', |
|
'Problem Status'). |
|
&meta_stores_write('tries','int_zeropos', |
|
'Number of Attempts'). |
|
&meta_stores_write('awarded','float', |
|
'Partial Credit Factor'); |
|
# |
|
# Note: responseid-specific data 'submission' and 'awarddetail' |
|
# not available to spreadsheet -> skip here |
|
# |
|
} |
} |
|
|
sub meta_part_order { |
sub meta_part_order { |
Line 288 sub check_for_previous {
|
Line 302 sub check_for_previous {
|
$previous{'last'}='1'; |
$previous{'last'}='1'; |
} |
} |
if (! $previous{'award'} ) { $previous{'award'} = 'UNKNOWN'; } |
if (! $previous{'award'} ) { $previous{'award'} = 'UNKNOWN'; } |
|
if ($previous{'award'} eq 'INTERNAL_ERROR') { $previous{'used'}=0; } |
&Apache::lonxml::debug("got a match :$previous{'award'}:$previous{'used'}:"); |
&Apache::lonxml::debug("got a match :$previous{'award'}:$previous{'used'}:"); |
} |
} |
} |
} |
Line 575 sub end_mathresponse {
|
Line 590 sub end_mathresponse {
|
my $partid = $Apache::inputtags::part; |
my $partid = $Apache::inputtags::part; |
my $id = $Apache::inputtags::response[-1]; |
my $id = $Apache::inputtags::response[-1]; |
if (($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') |
if (($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') |
&& (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoneditor') ne 'no')) { |
&& (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') ne 'yes')) { |
$result.=&edit_mathresponse_button($id,"HWVAL_$id"); |
$result.=&edit_mathresponse_button($id,"HWVAL_$id"); |
} |
} |
} |
} |
Line 680 sub start_responseparam {
|
Line 695 sub start_responseparam {
|
} |
} |
} |
} |
if (defined($optionlist)) { |
if (defined($optionlist)) { |
$result.='Use template: <select name="'. |
$result.=&mt('Use template:').' <select name="'. |
&Apache::edit::html_element_name('parameter_package').'">'. |
&Apache::edit::html_element_name('parameter_package').'">'. |
'<option value=""></option>'.$optionlist.'</select><br />'; |
'<option value=""></option>'.$optionlist.'</select><br />'; |
} |
} |
Line 887 sub showallfoils {
|
Line 902 sub showallfoils {
|
|
|
=pod |
=pod |
|
|
=item &getresponse($offset,$resulttype); |
=item &getresponse(); |
|
|
Retreives the current submitted response, helps out in the case of |
Retreives the current submitted response, helps out in the case of |
scantron mode. |
scantron mode. |
Line 991 sub repetition {
|
Line 1006 sub repetition {
|
|
|
=pod |
=pod |
|
|
=item &scored_response($part_id,$response_id); |
=item &scored_response(); |
|
|
Sets the results hash elements |
Sets the results hash elements |
|
|
Line 1148 sub pick_foil_for_concept {
|
Line 1163 sub pick_foil_for_concept {
|
$Apache::response::conceptgroup{'names'}; |
$Apache::response::conceptgroup{'names'}; |
|
|
} |
} |
#------------------------------------------------------------ |
|
# |
=pod |
# Get a parameter associated with a problem. |
|
# Parameters: |
=item get_response_param() |
# $id - the id of the paramater, either a part id, |
|
# or a partid and responspe id joined by _ |
Get a parameter associated with a problem. |
# $name - Name of the parameter to fetch |
Parameters: |
# $default - Default value for the paramter. |
$id - the id of the paramater, either a part id, |
# |
or a partid and responspe id joined by _ |
# |
$name - Name of the parameter to fetch |
# |
$default - Default value for the paramter. |
|
|
|
=cut |
|
|
sub get_response_param { |
sub get_response_param { |
my ($id,$name,$default)=@_; |
my ($id,$name,$default)=@_; |
my $parameter; |
my $parameter; |
Line 1219 sub add_to_gradingqueue {
|
Line 1237 sub add_to_gradingqueue {
|
} |
} |
} |
} |
|
|
# basically undef and 0 (both false) mean that they still have work to do |
=pod |
# and all true values mean that they can't do any more work |
|
# |
=item check_status() |
# a return of undef means it is unattempted |
|
# a return of 0 means it is attmpted and wrong but still has tries |
basically undef and 0 (both false) mean that they still have work to do |
# a return of 1 means it is marked correct |
and all true values mean that they can't do any more work |
# a return of 2 means they have exceed maximum number of tries |
|
# a return of 3 means it after the answer date |
a return of undef means it is unattempted |
|
a return of 0 means it is attmpted and wrong but still has tries |
|
a return of 1 means it is marked correct |
|
a return of 2 means they have exceed maximum number of tries |
|
a return of 3 means it after the answer date |
|
|
|
=cut |
|
|
sub check_status { |
sub check_status { |
my ($id)=@_; |
my ($id)=@_; |
if (!defined($id)) { $id=$Apache::inputtags::part; } |
if (!defined($id)) { $id=$Apache::inputtags::part; } |
Line 1251 sub check_status {
|
Line 1276 sub check_status {
|
|
|
=pod |
=pod |
|
|
=item setup_prior_tries_hash($func,$data) |
=item setup_prior_tries_hash() |
|
|
Foreach each past .submission $func is called with 3 arguments |
Foreach each past .submission $func is called with 3 arguments |
- the mode to set things up for (currently always 'grade') |
- the mode to set things up for (currently always 'grade') |
Line 1294 sub setup_prior_tries_hash {
|
Line 1319 sub setup_prior_tries_hash {
|
1; |
1; |
__END__ |
__END__ |
|
|
|
=pod |
|
|
|
=cut |