--- loncom/publisher/lonpublisher.pm 2003/07/15 20:18:30 1.125
+++ 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.125 2003/07/15 20:18:30 www 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
@@ -698,8 +718,9 @@ sub fix_ids_and_indices {
}
if (!$endtag) { if ($token->[4]=~m:/>$:) { $endtag=' /'; }; }
$outstring.='<'.$tag.$newparmstring.$endtag.'>';
- if ($lctag eq 'm') {
- $outstring.=&get_all_text_unbalanced('/m',\@parser);
+ if ($lctag eq 'm' || $lctag eq 'script'
+ || $lctag eq 'display' || $lctag eq 'tex') {
+ $outstring.=&get_all_text_unbalanced('/'.$lctag,\@parser);
}
} elsif ($token->[0] eq 'E') {
if ($token->[2]) {
@@ -1471,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;
@@ -1506,6 +1529,7 @@ sub batchpublish {
&phasetwo($r,$srcfile,$targetfile,$thisembstyle,$thisdistarget,1);
$r->print('
');
}
+ %ENV=%oldENV;
return '';
}
@@ -1724,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.
@@ -1742,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.
@@ -1769,5 +1802,7 @@ __END__
=back
+=back
+
=cut