--- loncom/lonnet/perl/lonnet.pm	2001/08/08 17:56:57	1.144
+++ loncom/lonnet/perl/lonnet.pm	2001/08/09 14:03:42	1.145
@@ -122,7 +122,7 @@
 # 5/30 H. K. Ng
 # 6/1 Gerd Kortemeyer
 # July Guy Albertelli
-# 8/4,8/7,8/8 Gerd Kortemeyer
+# 8/4,8/7,8/8,8/9 Gerd Kortemeyer
 
 package Apache::lonnet;
 
@@ -1735,6 +1735,10 @@ sub EXT {
                               $spacequalifierrest};
     } elsif ($realm eq 'resource') {
        if ($ENV{'request.course.id'}) {
+
+#	   print '<br>'.$space.' - '.$qualifier.' - '.$spacequalifierrest;
+
+
 # ----------------------------------------------------- Cascading lookup scheme
          my $symbp=&symbread();
          my $mapp=(split(/\_\_\_/,$symbp))[0];
@@ -1823,12 +1827,19 @@ sub EXT {
       $metadata=&metadata($ENV{'request.filename'},
                                          'parameter_'.$spacequalifierrest);
       if ($metadata) { return $metadata; }
-      
-      $spacequalifierrest=~/[^\_]+$/;
-      
-      $metadata=&metadata($ENV{'request.filename'},'parameter_0'.$1);
 
-      if ($metadata) { return $metadata; }
+# ------------------------------------------------------------------ Cascade up
+
+      unless ($space eq '0') {
+          my ($part,$id)=split(/\_/,$space);
+          if ($id) {
+	      my $partgeneral=&EXT('resource.'.$part.'.'.$qualifierrest);
+              if ($partgeneral) { return $partgeneral; }
+          } else {
+              my $resourcegeneral=&EXT('resource.0.'.$qualifierrest);
+              if ($resourcegeneral) { return $resourcegeneral; }
+          }
+      }
 
 # ---------------------------------------------------- Any other user namespace
     } elsif ($realm eq 'environment') {