[LON-CAPA-cvs] cvs: loncom /interface lonparmset.pm
bowersj2
lon-capa-cvs@mail.lon-capa.org
Mon, 19 Aug 2002 23:01:27 -0000
bowersj2 Mon Aug 19 19:01:27 2002 EDT
Modified files:
/loncom/interface lonparmset.pm
Log:
Starting to pick apart lonparmset and document what is what, in
preparation for adding a newer interface on top.
Index: loncom/interface/lonparmset.pm
diff -u loncom/interface/lonparmset.pm:1.62 loncom/interface/lonparmset.pm:1.63
--- loncom/interface/lonparmset.pm:1.62 Sat Aug 17 16:04:18 2002
+++ loncom/interface/lonparmset.pm Mon Aug 19 19:01:27 2002
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.62 2002/08/17 20:04:18 www Exp $
+# $Id: lonparmset.pm,v 1.63 2002/08/19 23:01:27 bowersj2 Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -437,6 +437,102 @@
return(@values);
}
+=pod
+
+=item B<extractResourceInformation>: Given the course data hash, extractResourceInformation extracts lots of information about the course's resources into a variety of hashes.
+
+Input: See list below:
+
+=over 4
+
+=item B<ids>: An array that will contain all of the ids in the course.
+
+=item B<typep>: hash, id->type, where "type" contains the extension of the file, thus, I<problem exam quiz assess survey form>.
+
+=item B<keyp>: hash, id->key list, will contain a comma seperated list of the meta-data keys available for the given id
+
+=item B<allparms>: hash, name of parameter->display value (what is the display value?)
+
+=item B<allparts>: hash, part identification->text representation of part, where the text representation is "[Part $part]"
+
+=item B<allkeys>: hash, full key to part->display value (what's display value?)
+
+=item B<allmaps>: hash, ???
+
+=item B<fcat>: ???
+
+=item B<defp>: hash, ???
+
+=item B<mapp>: ??
+
+=item B<symbp>: hash, id->full sym?
+
+=back
+
+=cut
+
+sub extractResourceInformation {
+ my $bighash = shift;
+ my $ids = shift;
+ my $typep = shift;
+ my $keyp = shift;
+ my $allparms = shift;
+ my $allparts = shift;
+ my $allkeys = shift;
+ my $allmaps = shift;
+ my $fcat = shift;
+ my $defp = shift;
+ my $mapp = shift;
+ my $symbp = shift;
+
+ foreach (keys %$bighash) {
+ if ($_=~/^src\_(\d+)\.(\d+)$/) {
+ my $mapid=$1;
+ my $resid=$2;
+ my $id=$mapid.'.'.$resid;
+ my $srcf=$$bighash{$_};
+ if ($srcf=~/\.(problem|exam|quiz|assess|survey|form)$/) {
+ $$ids[$#$ids+1]=$id;
+ $$typep{$id}=$1;
+ $$keyp{$id}='';
+ foreach (split(/\,/,&Apache::lonnet::metadata($srcf,'keys'))) {
+ if ($_=~/^parameter\_(.*)/) {
+ my $key=$_;
+ my $allkey=$1;
+ $allkey=~s/\_/\./g;
+ my $display= &Apache::lonnet::metadata($srcf,$key.'.display');
+ my $name=&Apache::lonnet::metadata($srcf,$key.'.name');
+ my $part= &Apache::lonnet::metadata($srcf,$key.'.part');
+ my $parmdis = $display;
+ $parmdis =~ s|(\[Part.*$)||g;
+ my $partkey = $part;
+ $partkey =~ tr|_|.|;
+ $$allparms{$name} = $parmdis;
+ $$allparts{$part} = "[Part $part]";
+ $$allkeys{$allkey}=$display;
+ if ($allkey eq $fcat) {
+ $$defp{$id}= &Apache::lonnet::metadata($srcf,$key);
+ }
+ if ($$keyp{$id}) {
+ $$keyp{$id}.=','.$key;
+ } else {
+ $$keyp{$id}=$key;
+ }
+ }
+ }
+ $$mapp{$id}=
+ &Apache::lonnet::declutter($$bighash{'map_id_'.$mapid});
+ $$mapp{$mapid}=$$mapp{$id};
+ $$allmaps{$mapid}=$$mapp{$id};
+ $$symbp{$id}=$$mapp{$id}.
+ '___'.$resid.'___'.
+ &Apache::lonnet::declutter($srcf);
+ $$symbp{$mapid}=$$mapp{$id}.'___(all)';
+ }
+ }
+ }
+}
+
##################################################
##################################################
@@ -451,6 +547,18 @@
Returns: nothing
+Variables used (guessed by Jeremy):
+
+=over 4
+
+=item B<pscat>: ParameterS CATegories? ends up a list of the types of parameters that exist, e.g., tol, weight, acc, opendate, duedate, answerdate, sig, maxtries, type.
+
+=item B<psprt>: ParameterS PaRTs? a list of the parts of a problem that we are displaying? Used to display only selected parts?
+
+=item B<allmaps>:
+
+=back
+
=cut
##################################################
@@ -580,53 +688,10 @@
$r->print("Unable to access parameter data. (File $ENV{'request.course.fn'}_parms.db not tieable)");
return ;
}
+
# --------------------------------------------------------- Get all assessments
- foreach (keys %bighash) {
- if ($_=~/^src\_(\d+)\.(\d+)$/) {
- my $mapid=$1;
- my $resid=$2;
- my $id=$mapid.'.'.$resid;
- my $srcf=$bighash{$_};
- if ($srcf=~/\.(problem|exam|quiz|assess|survey|form)$/) {
- $ids[$#ids+1]=$id;
- $typep{$id}=$1;
- $keyp{$id}='';
- foreach (split(/\,/,&Apache::lonnet::metadata($srcf,'keys'))) {
- if ($_=~/^parameter\_(.*)/) {
- my $key=$_;
- my $allkey=$1;
- $allkey=~s/\_/\./g;
- my $display= &Apache::lonnet::metadata($srcf,$key.'.display');
- my $name=&Apache::lonnet::metadata($srcf,$key.'.name');
- my $part= &Apache::lonnet::metadata($srcf,$key.'.part');
- my $parmdis = $display;
- $parmdis =~ s|(\[Part.*$)||g;
- my $partkey = $part;
- $partkey =~ tr|_|.|;
- $allparms{$name} = $parmdis;
- $allparts{$part} = "[Part $part]";
- $allkeys{$allkey}=$display;
- if ($allkey eq $fcat) {
- $defp{$id}= &Apache::lonnet::metadata($srcf,$key);
- }
- if ($keyp{$id}) {
- $keyp{$id}.=','.$key;
- } else {
- $keyp{$id}=$key;
- }
- }
- }
- $mapp{$id}=
- &Apache::lonnet::declutter($bighash{'map_id_'.$mapid});
- $mapp{$mapid}=$mapp{$id};
- $allmaps{$mapid}=$mapp{$id};
- $symbp{$id}=$mapp{$id}.
- '___'.$resid.'___'.
- &Apache::lonnet::declutter($srcf);
- $symbp{$mapid}=$mapp{$id}.'___(all)';
- }
- }
- }
+ extractResourceInformation(\%bighash, \@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allkeys, \%allmaps, $fcat, \%defp, \%mapp, \%symbp);
+
$mapp{'0.0'} = '';
$symbp{'0.0'} = '';
# ---------------------------------------------------------- Anything to store?
@@ -725,6 +790,7 @@
if ($pscat[0] eq "all" || !@pscat) {@pscat = (keys %allparms);}
if ($psprt[0] eq "all" || !@psprt) {@psprt = (keys %allparts);}
# ------------------------------------------------------------------ Start page
+
&startpage($r,$id,$udom,$csec,$uname);
# if ($ENV{'form.url'}) {
# $r->print('<input type="hidden" value="'.$ENV{'form.url'}.