version 1.126.2.2, 2003/09/24 19:40:14
|
version 1.132, 2003/09/16 21:30:28
|
Line 82 invocation by F<loncapa_apache.conf>:
|
Line 82 invocation by F<loncapa_apache.conf>:
|
ErrorDocument 500 /adm/errorhandler |
ErrorDocument 500 /adm/errorhandler |
</Location> |
</Location> |
|
|
|
=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<foo.2.html>, while the most recent |
|
version does not carry a version number (C<foo.html>). Servers |
|
subscribing to a changed resource are notified that a new version is |
|
available. |
|
|
=head1 DESCRIPTION |
=head1 DESCRIPTION |
|
|
B<lonpublisher> takes the proper steps to add resources to the LON-CAPA |
B<lonpublisher> takes the proper steps to add resources to the LON-CAPA |
Line 647 sub fix_ids_and_indices {
|
Line 667 sub fix_ids_and_indices {
|
} |
} |
} |
} |
# probably a <randomlabel> image type <label> |
# probably a <randomlabel> image type <label> |
# or a <image> tag inside <imageresponse> |
if ($lctag eq 'label' && defined($parms{'description'})) { |
if (($lctag eq 'label' && defined($parms{'description'})) |
|
|| |
|
($lctag eq 'image')) { |
|
my $next_token=$parser[-1]->get_token(); |
my $next_token=$parser[-1]->get_token(); |
if ($next_token->[0] eq 'T') { |
if ($next_token->[0] eq 'T') { |
$next_token->[1]=&set_allow(\%allow,$logfile, |
$next_token->[1]=&set_allow(\%allow,$logfile, |
Line 1475 sub phasetwo {
|
Line 1492 sub phasetwo {
|
|
|
sub batchpublish { |
sub batchpublish { |
my ($r,$srcfile,$targetfile)=@_; |
my ($r,$srcfile,$targetfile)=@_; |
|
#publication pollutes %ENV with form.* values |
|
my %oldENV=%ENV; |
$srcfile=~s/\/+/\//g; |
$srcfile=~s/\/+/\//g; |
$targetfile=~s/\/+/\//g; |
$targetfile=~s/\/+/\//g; |
my $thisdisfn=$srcfile; |
my $thisdisfn=$srcfile; |
Line 1510 sub batchpublish {
|
Line 1529 sub batchpublish {
|
&phasetwo($r,$srcfile,$targetfile,$thisembstyle,$thisdistarget,1); |
&phasetwo($r,$srcfile,$targetfile,$thisembstyle,$thisdistarget,1); |
$r->print('</p>'); |
$r->print('</p>'); |
} |
} |
|
%ENV=%oldENV; |
return ''; |
return ''; |
} |
} |
|
|
Line 1728 unless ($ENV{'form.phase'} eq 'two') {
|
Line 1748 unless ($ENV{'form.phase'} eq 'two') {
|
if ($fn=~/\/$/) { |
if ($fn=~/\/$/) { |
# -------------------------------------------------------- This is a directory |
# -------------------------------------------------------- This is a directory |
&publishdirectory($r,$fn,$thisdisfn); |
&publishdirectory($r,$fn,$thisdisfn); |
|
$r->print('<hr><font size="+2">Done</font><br><a href="/priv/' |
|
.$cuname.'/'.$thisdisfn |
|
.'">Return to Directory</a>'); |
|
|
|
|
} else { |
} else { |
# ---------------------- Evaluate individual file, and then output information. |
# ---------------------- Evaluate individual file, and then output information. |
$thisfn=~/\.(\w+)$/; |
$thisfn=~/\.(\w+)$/; |
my $thistype=$1; |
my $thistype=$1; |
my $thisembstyle=&Apache::loncommon::fileembstyle($thistype); |
my $thisembstyle=&Apache::loncommon::fileembstyle($thistype); |
|
|
$r->print('<h2>Publishing '. |
$r->print('<h2>Publishing '. |
&Apache::loncommon::filedescription($thistype).' <tt>'. |
&Apache::loncommon::filedescription($thistype).' <tt>'); |
'<a href="/~'.$cuname.'/'.$thisdisfn.'" target="cat">'.$thisdisfn. |
|
'</a></tt></h2><b>Target:</b> <tt>'.$thisdistarget.'</tt><br />'); |
$r->print(<<ENDCAPTION); |
|
<a href='javascript:void(window.open("/~$cuname/$thisdisfn","cat","height=300,width=500,scrollbars=1,resizable=1,menubar=0,location=1"))'> |
|
$thisdisfn</a> |
|
ENDCAPTION |
|
$r->print( |
|
'</tt></h2><b>Target:</b> <tt>'.$thisdistarget.'</tt><br />'); |
|
|
if (($cuname ne $ENV{'user.name'}) || ($cudom ne $ENV{'user.domain'})) { |
if (($cuname ne $ENV{'user.name'}) || ($cudom ne $ENV{'user.domain'})) { |
$r->print('<h3><font color="red">Co-Author: '.$cuname.' at '.$cudom. |
$r->print('<h3><font color="red">Co-Author: '.$cuname.' at '.$cudom. |
Line 1746 unless ($ENV{'form.phase'} eq 'two') {
|
Line 1774 unless ($ENV{'form.phase'} eq 'two') {
|
} |
} |
|
|
if (&Apache::loncommon::fileembstyle($thistype) eq 'ssi') { |
if (&Apache::loncommon::fileembstyle($thistype) eq 'ssi') { |
$r->print('<br /><a href="/adm/diff?filename=/~'.$cuname.'/'. |
$r->print(<<ENDDIFF); |
$thisdisfn. |
<br /> |
'&versiontwo=priv" target="cat">Diffs with Current Version</a><br />'); |
<a href='javascript:void(window.open("/adm/diff?filename=/~$cuname/$thisdisfn&versiontwo=priv","cat","height=300,width=500,scrollbars=1,resizable=1,menubar=0,location=1"))'>Diffs with Current Version</a><br /> |
|
ENDDIFF |
} |
} |
|
|
# ------------------ Publishing from $thisfn to $thistarget with $thisembstyle. |
# ------------------ Publishing from $thisfn to $thistarget with $thisembstyle. |