--- loncom/homework/response.pm 2008/09/08 16:08:36 1.202 +++ loncom/homework/response.pm 2009/04/17 01:00:15 1.214 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # various response type definitons response definition # -# $Id: response.pm,v 1.202 2008/09/08 16:08:36 riegler Exp $ +# $Id: response.pm,v 1.214 2009/04/17 01:00:15 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,11 +26,35 @@ # 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; use strict; use Apache::lonlocal; use Apache::lonnet; use Apache::lonmaxima(); +use Apache::lonr(); BEGIN { &Apache::lonxml::register('Apache::response',('responseparam','parameter','dataresponse','customresponse','mathresponse')); @@ -216,35 +240,26 @@ sub meta_stores_write { ">\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 { -# -# Autogenerate metadata for mandatory -# input (from RAT or lonparmset) and -# output (to lonspreadsheet) -# 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 -# + return &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'); } sub meta_part_order { @@ -269,7 +284,7 @@ sub check_for_previous { my %previous; $previous{'used'} = 0; foreach my $key (sort(keys(%Apache::lonhomework::history))) { - if ($key =~ /resource\.$partid\.$id\.submission$/) { + if ($key =~ /resource\.\Q$partid\E\.\Q$id\E\.submission$/) { if ( $last && $key =~ /^(\d+):/ ) { next if ($1 >= $last); } @@ -288,6 +303,7 @@ sub check_for_previous { $previous{'last'}='1'; } 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'}:"); } } @@ -493,7 +509,7 @@ sub start_mathresponse { 'answerdisplay',$token); $result.=&Apache::edit::select_arg('Algebra System:', 'cas', - ['maxima'], + ['maxima','R'], $token); $result.=&Apache::edit::text_arg('Argument Array:', 'args',$token). @@ -523,7 +539,7 @@ sub edit_mathresponse_button { # my $helplink=&Apache::loncommon::help_open_topic('Formula_Editor'); my $iconpath=$Apache::lonnet::perlvar{'lonIconsURL'}; return(< +