--- loncom/interface/lonmeta.pm 2004/07/09 21:35:05 1.84 +++ loncom/interface/lonmeta.pm 2005/03/16 22:52:04 1.93 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Metadata display handler # -# $Id: lonmeta.pm,v 1.84 2004/07/09 21:35:05 banghart Exp $ +# $Id: lonmeta.pm,v 1.93 2005/03/16 22:52:04 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -236,9 +236,9 @@ sub diffgraph { # The field names sub fieldnames { - return &Apache::lonlocal::texthash - ( - 'title' => 'Title', + my $file_type=shift; + my %fields = + ('title' => 'Title', 'author' =>'Author(s)', 'authorspace' => 'Author Space', 'modifyinguser' => 'Last Modifying User', @@ -247,7 +247,11 @@ sub fieldnames { 'notes' => 'Notes', 'abstract' => 'Abstract', 'lowestgradelevel' => 'Lowest Grade Level', - 'highestgradelevel' => 'Highest Grade Level', + 'highestgradelevel' => 'Highest Grade Level'); + if (! defined($file_type) || $file_type ne 'portfolio') { + %fields = + (%fields, + 'domain' => 'Domain', 'standards' => 'Standards', 'mime' => 'MIME Type', 'language' => 'Language', @@ -280,6 +284,8 @@ sub fieldnames { 'disc' => 'Degree of discrimination', 'dependencies' => 'Resources used by this resource', ); + } + return &Apache::lonlocal::texthash(%fields); } # Pretty printing of metadata field @@ -530,13 +536,19 @@ sub handler { # my ($resdomain,$resuser)= (&Apache::lonnet::declutter($uri)=~/^(\w+)\/(\w+)\//); - $r->print(''. + my $html=&Apache::lonxml::xmlbegin(); + $r->print($html.'<head><title>'. 'Catalog Information'. ''); if ($uri=~m:/adm/bombs/(.*)$:) { $r->print(&Apache::loncommon::bodytag('Error Messages')); # Looking for all bombs? &report_bombs($r,$uri); + } elsif ($uri=~/\/portfolio\//) { + $r->print(&Apache::loncommon::bodytag + ('Edit Portfolio File Information','','','',$resdomain)); + &present_editable_metadata($r,$uri,'portfolio'); + } elsif ($uri=~/^\/\~/) { # Construction space $r->print(&Apache::loncommon::bodytag @@ -544,7 +556,7 @@ sub handler { &present_editable_metadata($r,$uri); } else { $r->print(&Apache::loncommon::bodytag - ('Catalog Information','','','',$resdomain)); + ('Catalog Information','','','',$resdomain)); &present_uneditable_metadata($r,$uri); } $r->print(''); @@ -665,7 +677,7 @@ $disuri
$obsoletewarning $versiondisplay

- +
$table
ENDHEAD @@ -695,7 +707,7 @@ sub print_dynamic_metadata { exists($dynmeta{'goto'}) || exists($dynmeta{'course'})) { $r->print('

'.&mt('Access and Usage Statistics').'

'. - ''); + '
'); foreach ('count', 'sequsage','sequsage_list', 'comefrom','comefrom_list', @@ -720,7 +732,7 @@ sub print_dynamic_metadata { $r->print('

'. &mt('Overall Assessment Statistical Data'). '

'. - '
'); + '
'); $r->print(''. '
'.$lt{'stdno'}.''. &prettyprint('stdno',$dynmeta{'stdno'}). @@ -739,7 +751,7 @@ sub print_dynamic_metadata { $r->print('

'. &mt('Detailed Assessment Statistical Data'). '

'); - my $table = ''. + my $table = '
'. ''. ''. ''. @@ -799,7 +811,7 @@ sub print_dynamic_metadata { exists($dynmeta{'correct'}) || exists($dynmeta{'technical'})){ $r->print('

'.&mt('Evaluation Data').'

'. - '
CourseSection(s)
'); + '
'); foreach ('clear','depth','helpful','correct','technical') { $r->print(''. '
'.$lt{$_}.''. @@ -870,7 +882,7 @@ sub print_dynamic_metadata { ##################################################### ##################################################### sub present_editable_metadata { - my ($r,$uri) = @_; + my ($r,$uri, $file_type) = @_; # Construction Space Call # Header my $disuri=$uri; @@ -905,26 +917,30 @@ ENDBOMBS &mt('Default Cataloging Information for Directory').' '. $dir; } - my $bodytag= - &Apache::loncommon::bodytag('Edit Catalog Information'); %Apache::lonpublisher::metadatafields=(); %Apache::lonpublisher::metadatakeys=(); &Apache::lonpublisher::metaeval(&Apache::lonnet::getfile($fn)); $r->print(<Edit Catalog Information -$bodytag

$displayfile

ENDEDIT $r->print(''); - my %lt=&fieldnames(); - foreach ('author','title','subject','keywords','abstract','notes', + my %lt=&fieldnames($file_type); + my $output; + my @fields; + if ($file_type eq 'portfolio') { + @fields = ('author','title','subject','keywords','abstract','notes','lowestgradelevel', + 'highestgradelevel'); + } else { + @fields = ('author','title','subject','keywords','abstract','notes', 'copyright','customdistributionfile','language', 'standards', 'lowestgradelevel','highestgradelevel','sourceavail','sourcerights', - 'obsolete','obsoletereplacement') { + 'obsolete','obsoletereplacement'); + } + foreach (@fields) { if (defined($ENV{'form.new_'.$_})) { $Apache::lonpublisher::metadatafields{$_}= $ENV{'form.new_'.$_}; @@ -933,17 +949,17 @@ ENDEDIT $Apache::lonpublisher::metadatafields{'copyright'}= 'default'; } - $r->print('

'.$lt{$_}.': '. - &prettyinput - ($_,$Apache::lonpublisher::metadatafields{$_}, - 'new_'.$_,'defaultmeta').'

'); + $output.=('

'.$lt{$_}.': '. + &prettyinput($_, + $Apache::lonpublisher::metadatafields{$_}, + 'new_'.$_,'defaultmeta').'

'); } if ($ENV{'form.store'}) { my $mfh; if (! ($mfh=Apache::File->new('>'.$fn))) { - $r->print('

'. + $r->print('

'. &mt('Could not write metadata').', '. - &mt('FAIL').''); + &mt('FAIL').'

'); } else { foreach (sort keys %Apache::lonpublisher::metadatafields) { next if ($_ =~ /\./); @@ -966,10 +982,12 @@ ENDEDIT '<>&"'). ''; } - $r->print('

'.&mt('Wrote Metadata')); + $r->print('

'.&mt('Wrote Metadata'). + ' '.&Apache::lonlocal::locallocaltime(time). + '

'); } } - $r->print('
'); } $r->print('
');