--- loncom/interface/statistics/lonproblemanalysis.pm 2005/02/23 02:03:42 1.115
+++ loncom/interface/statistics/lonproblemanalysis.pm 2005/02/28 23:07:32 1.116
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonproblemanalysis.pm,v 1.115 2005/02/23 02:03:42 matthew Exp $
+# $Id: lonproblemanalysis.pm,v 1.116 2005/02/28 23:07:32 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -107,7 +107,7 @@ sub BuildProblemAnalysisPage {
my $current_problem = &Apache::lonstathelpers::get_target_from_id
($ENV{'form.problemchoice'});
#
- my ($prev,$curr,$next) =
+ my ($navmap,$prev,$curr,$next) =
&Apache::lonstathelpers::get_prev_curr_next($current_problem,
$problem_types,
'response',
@@ -130,14 +130,14 @@ sub BuildProblemAnalysisPage {
$r->print('resource is undefined');
} else {
my $resource = $current_problem->{'resource'};
- $r->print('
'.$resource->{'title'}.'
');
- $r->print(''.$resource->{'src'}.'
');
+ $r->print(''.$resource->compTitle.'
');
+ $r->print(''.$resource->src.'
');
if ($ENV{'form.show_prob'} eq 'true') {
$r->print(&Apache::lonstathelpers::render_resource($resource));
}
$r->rflush();
my %Data = &Apache::lonstathelpers::get_problem_data
- ($resource->{'src'});
+ ($resource->src);
my $problem_data = $Data{$current_problem->{'part'}.
'.'.
$current_problem->{'respid'}};
@@ -162,8 +162,7 @@ sub BuildProblemAnalysisPage {
&mt('Analyze Problem').'" />');
$r->print(' 'x5);
$r->print(''.&mt('Please select a problem to analyze').'
');
- $r->print(&Apache::lonstathelpers::ProblemSelector
- ($problem_types));
+ $r->print(&Apache::lonstathelpers::problem_selector($problem_types));
}
}
@@ -189,7 +188,7 @@ sub numerical_response_analysis {
my $response_data = &Apache::loncoursedata::get_response_data
(\@Apache::lonstatistics::SelectedSections,
$Apache::lonstatistics::enrollment_status,
- $resource->{'symb'},$respid);
+ $resource->symb,$respid);
#
$problem_analysis->{'answercomputed'} = 1;
if ($problem_analysis->{'answercomputed'}) {
@@ -768,7 +767,7 @@ sub radio_response_analysis {
my $response_data = &Apache::loncoursedata::get_response_data
(\@Apache::lonstatistics::SelectedSections,
$Apache::lonstatistics::enrollment_status,
- $resource->{'symb'},$respid);
+ $resource->symb,$respid);
my $correct; # either a hash reference or a scalar
if ($problem_analysis->{'answercomputed'} || scalar(@$concepts) > 1) {
# This takes a while for large classes...
@@ -1171,11 +1170,12 @@ sub OptionResponseAnalysis {
my ($r,$problem,$problem_data,$Students) = @_;
my ($resource,$respid) = ($problem->{'resource'},
$problem->{'respid'});
+ &Apache::lonnet::logthis('option response analysis on '.$resource->symb);
# Note: part data is not needed.
my $PerformanceData = &Apache::loncoursedata::get_response_data
(\@Apache::lonstatistics::SelectedSections,
$Apache::lonstatistics::enrollment_status,
- $resource->{'symb'},$respid);
+ $resource->symb,$respid);
if (! defined($PerformanceData) ||
ref($PerformanceData) ne 'ARRAY' ) {
$r->print(''.
@@ -1216,6 +1216,7 @@ sub OR_tries_analysis {
if (! defined($Concepts)) {
$Concepts = [];
}
+ &Apache::lonnet::logthis('got '.scalar(@$PerformanceData).' data points');
my %response_data = &OR_analyze_by_tries($r,$PerformanceData,
$mintries,$maxtries);
my $analysis = '';
@@ -1272,6 +1273,7 @@ sub OR_tries_analysis {
if (defined($Concepts)) { $num_concepts = scalar(@$Concepts); }
#
for (my $try=$mintries;$try<=$maxtries;$try++) {
+ &Apache::lonnet::logthis('try = '.$try);
if (! defined($response_data{'_total'}->[$try]) ||
$response_data{'_total'}->[$try] == 0) {
if ($try > 1) {
@@ -1305,15 +1307,18 @@ sub OR_tries_analysis {
('Correct Concepts','Concept Number','Percent Correct',
100,$plotcolors,undef,\@concept_plot_data,{xskip=>1});
}
+ &Apache::lonnet::logthis('got here a_0');
#
# Create Foil Plots
my $data_count = $response_data{'_total'}->[$try];
my $correct = $response_data{'_correct'}->[$try];
my @Datasets;
foreach my $option ('_correct',@{$ORdata->{'_Options'}}) {
+ &Apache::lonnet::logthis('checking option '.$option);
next if (! exists($foil_plot[$try]->{$option}));
push(@Datasets,$foil_plot[$try]->{$option});
}
+ &Apache::lonnet::logthis('got here a');
#
# Put a blank in the data set between concepts
for (my $set =0;$set<=$#Datasets;$set++) {
@@ -1330,6 +1335,7 @@ sub OR_tries_analysis {
}
#
# Set up the labels needed for the bar graph
+ &Apache::lonnet::logthis('got here b');
my @Labels;
my $idx = 1;
foreach my $concept (@{$Concepts}) {
@@ -1345,7 +1351,9 @@ sub OR_tries_analysis {
#
#
+ &Apache::lonnet::logthis('got here c');
next if (! defined($Datasets[0]));
+ &Apache::lonnet::logthis('got here d');
for (my $i=0; $i< scalar(@{$Datasets[0]});$i++) {
$Datasets[0]->[$i]=0;
}
@@ -1354,6 +1362,7 @@ sub OR_tries_analysis {
my $incorrect_graph = &Apache::loncommon::DrawBarGraph
('Incorrect Statements','Statement','% Chosen Incorrectly',
100,$plotcolors,\@Labels,@Datasets,{xskip=>1});
+ &Apache::lonnet::logthis('incorrect graph = '.$incorrect_graph);
$analysis_html.=
''.
''.
@@ -1814,7 +1823,6 @@ sub CreateInterface {
$Str .= '';
$Str .= ''.&mt('Sections').' | ';
$Str .= ''.&mt('Enrollment Status').' | ';
-# $Str .= ''.&mt('Sequences and Folders').' | ';
$Str .= ' | ';
$Str .= ' '."\n";
##
@@ -1827,17 +1835,6 @@ sub CreateInterface {
$Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5);
$Str .= ' | ';
#
-# $Str .= '';
- my $only_seq_with_assessments = sub {
- my $s=shift;
- if ($s->{'num_assess'} < 1) {
- return 0;
- } else {
- return 1;
- }
- };
- &Apache::lonstatistics::MapSelect('Maps','multiple,all',5,
- $only_seq_with_assessments);
##
##
$Str .= ' | ';
|