1: # The LearningOnline Network with CAPA
2: # various response type definitons response definition
3:
4: # 11/23,11/24,11/28 Gerd Kortemeyer
5:
6: package Apache::response;
7: use strict;
8:
9: sub BEGIN {
10: &Apache::lonxml::register('Apache::response',('responseparam','caparesponse'));
11: }
12:
13: sub meta_parameter_write {
14: my ($name,$type,$default,$display)=@_;
15: return '<parameter part="'.$Apache::inputtags::part.
16: '" name="'.$name.
17: '" type="'.$type.
18: '" default="'.$default.
19: '" display="'.$display.
20: ' [Part: '.$Apache::inputtags::part.']"></parameter>'
21: ."\n";
22: }
23:
24: sub meta_stores_write {
25: my ($name,$type,$display)=@_;
26: return '<stores part="'.$Apache::inputtags::part.
27: '" name="'.$name.
28: '" type="'.$type.
29: '" display="'.$display.
30: ' [Part: '.$Apache::inputtags::part.']"></stores>'
31: ."\n";
32: }
33:
34: sub mandatory_part_meta {
35: #
36: # Autogenerate metadata for mandatory
37: # input (from RAT or lonparmset) and
38: # output (to lonspreadsheet)
39: # of each part
40: #
41: return
42: &meta_parameter_write('opendate','date_start','',
43: 'Opening Date').
44: &meta_parameter_write('duedate','date_end','',
45: 'Due Date').
46: &meta_parameter_write('answerdate','date_start','',
47: 'Show Answer Date').
48: &meta_parameter_write('weight','int_zeropos','',
49: 'Available Points').
50: &meta_parameter_write('maxtries','int_pos','',
51: 'Maximum Number of Tries').
52:
53: &meta_stores_write('solved','string',
54: 'Problem Status').
55: &meta_stores_write('tries','int_zeropos',
56: 'Number of Unsuccessful Tries').
57: &meta_stores_write('awarded','float',
58: 'Partial Credit Factor');
59: #
60: # Note: responseid-specific data 'submission' and 'awarddetail'
61: # not available to spreadsheet -> skip here
62: #
63: }
64:
65: sub start_caparesponse {
66: require Apache::caparesponse;
67: import Apache::caparesponse;
68: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
69: # print "\n<br>\nsimple caparesponse\n";
70: Apache::caparesponse::start_caparesponse($target,$token,$parstack,$parser,$safeeval,$style);;
71: return "";
72: }
73:
74: sub start_responseparam {
75: my ($target,$token,$parstack,$parser,$safeeval)=@_;
76: if ($target eq 'grade') {
77: my $args='';
78: if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
79: my $default = &Apache::run::run("{$args;".'return $default}',$safeeval);
80: my $name = &Apache::run::run("{$args;".'return $name}',$safeeval);
81: &Apache::lonxml::debug("looking for resource.$Apache::inputtags::part.$name");
82: my $value = &Apache::lonnet::EXT("resource.$Apache::inputtags::part.$name");
83: &Apache::lonxml::debug("$name has value :$value: and default :$default:");
84: if ($value eq '') {
85: &Apache::lonxml::debug("defaullting");
86: $Apache::inputtags::params{$name}=$default;
87: } else {
88: &Apache::lonxml::debug("using value");
89: $Apache::inputtags::params{$name}=$value;
90: }
91: return '';
92: } elsif ($target eq 'meta') {
93: return &meta_parameter_write($token->[2]->{'name'},
94: $token->[2]->{'type'},
95: $token->[2]->{'default'},
96: $token->[2]->{'description'});
97: } else {
98: return '';
99: }
100: }
101:
102: sub end_responseparam {
103: }
104:
105: 1;
106: __END__
107:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>