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

stredwic lon-capa-cvs@mail.lon-capa.org
Mon, 05 Aug 2002 14:16:19 -0000


stredwic		Mon Aug  5 10:16:19 2002 EDT

  Modified files:              
    /loncom/interface	loncoursedata.pm 
  Log:
  Fixed the problem where not all the problems were showing up for BS111.  The
  problem was that sequences in the start resource were being skipped.  By
  simply adding a next in the process sequence block, it will process a 
  sequence right away instead of trying to move to the next resource.
  
  
Index: loncom/interface/loncoursedata.pm
diff -u loncom/interface/loncoursedata.pm:1.11 loncom/interface/loncoursedata.pm:1.12
--- loncom/interface/loncoursedata.pm:1.11	Sat Aug  3 14:47:24 2002
+++ loncom/interface/loncoursedata.pm	Mon Aug  5 10:16:19 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # (Publication Handler
 #
-# $Id: loncoursedata.pm,v 1.11 2002/08/03 18:47:24 stredwic Exp $
+# $Id: loncoursedata.pm,v 1.12 2002/08/05 14:16:19 stredwic Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -182,7 +182,7 @@
 =cut
 
 sub DownloadCourseInformation {
-    my ($namedata,$courseID,$lastDownloadTime)=@_;
+    my ($namedata,$courseID,$lastDownloadTime,$WhatIWant)=@_;
     my %courseData;
     my ($name,$domain) = split(/\:/,$namedata);
 
@@ -197,13 +197,10 @@
     }
 
     # Download course data
-    my $WhatIWant = '(version:(\w|\/|\.)+?$|';
-    $WhatIWant .= '\d+?:(\w|\/|\.)+?:(resource\.\d+\.';
-    $WhatIWant .= '(solved|tries|previous|awarded|(\d+\.submission))';
-    $WhatIWant .= '|timestamp)';
-    $WhatIWant .= ')';
-#    %courseData=&Apache::lonnet::dump($courseID, $domain, $name, $WhatIWant);
-    %courseData=&Apache::lonnet::dump($courseID, $domain, $name);
+    if(!defined($WhatIWant)) {
+        $WhatIWant = '.';
+    }
+    %courseData=&Apache::lonnet::dump($courseID, $domain, $name, $WhatIWant);
     $courseData{'UpToDate'} = 'false';
     $courseData{'lastDownloadTime'}=time;
     return \%courseData;
@@ -284,7 +281,11 @@
     $currentSequence=-1;
     my $topLevelSequenceNumber = $currentSequence;
 
+    my $problemCount=0;
+    my $problemCount2=0;
     my %sequenceRecord;
+    my $sequenceCount=0;
+    my $sequenceCount2=0;
     while(1) {
         if($c->aborted()) {
             last;
@@ -293,6 +294,7 @@
 	#if page || sequence
 	if(defined($hash{'map_pc_'.$hash{'src_'.$currentResourceID}}) &&
            !defined($sequenceRecord{$currentResourceID})) {
+            $sequenceCount++;
             $sequenceRecord{$currentResourceID}++;
 	    push(@sequences, $currentSequence);
 	    push(@currentResource, $currentResourceID);
@@ -323,17 +325,22 @@
 		    last;
 		}
 	    }
+            next;
 	}
 
 	# Handle gradable resources: exams, problems, etc
 	$currentResourceID=~/(\d+)\.(\d+)/;
         my $partA=$1;
         my $partB=$2;
+        if($hash{'src_'.$currentResourceID}=~/\.problem$/) {
+            $problemCount++;
+        }
 	if($hash{'src_'.$currentResourceID}=~
 	   /\.(problem|exam|quiz|assess|survey|form)$/ &&
 	   $partA eq $currentSequence && 
            !defined($sequenceRecord{$currentSequence.':'.
                                     $currentResourceID})) {
+            $problemCount2++;
             $sequenceRecord{$currentSequence.':'.$currentResourceID}++;
 	    my $Problem = &Apache::lonnet::symbclean(
 			  &Apache::lonnet::declutter($hash{'map_id_'.$partA}).
@@ -409,6 +416,7 @@
 	    $lastResourceID=pop(@finishResource);
 
 	    if(defined($cache->{$currentSequence.':problems'})) {
+                $sequenceCount2++;
 		# Capture sequence information here
 		$cache->{$currentSequence.':title'}=
 		    $hash{'title_'.$currentResourceID};
@@ -473,6 +481,10 @@
 	$currentResourceID=pop(@currentResource);
     }
 
+    $cache->{'jasoncount'}=$problemCount;
+    $cache->{'jasoncount2'}=$problemCount2;
+    $cache->{'jasonseq'}=$sequenceCount;
+    $cache->{'jasonseq2'}=$sequenceCount2;
     unless (untie(%hash)) {
         &Apache::lonnet::logthis("<font color=blue>WARNING: ".
                                  "Could not untie coursemap $fn (browse)".