--- loncom/interface/lonmeta.pm 2008/11/18 19:14:22 1.215
+++ loncom/interface/lonmeta.pm 2008/12/10 18:43:32 1.218
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Metadata display handler
#
-# $Id: lonmeta.pm,v 1.215 2008/11/18 19:14:22 jms Exp $
+# $Id: lonmeta.pm,v 1.218 2008/12/10 18:43:32 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -26,99 +26,6 @@
# http://www.lon-capa.org/
-=head1 NAME
-
-Apache::lonmeta - display meta data
-
-=head1 SYNOPSIS
-
-Handler to display meta data
-
-This is part of the LearningOnline Network with CAPA project
-described at http://www.lon-capa.org.
-
-=head1 SUBROUTINES
-
-=over
-
-=item &get_dynamic_metadata_from_sql($url) :
-
-Queries sql database for dynamic metdata
-Returns a hash of hashes, with keys of urls which match $url
-Returned fields are given below.
-
-Examples:
-
- %DynamicMetadata = &Apache::lonmeta::get_dynmaic_metadata_from_sql
- ('/res/msu/korte/');
-
- $DynamicMetadata{'/res/msu/korte/example.problem'}->{$field}
-
-=item dynamicmeta()
-
-Fetch and evaluate dynamic metadata
-
-=item access_count()
-
-=item alttag()
-
-Try to make an alt tag if there is none
-
-=item authordisplay()
-
-Author display
-
-=item evalgraph()
-
-Pretty display
-
-=item diffgraph()
-
-=item fieldnames()
-
-=item portfolio_linked_path()
-
-=item get_port_path_and_group()
-
-=item portfolio_display_uri()
-
-=item pre_select_course()
-
-=item select_course()
-
-=item prettyprint()
-
-Pretty printing of metadata field
-
-=item direct()
-
-Pretty input of metadata field
-
-=item selectbox()
-
-=item relatedfield()
-
-=item prettyinput()
-
-=item report_bombs()
-
-=item present_uneditable_metadata()
-
-=item present_editable_metadata()
-
-=item store_metadata()
-
-=item store_transferred_addedfields()
-
-=item store_portfolio_metadata()
-
-=item update_metadata_table()
-
-=back
-
-=cut
-
-
package Apache::lonmeta;
use strict;
@@ -981,9 +888,9 @@ sub present_uneditable_metadata {
my $obsolete=$content{'obsolete'};
my $obsoletewarning='';
if (($obsolete) && ($env{'user.adv'})) {
- $obsoletewarning='
'.
+ $obsoletewarning=''.
&mt('This resource has been marked obsolete by the author(s)').
- '
';
+ '';
}
#
my %lt=&fieldnames();
@@ -1020,23 +927,22 @@ sub present_uneditable_metadata {
'obsoletereplacement');
}
foreach my $field (@fields) {
- $table.=''.$lt{$field}.
- ' | '.
- &prettyprint($field,$content{$field}).' |
';
+ $table.=&Apache::lonhtmlcommon::row_title($lt{$field})
+ .&prettyprint($field,$content{$field})
+ .&Apache::lonhtmlcommon::row_closure();
delete($content{$field});
}
#
- $r->print(<$title
-
-$disuri
-$obsoletewarning
-$versiondisplay
-
-
-ENDHEAD
+ $r->print("$title
"
+ .''
+ .$disuri.'
'
+ .$obsoletewarning
+ .$versiondisplay
+ .'
'
+ .&Apache::lonhtmlcommon::start_pick_box()
+ .$table
+ .&Apache::lonhtmlcommon::end_pick_box()
+ );
if (!$uploaded && $env{'user.adv'}) {
&print_dynamic_metadata($r,$uri,\%content);
}
@@ -1063,17 +969,18 @@ sub print_dynamic_metadata {
exists($dynmeta{'goto'}) ||
exists($dynmeta{'course'})) {
$r->print(''.&mt('Access and Usage Statistics').'
'.
- '');
+ &Apache::lonhtmlcommon::start_pick_box());
foreach ('count',
'sequsage','sequsage_list',
'comefrom','comefrom_list',
'goto','goto_list',
'course','course_list') {
- $r->print(''.$lt{$_}.' | '.
- ''.
- &prettyprint($_,$dynmeta{$_})." |
\n");
+ $r->print(&Apache::lonhtmlcommon::row_title($lt{$_})
+ .&prettyprint($_,$dynmeta{$_})
+ .&Apache::lonhtmlcommon::row_closure()
+ );
}
- $r->print('
');
+ $r->print(&Apache::lonhtmlcommon::end_pick_box());
} else {
$r->print(''.&mt('No Access or Usages Statistics are available for this resource.').'
');
}
@@ -1088,18 +995,18 @@ sub print_dynamic_metadata {
$r->print(''.
&mt('Overall Assessment Statistical Data').
'
'.
- '');
- $r->print(''.$lt{'stdno'}.' | '.
- ''.
- &prettyprint('stdno',$dynmeta{'stdno'}).
- ' | '."
\n");
+ &Apache::lonhtmlcommon::start_pick_box());
+ $r->print(&Apache::lonhtmlcommon::row_title($lt{'stdno'})
+ .&prettyprint('stdno',$dynmeta{'stdno'})
+ .&Apache::lonhtmlcommon::row_closure()
+ );
foreach ('avetries','difficulty','disc') {
- $r->print(''.$lt{$_}.' | '.
- ''.
- &prettyprint($_,sprintf('%5.2f',$dynmeta{$_})).
- ' | '."
\n");
+ $r->print(&Apache::lonhtmlcommon::row_title($lt{$_})
+ .&prettyprint($_,sprintf('%5.2f',$dynmeta{$_}))
+ .&Apache::lonhtmlcommon::row_closure()
+ );
}
- $r->print('
');
+ $r->print(&Apache::lonhtmlcommon::end_pick_box());
}
if (exists($dynmeta{'stats'})) {
#
@@ -1107,16 +1014,16 @@ sub print_dynamic_metadata {
$r->print(''.
&mt('Recent Detailed Assessment Statistical Data').
'
');
- my $table = ''.
- ''.
- ''.&mt('Course').' | '.
- ''.&mt('Section(s)').' | '.
- ''.&mt('Num Student').'s | '.
- ''.&mt('Mean Tries').' | '.
- ''.&mt('Degree of Difficulty').' | '.
- ''.&mt('Degree of Discrimination').' | '.
- ''.&mt('Time of computation').' | '.
- '
'.$/;
+ my $table=&Apache::loncommon::start_data_table()
+ .&Apache::loncommon::start_data_table_header_row()
+ .''.&mt('Course').' | '
+ .''.&mt('Section(s)').' | '
+ .''.&mt('Num Students').' | '
+ .''.&mt('Mean Tries').' | '
+ .''.&mt('Degree of Difficulty').' | '
+ .''.&mt('Degree of Discrimination').' | '
+ .''.&mt('Time of computation').' | '
+ .&Apache::loncommon::end_data_table_header_row().$/;
foreach my $identifier (sort(keys(%{$dynmeta{'stats'}}))) {
my $data = $dynmeta{'stats'}->{$identifier};
my $course = $data->{'course'};
@@ -1127,9 +1034,9 @@ sub print_dynamic_metadata {
&Apache::lonnet::logthis('lookup for '.$course.' failed');
next;
}
- $table .= '';
+ $table .= &Apache::loncommon::start_data_table_row();
$table .=
- ''.$courseinfo{'description'}.' | ';
+ ''.$courseinfo{'description'}.' | ';
$table .=
''.$data->{'sections'}.' | ';
$table .=
@@ -1144,13 +1051,12 @@ sub print_dynamic_metadata {
$table .= '';
}
$table .=
- ''.
+ ''.
&Apache::lonlocal::locallocaltime($data->{'timestamp'}).
- ' | ';
- $table .=
- ' |
'.$/;
+ '';
+ $table .= &Apache::loncommon::end_data_table_row().$/;
}
- $table .= '
'.$/;
+ $table .= &Apache::loncommon::end_data_table().$/;
$r->print($table);
} else {
$r->print(&mt('No new dynamic data found.'));
@@ -1169,13 +1075,14 @@ sub print_dynamic_metadata {
exists($dynmeta{'correct'}) ||
exists($dynmeta{'technical'})){
$r->print(''.&mt('Evaluation Data').'
'.
- '');
+ &Apache::lonhtmlcommon::start_pick_box());
foreach ('clear','depth','helpful','correct','technical') {
- $r->print(''.$lt{$_}.' | '.
- ''.
- &prettyprint($_,$dynmeta{$_})." |
\n");
+ $r->print(&Apache::lonhtmlcommon::row_title($lt{$_})
+ .&prettyprint($_,$dynmeta{$_})
+ .&Apache::lonhtmlcommon::row_closure()
+ );
}
- $r->print('
');
+ $r->print(&Apache::lonhtmlcommon::end_pick_box());
} else {
$r->print(''.&mt('No Evaluation Data is available for this resource.').'
');
}
@@ -1203,7 +1110,8 @@ sub print_dynamic_metadata {
# All other stuff
$r->print(''.
&mt('Additional Metadata (non-standard, parameters, exports)').
- '
');
+ '');
+ $r->print(&Apache::lonhtmlcommon::start_pick_box());
foreach (sort(keys(%content))) {
my $name=$_;
if ($name!~/\.display$/) {
@@ -1221,14 +1129,16 @@ sub print_dynamic_metadata {
$name.'.'.$_).'; ';
}
}
- $r->print(''.$display.' | '.$content{$name});
+ $r->print(&Apache::lonhtmlcommon::row_title($display)
+ .$content{$name}
+ );
if ($otherinfo) {
$r->print(' ('.$otherinfo.')');
}
- $r->print(" |
\n");
+ $r->print(&Apache::lonhtmlcommon::row_closure());
}
}
- $r->print("
");
+ $r->print(&Apache::lonhtmlcommon::end_pick_box());
return;
}
@@ -1467,7 +1377,7 @@ ENDEDIT
my ($outcome,$result) = &store_metadata($fn,$uri,'store');
$r->print($result);
}
- $r->print($output.'
');
if ($file_type eq 'portfolio' || $file_type eq 'groups') {
@@ -1633,3 +1543,95 @@ sub update_metadata_table {
1;
__END__
+
+=head1 NAME
+
+Apache::lonmeta - display meta data
+
+=head1 SYNOPSIS
+
+Handler to display meta data
+
+This is part of the LearningOnline Network with CAPA project
+described at http://www.lon-capa.org.
+
+=head1 SUBROUTINES
+
+=over
+
+=item &get_dynamic_metadata_from_sql($url) :
+
+Queries sql database for dynamic metdata
+Returns a hash of hashes, with keys of urls which match $url
+Returned fields are given below.
+
+Examples:
+
+ %DynamicMetadata = &Apache::lonmeta::get_dynmaic_metadata_from_sql
+ ('/res/msu/korte/');
+
+ $DynamicMetadata{'/res/msu/korte/example.problem'}->{$field}
+
+=item dynamicmeta()
+
+Fetch and evaluate dynamic metadata
+
+=item access_count()
+
+=item alttag()
+
+Try to make an alt tag if there is none
+
+=item authordisplay()
+
+Author display
+
+=item evalgraph()
+
+Pretty display
+
+=item diffgraph()
+
+=item fieldnames()
+
+=item portfolio_linked_path()
+
+=item get_port_path_and_group()
+
+=item portfolio_display_uri()
+
+=item pre_select_course()
+
+=item select_course()
+
+=item prettyprint()
+
+Pretty printing of metadata field
+
+=item direct()
+
+Pretty input of metadata field
+
+=item selectbox()
+
+=item relatedfield()
+
+=item prettyinput()
+
+=item report_bombs()
+
+=item present_uneditable_metadata()
+
+=item present_editable_metadata()
+
+=item store_metadata()
+
+=item store_transferred_addedfields()
+
+=item store_portfolio_metadata()
+
+=item update_metadata_table()
+
+=back
+
+=cut