[LON-CAPA-cvs] cvs: loncom /publisher lonpublisher.pm
matthew
lon-capa-cvs@mail.lon-capa.org
Fri, 09 Aug 2002 17:59:14 -0000
This is a MIME encoded message
--matthew1028915954
Content-Type: text/plain
matthew Fri Aug 9 13:59:14 2002 EDT
Modified files:
/loncom/publisher lonpublisher.pm
Log:
POD Documentation update.
--matthew1028915954
Content-Type: text/plain
Content-Disposition: attachment; filename="matthew-20020809135914.txt"
Index: loncom/publisher/lonpublisher.pm
diff -u loncom/publisher/lonpublisher.pm:1.89 loncom/publisher/lonpublisher.pm:1.90
--- loncom/publisher/lonpublisher.pm:1.89 Fri Aug 9 13:57:48 2002
+++ loncom/publisher/lonpublisher.pm Fri Aug 9 13:59:14 2002
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Publication Handler
#
-# $Id: lonpublisher.pm,v 1.89 2002/08/09 17:57:48 matthew Exp $
+# $Id: lonpublisher.pm,v 1.90 2002/08/09 17:59:14 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -61,6 +61,43 @@
## ##
###############################################################################
+
+######################################################################
+######################################################################
+
+=pod
+
+=head1 Name
+
+lonpublisher - LON-CAPA publishing handler
+
+=head1 Synopsis
+
+lonpublisher takes the proper steps to add resources to the LON-CAPA
+digital library. This includes updating the metadata table in the
+LON-CAPA database.
+
+=head1 Description
+
+lonpublisher is many things to many people.
+To all people it is woefully documented.
+This documentation conforms to this standard.
+
+This module publishes a file. This involves gathering metadata,
+versioning the file, copying file from construction space to
+publication space, and copying metadata from construction space
+to publication space.
+
+=head2 Internal Functions
+
+=over 4
+
+=cut
+
+######################################################################
+######################################################################
+
+
package Apache::lonpublisher;
# ------------------------------------------------- modules used by this module
@@ -88,7 +125,19 @@
my $cuname;
my $cudom;
-# ----------------------------------------------- Evaluate string with metadata
+#########################################
+#########################################
+
+=pod
+
+=item metaeval
+
+Evaluate string with metadata
+
+=cut
+
+#########################################
+#########################################
sub metaeval {
my $metastring=shift;
@@ -131,7 +180,19 @@
}
}
-# -------------------------------------------------------- Read a metadata file
+#########################################
+#########################################
+
+=pod
+
+=item metaread
+
+Read a metadata file
+
+=cut
+
+#########################################
+#########################################
sub metaread {
my ($logfile,$fn)=@_;
unless (-e $fn) {
@@ -148,7 +209,19 @@
return '<br><b>Processed file:</b> <tt>'.$fn.'</tt>';
}
-# ---------------------------- convert 'time' format into a datetime sql format
+#########################################
+#########################################
+
+=pod
+
+=item sqltime
+
+Convert 'time' format into a datetime sql format
+
+=cut
+
+#########################################
+#########################################
sub sqltime {
my $timef=shift @_;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
@@ -157,8 +230,28 @@
return "$year-$mon-$mday $hour:$min:$sec";
}
-# --------------------------------------------------------- Various form fields
+#########################################
+#########################################
+
+=pod
+
+=item Form field generating functions
+
+=over 4
+
+=item textfield
+
+=item hiddenfield
+
+=item selectbox
+
+=back
+
+=cut
+
+#########################################
+#########################################
sub textfield {
my ($title,$name,$value)=@_;
return "\n<p><b>$title:</b><br>".
@@ -185,8 +278,19 @@
return $selout.'</select>';
}
-# -------------------------------------------------------- Publication Step One
+#########################################
+#########################################
+
+=pod
+
+=item urlfixup
+
+Fix up a url? First step of publication
+=cut
+
+#########################################
+#########################################
sub urlfixup {
my ($url,$target)=@_;
unless ($url) { return ''; }
@@ -207,7 +311,19 @@
return $url;
}
+#########################################
+#########################################
+
+=pod
+
+=item absoluteurl
+
+Currently undocumented
+
+=cut
+#########################################
+#########################################
sub absoluteurl {
my ($url,$target)=@_;
unless ($url) { return ''; }
@@ -218,6 +334,19 @@
return $url;
}
+#########################################
+#########################################
+
+=pod
+
+=item set_allow
+
+Currently undocumented
+
+=cut
+
+#########################################
+#########################################
sub set_allow {
my ($allow,$logfile,$target,$tag,$oldurl)=@_;
my $newurl=&urlfixup($oldurl,$target);
@@ -236,6 +365,19 @@
return $return_url
}
+#########################################
+#########################################
+
+=pod
+
+=item get_subscribed_hosts
+
+Currently undocumented
+
+=cut
+
+#########################################
+#########################################
sub get_subscribed_hosts {
my ($target)=@_;
my @subscribed;
@@ -269,6 +411,19 @@
}
+#########################################
+#########################################
+
+=pod
+
+=item get_max_ids_indices
+
+Currently undocumented
+
+=cut
+
+#########################################
+#########################################
sub get_max_ids_indices {
my ($content)=@_;
my $maxindex=10;
@@ -300,6 +455,19 @@
return ($needsfixup,$maxid,$maxindex);
}
+#########################################
+#########################################
+
+=pod
+
+=item get_all_text_unbalanced
+
+Currently undocumented
+
+=cut
+
+#########################################
+#########################################
sub get_all_text_unbalanced {
#there is a copy of this in lonxml.pm
my($tag,$pars)= @_;
@@ -329,6 +497,19 @@
return $result
}
+#########################################
+#########################################
+
+=pod
+
+=item fix_ids_and_indices
+
+Currently undocumented
+
+=cut
+
+#########################################
+#########################################
#Arguably this should all be done as a lonnet::ssi instead
sub fix_ids_and_indices {
my ($logfile,$source,$target)=@_;
@@ -524,6 +705,19 @@
return (undef,$status);
}
+#########################################
+#########################################
+
+=pod
+
+=item publish
+
+Currently undocumented. This is the workhorse function of this module.
+
+=cut
+
+#########################################
+#########################################
sub publish {
my ($source,$target,$style)=@_;
@@ -843,8 +1037,20 @@
'<p><input type="submit" value="Finalize Publication" /></p></form>';
}
-# -------------------------------------------------------- Publication Step Two
+#########################################
+#########################################
+
+=pod
+
+=item phasetwo
+
+Render second interface showing status of publication steps.
+This is publication step two.
+
+=cut
+#########################################
+#########################################
sub phasetwo {
my ($source,$target,$style,$distarget)=@_;
@@ -1067,8 +1273,36 @@
}
-# ================================================================ Main Handler
+#########################################
+#########################################
+
+=pod
+
+=item handler
+
+A basic outline of the handler subroutine follows.
+
+=over 4
+
+=item Get query string for limited number of parameters
+
+=item Check filename
+
+=item File is there and owned, init lookup tables
+
+=item Start page output
+
+=item Individual file
+
+=item publish from $thisfn to $thistarget with $thisembstyle
+
+=back
+
+=cut
+
+#########################################
+#########################################
sub handler {
my $r=shift;
--matthew1028915954--