[LON-CAPA-cvs] cvs: loncom /interface/statistics lonproblemanalysis.pm

minaeibi lon-capa-cvs@mail.lon-capa.org
Mon, 25 Nov 2002 18:02:49 -0000


minaeibi		Mon Nov 25 13:02:49 2002 EDT

  Modified files:              
    /loncom/interface/statistics	lonproblemanalysis.pm 
  Log:
  Fixed inconsistency in computing the Option Response Problems Analysis. This module "restore" a particular problem results for every students. Since this restore function is very fast, it is no need to cache the data any more. For example for 835 students in phy231 cousre it takes 33 seconds or in other word it takes for 100 students less than 4 second. We don't use "dump" here.
  
  
  
  
Index: loncom/interface/statistics/lonproblemanalysis.pm
diff -u loncom/interface/statistics/lonproblemanalysis.pm:1.13 loncom/interface/statistics/lonproblemanalysis.pm:1.14
--- loncom/interface/statistics/lonproblemanalysis.pm:1.13	Thu Nov 21 23:04:10 2002
+++ loncom/interface/statistics/lonproblemanalysis.pm	Mon Nov 25 13:02:49 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # (Publication Handler
 #
-# $Id: lonproblemanalysis.pm,v 1.13 2002/11/22 04:04:10 minaeibi Exp $
+# $Id: lonproblemanalysis.pm,v 1.14 2002/11/25 18:02:49 minaeibi Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -90,7 +90,9 @@
 
     # Remove students who don't have the proper section.
     my @sectionsSelected = split(':',$cache{'sectionsSelected'});
-    for(my $studentIndex=((scalar @$students)-1); $studentIndex>=0;
+
+    my $studentCount = scalar @$students;
+    for(my $studentIndex=$studentCount-1; $studentIndex>=0;
         $studentIndex--) {
         my $value = $cache{$students->[$studentIndex].':section'};
         my $found = 0;
@@ -115,6 +117,9 @@
         $r->print('Can not untie hash.');
         $r->rflush();
     }
+    #if($status eq 'true')
+    { &Apache::lonhtmlcommon::Close_PrgWin($r); }
+
 
 #    my $error =
 #        &Apache::loncoursedata::DownloadStudentCourseDataSeparate($students,
@@ -142,6 +147,10 @@
     my $title    = $cache{$problemId.':title'};
     my $interval = $cache{'Interval'};
 
+#    my $title = 'LON-CAPA Statistics';
+    my $heading = 'Restore this particular Option Response Problem '.
+                  'Results, Please wait...';
+
     my %ConceptData;
     $ConceptData{"Interval"} = $interval;
 
@@ -169,13 +178,20 @@
     $Str = '';
     if($c->aborted()) {  untie(%cache); return; }
 
+    &Apache::lonhtmlcommon::Create_PrgWin($r, $title, $heading);
+
+    my $count=0;
     #Java script Progress window
     for(my $index=0; $index<(scalar @$students); $index++) {
         if($c->aborted()) {  untie(%cache); return; }
+        $count++;
+        my $displayString = $count.'/'.$studentCount.': '.$_;
+        &Apache::lonhtmlcommon::Update_PrgWin($displayString, $r);
 	&OpStatus($problemId, $students->[$index], \%ConceptData,
-                  $analyzeData->{'foil_to_concept'}, $analyzeData, 
+                  $analyzeData->{'foil_to_concept'}, $analyzeData,
 		  \%cache, $courseID);
     }
+    &Apache::lonhtmlcommon::Close_PrgWin($r);
 
     $Str .= '<br>';
     for (my $k=0; $k<$interval; $k++ ) {