--- loncom/interface/statistics/lonproblemanalysis.pm 2003/10/07 16:07:39 1.26
+++ loncom/interface/statistics/lonproblemanalysis.pm 2003/10/09 22:10:02 1.28
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonproblemanalysis.pm,v 1.26 2003/10/07 16:07:39 matthew Exp $
+# $Id: lonproblemanalysis.pm,v 1.28 2003/10/09 22:10:02 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -39,6 +39,9 @@ sub BuildProblemAnalysisPage {
my ($r,$c)=@_;
$r->print('
'.&mt('Option Response Problem Analysis').'
');
$r->print(&CreateInterface());
+ #
+ my @Students = @Apache::lonstatistics::Students;
+ #
if (exists($ENV{'form.problemchoice'})) {
$r->print('');
&Apache::lonstatistics::Gather_Full_Student_Data($r);
@@ -46,6 +49,10 @@ sub BuildProblemAnalysisPage {
my ($symb,$part,$resid) = &get_problem_symb(
&Apache::lonnet::unescape($ENV{'form.problemchoice'})
);
+ #
+# my ($firsttime,$lasttime) =
+# &Apache::loncoursedata::get_timestamp_data($symb,$resid);
+ #
my $resource = &get_resource_from_symb($symb);
if (defined($resource)) {
my %Data = &get_problem_data($resource->{'src'});
@@ -67,11 +74,23 @@ sub BuildProblemAnalysisPage {
## Analyze the problem
my $PerformanceData =
&Apache::loncoursedata::get_optionresponse_data
- (undef,$symb,$resid);
+ (\@Students,$symb,$resid);
if (defined($PerformanceData) &&
ref($PerformanceData) eq 'ARRAY') {
- my $analysis_html = &DoTriesAnalysis($PerformanceData,$ORdata);
+ if ($ENV{'form.AnalyzeBy'} eq 'Tries') {
+ my $analysis_html = &DoTriesAnalysis($PerformanceData,
+ $ORdata);
$r->print($analysis_html);
+# } elsif ($ENV{'form.AnalyzeBy'} eq 'Time') {
+# my $analysis_html = &DoTimeAnalysis($PerformanceData,
+# $ORdata);
+# $r->print($analysis_html);
+ } else {
+ $r->print('
'.
+ &mt('The analysis you have selected is '.
+ 'not supported at this time').
+ '
');
+ }
} else {
$r->print('
'.
&mt('There is no student data for this problem.').
@@ -82,7 +101,7 @@ sub BuildProblemAnalysisPage {
}
$r->print('');
} else {
- $r->print('
No Problem Selected
');
+ $r->print('
'.&mt('Please select a problem to analyze').'
');
}
# Okay, they asked for data, so make sure we get the latest data.
$r->print(&OptionResponseProblemSelector());
@@ -92,7 +111,7 @@ sub BuildProblemAnalysisPage {
sub DoTriesAnalysis {
my ($PerformanceData,$ORdata) = @_;
my $mintries = 1;
- my $maxtries = 3;
+ my $maxtries = 10;
my %ResponseData = &analyze_option_data_by_tries($PerformanceData,
$mintries,$maxtries);
my @Foils = sort(keys(%ResponseData));
@@ -150,10 +169,38 @@ sub DoTriesAnalysis {
}
my @Data = ('
');
for (my $i=$mintries;$i<=$maxtries;$i++) {
- push(@Data,'