--- loncom/interface/lonmeta.pm 2004/04/14 16:14:29 1.67
+++ loncom/interface/lonmeta.pm 2004/04/14 21:22:44 1.71
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Metadata display handler
#
-# $Id: lonmeta.pm,v 1.67 2004/04/14 16:14:29 matthew Exp $
+# $Id: lonmeta.pm,v 1.71 2004/04/14 21:22:44 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -114,21 +114,21 @@ sub evalgraph {
return '';
}
my $val=int($value*10.+0.5)-10;
- my $output='
';
+ my $output='';
if ($val>=20) {
- $output.='  | ';
+ $output.='  | ';
} else {
- $output.=' | '.
- ' | ';
+ $output.=' | '.
+ ' | ';
}
$output.=' | ';
if ($val>20) {
- $output.=' | '.
- ' | ';
+ $output.=' | '.
+ ' | ';
} else {
- $output.='  | ';
+ $output.='  | ';
}
- $output.=' ('.$value.') |
';
+ $output.=' ('.sprintf("%5.2f",$value).') |
';
return $output;
}
@@ -140,15 +140,15 @@ sub diffgraph {
my $val=int(40.0*$value+0.5);
my @colors=('#FF9933','#EEAA33','#DDBB33','#CCCC33',
'#BBDD33','#CCCC33','#DDBB33','#EEAA33');
- my $output='';
+ my $output='';
for (my $i=0;$i<8;$i++) {
if ($val>$i*5) {
- $output.=' | ';
+ $output.=' | ';
} else {
- $output.=' | ';
+ $output.=' | ';
}
}
- $output.=' ('.$value.') |
';
+ $output.=' ('.sprintf("%3.2f",$value).') |
';
return $output;
}
@@ -252,9 +252,11 @@ sub prettyprint {
($type eq 'comefrom_list') ||
($type eq 'sequsage_list')) {
return join('
',map {
- my $url=&Apache::lonnet::clutter($_);
- ''.&Apache::lonnet::gettitle($url).''.
- &Apache::lonhtmlcommon::crumbs($url,'preview','',undef,'+0');
+ my $url = &Apache::lonnet::clutter($_);
+ $_ = ''.&Apache::lonnet::gettitle($url).' '.
+ ''.
+ ''.$url.''.
+ ''
} split(/\s*\,\s*/,$value));
}
# Evaluations
@@ -450,10 +452,10 @@ sub report_bombs {
&Apache::lonmsg::all_url_author_res_msg($author,$domain);
foreach (sort(keys(%brokenurls))) {
if ($_=~/^\Q$uri\E/) {
- $r->print(&Apache::lonhtmlcommon::crumbs
- (&Apache::lonnet::clutter($_)).
- &Apache::lonmsg::retrieve_author_res_msg($_).
- '
');
+ $r->print
+ (''.$_.''.
+ &Apache::lonmsg::retrieve_author_res_msg($_).
+ '
');
}
}
} else {
@@ -541,35 +543,51 @@ $table
ENDHEAD
if ($ENV{'user.adv'}) {
- &print_dynamic_metadata($r,$uri);
+ &print_dynamic_metadata($r,$uri,\%content);
}
return;
}
sub print_dynamic_metadata {
- my ($r,$uri) = @_;
+ my ($r,$uri,$content) = @_;
+ #
+ my %content = %$content;
+ my %lt=&fieldnames();
#
my $description = 'Dynamic Metadata (updated periodically)';
$r->print(''.&mt($description).'
'.
- &mt('Processing').' ...
');
+ &mt('Processing'));
$r->rflush();
my %items=&fieldnames();
my %dynmeta=&dynamicmeta($uri);
#
# General Access and Usage Statistics
- $r->print(''.&mt('Access and Usage Statistics').'
'.
- '');
- foreach ('count',
- 'sequsage','sequsage_list',
- 'comefrom','comefrom_list',
- 'goto','goto_list',
- 'course','course_list') {
- $r->print(''.$lt{$_}.' | '.
- ''.
- &prettyprint($_,$dynmeta{$_})." |
\n");
+ if (exists($dynmeta{'count'}) ||
+ exists($dynmeta{'sequsage'}) ||
+ exists($dynmeta{'comefrom'}) ||
+ exists($dynmeta{'goto'}) ||
+ exists($dynmeta{'course'})) {
+ $r->print(''.&mt('Access and Usage Statistics').'
'.
+ '');
+ foreach ('count',
+ 'sequsage','sequsage_list',
+ 'comefrom','comefrom_list',
+ 'goto','goto_list',
+ 'course','course_list') {
+ $r->print(''.$lt{$_}.' | '.
+ ''.
+ &prettyprint($_,$dynmeta{$_})." |
\n");
+ }
+ $r->print('
');
+ } else {
+ $r->print(''.&mt('No Access or Usages Statistics are available for this resource.').'
');
}
- $r->print('
');
- if ($uri=~/\.(problem|exam|quiz|assess|survey|form)$/) {
+ #
+ # Assessment statistics
+ if ($uri=~/\.(problem|exam|quiz|assess|survey|form)$/ &&
+ (exists($dynmeta{'stdno'}) ||
+ exists($dynmeta{'avetries'}) ||
+ exists($dynmeta{'difficulty'}))) {
# This is an assessment, print assessment data
$r->print(
''.&mt('Assessment Statistical Data').'
'.
@@ -580,28 +598,46 @@ sub print_dynamic_metadata {
&prettyprint($_,$dynmeta{$_})."\n");
}
$r->print('');
+ } else {
+ $r->print(''.&mt('No Assessment Statistical Data is available for this resource').'
');
}
-
- $r->print(''.&mt('Evaluation Data').'
'.
- '');
- foreach ('clear','depth','helpful','correct','technical') {
- $r->print(''.$lt{$_}.' | '.
- ''.
- &prettyprint($_,$dynmeta{$_})." |
\n");
+ if (exists($dynmeta{'clear'}) ||
+ exists($dynmeta{'depth'}) ||
+ exists($dynmeta{'helpful'}) ||
+ exists($dynmeta{'correct'}) ||
+ exists($dynmeta{'technical'})){
+ $r->print(''.&mt('Evaluation Data').'
'.
+ '');
+ foreach ('clear','depth','helpful','correct','technical') {
+ $r->print(''.$lt{$_}.' | '.
+ ''.
+ &prettyprint($_,$dynmeta{$_})." |
\n");
+ }
+ $r->print('
');
+ } else {
+ $r->print(''.&mt('No Evaluation Data is available for this resource.').'
');
}
- $r->print('
');
$uri=~/^\/res\/(\w+)\/(\w+)\//;
if ((($ENV{'user.domain'} eq $1) && ($ENV{'user.name'} eq $2))
|| ($ENV{'user.role.ca./'.$1.'/'.$2})) {
- $r->print(''.&mt('Evaluation Comments').' ('.
- &mt('visible to author and co-authors only').
- ')
'.
- ''.$dynmeta{'comments'}.'
');
- $r->print(''.&mt('Error Messages').' ('.
- &mt('visible to author and co-authors only').')'.
- '
'.
- &Apache::lonmsg::retrieve_author_res_msg($uri));
+ if (exists($dynmeta{'comments'})) {
+ $r->print(''.&mt('Evaluation Comments').' ('.
+ &mt('visible to author and co-authors only').
+ ')
'.
+ ''.$dynmeta{'comments'}.'
');
+ } else {
+ $r->print(''.&mt('There are no Evaluation Comments on this resource.').'
');
+ }
+ my $bombs = &Apache::lonmsg::retrieve_author_res_msg($uri);
+ if (defined($bombs) && $bombs ne '') {
+ $r->print(''.&mt('Error Messages').' ('.
+ &mt('visible to author and co-authors only').')'.
+ '
'.$bombs);
+ } else {
+ $r->print(''.&mt('There are currently no Error Messages for this resource.').'
');
+ }
}
+ #
# All other stuff
$r->print(''.
&mt('Additional Metadata (non-standard, parameters, exports)').
@@ -747,30 +783,5 @@ ENDEDIT
return;
}
-##############################################################
-##############################################################
-# MySQL table columns
-
-my @columns;
-
-BEGIN {
- # Get columns of MySQL metadata table
- @columns=&Apache::lonmysql::col_order('metadata');
-}
-
-#
-# Turn MySQL row into hash
-# This routine should be moved to lonmetadata
-# a more generic place since it has nothing to do with metadata
-sub metadata_col_to_hash {
- my @cols=@_;
- my %hash=();
- for (my $i=0; $i<=$#columns; $i++) {
- $hash{$columns[$i]}=$cols[$i];
- }
- return %hash;
-}
-
-
1;
__END__