--- loncom/publisher/lonpublisher.pm 2003/08/21 17:12:32 1.126.2.1
+++ loncom/publisher/lonpublisher.pm 2003/09/16 21:30:28 1.132
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Publication Handler
#
-# $Id: lonpublisher.pm,v 1.126.2.1 2003/08/21 17:12:32 albertel Exp $
+# $Id: lonpublisher.pm,v 1.132 2003/09/16 21:30:28 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -82,6 +82,26 @@ invocation by F:
ErrorDocument 500 /adm/errorhandler
+=head1 OVERVIEW
+
+Authors can only write-access the C~authorname/> space. They can
+copy resources into the resource area through the publication step,
+and move them back through a recover step. Authors do not have direct
+write-access to their resource space.
+
+During the publication step, several events will be
+triggered. Metadata is gathered, where a wizard manages default
+entries on a hierarchical per-directory base: The wizard imports the
+metadata (including access privileges and royalty information) from
+the most recent published resource in the current directory, and if
+that is not available, from the next directory above, etc. The Network
+keeps all previous versions of a resource and makes them available by
+an explicit version number, which is inserted between the file name
+and extension, for example C, while the most recent
+version does not carry a version number (C). Servers
+subscribing to a changed resource are notified that a new version is
+available.
+
=head1 DESCRIPTION
B takes the proper steps to add resources to the LON-CAPA
@@ -1472,6 +1492,8 @@ sub phasetwo {
sub batchpublish {
my ($r,$srcfile,$targetfile)=@_;
+ #publication pollutes %ENV with form.* values
+ my %oldENV=%ENV;
$srcfile=~s/\/+/\//g;
$targetfile=~s/\/+/\//g;
my $thisdisfn=$srcfile;
@@ -1507,6 +1529,7 @@ sub batchpublish {
&phasetwo($r,$srcfile,$targetfile,$thisembstyle,$thisdistarget,1);
$r->print('
');
}
+ %ENV=%oldENV;
return '';
}
@@ -1725,17 +1748,25 @@ unless ($ENV{'form.phase'} eq 'two') {
if ($fn=~/\/$/) {
# -------------------------------------------------------- This is a directory
&publishdirectory($r,$fn,$thisdisfn);
+ $r->print('
Done
Return to Directory');
+
} else {
# ---------------------- Evaluate individual file, and then output information.
$thisfn=~/\.(\w+)$/;
my $thistype=$1;
my $thisembstyle=&Apache::loncommon::fileembstyle($thistype);
-
$r->print('Publishing '.
- &Apache::loncommon::filedescription($thistype).' '.
- ''.$thisdisfn.
- '
Target: '.$thisdistarget.'
');
+ &Apache::loncommon::filedescription($thistype).' ');
+
+ $r->print(<
+$thisdisfn
+ENDCAPTION
+ $r->print(
+ 'Target: '.$thisdistarget.'
');
if (($cuname ne $ENV{'user.name'}) || ($cudom ne $ENV{'user.domain'})) {
$r->print('Co-Author: '.$cuname.' at '.$cudom.
@@ -1743,9 +1774,10 @@ unless ($ENV{'form.phase'} eq 'two') {
}
if (&Apache::loncommon::fileembstyle($thistype) eq 'ssi') {
- $r->print('
Diffs with Current Version
');
+ $r->print(<
+Diffs with Current Version
+ENDDIFF
}
# ------------------ Publishing from $thisfn to $thistarget with $thisembstyle.