--- loncom/publisher/lonpublisher.pm 2003/11/01 17:38:58 1.142 +++ loncom/publisher/lonpublisher.pm 2003/11/08 11:20:22 1.145 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Publication Handler # -# $Id: lonpublisher.pm,v 1.142 2003/11/01 17:38:58 www Exp $ +# $Id: lonpublisher.pm,v 1.145 2003/11/08 11:20:22 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -143,6 +143,7 @@ use Apache::lonnet(); use Apache::loncommon(); use Apache::lonmysql; use Apache::lonlocal; +use Apache::loncfile; use vars qw(%metadatafields %metadatakeys); my %addid; @@ -180,6 +181,10 @@ nothing ######################################### ######################################### +# +# Modifies global %metadatafields %metadatakeys +# + sub metaeval { my ($metastring,$prefix)=@_; @@ -262,7 +267,8 @@ sub metaread { my ($logfile,$fn,$prefix)=@_; unless (-e $fn) { print($logfile 'No file '.$fn."\n"); - return '
No file: '.$fn.''; + return '
No file: '. + &Apache::loncfile::display($fn).''; } print($logfile 'Processing '.$fn."\n"); my $metastring; @@ -271,7 +277,8 @@ sub metaread { $metastring=join('',<$metafh>); } &metaeval($metastring,$prefix); - return '
Processed file: '.$fn.''; + return '
Processed file: '. + &Apache::loncfile::display($fn).''; } ######################################### @@ -812,19 +819,22 @@ sub store_metadata { # ============================================== Parse file itself for metadata - +# +# parses a file with target meta, sets global %metadatafields %metadatakeys sub parseformeta { my ($source,$style)=@_; + my $allmeta=''; if (($style eq 'ssi') || ($style eq 'prv')) { my $dir=$source; $dir=~s-/[^/]*$--; my $file=$source; $file=(split('/',$file))[-1]; $source=&Apache::lonnet::hreflocation($dir,$file); - my $allmeta=&Apache::lonnet::ssi_body($source,('grade_target' => 'meta')); + $allmeta=&Apache::lonnet::ssi_body($source,('grade_target' => 'meta')); &metaeval($allmeta); } + return $allmeta; } ######################################### @@ -939,7 +949,8 @@ sub publish { # -------------------------------------------- Initial step done, now metadata. # --------------------------------------- Storage for metadata keys and fields. - +# these are globals +# %metadatafields=(); %metadatakeys=(); @@ -965,8 +976,9 @@ sub publish { $metadatafields{'authorspace'}=$cuname.'@'.$cudom; # ----------------------------------------------------------- Parse file itself - - &parseformeta($source,$style); +# read %metadatafields from file itself + + $allmeta=&parseformeta($source,$style); # ------------------------------------------------ Check out directory hierachy my $thisdisfn=$source; @@ -1003,12 +1015,12 @@ sub publish { delete $metadatafields{$_}; } } - - } # ------------------------------------------ See if anything new in file itself - &parseformeta($source,$style); + $allmeta=&parseformeta($source,$style); + } + # ---------------- Find and document discrepancies in the parameters and stores my $chparms=''; @@ -1039,7 +1051,9 @@ sub publish { } if ($chparms) { $scrout.='

'.&mt('Obsolete parameters or stored values').': '. - $chparms.'

'; + $chparms.'

'.&mt('Warning!'). + '

'. + &mt('If this resource is in active use, student performance data from the previous version may become inaccessible.').'


'; } # ------------------------------------------------------- Now have all metadata