Index: openacs-4/packages/acs-core-docs/www/acs-admin.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-admin.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/acs-admin.adp	8 Nov 2017 09:42:09 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/acs-admin.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -1,17 +1,14 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Part II. Administrator&#39;s
-Guide}</property>
-<property name="doc(title)">Part II. Administrator&#39;s
-Guide</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Part II. Administrator&#39;s Guide}</property>
+<property name="doc(title)">Part II. Administrator&#39;s Guide</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="release-notes" leftLabel="Prev"
-		    title=""
-		    rightLink="install-overview" rightLabel="Next">
-		<div class="part">
+			leftLink="release-notes" leftLabel="Prev"
+			title=""
+			rightLink="install-overview" rightLabel="Next">
+		    <div class="part">
 <div class="titlepage"><div><div><h1 class="title">
-<a name="acs-admin" id="acs-admin"></a>Part II. Administrator&#39;s
-Guide</h1></div></div></div><div class="toc">
+<a name="acs-admin" id="acs-admin"></a>Part II. Administrator&#39;s Guide</h1></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="chapter"><a href="install-overview">2.
 Installation Overview</a></span></dt><dd><dl>
@@ -99,9 +96,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="release-notes" leftLabel="Prev" leftTitle="OpenACS Release Notes"
-		    rightLink="install-overview" rightLabel="Next" rightTitle="
-Chapter 2. Installation Overview"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="index" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="release-notes" leftLabel="Prev" leftTitle="OpenACS Release Notes"
+			rightLink="install-overview" rightLabel="Next" rightTitle="Chapter 2. Installation
+Overview"
+			homeLink="index" homeLabel="Home" 
+			upLink="index" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/acs-package-dev.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-package-dev.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/acs-package-dev.adp	7 Aug 2017 23:47:48 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/acs-package-dev.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -1,17 +1,15 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Part III. For OpenACS Package
-Developers}</property>
-<property name="doc(title)">Part III. For OpenACS Package
-Developers</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Part III. For OpenACS Package Developers}</property>
+<property name="doc(title)">Part III. For OpenACS Package Developers</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-resources" leftLabel="Prev"
-		    title=""
-		    rightLink="tutorial" rightLabel="Next">
-		<div class="part">
+			leftLink="install-resources" leftLabel="Prev"
+			title=""
+			rightLink="tutorial" rightLabel="Next">
+		    <div class="part">
 <div class="titlepage"><div><div><h1 class="title">
-<a name="acs-package-dev" id="acs-package-dev"></a>Part III. For OpenACS
-Package Developers</h1></div></div></div><div class="partintro">
+<a name="acs-package-dev" id="acs-package-dev"></a>Part III. For OpenACS Package
+Developers</h1></div></div></div><div class="partintro">
 <p>Tutorials and reference material for creating new OpenACS
 packages.</p><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
@@ -87,9 +85,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-resources" leftLabel="Prev" leftTitle="Resources"
-		    rightLink="tutorial" rightLabel="Next" rightTitle="
-Chapter 9. Development Tutorial"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="index" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="install-resources" leftLabel="Prev" leftTitle="Resources"
+			rightLink="tutorial" rightLabel="Next" rightTitle="Chapter 9. Development
+Tutorial"
+			homeLink="index" homeLabel="Home" 
+			upLink="index" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/acs-plat-dev.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-plat-dev.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/acs-plat-dev.adp	7 Aug 2017 23:47:49 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/acs-plat-dev.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -1,17 +1,15 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Part IV. For OpenACS Platform
-Developers}</property>
-<property name="doc(title)">Part IV. For OpenACS Platform
-Developers</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Part IV. For OpenACS Platform Developers}</property>
+<property name="doc(title)">Part IV. For OpenACS Platform Developers</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="cvs-tips" leftLabel="Prev"
-		    title=""
-		    rightLink="kernel-doc" rightLabel="Next">
-		<div class="part">
+			leftLink="cvs-tips" leftLabel="Prev"
+			title=""
+			rightLink="kernel-doc" rightLabel="Next">
+		    <div class="part">
 <div class="titlepage"><div><div><h1 class="title">
-<a name="acs-plat-dev" id="acs-plat-dev"></a>Part IV. For OpenACS
-Platform Developers</h1></div></div></div><div class="toc">
+<a name="acs-plat-dev" id="acs-plat-dev"></a>Part IV. For OpenACS Platform
+Developers</h1></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="chapter"><a href="kernel-doc">15. Kernel
 Documentation</a></span></dt><dd><dl>
@@ -44,11 +42,10 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="cvs-tips" leftLabel="Prev" leftTitle="
-Appendix D. Using CVS with an OpenACS
-Site"
-		    rightLink="kernel-doc" rightLabel="Next" rightTitle="
-Chapter 15. Kernel Documentation"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="index" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="cvs-tips" leftLabel="Prev" leftTitle="Appendix D. Using CVS with
+an OpenACS Site"
+			rightLink="kernel-doc" rightLabel="Next" rightTitle="Chapter 15. Kernel
+Documentation"
+			homeLink="index" homeLabel="Home" 
+			upLink="index" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/analog-install.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/analog-install.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/analog-install.adp	8 Nov 2017 09:42:09 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/analog-install.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,16 +3,14 @@
 <property name="doc(title)">Install Analog web file analyzer</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-qmail" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-nspam" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-qmail" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-nspam" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="analog-install" id="analog-install"></a>Install Analog web file analyzer</h2></div></div></div><p>Download the Analog <a class="link" href="individual-programs" title="Analog 5.32 or newer, OPTIONAL">source tarball</a> in <code class="computeroutput">/tmp</code>. Unpack, compile, and install
-analog.</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
+analog.</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
 [root src]# <strong class="userinput"><code>tar xzf /tmp/analog-5.32.tar.gz</code></strong>
 [root src]# <strong class="userinput"><code>cd analog-5.32</code></strong>
 [root analog-5.32]# <strong class="userinput"><code>make</code></strong>
@@ -31,14 +29,13 @@
 make
 cd ..
 mv analog-5.32 /usr/share/</span>
-</pre><p>See also <a class="xref" href="analog-setup" title="Set up Log Analysis Reports">the section called
-&ldquo;Set up Log Analysis
-Reports&rdquo;</a>
+</pre><p>See also <a class="xref" href="analog-setup" title="Set up Log Analysis Reports">the section called “Set up Log
+Analysis Reports”</a>
 </p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-qmail" leftLabel="Prev" leftTitle="Install qmail (OPTIONAL)"
-		    rightLink="install-nspam" rightLabel="Next" rightTitle="Install nspam"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="install-qmail" leftLabel="Prev" leftTitle="Install qmail (OPTIONAL)"
+			rightLink="install-nspam" rightLabel="Next" rightTitle="Install nspam"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/analog-setup.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/analog-setup.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/analog-setup.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/analog-setup.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,19 +3,18 @@
 <property name="doc(title)">Set up Log Analysis Reports</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-ssl" leftLabel="Prev"
-		    title="
-Chapter 6. Production Environments"
-		    rightLink="uptime" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-ssl" leftLabel="Prev"
+			title="Chapter 6. Production
+Environments"
+			rightLink="uptime" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="analog-setup" id="analog-setup"></a>Set up Log Analysis Reports</h2></div></div></div><p>Analog is a program with processes webserver access logs,
 performs DNS lookup, and outputs HTML reports. Analog should
 <a class="link" href="analog-install" title="Install Analog web file analyzer">already be installed.</a> A
 modified configuration file is included in the OpenACS tarball.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
-<pre class="screen">
-[root src]# <strong class="userinput"><code>su - $OPENACS_SERVICE_NAME</code></strong>
+<pre class="screen">[root src]# <strong class="userinput"><code>su - $OPENACS_SERVICE_NAME</code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cd /var/lib/aolserver/$OPENACS_SERVICE_NAME</code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>mkdir www/log</code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cp -r /usr/share/analog-5.32/images www/log/</code></strong>
@@ -41,32 +40,27 @@
   /home/$OPENACS_SERVICE_NAME/dnscache: ignoring it
   (For help on all errors and warnings, see docs/errors.html)
 /usr/share/analog-5.32/analog: Warning R: Turning off empty Search Word Report
-[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
-</pre><p>Verify that it works by browing to <code class="computeroutput">http://yourserver.test:8000/log/traffic.html</code>
+[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$</pre><p>Verify that it works by browing to <code class="computeroutput">http://yourserver.test:8000/log/traffic.html</code>
 </p>
 </li><li class="listitem">
 <p>Automate this by creating a file in <code class="computeroutput">/etc/cron.daily</code>.</p><pre class="screen">
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>exit</code></strong>
 logout
 
 [root root]# <strong class="userinput"><code>emacs /etc/cron.daily/analog</code></strong>
-</pre><p>Put this into the file:</p><pre class="programlisting">
-#!/bin/sh
+</pre><p>Put this into the file:</p><pre class="programlisting">#!/bin/sh
 
-/usr/share/analog-5.32/analog -G -g/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/analog.cfg
-</pre><pre class="screen">
-[root root]# <strong class="userinput"><code>chmod 755 /etc/cron.daily/analog</code></strong>
-</pre><p>Test it by running the script.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>sh /etc/cron.daily/analog</code></strong>
+/usr/share/analog-5.32/analog -G -g/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/analog.cfg</pre><pre class="screen">[root root]# <strong class="userinput"><code>chmod 755 /etc/cron.daily/analog</code></strong>
+</pre><p>Test it by running the script.</p><pre class="screen">[root root]# <strong class="userinput"><code>sh /etc/cron.daily/analog</code></strong>
 </pre><p>Browse to <code class="computeroutput">http://<em class="replaceable"><code>yourserver.test</code></em>/log/traffic.html</code>
 </p>
 </li>
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-ssl" leftLabel="Prev" leftTitle="Installing SSL Support for an OpenACS
+			leftLink="install-ssl" leftLabel="Prev" leftTitle="Installing SSL Support for an OpenACS
 service"
-		    rightLink="uptime" rightLabel="Next" rightTitle="External uptime validation"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="maintenance-web" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="uptime" rightLabel="Next" rightTitle="External uptime validation"
+			homeLink="index" homeLabel="Home" 
+			upLink="maintenance-web" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/aolserver.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/aolserver.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/aolserver.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,12 +3,11 @@
 <property name="doc(title)">Install AOLserver 3.3oacs1</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-ldap-radius" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="credits" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-ldap-radius" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="credits" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="aolserver" id="aolserver"></a>Install AOLserver 3.3oacs1</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:vinod\@kurup.com" target="_top">Vinod Kurup</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>We recommend the use of <a class="link" href="aolserver4" title="Install AOLserver 4">AOLserver 4.0.1</a> or later. These
@@ -19,10 +18,9 @@
 but if not, you should stick to installing from source.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
 <a name="aolserver-tarball" id="aolserver-tarball"></a><p>
-<strong>Unpack the Aolserver tarball. </strong>
-Download the <a class="link" href="individual-programs">aolserver tarball</a>
-and unpack it.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
+<strong>Unpack the Aolserver tarball. </strong> Download
+the <a class="link" href="individual-programs">aolserver tarball</a>
+and unpack it.</p><pre class="screen">[root root]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
 [root src]# <strong class="userinput"><code>wget --passive http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz</code></strong>
 --15:38:08--  http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz
            =&gt; `aolserver3.3oacs1.tar.gz'
@@ -40,16 +38,13 @@
 wget --passive http://uptime.openacs.org/aolserver-openacs/aolserver3.3oacs1.tar.gz
 tar xzf aolserver3.3oacs1.tar.gz</span>
 </pre><p>This section also relies on some OpenACS files, which you can
-get with <a class="xref" href="openacs-unpack" title="Unpack the OpenACS tarball">the section called
-&ldquo;Unpack the OpenACS
-tarball&rdquo;</a>.</p>
+get with <a class="xref" href="openacs-unpack" title="Unpack the OpenACS tarball">the section called “Unpack the OpenACS
+tarball”</a>.</p>
 </li><li class="listitem">
 <a name="install-aolserver-compile" id="install-aolserver-compile"></a><p>
-<strong>Compile AOLserver. </strong> Compile and
-install AOLserver. First, prepare the installation directory and
-the source code. The message about BUILD-MODULES can be
-ignored.</p><pre class="screen">
-root\@yourserver root]# <strong class="userinput"><code>mkdir -p /usr/local/aolserver</code></strong>
+<strong>Compile AOLserver. </strong> Compile and install
+AOLserver. First, prepare the installation directory and the source
+code. The message about BUILD-MODULES can be ignored.</p><pre class="screen">root\@yourserver root]# <strong class="userinput"><code>mkdir -p /usr/local/aolserver</code></strong>
 [root root]# <strong class="userinput"><code>cd /usr/local/src/aolserver</code></strong>
 [root aolserver]# <strong class="userinput"><code>./conf-clean</code></strong>
 cat: BUILD-MODULES: No such file or directory
@@ -63,10 +58,8 @@
 properly.</p><p>
 <code class="computeroutput">conf-inst</code> should contain the
 location where AOLserver is to be installed. Overwrite the
-tarball&#39;s default value with our default value, <code class="computeroutput">/usr/local/aolserver</code>:</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>echo "/usr/local/aolserver" &gt; conf-inst</code></strong>
-[root aolserver]#
-</pre><p>
+tarball&#39;s default value with our default value, <code class="computeroutput">/usr/local/aolserver</code>:</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>echo "/usr/local/aolserver" &gt; conf-inst</code></strong>
+[root aolserver]#</pre><p>
 <code class="computeroutput">conf-make</code> should contain the
 name of the GNU Make command on your system. It defaults to
 <code class="computeroutput">gmake</code>. Debian users:
@@ -77,8 +70,7 @@
 AOLserver 3.3+ad13 and postgresql from apt-get may need to make
 these symlinks: <code class="computeroutput">ln -s
 /usr/include/postgresql/ /usr/include/pgsql</code> and <code class="computeroutput">ln -s /usr/lib/postgresql
-/usr/local/pgsql</code>)</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>export POSTGRES=/usr/local/pgsql; ./conf</code></strong>
+/usr/local/pgsql</code>)</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>export POSTGRES=/usr/local/pgsql; ./conf</code></strong>
 Building in /usr/local/aolserver
 with the following modules:
 AOLserver
@@ -99,8 +91,7 @@
 Creating  ...
 ==================================================================
 Done Building Sat Mar  8 10:31:35 PST 2003
-[root aolserver]# 
-</pre><p>This takes about 5 minutes. It builds aolserver, several
+[root aolserver]# </pre><p>This takes about 5 minutes. It builds aolserver, several
 modules, and the database driver. (Upgraders, note that the
 postgres database driver has changed from postgres.so to
 nspostgres.so). All of the results are logged to files in
@@ -109,15 +100,14 @@
 build errors.</p>
 </li><li class="listitem">
 <a name="aolserver-db-wrapper" id="aolserver-db-wrapper"></a><p>
-<strong>Add a database-specific wrapper
-script. </strong> This script sets database environment
-variables before starting AOLserver; this allows the AOLserver
-instance can communicate with the database. There is one script
-each for Oracle and PostgreSQL. They don&#39;t conflict, so if you
-plan to use both databases, install both.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
+<strong>Add a database-specific wrapper script. </strong>
+This script sets database environment variables before starting
+AOLserver; this allows the AOLserver instance can communicate with
+the database. There is one script each for Oracle and PostgreSQL.
+They don&#39;t conflict, so if you plan to use both databases,
+install both.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
-<p>Oracle</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>cd /usr/local/aolserver/bin</code></strong>
+<p>Oracle</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>cd /usr/local/aolserver/bin</code></strong>
 [root bin]# <strong class="userinput"><code>cp /var/tmp/openacs-5.9.0/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle</code></strong>
 [root bin]# <strong class="userinput"><code>chmod 750 nsd-oracle</code></strong>
 [root bin]#
@@ -126,8 +116,7 @@
 chmod 750 nsd-oracle</span>
 </pre>
 </li><li class="listitem">
-<p>PostgreSQL</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>cd /usr/local/aolserver/bin</code></strong>
+<p>PostgreSQL</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>cd /usr/local/aolserver/bin</code></strong>
 [root bin]# <strong class="userinput"><code>cp /var/tmp/openacs-5.9.0/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres</code></strong>
 [root bin]# <strong class="userinput"><code>chmod 755 nsd-postgres</code></strong>
 [root bin]#
@@ -139,11 +128,9 @@
 </ul></div>
 </li><li class="listitem">
 <a name="install-tdom" id="install-tdom"></a><p>
-<strong>Install tDOM. </strong> Download the
-<a class="link" href="individual-programs">tDOM
+<strong>Install tDOM. </strong> Download the <a class="link" href="individual-programs">tDOM
 tarball</a>, unpack it, adjust the configuration file to match our
-patched distribution of aolserver, and compile it.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
+patched distribution of aolserver, and compile it.</p><pre class="screen">[root root]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
 [root src]# <strong class="userinput"><code>wget --passive http://www.tdom.org/tDOM-0.7.8.tar.gz</code></strong>
 --16:40:58--  http://www.tdom.org/tDOM-0.7.8.tar.gz
            =&gt; `tDOM-0.7.8.tar.gz'
@@ -168,15 +155,12 @@
 # aolsrc="/usr/src/aolserver-3.4"
 # ../configure --enable-threads --disable-tdomalloc \
 #   --with-aolserver=$aolsrc \
-#   --with-tcl=$aolsrc/tcl8.3.4/unix 
-</pre><p>to</p><pre class="programlisting">
+#   --with-tcl=$aolsrc/tcl8.3.4/unix </pre><p>to</p><pre class="programlisting">
 # ----------------------------------------------------
 aolsrc="/usr/local/src/aolserver/aolserver"
 ../configure --enable-threads --disable-tdomalloc \
   --with-aolserver=$aolsrc \
-  --with-tcl=$aolsrc/tcl8.3.2/unix
-</pre><p>And configure and compile:</p><pre class="screen">
-[root unix]# <strong class="userinput"><code>sh CONFIG</code></strong>
+  --with-tcl=$aolsrc/tcl8.3.2/unix</pre><p>And configure and compile:</p><pre class="screen">[root unix]# <strong class="userinput"><code>sh CONFIG</code></strong>
 creating cache ./config.cache
 checking for memmove... yes
   <span class="emphasis"><em>(many lines omitted)</em></span>
@@ -212,8 +196,7 @@
 sample-config.tcl configuration writes to the default log
 locations, so we need to give it permission to do so or it will
 fail. Grant the <code class="computeroutput">web</code> group
-permission to write to <code class="computeroutput">/usr/local/aolserver/log</code> and <code class="computeroutput">/usr/local/aolserver/servers</code>.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cd /usr/local/aolserver</code></strong>
+permission to write to <code class="computeroutput">/usr/local/aolserver/log</code> and <code class="computeroutput">/usr/local/aolserver/servers</code>.</p><pre class="screen">[root root]# <strong class="userinput"><code>cd /usr/local/aolserver</code></strong>
 [root aolserver]# <strong class="userinput"><code>chown -R root.web log servers</code></strong>
 [root aolserver]# <strong class="userinput"><code>chmod -R g+w log servers</code></strong>
 [root aolserver]# <strong class="userinput"><code>ls -l</code></strong>
@@ -239,15 +222,13 @@
 correctly. We&#39;ll use the sample config file provided with
 AOLserver. This file will attempt to guess your IP address and
 hostname. It will then start up the server at port 8000 of that IP
-address.</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>./bin/nsd -t sample-config.tcl -u nobody -g web</code></strong>
+address.</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>./bin/nsd -t sample-config.tcl -u nobody -g web</code></strong>
 [root aolserver]# [08/Mar/2003:15:07:18][31175.8192][-main-] Notice: config.tcl: starting to read config file...
 [08/Mar/2003:15:07:18][31175.8192][-main-] Warning: config.tcl: nsssl not loaded -- key/cert files do not exist.
 [08/Mar/2003:15:07:18][31175.8192][-main-] Warning: config.tcl: nscp not loaded
 -- user/password is not set.
 [08/Mar/2003:15:07:18][31175.8192][-main-] Notice: config.tcl: finished reading
-config file.
-</pre><p>The first warning, about nsssl, can be ignored. We won&#39;t be
+config file.</pre><p>The first warning, about nsssl, can be ignored. We won&#39;t be
 using nsssl; we&#39;ll be using nsopenssl instead, and we
 haven&#39;t fully configured it yet. The nscp warning refers to the
 fact that, without a user and password in the config file, the
@@ -257,57 +238,50 @@
 computer</em></span> and surfing over to your web page. If you
 browse from another computer and the sample config file didn&#39;t
 guess your hostname or ip correctly, you&#39;ll get a false
-negative test.</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>lynx localhost:8000</code></strong>
+negative test.</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>lynx localhost:8000</code></strong>
 </pre><p>You should see a "Welcome to AOLserver" page. If this
 doesn&#39;t work, try going to <code class="computeroutput">http://127.0.0.1:8000/</code>. If this still
 doesn&#39;t work, check out the <a class="xref" href="aolserver">Troubleshooting
 AOLserver</a> section below. Note that you will not be able to
 browse to the web page from another machine, because AOLserver is
-only listening to the local address.</p><p>Shutdown the test server:</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>killall nsd</code></strong>
-[root aolserver]#
-</pre><p>The <code class="computeroutput">killall</code> command will
+only listening to the local address.</p><p>Shutdown the test server:</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>killall nsd</code></strong>
+[root aolserver]#</pre><p>The <code class="computeroutput">killall</code> command will
 kill all processes with the name <code class="computeroutput">nsd</code>, but clearly this is not a good tool to
 use for managing your services in general. We cover this topic in
 the <a class="xref" href="install-openacs-keepalive" title="Starting and Stopping an OpenACS instance.">Keep AOLserver
 alive</a> section.</p>
 </li><li class="listitem">
 <a name="install-aolserver-troubleshooting" id="install-aolserver-troubleshooting"></a><p>
-<strong>Troubleshooting. </strong> If you can&#39;t
-view the welcome page, it&#39;s likely there&#39;s a problem with
-your server configuration. Start by viewing your AOLserver log,
-which is in <code class="computeroutput">/usr/local/aolserver/log/server.log</code>. You
+<strong>Troubleshooting. </strong> If you can&#39;t view
+the welcome page, it&#39;s likely there&#39;s a problem with your
+server configuration. Start by viewing your AOLserver log, which is
+in <code class="computeroutput">/usr/local/aolserver/log/server.log</code>. You
 should also try to find lines of the form:</p><pre class="screen">
 [01/Jun/2000:12:11:20][5914.4051][-nssock-] Notice: nssock: listening on http://localhost.localdomain:8000 (127.0.0.1:8000)
-[01/Jun/2000:12:11:20][5914.4051][-nssock-] Notice: accepting connections
-</pre><p>If you can find these lines, try entering the URL the server is
+[01/Jun/2000:12:11:20][5914.4051][-nssock-] Notice: accepting connections</pre><p>If you can find these lines, try entering the URL the server is
 listening on. If you cannot find these lines, there must be an
 error somewhere in the file. Search for lines beginning with the
 word <code class="computeroutput">Error</code> instead of
 <code class="computeroutput">Notice</code>.</p><p>The <code class="computeroutput">sample-config.tcl</code> file
 grabs your address and hostname from your OS settings.</p><pre class="screen">
 set hostname        [ns_info hostname]
-set address         [ns_info address]
-</pre><p>If you get an error that nssock can&#39;t get the requested
+set address         [ns_info address]</pre><p>If you get an error that nssock can&#39;t get the requested
 address, you can set these manually. If you type 0.0.0.0, AOLserver
 will try to listen on all available addresses. <span class="emphasis"><em>Note</em></span>: <code class="computeroutput">ns_info address</code> doesn&#39;t appear to be
 supported in current versions of AOLserver.</p><pre class="screen">
 set hostname        [ns_info hostname]
 #set address         [ns_info address]
-set address 0.0.0.0
-</pre>
+set address 0.0.0.0</pre>
 </li><li class="listitem"><p>
 <a class="link" href="analog-install" title="Install Analog web file analyzer">Install Analog</a> web file
 analyzer. (OPTIONAL)</p></li>
 </ol></div><p><span class="cvstag">($&zwnj;Id: aolserver.xml,v 1.23 2017/08/07
 23:47:54 gustafn Exp $)</span></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-ldap-radius" leftLabel="Prev" leftTitle="Install LDAP for use as external
+			leftLink="install-ldap-radius" leftLabel="Prev" leftTitle="Install LDAP for use as external
 authentication"
-		    rightLink="credits" rightLabel="Next" rightTitle="
-Appendix C. Credits"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="credits" rightLabel="Next" rightTitle="Appendix C. Credits"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/aolserver4.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver4.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/aolserver4.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/aolserver4.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Install AOLserver 4</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="postgres" leftLabel="Prev"
-		    title="
-Chapter 3. Complete Installation"
-		    rightLink="openacs" rightLabel="Next">
-		<div class="sect1">
+			leftLink="postgres" leftLabel="Prev"
+			title="Chapter 3. Complete
+Installation"
+			rightLink="openacs" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="aolserver4" id="aolserver4"></a>Install AOLserver 4</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:sussdorff\@sussdorff.de" target="_top">Malte
 Sussdorff</a>
@@ -16,8 +16,7 @@
 <p>
 <strong>Check suitability of previously installed
 TCL. </strong> Start Tcl (type <strong class="userinput"><code>tclsh</code></strong> or find it using
-<strong class="userinput"><code>which tclsh</code></strong>).</p><pre class="screen">
-[root root]% <strong class="userinput"><code>info exists tcl_platform(threaded)</code></strong>
+<strong class="userinput"><code>which tclsh</code></strong>).</p><pre class="screen">[root root]% <strong class="userinput"><code>info exists tcl_platform(threaded)</code></strong>
 1
 [root root]% <strong class="userinput"><code>info patchlevel</code></strong>
 8.4.7
@@ -30,8 +29,8 @@
 threaded and the version is 8.4 or higher, then installing Tcl from
 source is optional.</p><p>
 <a name="tcl-download" id="tcl-download"></a><strong>Retrieve
-Tcl 8.4 (or higher). </strong> Download and install Tcl
-8.4 from source</p><p>Note for Debian users: you can apt-get install tcl8.4-dev if you
+Tcl 8.4 (or higher). </strong> Download and install Tcl 8.4
+from source</p><p>Note for Debian users: you can apt-get install tcl8.4-dev if you
 have the right version (stable users will need to add tcl8.4 to
 their sources.list file as described on the <a class="link" href="postgres" title="Install PostgreSQL">Install Postgres</a>
 page). You&#39;ll have to use /usr/lib/tcl8.4/ instead of
@@ -44,8 +43,7 @@
 instructions. On Mac OS X type <strong class="userinput"><code>sudo
 su -</code></strong> to become root.</p><p>Alternatively use <strong class="userinput"><code>curl -L
 -O</code></strong> instead of <strong class="userinput"><code>wget</code></strong> (especially on Mac OS
-X).</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
+X).</p><pre class="screen">[root root]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
 [root src]# <strong class="userinput"><code>wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.9-src.tar.gz</code></strong>
 [root src]# <strong class="userinput"><code>tar xfz tcl8.4.9-src.tar.gz</code></strong>
 [root src]# <strong class="userinput"><code>cd tcl8.4.9/unix</code></strong>
@@ -62,8 +60,7 @@
 </li><li class="listitem">
 <a name="aolserver4-download" id="aolserver4-download"></a><p>
 <strong>Retrieve AOLserver. </strong> Download the
-AOLserver from CVS.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
+AOLserver from CVS.</p><pre class="screen">[root root]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
 [root src]# <strong class="userinput"><code>mkdir aolserver40r10</code></strong>
 [root src]# <strong class="userinput"><code>cd aolserver40r10</code></strong>
 [root aolserver]# <strong class="userinput"><code>cvs -z3 -d:pserver:anonymous\@cvs.sourceforge.net:/cvsroot/aolserver login</code></strong>
@@ -90,11 +87,10 @@
 </pre>
 </li><li class="listitem">
 <a name="aolserver4-install" id="aolserver4-install"></a><p>
-<strong>Configure, compile and install
-AOLserver. </strong> Many people need to run more than
-one version of AOLserver in parallel. This section accommodates
-future upgrades by installing AOLserver 4 in <code class="computeroutput">/usr/local/aolserver40r9</code>.</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>cd /usr/local/src/aolserver40r10/aolserver</code></strong>
+<strong>Configure, compile and install AOLserver. </strong>
+Many people need to run more than one version of AOLserver in
+parallel. This section accommodates future upgrades by installing
+AOLserver 4 in <code class="computeroutput">/usr/local/aolserver40r9</code>.</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>cd /usr/local/src/aolserver40r10/aolserver</code></strong>
 [root aolserver]# <strong class="userinput"><code>./configure --prefix=/usr/local/aolserver40r10 --with-tcl=/usr/local/lib/</code></strong>
 [root aolserver]# <strong class="userinput"><code>make install</code></strong><span class="action">cd /usr/local/src/aolserver40r10/aolserver
 ./configure --prefix=/usr/local/aolserver40r10 --with-tcl=/usr/local/lib/
@@ -106,95 +102,79 @@
 <code class="computeroutput">/usr/local/aolserver40r10</code>
 instead of <code class="computeroutput">/usr/local/aolserver</code>
 in the steps below and check both scripts and makefiles to ensure
-they use the correct path.</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>ln -s /usr/local/aolserver40r10 /usr/local/aolserver</code></strong>
+they use the correct path.</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>ln -s /usr/local/aolserver40r10 /usr/local/aolserver</code></strong>
 </pre>
 </li><li class="listitem">
 <a name="aolserver4-modules-install" id="aolserver4-modules-install"></a><p><strong>Configure, compile and install the
 modules. </strong></p><div class="orderedlist"><ol class="orderedlist" type="a">
 <li class="listitem">
-<p>Install nscache</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>cd /usr/local/src/aolserver40r10/nscache</code></strong>
+<p>Install nscache</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>cd /usr/local/src/aolserver40r10/nscache</code></strong>
 [root nscache]# <strong class="userinput"><code>make install AOLSERVER=/usr/local/aolserver</code></strong>
 </pre>
 </li><li class="listitem">
-<p>Install nsoracle (if you want to use Oracle)</p><pre class="screen">
-[root nscache]# <strong class="userinput"><code>cd ../nsoracle</code></strong>
+<p>Install nsoracle (if you want to use Oracle)</p><pre class="screen">[root nscache]# <strong class="userinput"><code>cd ../nsoracle</code></strong>
 [root nsoracle]# <strong class="userinput"><code>make install AOLSERVER=/usr/local/aolserver</code></strong>
 </pre><p>OpenACS looks for the Oracle driver at
 /usr/local/aolserver/bin/ora8.so, but some versions of nsoracle may
 create nsoracle.so instead. In that case, you can symlink
 (<strong class="userinput"><code>ln -s nsoracle.so
 ora8.so</code></strong>) to fix it.</p>
 </li><li class="listitem">
-<p>Install nspostgres (if you want to use Postgres)</p><pre class="screen">
-[root nscache]# <strong class="userinput"><code>cd ../nspostgres</code></strong>
+<p>Install nspostgres (if you want to use Postgres)</p><pre class="screen">[root nscache]# <strong class="userinput"><code>cd ../nspostgres</code></strong>
 [root nspostgres]# <strong class="userinput"><code>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib:/usr/local/aolserver/lib</code></strong>
 [root nspostgres]# <strong class="userinput"><code>make install POSTGRES=LSB ACS=1 INST=/usr/local/aolserver  AOLSERVER=/usr/local/aolserver</code></strong>
 </pre><p>If you get errors like:</p><pre class="programlisting">
 nspostgres.c: In function `Ns_PgTableList':
-nspostgres.c:679: warning: passing arg 3 of `Tcl_DStringAppend' as signed due to prototype
-</pre><p>then PostGreSQL is probably not in the standard location. The
+nspostgres.c:679: warning: passing arg 3 of `Tcl_DStringAppend' as signed due to prototype</pre><p>then PostGreSQL is probably not in the standard location. The
 location of PostGreSQL is very dependent on which method was used
 to install it. To correct the problem, replace <code class="computeroutput">LSB</code> with the path to the path to your
 PostGreSQL installation. Often this is <code class="computeroutput">/usr/local/pgsql</code>.</p><p>You can use the <code class="computeroutput">ldd</code> command
 to verify that all libraries are linked in: <strong class="userinput"><code>ldd
 /usr/local/src/aolserver40r10/nspostgres/nspostgres.so</code></strong>
 </p><p>If you run into problems with libpq.a do the following (and
-repeat the step above)</p><pre class="screen">
-[root nspostgres]# <strong class="userinput"><code>ranlib /usr/local/pgsql/lib/libpq.a</code></strong>
+repeat the step above)</p><pre class="screen">[root nspostgres]# <strong class="userinput"><code>ranlib /usr/local/pgsql/lib/libpq.a</code></strong>
 </pre><p>If you run into problems with the linker, edit the Makefile. Add
-<code class="computeroutput">-lnsdb</code> to the <code class="computeroutput">MODLIBS</code> var.</p><pre class="programlisting">
-MODLIBS = -L$(PGLIB) -lpq <span class="bold"><strong>-lnsdb</strong></span>
+<code class="computeroutput">-lnsdb</code> to the <code class="computeroutput">MODLIBS</code> var.</p><pre class="programlisting">MODLIBS = -L$(PGLIB) -lpq <span class="bold"><strong>-lnsdb</strong></span>
 </pre>
 </li><li class="listitem">
-<p>Install nssha1</p><pre class="screen">
-[root nspostgres]# <strong class="userinput"><code>cd ../nssha1</code></strong>
-</pre><p>Now install nssha1:</p><pre class="screen">
-[root nssha1]# <strong class="userinput"><code>make install AOLSERVER=/usr/local/aolserver</code></strong>
+<p>Install nssha1</p><pre class="screen">[root nspostgres]# <strong class="userinput"><code>cd ../nssha1</code></strong>
+</pre><p>Now install nssha1:</p><pre class="screen">[root nssha1]# <strong class="userinput"><code>make install AOLSERVER=/usr/local/aolserver</code></strong>
 </pre><p>If the make fails you will have to edit nssha1.c. Comment out
 the following 2 lines (lines 139-140):</p><pre class="programlisting">
 <span class="bold"><strong>//</strong></span> typedef unsigned int u_int32_t;
-<span class="bold"><strong>//</strong></span> typedef unsigned char u_int8_t;
-</pre>
+<span class="bold"><strong>//</strong></span> typedef unsigned char u_int8_t;</pre>
 </li><li class="listitem">
-<p>Install tDOM</p><pre class="screen">
-[root nssha1]# <strong class="userinput"><code>cd ../tDOM-0.8.0/unix</code></strong>
+<p>Install tDOM</p><pre class="screen">[root nssha1]# <strong class="userinput"><code>cd ../tDOM-0.8.0/unix</code></strong>
 </pre><p>Edit the <code class="computeroutput">CONFIG</code> file.
 Uncomment the instructions meant for AOLserver 4, but edit it to
 look like this:</p><pre class="screen">
 ../configure --enable-threads --disable-tdomalloc
-          --prefix=/usr/local/aolserver --with-tcl=/usr/local/lib
-</pre><p>Note that the location of the Tcl library may vary on different
-platforms (e.g. for Debian 3.0: --with-tcl=/usr/lib/tcl8.4)</p><p>Now you can compile and configure tDOM</p><pre class="screen">
-[root unix]# <strong class="userinput"><code>sh CONFIG</code></strong>
+          --prefix=/usr/local/aolserver --with-tcl=/usr/local/lib</pre><p>Note that the location of the Tcl library may vary on different
+platforms (e.g. for Debian 3.0: --with-tcl=/usr/lib/tcl8.4)</p><p>Now you can compile and configure tDOM</p><pre class="screen">[root unix]# <strong class="userinput"><code>sh CONFIG</code></strong>
 [root unix]# <strong class="userinput"><code>make install</code></strong>
 </pre>
 </li><li class="listitem">
-<p>Install TCLLIB</p><pre class="screen">
-[root nssha1]# <strong class="userinput"><code>cd ../tcllib</code></strong>
-</pre><p>Configure and compile TCLLIB</p><pre class="screen">
-[root unix]# <strong class="userinput"><code>./configure -prefix=/usr/local/aolserver40r10</code></strong>
+<p>Install TCLLIB</p><pre class="screen">[root nssha1]# <strong class="userinput"><code>cd ../tcllib</code></strong>
+</pre><p>Configure and compile TCLLIB</p><pre class="screen">[root unix]# <strong class="userinput"><code>./configure -prefix=/usr/local/aolserver40r10</code></strong>
 [root unix]# <strong class="userinput"><code>make install</code></strong>
 </pre>
 </li>
 </ol></div>
 </li><li class="listitem">
 <a name="aolserver4-db-wrapper" id="aolserver4-db-wrapper"></a><p>
-<strong>Add a database-specific wrapper
-script. </strong> This script sets database environment
-variables before starting AOLserver; this allows the AOLserver
-instance to communicate with the database. There is one script for
-Oracle and one for PostgreSQL. They do not conflict. If you plan to
-use both databases, install both. Note that this section requires
-you to have OpenACS files available, which you can get through CVS,
+<strong>Add a database-specific wrapper script. </strong>
+This script sets database environment variables before starting
+AOLserver; this allows the AOLserver instance to communicate with
+the database. There is one script for Oracle and one for
+PostgreSQL. They do not conflict. If you plan to use both
+databases, install both. Note that this section requires you to
+have OpenACS files available, which you can get through CVS,
 through a tarball, or by other means. You can come back to this
 section after you acquire the OpenACS code, but don&#39;t forget to
 come back. (Note to maintainers: this should be moved to the next
 page and integrated into the text there)</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
-<p>Oracle</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>cd /usr/local/aolserver/bin</code></strong>
+<p>Oracle</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>cd /usr/local/aolserver/bin</code></strong>
 [root bin]# <strong class="userinput"><code>cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle</code></strong>
 [root bin]# <strong class="userinput"><code>chmod 750 nsd-oracle</code></strong>
 [root bin]#
@@ -203,8 +183,7 @@
 chmod 750 nsd-oracle</span>
 </pre>
 </li><li class="listitem">
-<p>PostgreSQL</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>cd /usr/local/aolserver/bin</code></strong>
+<p>PostgreSQL</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>cd /usr/local/aolserver/bin</code></strong>
 [root bin]# <strong class="userinput"><code>cp /var/tmp/openacs-5.9.0/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres</code></strong>
 [root bin]# <strong class="userinput"><code>chmod 755 nsd-postgres</code></strong>
 [root bin]#
@@ -216,8 +195,8 @@
 </ul></div><p>You may need to edit these scripts if you are not using
 /usr/local/aolserver as the directory of Aolserver4.</p>
 </li><li class="listitem"><p>
-<strong>Change startup script (optional). </strong>
-If you want to run AOLserver on a port below 1024 (normally, for a
+<strong>Change startup script (optional). </strong> If you
+want to run AOLserver on a port below 1024 (normally, for a
 webserver you will use 80), you will have to change the
 <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>service0</code></em>/etc/daemontools/run</code>
 script according to the documentation found there (namely: Add the
@@ -229,8 +208,8 @@
 23:47:54 gustafn Exp $)</span></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="postgres" leftLabel="Prev" leftTitle="Install PostgreSQL"
-		    rightLink="openacs" rightLabel="Next" rightTitle="Install OpenACS 5.9.0"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="complete-install" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="postgres" leftLabel="Prev" leftTitle="Install PostgreSQL"
+			rightLink="openacs" rightLabel="Next" rightTitle="Install OpenACS 5.9.0"
+			homeLink="index" homeLabel="Home" 
+			upLink="complete-install" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/apm-design.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-design.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/apm-design.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/apm-design.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Package Manager Design</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="apm-requirements" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="db-api-detailed" rightLabel="Next">
-		<div class="sect1">
+			leftLink="apm-requirements" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="db-api-detailed" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="apm-design" id="apm-design"></a>Package Manager Design</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Bryan Quinn</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -46,8 +46,8 @@
 <span class="strong"><strong>OpenACS Services:</strong></span>
 the aforementioned building blocks. Examples of services include
 the <a class="ulink" href="/doc/acs-content-repository" target="_top">OpenACS Content Repository</a>, the <a class="ulink" href="/doc/acs-templating" target="_top">OpenACS Templating System</a>,
-and the <a class="link" href="kernel-doc" title="Chapter 15. Kernel Documentation">OpenACS
-Kernel</a>, which includes APM.</p></li>
+and the <a class="link" href="kernel-doc" title="Chapter 15. Kernel Documentation">OpenACS Kernel</a>,
+which includes APM.</p></li>
 </ul></div><p>An installation of the OpenACS includes the OpenACS Kernel, some
 services that extend the kernel&#39;s functionality, and some
 applications intended for end-users. Packages function as
@@ -690,8 +690,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="apm-requirements" leftLabel="Prev" leftTitle="Package Manager Requirements"
-		    rightLink="db-api-detailed" rightLabel="Next" rightTitle="Database Access API"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="apm-requirements" leftLabel="Prev" leftTitle="Package Manager Requirements"
+			rightLink="db-api-detailed" rightLabel="Next" rightTitle="Database Access API"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/apm-requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-requirements.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/apm-requirements.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/apm-requirements.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Package Manager Requirements</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="subsites-design" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="apm-design" rightLabel="Next">
-		<div class="sect1">
+			leftLink="subsites-design" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="apm-design" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="apm-requirements" id="apm-requirements"></a>Package Manager Requirements</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Bryan Quinn and Todd
 Nightingale</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
@@ -696,8 +696,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="subsites-design" leftLabel="Prev" leftTitle="Subsites Design Document"
-		    rightLink="apm-design" rightLabel="Next" rightTitle="Package Manager Design"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="subsites-design" leftLabel="Prev" leftTitle="Subsites Design Document"
+			rightLink="apm-design" rightLabel="Next" rightTitle="Package Manager Design"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/automated-backup.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-backup.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/automated-backup.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/automated-backup.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Automated Backup</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="snapshot-backup" leftLabel="Prev"
-		    title="
-Chapter 8. Backup and Recovery"
-		    rightLink="backups-with-cvs" rightLabel="Next">
-		<div class="sect1">
+			leftLink="snapshot-backup" leftLabel="Prev"
+			title="Chapter 8. Backup and
+Recovery"
+			rightLink="backups-with-cvs" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="automated-backup" id="automated-backup"></a>Automated Backup</h2></div></div></div><p>The recommended backup strategy for a production sit is to use
 an automated script which first backs up the database to a file in
@@ -19,21 +19,18 @@
 <li class="listitem"><p>Make sure that the manual backup process described above
 works.</p></li><li class="listitem"><p>Customize the default backup script. Edit <code class="filename">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/backup.sh</code>
 with your specific parameters.</p></li><li class="listitem">
-<p>Make sure the file is executable:</p><pre class="programlisting">
-chmod +x backup.sh
-</pre>
+<p>Make sure the file is executable:</p><pre class="programlisting">chmod +x backup.sh</pre>
 </li><li class="listitem">
 <p>Set this file to run automatically by adding a line to
 root&#39;s crontab. (Typically, with <code class="computeroutput">export EDITOR=emacs; crontab -e</code>.) This
 example runs the backup script at 1:30 am every day.</p><pre class="programlisting">
-30 1 * * *        sh /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/backup.sh
-</pre>
+30 1 * * *        sh /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/backup.sh</pre>
 </li>
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="snapshot-backup" leftLabel="Prev" leftTitle="Manual backup and recovery"
-		    rightLink="backups-with-cvs" rightLabel="Next" rightTitle="Using CVS for backup-recovery"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="backup-recovery" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="snapshot-backup" leftLabel="Prev" leftTitle="Manual backup and recovery"
+			rightLink="backups-with-cvs" rightLabel="Next" rightTitle="Using CVS for backup-recovery"
+			homeLink="index" homeLabel="Home" 
+			upLink="backup-recovery" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,58 +3,56 @@
 <property name="doc(title)">Automated Testing</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="variables" leftLabel="Prev"
-		    title="
-Chapter 12. Engineering Standards"
-		    rightLink="doc-standards" rightLabel="Next">
-		<div class="sect1">
+			leftLink="variables" leftLabel="Prev"
+			title="Chapter 12. Engineering
+Standards"
+			rightLink="doc-standards" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="automated-testing-best-practices" id="automated-testing-best-practices"></a>Automated Testing</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:davis\@xarg.net" target="_top">Jeff Davis</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>Best practices in writing OpenACS automated tests</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>
-<strong>Special characters in Tcl. </strong> Try
-strings starting with a <code class="computeroutput">-Bad</code>
-and strings containing <code class="computeroutput">[BAD]</code>,
+<strong>Special characters in Tcl. </strong> Try strings
+starting with a <code class="computeroutput">-Bad</code> and
+strings containing <code class="computeroutput">[BAD]</code>,
 <code class="computeroutput">{</code>, <code class="computeroutput">\077</code>, and <code class="computeroutput">$Bad</code>. For user input, <code class="computeroutput">[BAD]</code> should never be evaluated,
 <code class="computeroutput">\077</code> should not be turned into
 a <code class="computeroutput">?</code> and <code class="computeroutput">$Bad</code> should not be interpolated. The string
 <code class="computeroutput">-Bad [BAD] \077 { $Bad</code> should
 be valid user input, should pass through the system unaltered, and
 if it isn&#39;t that&#39;s a bug.</p></li><li class="listitem"><p>
-<strong>Quoting issues. </strong> Put some html in
-plain text fields and make sure the result is properly quoted
-anywhere it shows up (I use "&lt;b&gt;bold&lt;/b&gt;"
-usually). Look out especially for quoting errors in the context bar
-and in round trips via an edit form. For fields that disallow html
-tags you can use <code class="computeroutput">&amp;amp;</code> to
-check that the field is quoted properly. If it is not displayed as
-<code class="computeroutput">&amp;amp;</code> then the quoting for
-the field is incorrect. (It&#39;s not clear whether this should be
-considered an error but given that data for text fields can come
-from various sources if it&#39;s text it should be properly quoted
-and we should not rely on input validation to prevent XSS security
-holes.)</p></li><li class="listitem"><p>
-<strong>Whitespace input. </strong> Check that
-whitespace is not considered valid input for a field if it does not
-make sense. For example, the subject of a forum post is used to
+<strong>Quoting issues. </strong> Put some html in plain
+text fields and make sure the result is properly quoted anywhere it
+shows up (I use "&lt;b&gt;bold&lt;/b&gt;" usually). Look
+out especially for quoting errors in the context bar and in round
+trips via an edit form. For fields that disallow html tags you can
+use <code class="computeroutput">&amp;amp;</code> to check that the
+field is quoted properly. If it is not displayed as <code class="computeroutput">&amp;amp;</code> then the quoting for the field is
+incorrect. (It&#39;s not clear whether this should be considered an
+error but given that data for text fields can come from various
+sources if it&#39;s text it should be properly quoted and we should
+not rely on input validation to prevent XSS security holes.)</p></li><li class="listitem"><p>
+<strong>Whitespace input. </strong> Check that whitespace
+is not considered valid input for a field if it does not make
+sense. For example, the subject of a forum post is used to
 construct a link and if it is " " it will have a link of
 <code class="computeroutput">&lt;a href="..."&gt;
 &lt;/a&gt;</code> which would not be clickable if whitespace was
 allowed as a valid input.</p></li><li class="listitem"><p>
-<strong>Doubleclick. </strong> Make sure that if you
-submit a form, use the back button, and submit again that the
-behavior is reasonable (correct behavior depends on what the form
-is for, but a server error is not reasonable).</p></li><li class="listitem"><p>
-<strong>Duplicate names. </strong> Make sure that if
-a duplicate name is entered that there is a reasonable error rather
+<strong>Doubleclick. </strong> Make sure that if you submit
+a form, use the back button, and submit again that the behavior is
+reasonable (correct behavior depends on what the form is for, but a
+server error is not reasonable).</p></li><li class="listitem"><p>
+<strong>Duplicate names. </strong> Make sure that if a
+duplicate name is entered that there is a reasonable error rather
 than a server error. Check for insert, move, copy, and rename.</p></li>
 </ul></div><p><span class="cvstag">($&zwnj;Id: auto-testing.xml,v 1.4 2017/08/07
 23:47:54 gustafn Exp $)</span></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="variables" leftLabel="Prev" leftTitle="Variables"
-		    rightLink="doc-standards" rightLabel="Next" rightTitle="
-Chapter 13. Documentation Standards"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="eng-standards" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="variables" leftLabel="Prev" leftTitle="Variables"
+			rightLink="doc-standards" rightLabel="Next" rightTitle="Chapter 13. Documentation
+Standards"
+			homeLink="index" homeLabel="Home" 
+			upLink="eng-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/backup-recovery.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/backup-recovery.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/backup-recovery.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -1,18 +1,15 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 8. Backup and
-Recovery}</property>
-<property name="doc(title)">Chapter 8. Backup and
-Recovery</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 8. Backup and Recovery}</property>
+<property name="doc(title)">Chapter 8. Backup and Recovery</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-next-nightly-vacuum" leftLabel="Prev"
-		    title="
+			leftLink="install-next-nightly-vacuum" leftLabel="Prev"
+			title="
 Part II. Administrator&#39;s Guide"
-		    rightLink="install-next-backups" rightLabel="Next">
-		<div class="chapter">
+			rightLink="install-next-backups" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="backup-recovery" id="backup-recovery"></a>Chapter 8. Backup and
-Recovery</h2></div></div></div><div class="toc">
+<a name="backup-recovery" id="backup-recovery"></a>Chapter 8. Backup and Recovery</h2></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="sect1"><a href="install-next-backups">Backup
 Strategy</a></span></dt><dt><span class="sect1"><a href="snapshot-backup">Manual
@@ -30,13 +27,13 @@
 to set up, are far from the best solution).</p><p>There are three basic things which need to be backed up, the
 database data, the server source tree, and the
 acs-content-repository (which is in the server source tree).</p><div class="figure">
-<a name="idp140623175809992" id="idp140623175809992"></a><p class="title"><strong>Figure 8.1. Backup
-and Recovery Strategy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/backup.png" align="middle" alt="Backup and Recovery Strategy"></div></div>
+<a name="idp140682185930392" id="idp140682185930392"></a><p class="title"><strong>Figure 8.1. Backup and Recovery
+Strategy</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/backup.png" align="middle" alt="Backup and Recovery Strategy"></div></div>
 </div><p><br class="figure-break"></p>
 &lt;/authorblurb&gt;</div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-next-nightly-vacuum" leftLabel="Prev" leftTitle="Vacuum Postgres nightly"
-		    rightLink="install-next-backups" rightLabel="Next" rightTitle="Backup Strategy"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-admin" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="install-next-nightly-vacuum" leftLabel="Prev" leftTitle="Vacuum Postgres nightly"
+			rightLink="install-next-backups" rightLabel="Next" rightTitle="Backup Strategy"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-admin" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/backup-recovery.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.html,v
diff -u -r1.45 -r1.46
--- openacs-4/packages/acs-core-docs/www/backup-recovery.html	8 Nov 2017 09:42:10 -0000	1.45
+++ openacs-4/packages/acs-core-docs/www/backup-recovery.html	25 Apr 2018 08:38:27 -0000	1.46
@@ -15,7 +15,7 @@
   <p>There are three basic things which need to be backed up, the database data, the server 
     source tree, and the acs-content-repository (which is in the server source tree).</p>
   <p>
-    </p><div class="figure"><a name="idp140623175809992"></a><p class="title"><b>Figure 8.1. Backup and Recovery Strategy</b></p><div class="figure-contents">
+    </p><div class="figure"><a name="idp140682185930392"></a><p class="title"><b>Figure 8.1. Backup and Recovery Strategy</b></p><div class="figure-contents">
       
       <div class="mediaobject" align="center"><img src="images/backup.png" align="middle" alt="Backup and Recovery Strategy"></div>
     </div></div><p><br class="figure-break">
Index: openacs-4/packages/acs-core-docs/www/backups-with-cvs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backups-with-cvs.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/backups-with-cvs.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/backups-with-cvs.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Using CVS for backup-recovery</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="automated-backup" leftLabel="Prev"
-		    title="
-Chapter 8. Backup and Recovery"
-		    rightLink="install-redhat" rightLabel="Next">
-		<div class="sect1">
+			leftLink="automated-backup" leftLabel="Prev"
+			title="Chapter 8. Backup and
+Recovery"
+			rightLink="install-redhat" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="backups-with-cvs" id="backups-with-cvs"></a>Using CVS for backup-recovery</h2></div></div></div><p>CVS-only backup is often appropriate for development sites. If
 you are already using CVS and your data is not important, you
@@ -17,8 +17,7 @@
 down to the minute. For maximum safety, you can apply a tag to your
 current files. You will still need to back up your database.</p><p>Note that, if you did the CVS options in this document, the
 <code class="filename">/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc</code>
-directory is not included in cvs and you may want to add it.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - $OPENACS_SERVICE_NAME</code></strong>
+directory is not included in cvs and you may want to add it.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - $OPENACS_SERVICE_NAME</code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cvs commit -m "last-minute commits before upgrade to 4.6"</code></strong>
@@ -37,8 +36,7 @@
 cvs commit -m "last-minute commits before upgrade to 4.6"
 cvs tag before_upgrade_to_4_6
 exit</span>
-</pre><p>To restore files from a cvs tag such as the one used above:</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - $OPENACS_SERVICE_NAME</code></strong>
+</pre><p>To restore files from a cvs tag such as the one used above:</p><pre class="screen">[root root]# <strong class="userinput"><code>su - $OPENACS_SERVICE_NAME</code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cvs up -r current</code></strong>
@@ -48,9 +46,9 @@
 </pre>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="automated-backup" leftLabel="Prev" leftTitle="Automated Backup"
-		    rightLink="install-redhat" rightLabel="Next" rightTitle="
-Appendix A. Install Red Hat 8/9"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="backup-recovery" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="automated-backup" leftLabel="Prev" leftTitle="Automated Backup"
+			rightLink="install-redhat" rightLabel="Next" rightTitle="Appendix A. Install Red Hat
+8/9"
+			homeLink="index" homeLabel="Home" 
+			upLink="backup-recovery" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/bootstrap-acs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/bootstrap-acs.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Bootstrapping OpenACS</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tcl-doc" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="ext-auth-requirements" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tcl-doc" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="ext-auth-requirements" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="bootstrap-acs" id="bootstrap-acs"></a>Bootstrapping OpenACS</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:jsalz\@mit.edu" target="_top">Jon Salz</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;"><li class="listitem"><p>Tcl code: /tcl/0-acs-init.tcl and
@@ -105,10 +105,10 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tcl-doc" leftLabel="Prev" leftTitle="Documenting Tcl Files: Page Contracts
+			leftLink="tcl-doc" leftLabel="Prev" leftTitle="Documenting Tcl Files: Page Contracts
 and Libraries"
-		    rightLink="ext-auth-requirements" rightLabel="Next" rightTitle="External Authentication
+			rightLink="ext-auth-requirements" rightLabel="Next" rightTitle="External Authentication
 Requirements"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/complete-install.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/complete-install.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/complete-install.adp	7 Aug 2017 23:47:49 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/complete-install.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -1,15 +1,13 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 3. Complete
-Installation}</property>
-<property name="doc(title)">Chapter 3. Complete
-Installation</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 3. Complete Installation}</property>
+<property name="doc(title)">Chapter 3. Complete Installation</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="individual-programs" leftLabel="Prev"
-		    title="
+			leftLink="individual-programs" leftLabel="Prev"
+			title="
 Part II. Administrator&#39;s Guide"
-		    rightLink="unix-installation" rightLabel="Next">
-		<div class="chapter">
+			rightLink="unix-installation" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="complete-install" id="complete-install"></a>Chapter 3. Complete
 Installation</h2></div></div></div><div class="toc">
@@ -26,9 +24,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="individual-programs" leftLabel="Prev" leftTitle="Prerequisite Software"
-		    rightLink="unix-installation" rightLabel="Next" rightTitle="Install a Unix-like system and
+			leftLink="individual-programs" leftLabel="Prev" leftTitle="Prerequisite Software"
+			rightLink="unix-installation" rightLabel="Next" rightTitle="Install a Unix-like system and
 supporting software"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-admin" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-admin" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,18 +3,17 @@
 <property name="doc(title)">Configuring an OpenACS package</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="configuring-mounting-packages" leftLabel="Prev"
-		    title="
-Chapter 4. Configuring a new OpenACS
-Site"
-		    rightLink="configuring-configuring-permissions" rightLabel="Next">
-		<div class="sect1">
+			leftLink="configuring-mounting-packages" leftLabel="Prev"
+			title="Chapter 4. Configuring a
+new OpenACS Site"
+			rightLink="configuring-configuring-permissions" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="configuring-configuring-packages" id="configuring-configuring-packages"></a>Configuring an OpenACS
 package</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:jade\@rubick.com" target="_top">Jade Rubick</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623160110936" id="idp140623160110936"></a>Configuring an OpenACS package</h3></div></div></div><p>After you&#39;ve installed and mounted your package, you can
+<a name="idp140682187996712" id="idp140682187996712"></a>Configuring an OpenACS package</h3></div></div></div><p>After you&#39;ve installed and mounted your package, you can
 configure each instance to act as you would like.</p><p>This is done from the Applications page. Log in, go to the Admin
 or Control Panel, click on the subsite the application is in, and
 click on Applications. If you click on the 'Parameters'
@@ -23,9 +22,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="configuring-mounting-packages" leftLabel="Prev" leftTitle="Mounting OpenACS packages"
-		    rightLink="configuring-configuring-permissions" rightLabel="Next" rightTitle="Setting Permissions on an OpenACS
+			leftLink="configuring-mounting-packages" leftLabel="Prev" leftTitle="Mounting OpenACS packages"
+			rightLink="configuring-configuring-permissions" rightLabel="Next" rightTitle="Setting Permissions on an OpenACS
 package"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="configuring-new-site" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="configuring-new-site" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html,v
diff -u -r1.12 -r1.13
--- openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html	8 Nov 2017 09:42:10 -0000	1.12
+++ openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html	25 Apr 2018 08:38:27 -0000	1.13
@@ -4,7 +4,7 @@
     <span style="color: red">&lt;authorblurb&gt;
       <p>by <a class="ulink" href="mailto:jade@rubick.com" target="_top">Jade Rubick</a></p>
     &lt;/authorblurb&gt;</span>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623160110936"></a>Configuring an OpenACS package</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682187996712"></a>Configuring an OpenACS package</h3></div></div></div>
       
       <p>After you've installed and mounted your package, you can
       configure each instance to act as you would like. </p>
Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,18 +3,17 @@
 <property name="doc(title)">Setting Permissions on an OpenACS package</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="configuring-configuring-packages" leftLabel="Prev"
-		    title="
-Chapter 4. Configuring a new OpenACS
-Site"
-		    rightLink="how-do-I" rightLabel="Next">
-		<div class="sect1">
+			leftLink="configuring-configuring-packages" leftLabel="Prev"
+			title="Chapter 4. Configuring a
+new OpenACS Site"
+			rightLink="how-do-I" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="configuring-configuring-permissions" id="configuring-configuring-permissions"></a>Setting Permissions on an
 OpenACS package</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:jade\@rubick.com" target="_top">Jade Rubick</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623159761448" id="idp140623159761448"></a>Setting Permission on an OpenACS
+<a name="idp140682183333912" id="idp140682183333912"></a>Setting Permission on an OpenACS
 package</h3></div></div></div><p>After you&#39;ve installed and mounted your package, you can
 configure each instance to act as you would like.</p><p>This is done from the Applications page. Log in, go to the Admin
 or Control Panel, click on the subsite the application is in, and
@@ -30,8 +29,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="configuring-configuring-packages" leftLabel="Prev" leftTitle="Configuring an OpenACS package"
-		    rightLink="how-do-I" rightLabel="Next" rightTitle="How Do I?"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="configuring-new-site" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="configuring-configuring-packages" leftLabel="Prev" leftTitle="Configuring an OpenACS package"
+			rightLink="how-do-I" rightLabel="Next" rightTitle="How Do I?"
+			homeLink="index" homeLabel="Home" 
+			upLink="configuring-new-site" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html,v
diff -u -r1.12 -r1.13
--- openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html	8 Nov 2017 09:42:10 -0000	1.12
+++ openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html	25 Apr 2018 08:38:27 -0000	1.13
@@ -4,7 +4,7 @@
     <span style="color: red">&lt;authorblurb&gt;
       <p>by <a class="ulink" href="mailto:jade@rubick.com" target="_top">Jade Rubick</a></p>
     &lt;/authorblurb&gt;</span>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623159761448"></a>Setting Permission on an OpenACS package</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682183333912"></a>Setting Permission on an OpenACS package</h3></div></div></div>
       
       <p>After you've installed and mounted your package, you can
       configure each instance to act as you would like. </p>
Index: openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,17 +3,16 @@
 <property name="doc(title)">Installing OpenACS packages</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="configuring-new-site" leftLabel="Prev"
-		    title="
-Chapter 4. Configuring a new OpenACS
-Site"
-		    rightLink="configuring-mounting-packages" rightLabel="Next">
-		<div class="sect1">
+			leftLink="configuring-new-site" leftLabel="Prev"
+			title="Chapter 4. Configuring a
+new OpenACS Site"
+			rightLink="configuring-mounting-packages" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="configuring-install-packages" id="configuring-install-packages"></a>Installing OpenACS packages</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:jade\@rubick.com" target="_top">Jade Rubick</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623159809704" id="idp140623159809704"></a>Installing OpenACS packages</h3></div></div></div><p>An OpenACS package extends your website and lets it do things it
+<a name="idp140682188971320" id="idp140682188971320"></a>Installing OpenACS packages</h3></div></div></div><p>An OpenACS package extends your website and lets it do things it
 wasn&#39;t able to do before. You can have a weblog, a forums, a
 calendar, or even do sophisticated project-management via your
 website.</p><p>After you&#39;ve installed OpenACS, you can congratulate
@@ -32,20 +31,18 @@
 system will check to make sure you have all necessary packages that
 the package you want depends on. If you&#39;re installing from
 Local Files, and you are missing any packages, you may have to add
-the packages your desired package depends on: <a class="xref" href="upgrade-openacs-files" title="Upgrading the OpenACS files">the section called
-&ldquo;Upgrading the OpenACS
-files&rdquo;</a>
+the packages your desired package depends on: <a class="xref" href="upgrade-openacs-files" title="Upgrading the OpenACS files">the section called “Upgrading the
+OpenACS files”</a>
 </p><p>If you run into any errors at all, check your
 /var/lib/aolserver/$OPENACS_SERVICE_NAME/log/error.log file, and
 post your error on the OpenACS forums</p><p>Once the package has been installed, then you will need to
 'mount' the package. The next section handles that.</p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="configuring-new-site" leftLabel="Prev" leftTitle="
-Chapter 4. Configuring a new OpenACS
-Site"
-		    rightLink="configuring-mounting-packages" rightLabel="Next" rightTitle="Mounting OpenACS packages"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="configuring-new-site" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="configuring-new-site" leftLabel="Prev" leftTitle="Chapter 4. Configuring a new
+OpenACS Site"
+			rightLink="configuring-mounting-packages" rightLabel="Next" rightTitle="Mounting OpenACS packages"
+			homeLink="index" homeLabel="Home" 
+			upLink="configuring-new-site" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/configuring-install-packages.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-install-packages.html,v
diff -u -r1.12 -r1.13
--- openacs-4/packages/acs-core-docs/www/configuring-install-packages.html	8 Nov 2017 09:42:10 -0000	1.12
+++ openacs-4/packages/acs-core-docs/www/configuring-install-packages.html	25 Apr 2018 08:38:27 -0000	1.13
@@ -4,7 +4,7 @@
     <span style="color: red">&lt;authorblurb&gt;
       <p>by <a class="ulink" href="mailto:jade@rubick.com" target="_top">Jade Rubick</a></p>
     &lt;/authorblurb&gt;</span>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623159809704"></a>Installing OpenACS packages</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682188971320"></a>Installing OpenACS packages</h3></div></div></div>
       
 
       <p>An OpenACS package extends your website and lets it do
Index: openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,17 +3,16 @@
 <property name="doc(title)">Mounting OpenACS packages</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="configuring-install-packages" leftLabel="Prev"
-		    title="
-Chapter 4. Configuring a new OpenACS
-Site"
-		    rightLink="configuring-configuring-packages" rightLabel="Next">
-		<div class="sect1">
+			leftLink="configuring-install-packages" leftLabel="Prev"
+			title="Chapter 4. Configuring a
+new OpenACS Site"
+			rightLink="configuring-configuring-packages" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="configuring-mounting-packages" id="configuring-mounting-packages"></a>Mounting OpenACS packages</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:jade\@rubick.com" target="_top">Jade Rubick</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623178113768" id="idp140623178113768"></a>Mounting OpenACS packages</h3></div></div></div><p>After you&#39;ve installed your packages, you have to
+<a name="idp140682188559080" id="idp140682188559080"></a>Mounting OpenACS packages</h3></div></div></div><p>After you&#39;ve installed your packages, you have to
 'mount' them in order to make them appear on your
 website.</p><p>Make sure you are logged in, and then click on the
 'Admin' or 'Control Panel' link to get to the
@@ -34,8 +33,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="configuring-install-packages" leftLabel="Prev" leftTitle="Installing OpenACS packages"
-		    rightLink="configuring-configuring-packages" rightLabel="Next" rightTitle="Configuring an OpenACS package"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="configuring-new-site" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="configuring-install-packages" leftLabel="Prev" leftTitle="Installing OpenACS packages"
+			rightLink="configuring-configuring-packages" rightLabel="Next" rightTitle="Configuring an OpenACS package"
+			homeLink="index" homeLabel="Home" 
+			upLink="configuring-new-site" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html,v
diff -u -r1.12 -r1.13
--- openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html	8 Nov 2017 09:42:10 -0000	1.12
+++ openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html	25 Apr 2018 08:38:27 -0000	1.13
@@ -4,7 +4,7 @@
     <span style="color: red">&lt;authorblurb&gt;
       <p>by <a class="ulink" href="mailto:jade@rubick.com" target="_top">Jade Rubick</a></p>
     &lt;/authorblurb&gt;</span>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623178113768"></a>Mounting OpenACS packages</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682188559080"></a>Mounting OpenACS packages</h3></div></div></div>
       
 
       <p>After you've installed your packages, you have to 'mount'
Index: openacs-4/packages/acs-core-docs/www/configuring-new-site.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-new-site.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/configuring-new-site.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/configuring-new-site.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -1,18 +1,16 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 4. Configuring a new OpenACS
-Site}</property>
-<property name="doc(title)">Chapter 4. Configuring a new OpenACS
-Site</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 4. Configuring a new OpenACS Site}</property>
+<property name="doc(title)">Chapter 4. Configuring a new OpenACS Site</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="mac-installation" leftLabel="Prev"
-		    title="
+			leftLink="mac-installation" leftLabel="Prev"
+			title="
 Part II. Administrator&#39;s Guide"
-		    rightLink="configuring-install-packages" rightLabel="Next">
-		<div class="chapter">
+			rightLink="configuring-install-packages" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="configuring-new-site" id="configuring-new-site"></a>Chapter 4. Configuring
-a new OpenACS Site</h2></div></div></div><div class="toc">
+<a name="configuring-new-site" id="configuring-new-site"></a>Chapter 4. Configuring a new
+OpenACS Site</h2></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="sect1"><a href="configuring-install-packages">Installing OpenACS
 packages</a></span></dt><dt><span class="sect1"><a href="configuring-mounting-packages">Mounting OpenACS
@@ -31,9 +29,9 @@
 easy upgradability is to be maintained.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="mac-installation" leftLabel="Prev" leftTitle="OpenACS Installation Guide for Mac OS
+			leftLink="mac-installation" leftLabel="Prev" leftTitle="OpenACS Installation Guide for Mac OS
 X"
-		    rightLink="configuring-install-packages" rightLabel="Next" rightTitle="Installing OpenACS packages"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-admin" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="configuring-install-packages" rightLabel="Next" rightTitle="Installing OpenACS packages"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-admin" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/credits.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/credits.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/credits.adp	4 Apr 2018 18:51:56 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/credits.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,11 +3,11 @@
 <property name="doc(title)">Appendix C. Credits</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="aolserver" leftLabel="Prev"
-		    title="
+			leftLink="aolserver" leftLabel="Prev"
+			title="
 Part II. Administrator&#39;s Guide"
-		    rightLink="install-origins" rightLabel="Next">
-		<div class="appendix">
+			rightLink="install-origins" rightLabel="Next">
+		    <div class="appendix">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="credits" id="credits"></a>Appendix C. Credits</h2></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
@@ -41,13 +41,13 @@
 Malte Sussdorff, Stan Kaufman and Pascal Scheffers.</p><p>
 <span class="strong"><strong>All questions and
 comments</strong></span> regarding this guide should be posted on
-the <a class="ulink" href="http://openacs.org/forums/" target="_top">OpenACS forums</a>.</p><p><span class="cvstag">($&zwnj;Id: credits.xml,v 1.13 2017/08/07
-23:47:54 gustafn Exp $)</span></p>
+the <a class="ulink" href="http://openacs.org/forums/" target="_top">OpenACS forums</a>.</p><p><span class="cvstag">($&zwnj;Id: credits.xml,v 1.14 2018/04/04
+18:51:56 hectorr Exp $)</span></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="aolserver" leftLabel="Prev" leftTitle="Install AOLserver 3.3oacs1"
-		    rightLink="install-origins" rightLabel="Next" rightTitle="Where did this document come
+			leftLink="aolserver" leftLabel="Prev" leftTitle="Install AOLserver 3.3oacs1"
+			rightLink="install-origins" rightLabel="Next" rightTitle="Where did this document come
 from?"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-admin" upLabel="Up"> 
-		
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-admin" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp	27 Mar 2018 11:17:59 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,21 +3,21 @@
 <property name="doc(title)">CVS Guidelines</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="style-guide" leftLabel="Prev"
-		    title="
-Chapter 12. Engineering Standards"
-		    rightLink="eng-standards-versioning" rightLabel="Next">
-		<div class="sect1">
+			leftLink="style-guide" leftLabel="Prev"
+			title="Chapter 12. Engineering
+Standards"
+			rightLink="eng-standards-versioning" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="cvs-guidelines" id="cvs-guidelines"></a> CVS Guidelines</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red"><span class="cvstag">($&zwnj;Id: cvs.xml,v
-1.7 2017/08/07 23:47:54 gustafn Exp $)</span></span></p><p>By Joel Aufrecht with input from Jeff Davis, Branimir Dolicki,
+1.8 2018/03/27 11:18:00 hectorr Exp $)</span></span></p><p>By Joel Aufrecht with input from Jeff Davis, Branimir Dolicki,
 and Jade Rubick.</p>
 &lt;/authorblurb&gt;
 <div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="using-cvs-with-openacs" id="using-cvs-with-openacs"></a>Using CVS with OpenACS</h3></div></div></div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623176779576" id="idp140623176779576"></a>Getting Started</h4></div></div></div><p>All OpenACS code is available anonymously. To get code
+<a name="idp140682180426344" id="idp140682180426344"></a>Getting Started</h4></div></div></div><p>All OpenACS code is available anonymously. To get code
 anonymously, use the parameter <code class="computeroutput">-d:pserver:anonymous\@cvs.openacs.org:/cvsroot</code>
 immediately after <code class="computeroutput">cvs</code> in a cvs
 command to check out or export code.</p><p>If you are an OpenACS developer, you should check out code so
@@ -36,8 +36,7 @@
 <code class="computeroutput">export CVS_RSH=ssh</code> into
 <code class="computeroutput">~/.bash_profile</code>.). If your
 local account name does not match your cvs.openacs.org account
-name, create a file <code class="computeroutput">~/.ssh/config</code> with an entry like:</p><pre class="programlisting">
-Host cvs.openacs.org
+name, create a file <code class="computeroutput">~/.ssh/config</code> with an entry like:</p><pre class="programlisting">Host cvs.openacs.org
     User joel
 </pre><p>With this setup, you will be asked for your password with each
 cvs command. To avoid this, set up ssh certificate authentication
@@ -61,15 +60,12 @@
 <p>Grant cvs access to the user account. On any machine, in a
 temporary directory:</p><pre class="screen"><span class="action">cvs -d :ext:cvs.openacs.org:/cvsroot co CVSROOT
 cd CVSROOT
-emacs avail</span></pre><p>Add an avail line of the form:</p><pre class="programlisting">
-avail|<em class="replaceable"><code>username</code></em>|openacs-4
-</pre><pre class="screen"><span class="action">cvs commit -m "added commit on X for username" avail</span></pre>
+emacs avail</span></pre><p>Add an avail line of the form:</p><pre class="programlisting">avail|<em class="replaceable"><code>username</code></em>|openacs-4</pre><pre class="screen"><span class="action">cvs commit -m "added commit on X for username" avail</span></pre>
 </li>
 </ol></div>
 </div><div class="sidebar">
 <div class="titlepage"><div><div><p class="title"></p></div></div></div><p>Branimir suggests an additional level of abstraction. If you
-put</p><pre class="programlisting">
-Host cvs-server
+put</p><pre class="programlisting">Host cvs-server
       HostName cvs.openacs.org
       User <em class="replaceable"><code>yournamehere</code></em>
 </pre><p>into your <code class="computeroutput">~/.ssh/config</code>
@@ -80,7 +76,7 @@
 </div>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623176779832" id="idp140623176779832"></a>Checkout for Package Development</h4></div></div></div><p>If you are actively developing a non-core package, you should
+<a name="idp140682180426472" id="idp140682180426472"></a>Checkout for Package Development</h4></div></div></div><p>If you are actively developing a non-core package, you should
 work from the latest core release branch. Currently this is
 oacs-5-9. This ensures that you are working on top of a stable
 OpenACS core, but still allows you to commit feature changes to
@@ -97,7 +93,7 @@
 packages and their current state.</p>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623176821048" id="idp140623176821048"></a>Checkout for Core Development</h4></div></div></div><p>If you are actively developing packages in the OpenACS Core,
+<a name="idp140682174276520" id="idp140682174276520"></a>Checkout for Core Development</h4></div></div></div><p>If you are actively developing packages in the OpenACS Core,
 work from the HEAD branch. HEAD is used for active development of
 the next version of core OpenACS. It may be very buggy; it may not
 even install correctly. Do not use this branch for development of
@@ -106,7 +102,7 @@
 developer account:</p><pre class="screen"><span class="action">cvs -d:ext:cvs.openacs.org:/cvsroot checkout acs-core</span></pre><p>To check out HEAD anonymously:</p><pre class="screen"><span class="action">cvs -d:pserver:anonymous\@cvs.openacs.org:/cvsroot checkout acs-core</span></pre>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623176826632" id="idp140623176826632"></a>Checkout .LRN</h4></div></div></div><p>.LRN consists of a given version OpenACS core, plus a set of
+<a name="idp140682187843192" id="idp140682187843192"></a>Checkout .LRN</h4></div></div></div><p>.LRN consists of a given version OpenACS core, plus a set of
 packages. These are collectively packages together to form a
 distribution of .LRN. F .LRN 2.0.0 sits on top of OpenACS 5.0.0.
 .LRN also uses an OpenACS install.xml file during installation;
@@ -131,7 +127,7 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="openacs-cvs-concepts" id="openacs-cvs-concepts"></a>OpenACS CVS Concepts</h3></div></div></div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623176834888" id="idp140623176834888"></a>Modules</h4></div></div></div><p>All OpenACS code resides within a single CVS module,
+<a name="idp140682182311736" id="idp140682182311736"></a>Modules</h4></div></div></div><p>All OpenACS code resides within a single CVS module,
 <code class="computeroutput">openacs-4</code>. (The openacs-4
 directory contains code for all versions of OpenACS 4 and later,
 and .LRN 1 and later.) Checking out this module retrieves all
@@ -140,8 +136,7 @@
 <code class="computeroutput">acs-core</code> contains only
 critical common packages. It does not have any user applications,
 such as forums, bug-tracker, calendar, or ecommerce. These can be
-added at any time.</p><p>The complete list of core packages is:</p><pre class="programlisting">
-acs-admin 
+added at any time.</p><p>The complete list of core packages is:</p><pre class="programlisting">acs-admin 
 acs-api-browser 
 acs-authentication 
 acs-automated-testing 
@@ -157,8 +152,7 @@
 acs-subsite 
 acs-tcl
 acs-templating 
-ref-timezones search
-</pre><p>
+ref-timezones search</pre><p>
 <code class="computeroutput">dotlrn-all</code> contains the
 packages required, in combination with acs-core, to run the .LRN
 system.</p><p>
@@ -168,7 +162,7 @@
 module of the same name.</p>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623176843880" id="idp140623176843880"></a> Tags and Branches</h4></div></div></div><p>Tags and Branches look similar in commands, but behave
+<a name="idp140682176987896" id="idp140682176987896"></a> Tags and Branches</h4></div></div></div><p>Tags and Branches look similar in commands, but behave
 differently. A tag is a fixed point on a branch. Check out a tag to
 get a specific version of OpenACS. Check out a branch to get the
 most current code for that major-minor version (e.g., 5.0.x or
@@ -233,9 +227,8 @@
 repository:</p><div class="orderedlist"><ol class="orderedlist" type="a">
 <li class="listitem"><p>Use one of the checkout methods described above to get files to
 your system. This takes the place of steps 1 and 2 in <a class="xref" href="openacs" title="Installation Option 2: Install from tarball">the section called
-&ldquo;Installation Option 2: Install from
-tarball&rdquo;</a>. Continue setting up the site as described
-there.</p></li><li class="listitem"><p>Fix bugs and add features.</p></li><li class="listitem">
+“Installation Option 2: Install from tarball”</a>. Continue setting
+up the site as described there.</p></li><li class="listitem"><p>Fix bugs and add features.</p></li><li class="listitem">
 <p>Commit that file (or files):</p><pre class="screen"><span class="action">cvs commit -m "what I did and why" filename</span></pre><p>Because this occurs in your personal checkout and not an
 anonymous one, this commit automagically moves back upstream to the
 Mother Ship repository at cvs.openacs.org. The names of the changed
@@ -266,7 +259,6 @@
 
 Checking in modules;<br>
 /cvsroot/CVSROOT/modules,v  &lt;--  modules<br>
-
 new revision: 1.94; previous revision: 1.93<br>
 
 done<br>
@@ -275,13 +267,11 @@
 <p>Although you should add your package on HEAD, you should do
 package development on the latest release branch that your code is
 compatible with. So, after completing the import, you may want to
-branch your package:</p><pre class="programlisting">
-cd /var/lib/aolserver/<em class="replaceable"><code>service0</code></em>/packages/<em class="replaceable"><code>newpackage</code></em>
+branch your package:</p><pre class="programlisting">cd /var/lib/aolserver/<em class="replaceable"><code>service0</code></em>/packages/<em class="replaceable"><code>newpackage</code></em>
 cvs tag -b <em class="replaceable"><code>oacs-5-1</code></em>
 </pre>
 </li><li class="listitem"><p>See <a class="xref" href="releasing-package" title="How to package and release an OpenACS Package">the section called
-&ldquo;How to package and release an OpenACS
-Package&rdquo;</a>
+“How to package and release an OpenACS Package”</a>
 </p></li>
 </ol></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
 <h3 class="title">Note</h3><p>Some packages are already in cvs at <code class="computeroutput">openacs-4/contrib/packages</code>. Starting with
@@ -291,8 +281,7 @@
 <code class="computeroutput">/packages</code>. This must be done by
 an OpenACS administrator. On cvs.openacs.org:</p><div class="orderedlist"><ol class="orderedlist" type="a">
 <li class="listitem"><pre class="programlisting">
-cp -r /cvsroot/openacs-4/contrib/packages/<em class="replaceable"><code>package0</code></em> /cvsroot/openacs-4/packages
-</pre></li><li class="listitem"><p>Update the modules file as described above.</p></li><li class="listitem"><p>Remove the directory from cvs in the old location using
+cp -r /cvsroot/openacs-4/contrib/packages/<em class="replaceable"><code>package0</code></em> /cvsroot/openacs-4/packages</pre></li><li class="listitem"><p>Update the modules file as described above.</p></li><li class="listitem"><p>Remove the directory from cvs in the old location using
 <code class="computeroutput">cvs rm</code>. One approach
 <code class="computeroutput">for file in `find | grep -v CVS`; do
 rm $file; cvs remove $file; done</code>
@@ -409,7 +398,7 @@
 </ol></div>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623174806760" id="idp140623174806760"></a> Informal Guidelines</h4></div></div></div><p>Informal guidelines which may be obsolete in places and should
+<a name="idp140682187073560" id="idp140682187073560"></a> Informal Guidelines</h4></div></div></div><p>Informal guidelines which may be obsolete in places and should
 be reviewed:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>Before committing to cvs you must submit a bug report and patch
 to the <a class="ulink" href="http://openacs.org/bugtracker/openacs" target="_top">OpenACS bug
@@ -453,8 +442,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="style-guide" leftLabel="Prev" leftTitle="OpenACS Style Guide"
-		    rightLink="eng-standards-versioning" rightLabel="Next" rightTitle="Release Version Numbering"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="eng-standards" upLabel="Up"> 
-		
+			leftLink="style-guide" leftLabel="Prev" leftTitle="OpenACS Style Guide"
+			rightLink="eng-standards-versioning" rightLabel="Next" rightTitle="Release Version Numbering"
+			homeLink="index" homeLabel="Home" 
+			upLink="eng-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/cvs-guidelines.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-guidelines.html,v
diff -u -r1.13 -r1.14
--- openacs-4/packages/acs-core-docs/www/cvs-guidelines.html	27 Mar 2018 11:17:59 -0000	1.13
+++ openacs-4/packages/acs-core-docs/www/cvs-guidelines.html	25 Apr 2018 08:38:27 -0000	1.14
@@ -11,7 +11,7 @@
 &lt;/authorblurb&gt;</span>
   <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="using-cvs-with-openacs"></a>Using CVS with OpenACS</h3></div></div></div>
     
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623176779576"></a>Getting Started</h4></div></div></div>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682180426344"></a>Getting Started</h4></div></div></div>
       
       <p>
         All OpenACS code is available anonymously.  To get code
@@ -91,7 +91,7 @@
 
     </div>
 
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623176779832"></a>Checkout for Package Development</h4></div></div></div>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682180426472"></a>Checkout for Package Development</h4></div></div></div>
       
       <p>If you are actively developing a non-core package, you
       should work from the latest core release branch.  Currently this
@@ -120,7 +120,7 @@
       </p>
     </div>
 
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623176821048"></a>Checkout for Core Development</h4></div></div></div>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682174276520"></a>Checkout for Core Development</h4></div></div></div>
       
       <p>If you are actively developing packages in the OpenACS
       Core, work from the HEAD branch.  HEAD is used for active
@@ -136,7 +136,7 @@
       <pre class="screen"><span class="action">cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout acs-core</span></pre>
     </div>
 
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623176826632"></a>Checkout .LRN</h4></div></div></div>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682187843192"></a>Checkout .LRN</h4></div></div></div>
       
       <p>
         .LRN consists of a given version OpenACS core, plus a set of
@@ -165,7 +165,7 @@
 
   <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="openacs-cvs-concepts"></a>OpenACS CVS Concepts</h3></div></div></div>
     
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623176834888"></a>Modules</h4></div></div></div>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682182311736"></a>Modules</h4></div></div></div>
       
       <p>
         All OpenACS code resides within a single CVS module, <code class="computeroutput">openacs-4</code>.  (The openacs-4 directory contains code for all versions of OpenACS 4 and later, and .LRN 1 and later.)   Checking out this module retrieves all OpenACS code of any type.  For convenience, subsets of <code class="computeroutput">openacs-4</code> are repackaged as smaller modules.</p>
@@ -209,7 +209,7 @@
 
     </div>
 
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623176843880"></a>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682176987896"></a>
         Tags and Branches
       </h4></div></div></div>
       
@@ -559,7 +559,7 @@
         </p>
       </li></ol></div>
   </div>
-  <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623174806760"></a>
+  <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682187073560"></a>
       Informal Guidelines
     </h4></div></div></div>
     
Index: openacs-4/packages/acs-core-docs/www/cvs-tips.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-tips.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/cvs-tips.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/cvs-tips.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -1,27 +1,24 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Appendix D. Using CVS with an
-OpenACS Site}</property>
-<property name="doc(title)">Appendix D. Using CVS with an
-OpenACS Site</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Appendix D. Using CVS with an OpenACS Site}</property>
+<property name="doc(title)">Appendix D. Using CVS with an OpenACS Site</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="i18n-translators" leftLabel="Prev"
-		    title="
-Part III. For OpenACS Package
-Developers"
-		    rightLink="acs-plat-dev" rightLabel="Next">
-		<div class="appendix">
+			leftLink="i18n-translators" leftLabel="Prev"
+			title="Part III. For OpenACS
+Package Developers"
+			rightLink="acs-plat-dev" rightLabel="Next">
+		    <div class="appendix">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="cvs-tips" id="cvs-tips"></a>Appendix D. Using CVS with
-an OpenACS Site</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel
+<a name="cvs-tips" id="cvs-tips"></a>Appendix D. Using CVS with an OpenACS
+Site</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel
 Aufrecht</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>
-<a name="cvs-service-import" id="cvs-service-import"></a><strong>Add the Service to CVS - OPTIONAL. </strong><a class="indexterm" name="idp140623162542472" id="idp140623162542472"></a> These steps take an existing OpenACS
-directory and add it to a <a class="link" href="install-cvs" title="Initialize CVS (OPTIONAL)">CVS repository</a>.</p><div class="orderedlist"><ol class="orderedlist" type="1">
+<a name="cvs-service-import" id="cvs-service-import"></a><strong>Add the Service to CVS - OPTIONAL. </strong><a class="indexterm" name="idp140682191104760" id="idp140682191104760"></a>
+These steps take an existing OpenACS directory and add it to a
+<a class="link" href="install-cvs" title="Initialize CVS (OPTIONAL)">CVS repository</a>.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
 <p>Create and set permissions on a subdirectory in the local cvs
-repository.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>mkdir /cvsroot/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+repository.</p><pre class="screen">[root root]# <strong class="userinput"><code>mkdir /cvsroot/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [root root]#<strong class="userinput"><code> chown <em class="replaceable"><code>$OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME</code></em> /cvsroot/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
@@ -33,18 +30,14 @@
 </li><li class="listitem">
 <p>Add the repository location to the user environment. On some
 systems, you may get better results with .bash_profile instead of
-.bashrc.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+.bashrc.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$<strong class="userinput"><code> emacs .bashrc</code></strong>
-</pre><p>Put this string into <code class="computeroutput">/home/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/.bashrc</code>:</p><pre class="programlisting">
-export CVSROOT=/cvsroot
-</pre><pre class="screen">
+</pre><p>Put this string into <code class="computeroutput">/home/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/.bashrc</code>:</p><pre class="programlisting">export CVSROOT=/cvsroot</pre><pre class="screen">
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>exit</code></strong>
 logout
 
-[root root]#
-</pre>
+[root root]#</pre>
 </li><li class="listitem">
 <p>Import all files into cvs. In order to work on files with source
 control, the files must be checked out from cvs. So we will import,
@@ -55,8 +48,7 @@
 </code>.
 "OpenACS" is the vendor tag, and
 "oacs-5-9-0-final" is the release tag. These tags will be
-useful in upgrading and branching. -m sets the version comment.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+useful in upgrading and branching. -m sets the version comment.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
@@ -75,8 +67,7 @@
 cvs import -m "initial install" <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> OpenACS oacs-5-9-0-final
 exit</span>
 </pre><p>Move the original directory to a temporary location, and check
-out the cvs repository in its place.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>mv /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> /var/tmp</code></strong>
+out the cvs repository in its place.</p><pre class="screen">[root root]# <strong class="userinput"><code>mv /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> /var/tmp</code></strong>
 [root root]# <strong class="userinput"><code>mkdir /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [root root]# <strong class="userinput"><code>chown <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>.<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
@@ -109,9 +100,9 @@
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="i18n-translators" leftLabel="Prev" leftTitle="Translator&#39;s Guide"
-		    rightLink="acs-plat-dev" rightLabel="Next" rightTitle="Part IV. For
-OpenACS Platform Developers"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-package-dev" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="i18n-translators" leftLabel="Prev" leftTitle="Translator&#39;s Guide"
+			rightLink="acs-plat-dev" rightLabel="Next" rightTitle="Part IV. For OpenACS
+Platform Developers"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-package-dev" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/cvs-tips.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-tips.html,v
diff -u -r1.36 -r1.37
--- openacs-4/packages/acs-core-docs/www/cvs-tips.html	8 Nov 2017 09:42:10 -0000	1.36
+++ openacs-4/packages/acs-core-docs/www/cvs-tips.html	25 Apr 2018 08:38:27 -0000	1.37
@@ -7,7 +7,7 @@
     &lt;/authorblurb&gt;</span>
     <p><a name="cvs-service-import"></a>
       <b>Add the Service to CVS - OPTIONAL. </b>
-      <a class="indexterm" name="idp140623162542472"></a>
+      <a class="indexterm" name="idp140682191104760"></a>
       These steps take an existing OpenACS directory and add
           it to a <a class="link" href="install-cvs.html" title="Initialize CVS (OPTIONAL)">CVS
           repository</a>.
Index: openacs-4/packages/acs-core-docs/www/database-management.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/database-management.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/database-management.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/database-management.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -1,15 +1,13 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 7. Database
-Management}</property>
-<property name="doc(title)">Chapter 7. Database
-Management</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 7. Database Management}</property>
+<property name="doc(title)">Chapter 7. Database Management</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="maint-performance" leftLabel="Prev"
-		    title="
+			leftLink="maint-performance" leftLabel="Prev"
+			title="
 Part II. Administrator&#39;s Guide"
-		    rightLink="remote-postgres" rightLabel="Next">
-		<div class="chapter">
+			rightLink="remote-postgres" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="database-management" id="database-management"></a>Chapter 7. Database
 Management</h2></div></div></div><div class="toc">
@@ -24,9 +22,9 @@
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="maint-performance" leftLabel="Prev" leftTitle="Diagnosing Performance Problems"
-		    rightLink="remote-postgres" rightLabel="Next" rightTitle="Running a PostgreSQL database on
+			leftLink="maint-performance" leftLabel="Prev" leftTitle="Diagnosing Performance Problems"
+			rightLink="remote-postgres" rightLabel="Next" rightTitle="Running a PostgreSQL database on
 another server"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-admin" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-admin" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/db-api-detailed.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api-detailed.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/db-api-detailed.adp	11 Apr 2018 21:35:06 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/db-api-detailed.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,11 +3,11 @@
 <property name="doc(title)">Database Access API</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="apm-design" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="i18n-requirements" rightLabel="Next">
-		<div class="sect1">
+			leftLink="apm-design" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="i18n-requirements" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="db-api-detailed" id="db-api-detailed"></a>Database Access API</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:jsalz\@mit.edu" target="_top">Jon Salz</a>. Revised and
 expanded by Roberto Mello (rmello at fslc dot usu dot edu), July
@@ -620,8 +620,7 @@
 } {
     set user_url [acs_community_member_url -user_id $user_id]
 }
-    
-</pre>
+    </pre>
 </dd><dt><span class="term"><span class="strong"><strong><code class="computeroutput">
 <a name="kernel.dbapi_db_resultrows" id="kernel.dbapi_db_resultrows"></a>db_resultrows</code></strong></span></span></dt><dd>
 <pre class="programlisting"><span class="strong"><strong>db_resultrows</strong></span></pre><p>Returns the number of rows affected or returned by the previous
@@ -664,24 +663,21 @@
 <a name="kernel.dbapi_db_compatible_rdbms_p" id="kernel.dbapi_db_compatible_rdbms_p"></a>db_compatible_rdbms_p</code></strong></span></span></dt><dd>
 <pre class="programlisting">
 <span class="strong"><strong>db_compatible_rdbms_p</strong></span> db_type
-                
-</pre><p>Returns 1 if the given db_type is compatible with the current
+                </pre><p>Returns 1 if the given db_type is compatible with the current
 RDBMS.</p>
 </dd><dt><span class="term"><span class="strong"><strong><code class="computeroutput">
 <a name="kernel.dbapi_db_package_supports_rdbms_p" id="kernel.dbapi_db_package_supports_rdbms_p"></a>db_package_supports_rdbms_p</code></strong></span></span></dt><dd>
 <pre class="programlisting">
 <span class="strong"><strong>db_package_supports_rdbms_p</strong></span> db_type_list
-                
-</pre><p>Returns 1 if db_type_list contains the current RDMBS type. A
+                </pre><p>Returns 1 if db_type_list contains the current RDMBS type. A
 package intended to run with a given RDBMS must note this in
-its package info file regardless of whether or not it actually
+it&#39;s package info file regardless of whether or not it actually
 uses the database.</p>
 </dd><dt><span class="term"><span class="strong"><strong><code class="computeroutput">
 <a name="kernel.dbapi_db_legacy_package_p" id="kernel.dbapi_db_legacy_package_p"></a>db_legacy_package_p</code></strong></span></span></dt><dd>
 <pre class="programlisting">
 <span class="strong"><strong>db_legacy_package_p</strong></span> db_type_list
-                
-</pre><p>Returns 1 if the package is a legacy package. We can only tell
+                </pre><p>Returns 1 if the package is a legacy package. We can only tell
 for certain if it explicitly supports Oracle 8.1.6 rather than the
 OpenACS more general oracle.</p>
 </dd><dt><span class="term"><span class="strong"><strong><code class="computeroutput">
@@ -706,9 +702,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="apm-design" leftLabel="Prev" leftTitle="Package Manager Design"
-		    rightLink="i18n-requirements" rightLabel="Next" rightTitle="OpenACS Internationalization
+			leftLink="apm-design" leftLabel="Prev" leftTitle="Package Manager Design"
+			rightLink="i18n-requirements" rightLabel="Next" rightTitle="OpenACS Internationalization
 Requirements"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/db-api-detailed.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api-detailed.html,v
diff -u -r1.51 -r1.52
--- openacs-4/packages/acs-core-docs/www/db-api-detailed.html	11 Apr 2018 21:35:06 -0000	1.51
+++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html	25 Apr 2018 08:38:27 -0000	1.52
@@ -1017,7 +1017,7 @@
 		</pre>
 		<p>
 			Returns 1 if db_type_list contains the current RDMBS type.  A package
-			intended to run with a given RDBMS must note this in its package info
+			intended to run with a given RDBMS must note this in it's package info
 			file regardless of whether or not it actually uses the database. 
 		</p>
 	 </dd><dt><span class="term">
Index: openacs-4/packages/acs-core-docs/www/db-api.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/db-api.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/db-api.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">The OpenACS Database Access API</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="request-processor" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="templates" rightLabel="Next">
-		<div class="sect1">
+			leftLink="request-processor" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="templates" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="db-api" id="db-api"></a>The OpenACS Database Access API</h2></div></div></div><p>By Pete Su and Jon Salz. Modified by Roberto Mello.</p><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -39,8 +39,7 @@
     foreach row $rows { 
         call_some_proc $foo $bar $baz
     }
-}
-</pre><p>There are several things to note here:</p><div class="orderedlist"><ol class="orderedlist" type="1">
+}</pre><p>There are several things to note here:</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>No explicit code for grabbing and releasing handles. Usage of
 the Database API implicitly deals with all handle management
 issues.</p></li><li class="listitem"><p>The <code class="computeroutput">db_transaction</code> command
@@ -64,8 +63,7 @@
 select foo, bar, baz 
 from some_table, some_other_table
 where some_table.id=some_other_table.id  
-and some_table.condition_p = '$foo'
-</pre><p>There are a few problems with this:</p><div class="orderedlist"><ol class="orderedlist" type="1">
+and some_table.condition_p = '$foo'</pre><p>There are a few problems with this:</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>If the value of $foo is a huge string, then we waste a lot of
 time in the database server doing useless parsing.</p></li><li class="listitem"><p>Second, if the literal value contains characters like single
 quotes, we have to be careful to properly escape them, because not
@@ -115,8 +113,7 @@
 set condition "where foo = bar"
 
 db_foreach my_query { select :table from some_table where :condition }
-    
-</pre><p>SQL will not allow a literal to occur where we&#39;ve put the
+    </pre><p>SQL will not allow a literal to occur where we&#39;ve put the
 bind variables, so the query is syntactically incorrect. You have
 to remember that while the bind variable syntax looks similar to
 variable interpolation in Tcl, It is <span class="emphasis"><em>not
@@ -149,8 +146,7 @@
     # of "administrator"
 }
 
-      
-</pre><p>The value of the local Tcl variable <code class="computeroutput">user_id</code> (123456) is bound to the
+      </pre><p>The value of the local Tcl variable <code class="computeroutput">user_id</code> (123456) is bound to the
 <code class="computeroutput">user_id</code> bind variable.</p><p>The <code class="computeroutput">-bind</code> switch can takes
 the name of an <code class="computeroutput">ns_set</code>
 containing keys for each bind variable named in the query,
@@ -171,8 +167,7 @@
     # of "administrator"
 }
 
-      
-</pre><p>Alternatively, as an argument to <code class="computeroutput">-bind</code> you can specify a list of alternating
+      </pre><p>Alternatively, as an argument to <code class="computeroutput">-bind</code> you can specify a list of alternating
 name/value pairs for bind variables:</p><pre class="programlisting">
         
 db_foreach user_group_memberships_by_role {
@@ -186,8 +181,7 @@
     # of "administrator"
 }
 
-      
-</pre>
+      </pre>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="dbapi_nulls_and_bind_vars" id="dbapi_nulls_and_bind_vars"></a>Nulls and Bind Variables</h4></div></div></div><p>When processing a DML statement, Oracle coerces empty strings
@@ -222,22 +216,19 @@
 # null, because Oracle has coerced the empty string (even for the
 # numeric column "bar") into null in both cases
 
-      
-</pre><p>Since databases other than Oracle do not coerce empty strings
+      </pre><p>Since databases other than Oracle do not coerce empty strings
 into <code class="computeroutput">null</code>, this code has
 different semantics depending on the underlying database (i.e., the
 row that gets inserted may not have null as its column values),
 which defeats the purpose of SQL abstraction.</p><p>Therefore, the Database Access API provides a
 database-independent way to represent <code class="computeroutput">null</code> (instead of the Oracle-specific idiom
 of the empty string): <code class="computeroutput">db_null</code>.</p><p>Use it instead of the empty string whenever you want to set a
-column value explicitly to <code class="computeroutput">null</code>, e.g.:</p><pre class="programlisting">
-set bar [db_null]
+column value explicitly to <code class="computeroutput">null</code>, e.g.:</p><pre class="programlisting">set bar [db_null]
 set baz [db_null]
 
 db_dml foo_create "insert into foo(bar, baz) values(:bar, :baz)"
 #
-# sets the values for both the "bar" and "baz" columns to null
-</pre>
+# sets the values for both the "bar" and "baz" columns to null</pre>
 </div>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -259,8 +250,7 @@
 [ns/server/<span class="emphasis"><em>yourservername</em></span>/acs/security]
 PoolSequence.sec_id_seq=20
 
-    
-</pre><p>The database library will allocate this number of sequence
+    </pre><p>The database library will allocate this number of sequence
 values at server startup. It will periodically scan pools and
 allocate new values for sequences which are less than half-full.
 (This normally occurs every 60 seconds, and is configurable via the
@@ -276,8 +266,7 @@
 <a name="devguide.dbapi_db_abort_transaction" id="devguide.dbapi_db_abort_transaction"></a>db_abort_transaction</code></span></dt><dd>
 <pre class="programlisting">
 db_abort_transaction
-          
-</pre><p>Aborts all levels of a transaction. That is if this is called
+          </pre><p>Aborts all levels of a transaction. That is if this is called
 within several nested transactions, all of them are terminated. Use
 this instead of <code class="computeroutput">db_dml
 "abort" "abort transaction"</code>.</p>
@@ -327,8 +316,7 @@
 } {
     set user_url [acs_community_member_url -user_id $user_id]
 }
-    
-</pre><p>You can also iterate over a multirow after it has been created -
+    </pre><p>You can also iterate over a multirow after it has been created -
 check the documentation for template::multirow</p><p>For example,</p><pre class="programlisting">
 db_multirow assets assets {
   select asset_id,
@@ -341,8 +329,7 @@
 multirow foreach assets {
   lappend asset_id_l $asset_id
 }
-          
-</pre><p>Technically it&#39;s equivalent to using a code block on the end
+          </pre><p>Technically it&#39;s equivalent to using a code block on the end
 of your db_multirow.</p>
 </dd><dt><span class="term"><code class="computeroutput">
 <a name="devguide.dbapi_db_null" id="devguide.dbapi_db_null"></a>db_null</code></span></dt><dd>
@@ -368,33 +355,29 @@
     doc_body_append "&lt;li&gt;There are no greebles in the database.\n"
 }
 
-          
-</pre><p>The code block may contain <code class="computeroutput">break</code> statements (which terminate the loop
+          </pre><p>The code block may contain <code class="computeroutput">break</code> statements (which terminate the loop
 and flush the database handle) and <code class="computeroutput">continue</code> statements (which continue to the
 next row of the loop).</p>
 </dd><dt><span class="term"><code class="computeroutput">
 <a name="devguide.dbapi_db_1row" id="devguide.dbapi_db_1row"></a>db_1row</code></span></dt><dd>
 <pre class="programlisting">
 db_1row <span class="emphasis"><em>statement-name</em></span><span class="emphasis"><em>sql</em></span> [ -bind <span class="emphasis"><em>bind_set_id</em></span> | -bind <span class="emphasis"><em>bind_value_list</em></span> ] \
     [ -column_array <span class="emphasis"><em>array_name</em></span> | -column_set <span class="emphasis"><em>set_name</em></span> ]
-          
-</pre><p>Performs the SQL query <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>, setting variables to
+          </pre><p>Performs the SQL query <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>, setting variables to
 column values. Raises an error if the query does not return exactly
 1 row.</p><p>Example:</p><pre class="programlisting">
 
 db_1row select_foo "select foo, bar from greeble where greeble_id = $greeble_id"
 # Bombs if there&#39;s no such greeble!
 # Now $foo and $bar are set.
 
-          
-</pre>
+          </pre>
 </dd><dt><span class="term"><code class="computeroutput">
 <a name="devguide.dbapi_db_0or1row" id="devguide.dbapi_db_0or1row"></a>db_0or1row</code></span></dt><dd>
 <pre class="programlisting">
 db_0or1row <span class="emphasis"><em>statement-name</em></span><span class="emphasis"><em>sql</em></span> [ -bind <span class="emphasis"><em>bind_set_id</em></span> | -bind <span class="emphasis"><em>bind_value_list</em></span> ] \
     [ -column_array <span class="emphasis"><em>array_name</em></span> | -column_set <span class="emphasis"><em>set_name</em></span> ]
-          
-</pre><p>Performs the SQL query <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>. If a row is returned, sets
+          </pre><p>Performs the SQL query <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>. If a row is returned, sets
 variables to column values and returns 1. If no rows are returned,
 returns 0. If more than one row is returned, throws an error.</p>
 </dd><dt><span class="term"><code class="computeroutput">
@@ -417,8 +400,7 @@
 <a name="devguide.dbapi_db_string" id="devguide.dbapi_db_string"></a>db_string</code></span></dt><dd>
 <pre class="programlisting">
 db_string <span class="emphasis"><em>statement-name</em></span><span class="emphasis"><em>sql</em></span> [ -default <span class="emphasis"><em>default</em></span> ] [ -bind <span class="emphasis"><em>bind_set_id</em></span> | -bind <span class="emphasis"><em>bind_value_list</em></span> ]
-          
-</pre><p>Returns the first column of the result of SQL query <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>.
+          </pre><p>Returns the first column of the result of SQL query <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>.
 If <span class="emphasis"><em><code class="computeroutput">sql</code></em></span> doesn&#39;t return a row,
 returns <span class="emphasis"><em><code class="computeroutput">default</code></em></span> (or throws an error if
 <span class="emphasis"><em><code class="computeroutput">default</code></em></span> is unspecified).
@@ -427,17 +409,15 @@
 <a name="devguide.dbapi_db_list" id="devguide.dbapi_db_list"></a>db_list</code></span></dt><dd>
 <pre class="programlisting">
 db_list <span class="emphasis"><em>statement-name</em></span><span class="emphasis"><em>sql</em></span> [ -bind <span class="emphasis"><em>bind_set_id</em></span> | -bind <span class="emphasis"><em>bind_value_list</em></span> ]
-          
-</pre><p>Returns a Tcl list of the values in the first column of the
+          </pre><p>Returns a Tcl list of the values in the first column of the
 result of SQL query <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>. If <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>
 doesn&#39;t return any rows, returns an empty list. Analogous to
 <code class="computeroutput">database_to_tcl_list</code>.</p>
 </dd><dt><span class="term"><code class="computeroutput">
 <a name="devguide.dbapi_db_list_of_lists" id="devguide.dbapi_db_list_of_lists"></a>db_list_of_lists</code></span></dt><dd>
 <pre class="programlisting">
 db_list_of_lists <span class="emphasis"><em>statement-name</em></span><span class="emphasis"><em>sql</em></span> [ -bind <span class="emphasis"><em>bind_set_id</em></span> | -bind <span class="emphasis"><em>bind_value_list</em></span> ]
-          
-</pre><p>Returns a Tcl list, each element of which is a list of all
+          </pre><p>Returns a Tcl list, each element of which is a list of all
 column values in a row of the result of SQL query <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>.
 If <span class="emphasis"><em><code class="computeroutput">sql</code></em></span> doesn&#39;t return any
 rows, returns an empty list. (Analogous to <code class="computeroutput">database_to_tcl_list_list</code>.)</p>
@@ -448,8 +428,7 @@
     [ -bind <span class="emphasis"><em>bind_set_id</em></span> | -bind <span class="emphasis"><em>bind_value_list</em></span> ] \
     [ -blobs <span class="emphasis"><em>blob_list</em></span> | -clobs <span class="emphasis"><em>clob_list</em></span> |
       -blob_files <span class="emphasis"><em>blob_file_list</em></span> | -clob_files <span class="emphasis"><em>clob_file_list</em></span> ]
-          
-</pre><p>Performs the DML or DDL statement <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>.</p><p>If a length-<span class="emphasis"><em>n</em></span> list of
+          </pre><p>Performs the DML or DDL statement <span class="emphasis"><em><code class="computeroutput">sql</code></em></span>.</p><p>If a length-<span class="emphasis"><em>n</em></span> list of
 blobs or clobs is provided, then the SQL should return <span class="emphasis"><em>n</em></span> blobs or clobs into the bind variables
 <code class="computeroutput">:1</code>, <code class="computeroutput">:2</code>, ... :<span class="emphasis"><em><code class="computeroutput">n</code></em></span>.
 <span class="emphasis"><em><code class="computeroutput">blobs</code></em></span> or <span class="emphasis"><em><code class="computeroutput">clobs</code></em></span>, if specified, should be
@@ -464,8 +443,7 @@
         returning image, thumbnail_image into :1, :2
     }  -blob_files [list "/var/tmp/the_photo" "/var/tmp/the_thumbnail"] 
 
-          
-</pre><p>This inserts a new row into the <code class="computeroutput">photos</code> table, with the contents of the
+          </pre><p>This inserts a new row into the <code class="computeroutput">photos</code> table, with the contents of the
 files <code class="computeroutput">/var/tmp/the_photo</code> and
 <code class="computeroutput">/var/tmp/the_thumbnail</code> in the
 <code class="computeroutput">image</code> and <code class="computeroutput">thumbnail</code> columns, respectively.</p>
@@ -483,21 +461,18 @@
 db_write_blob <span class="emphasis"><em>statement-name</em></span><span class="emphasis"><em>sql</em></span> [ -bind <span class="emphasis"><em>bind_set_id</em></span> | -bind <span class="emphasis"><em>bind_value_list</em></span> ]
 
 db_blob_get_file <span class="emphasis"><em>statement-name</em></span><span class="emphasis"><em>sql</em></span> [ -bind <span class="emphasis"><em>bind_set_id</em></span> | -bind <span class="emphasis"><em>bind_value_list</em></span> ]
-          
-</pre><p>Analogous to <code class="computeroutput">ns_ora
+          </pre><p>Analogous to <code class="computeroutput">ns_ora
 write_clob/write_blob/blob_get_file</code>.</p>
 </dd><dt><span class="term"><code class="computeroutput">
 <a name="devguide.dbapi_db_release_unused_handles" id="devguide.dbapi_db_release_unused_handles"></a>db_release_unused_handles</code></span></dt><dd>
 <pre class="programlisting">
             db_release_unused_handles
-          
-</pre><p>Releases any allocated, unused database handles.</p>
+          </pre><p>Releases any allocated, unused database handles.</p>
 </dd><dt><span class="term"><code class="computeroutput">
 <a name="devguide.dbapi_db_transaction" id="devguide.dbapi_db_transaction"></a>db_transaction</code></span></dt><dd>
 <pre class="programlisting">
 db_transaction <span class="emphasis"><em>code_block</em></span> [ on_error { <span class="emphasis"><em>code_block</em></span> } ]
-          
-</pre><p>Executes <span class="emphasis"><em><code class="computeroutput">code_block</code></em></span> transactionally.
+          </pre><p>Executes <span class="emphasis"><em><code class="computeroutput">code_block</code></em></span> transactionally.
 Nested transactions are supported (<code class="computeroutput">end
 transaction</code> is transparently <code class="computeroutput">ns_db dml</code>'ed when the outermost
 transaction completes). The <code class="computeroutput">db_abort_transaction</code> command can be used to
@@ -535,14 +510,12 @@
 
 print_the_foo ; # Writes out "foo is 8"
 
-          
-</pre>
+          </pre>
 </dd><dt><span class="term"><code class="computeroutput">
 <a name="devguide.dbapi_db_resultrows" id="devguide.dbapi_db_resultrows"></a>db_resultrows</code></span></dt><dd>
 <pre class="programlisting">
 db_resultrows
-          
-</pre><p>Returns the number of rows affected or returned by the previous
+          </pre><p>Returns the number of rows affected or returned by the previous
 statement.</p>
 </dd><dt><span class="term"><code class="computeroutput">
 <a name="devguide.dbapi_db_with_handle" id="devguide.dbapi_db_with_handle"></a>db_with_handle</code></span></dt><dd>
@@ -569,8 +542,7 @@
     }
 }
 
-          
-</pre>
+          </pre>
 </dd><dt><span class="term"><code class="computeroutput">
 <a name="devguide.dbapi_db_nullify_empty_string" id="devguide.dbapi_db_nullify_empty_string"></a>db_nullify_empty_string</code></span></dt><dd>
 <pre class="programlisting">
@@ -593,14 +565,12 @@
 # the empty string we just inserted (because of Oracle&#39;s coercion
 # quirk)
 
-          
-</pre><p>To balance out this asymmetry, you can explicitly set
+          </pre><p>To balance out this asymmetry, you can explicitly set
 <code class="computeroutput">baz</code> to <code class="computeroutput">null</code> by writing:</p><pre class="programlisting">
 
 db_dml foo_insert {insert into foo(baz) values(:1)} {[db_nullify_empty_string $baz]}
 
-          
-</pre>
+          </pre>
 </dd>
 </dl></div><p><span class="cvstag">($&zwnj;Id: db-api.xml,v 1.14 2017/08/07 23:47:54
 gustafn Exp $)</span></p>
@@ -637,13 +607,12 @@
 
 db_flush_cache -cache_key_pattern page_${page_id}_*
 
-    
-</pre>
+    </pre>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="request-processor" leftLabel="Prev" leftTitle="The Request Processor"
-		    rightLink="templates" rightLabel="Next" rightTitle="Using Templates in OpenACS"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="request-processor" leftLabel="Prev" leftTitle="The Request Processor"
+			rightLink="templates" rightLabel="Next" rightTitle="Using Templates in OpenACS"
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/dev-guide.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/dev-guide.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/dev-guide.adp	7 Aug 2017 23:47:49 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/dev-guide.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -1,19 +1,15 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 11. Development
-Reference}</property>
-<property name="doc(title)">Chapter 11. Development
-Reference</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 11. Development Reference}</property>
+<property name="doc(title)">Chapter 11. Development Reference</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-future-topics" leftLabel="Prev"
-		    title="
-Part III. For OpenACS Package
-Developers"
-		    rightLink="packages" rightLabel="Next">
-		<div class="chapter">
+			leftLink="tutorial-future-topics" leftLabel="Prev"
+			title="Part III. For OpenACS
+Package Developers"
+			rightLink="packages" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="dev-guide" id="dev-guide"></a>Chapter 11. Development
-Reference</h2></div></div></div><div class="toc">
+<a name="dev-guide" id="dev-guide"></a>Chapter 11. Development Reference</h2></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="sect1"><a href="packages">OpenACS
 Packages</a></span></dt><dt><span class="sect1"><a href="objects">OpenACS Data Models
@@ -32,8 +28,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-future-topics" leftLabel="Prev" leftTitle="Future Topics"
-		    rightLink="packages" rightLabel="Next" rightTitle="OpenACS Packages"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-package-dev" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-future-topics" leftLabel="Prev" leftTitle="Future Topics"
+			rightLink="packages" rightLabel="Next" rightTitle="OpenACS Packages"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-package-dev" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/doc-standards.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/doc-standards.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/doc-standards.adp	7 Aug 2017 23:47:49 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/doc-standards.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -1,16 +1,13 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 13. Documentation
-Standards}</property>
-<property name="doc(title)">Chapter 13. Documentation
-Standards</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 13. Documentation Standards}</property>
+<property name="doc(title)">Chapter 13. Documentation Standards</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="automated-testing-best-practices" leftLabel="Prev"
-		    title="
-Part III. For OpenACS Package
-Developers"
-		    rightLink="docbook-primer" rightLabel="Next">
-		<div class="chapter">
+			leftLink="automated-testing-best-practices" leftLabel="Prev"
+			title="Part III. For OpenACS
+Package Developers"
+			rightLink="docbook-primer" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="doc-standards" id="doc-standards"></a>Chapter 13. Documentation
 Standards</h2></div></div></div><div class="toc">
@@ -25,8 +22,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="automated-testing-best-practices" leftLabel="Prev" leftTitle="Automated Testing"
-		    rightLink="docbook-primer" rightLabel="Next" rightTitle="OpenACS Documentation Guide"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-package-dev" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="automated-testing-best-practices" leftLabel="Prev" leftTitle="Automated Testing"
+			rightLink="docbook-primer" rightLabel="Next" rightTitle="OpenACS Documentation Guide"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-package-dev" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/docbook-primer.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/docbook-primer.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/docbook-primer.adp	29 Mar 2018 17:28:50 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/docbook-primer.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,22 +3,22 @@
 <property name="doc(title)">OpenACS Documentation Guide</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="doc-standards" leftLabel="Prev"
-		    title="
-Chapter 13. Documentation Standards"
-		    rightLink="psgml-mode" rightLabel="Next">
-		<div class="sect1">
+			leftLink="doc-standards" leftLabel="Prev"
+			title="Chapter 13. Documentation
+Standards"
+			rightLink="psgml-mode" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="docbook-primer" id="docbook-primer"></a>OpenACS Documentation Guide</h2></div></div></div><p>By Claus Rasmussen, with additions by Roberto Mello, Vinod
 Kurup, and the OpenACS Community</p><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="dbprimer-overview" id="dbprimer-overview"></a>Overview of OpenACS Documentation</h3></div></div></div><p>
-<span class="productname">OpenACS</span>â„¢ is
-a powerful system with incredible possibilities and applications,
-but this power comes with some complexity and a steep learning
-curve that is only attenuated by good documentation. Our goal is to
-write superb documentation, so that users, developers and
-administrators of OpenACS installations can enjoy the system.</p><p>The history of OpenACS documentation: ..began by building on a
+<span class="productname">OpenACS</span>™ is a powerful system
+with incredible possibilities and applications, but this power
+comes with some complexity and a steep learning curve that is only
+attenuated by good documentation. Our goal is to write superb
+documentation, so that users, developers and administrators of
+OpenACS installations can enjoy the system.</p><p>The history of OpenACS documentation: ..began by building on a
 good documentation base from ArsDigita&#39;s ACS in the late
 1990's. Some sections of the documentation, however, lacked
 details and examples; others simply did not exist. The OpenACS
@@ -159,8 +159,7 @@
 <p>Use generic DocBook syntax to maximize reader familiarity with
 the documents.</p><pre class="programlisting">
                 &lt;book&gt;&lt;title&gt;&lt;part label="Part 1"&gt;&lt;etc...&gt;
-              
-</pre>
+              </pre>
 </li>
 </ul></div>
 </li>
@@ -391,12 +390,12 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="doc-strategy" id="doc-strategy"></a>OpenACS Documentation Strategy</h3></div></div></div><p>OpenACS documentation development is subject to the constraints
 of the software project development and release methods and cycles
-(<a class="xref" href="cvs-guidelines" title="Using CVS with OpenACS">the section called
-&ldquo;Using CVS with OpenACS&rdquo;</a>).
-Essentially, all phases of work may be active to accommodate the
-asynchronous nature of multiple subprojects evolving by the efforts
-of a global base of participants with culturally diverse time
-references and scheduling idiosyncrasies.</p><p>The documentation strategy is to use project methods to involve
+(<a class="xref" href="cvs-guidelines" title="Using CVS with OpenACS">the section called “Using CVS with
+OpenACS”</a>). Essentially, all phases of work may be active to
+accommodate the asynchronous nature of multiple subprojects
+evolving by the efforts of a global base of participants with
+culturally diverse time references and scheduling
+idiosyncrasies.</p><p>The documentation strategy is to use project methods to involve
 others by collaborating or obtaining guidance or feedback (peer
 review) to distribute the workload and increase the overall value
 of output for the OpenACS project.</p>
@@ -410,7 +409,7 @@
 tools will be marked up to conform to the <a class="ulink" href="http://docbook.org/xml/index.html" target="_top">DocBook XML
 DTD</a>. The remaining discussion is about publishing using
 Docbook.</p><p>
-<a class="indexterm" name="idp140623175611576" id="idp140623175611576"></a> is a publishing standard based on XML
+<a class="indexterm" name="idp140682193502840" id="idp140682193502840"></a> is a publishing standard based on XML
 with similar goals to the OpenACS Documentation project. Some
 specific reasons why we are using DocBook:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>It is open-source.</p></li><li class="listitem"><p>The DocBook community <a class="ulink" href="http://docbook.org/help" target="_top">mailing lists</a>
@@ -450,7 +449,7 @@
 of elements</a> and use more exotic features in your documents. The
 list is made up of SGML-elements but basically the same elements
 are valid in the XML DTD <span class="strong"><strong>as long as
-you remember to</strong></span>: <a class="indexterm" name="idp140623175588680" id="idp140623175588680"></a>
+you remember to</strong></span>: <a class="indexterm" name="idp140682193521704" id="idp140682193521704"></a>
 </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>Always close your tags with corresponding end-tags and to
 <span class="strong"><strong>not use other tag
@@ -491,7 +490,7 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="dbprimer-structure" id="dbprimer-structure"></a>Document Structure</h3></div></div></div><p>The documentation for each package will make up a little
 "book" that is structured like this - examples are
-<span class="emphasis"><em>emphasized</em></span>: <a class="indexterm" name="idp140623175542264" id="idp140623175542264"></a>
+<span class="emphasis"><em>emphasized</em></span>: <a class="indexterm" name="idp140682193542808" id="idp140682193542808"></a>
 </p><pre class="programlisting">
     book                        : <span class="strong"><strong>Docs for one package</strong></span> - <span class="emphasis"><em>templating</em></span>
      |
@@ -516,20 +515,19 @@
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="dbprimer-sections" id="dbprimer-sections"></a>Headlines, Sections</h3></div></div></div><p>
-<a class="indexterm" name="idp140623175476952" id="idp140623175476952"></a> Given that your job starts at the
+<a class="indexterm" name="idp140682193554664" id="idp140682193554664"></a> Given that your job starts at the
 <code class="computeroutput">sect1</code>-level, all your documents
 should open with a <a class="ulink" href="http://docbook.org/tdg/en/html/sect1.html" target="_top"><code class="computeroutput">&lt;sect1&gt;</code></a>-tag
 and end with the corresponding <code class="computeroutput">&lt;/sect1&gt;</code>.</p><p>
-<a class="indexterm" name="idp140623175464952" id="idp140623175464952"></a> You need to feed every <code class="computeroutput">&lt;sect1&gt;</code> two attributes. The first
+<a class="indexterm" name="idp140682193559080" id="idp140682193559080"></a> You need to feed every <code class="computeroutput">&lt;sect1&gt;</code> two attributes. The first
 attribute, <code class="computeroutput">id</code>, is standard and
 can be used with all elements. It comes in very handy when
 interlinking between documents (more about this when talking about
-links in <a class="xref" href="docbook-primer" title="Links">the section called
-&ldquo;Links&rdquo;</a>). The value of
+links in <a class="xref" href="docbook-primer" title="Links">the section called “Links”</a>). The value of
 <code class="computeroutput">id</code> has to be unique throughout
 the book you&#39;re making since the <code class="computeroutput">id</code>'s in your <code class="computeroutput">sect1</code>'s will turn into filenames when
 the book is parsed into HTML.</p><p>
-<a class="indexterm" name="idp140623175469752" id="idp140623175469752"></a> The other attribute is <code class="computeroutput">xreflabel</code>. The value of this is the text
+<a class="indexterm" name="idp140682193563912" id="idp140682193563912"></a> The other attribute is <code class="computeroutput">xreflabel</code>. The value of this is the text
 that will appear as the link when referring to this <code class="computeroutput">sect1</code>.</p><p>Right after the opening tag you put the title of the document -
 this is usually the same as <code class="computeroutput">xreflabel</code>-attribute. E.g. the top level of
 the document you&#39;re reading right now looks like this:</p><pre class="programlisting">
@@ -540,7 +538,7 @@
 
 &lt;/sect1&gt;
 </pre><p>
-<a class="indexterm" name="idp140623175474856" id="idp140623175474856"></a> Inside this container your document will
+<a class="indexterm" name="idp140682186069336" id="idp140682186069336"></a> Inside this container your document will
 be split up into <a class="ulink" href="http://docbook.org/tdg/en/html/sect2.html" target="_top"><code class="computeroutput">&lt;sect2&gt;</code></a>'s,
 each with the same requirements - <code class="computeroutput">id</code> and <code class="computeroutput">xreflabel</code> attributes, and a <code class="computeroutput">&lt;title&gt;</code>-tag inside. Actually, the
 <code class="computeroutput">xreflabel</code> is never required in
@@ -550,7 +548,7 @@
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="dbprimer-code" id="dbprimer-code"></a>Code</h3></div></div></div><p>
-<a class="indexterm" name="idp140623175449672" id="idp140623175449672"></a> For displaying a snippet of code, a
+<a class="indexterm" name="idp140682186055096" id="idp140682186055096"></a> For displaying a snippet of code, a
 filename or anything else you just want to appear as a part of a
 sentence, we use <a class="ulink" href="http://docbook.org/tdg/en/html/computeroutput.html" target="_top"><code class="computeroutput">&lt;computeroutput&gt;</code></a> and <a class="ulink" href="http://docbook.org/tdg/en/html/code.html" target="_top"><code class="code">&lt;code&gt;</code></a> tags. These
 replace the HTML-tag <code class="code">&lt;code&gt;</code> tag,
@@ -564,15 +562,15 @@
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="dbprimer-links" id="dbprimer-links"></a>Links</h3></div></div></div><p>
-<a class="indexterm" name="idp140623175460280" id="idp140623175460280"></a> Linking falls into two different
+<a class="indexterm" name="idp140682186045448" id="idp140682186045448"></a> Linking falls into two different
 categories: inside the book you&#39;re making and outside:</p><div class="variablelist"><dl class="variablelist">
 <dt><span class="term"><span class="strong"><strong>1. Inside
 linking, cross-referencing other parts of your
 book</strong></span></span></dt><dd>
 <p>By having unique <code class="computeroutput">id</code>'s
 you can cross-reference any part of your book with a simple tag,
 regardless of where that part is.</p><p>
-<a class="indexterm" name="idp140623175394568" id="idp140623175394568"></a>Check out how I link to a subsection of
+<a class="indexterm" name="idp140682186031576" id="idp140682186031576"></a>Check out how I link to a subsection of
 the Developer&#39;s Guide:</p><p>Put this in your XML:</p><pre class="programlisting">
 - Find information about creating a package in
 &lt;xref linkend="packages-making-a-package"&gt;&lt;/xref&gt;.
@@ -590,17 +588,16 @@
 &lt;xref linkend="packages-looks"&gt;&lt;/xref&gt;.
 </pre><p>And the output is:</p><pre class="programlisting">
 - Find information about what a package looks like in 
-<a class="xref" href="packages" title="What a Package Looks Like">the section called &ldquo;What a Package Looks Like&rdquo;</a>.
+<a class="xref" href="packages" title="What a Package Looks Like">the section called “What a Package Looks Like”</a>.
 </pre><p>Note that since I haven&#39;t provided an <code class="computeroutput">xreflabel</code> for the subsection, <code class="computeroutput">packages-looks</code>, the parser will try its
 best to explain where the link takes you.</p>
 </dd><dt><span class="term"><span class="strong"><strong>2. Linking
 outside the documentation</strong></span></span></dt><dd>
 <p>
-<a class="indexterm" name="idp140623175410504" id="idp140623175410504"></a> If you&#39;re hyper-linking out of the
+<a class="indexterm" name="idp140682186011816" id="idp140682186011816"></a> If you&#39;re hyper-linking out of the
 documentation, it works almost the same way as HTML - the tag is
 just a little different (<a class="ulink" href="http://docbook.org/tdg/en/html/ulink.html" target="_top"><code class="computeroutput">&lt;ulink&gt;</code></a>):</p><pre class="programlisting">
-&lt;ulink url="http://www.oracle.com/"&gt;Oracle Corporation&lt;/ulink&gt;
-</pre><p>....will create a hyper-link to Oracle in the HTML-version of
+&lt;ulink url="http://www.oracle.com/"&gt;Oracle Corporation&lt;/ulink&gt;</pre><p>....will create a hyper-link to Oracle in the HTML-version of
 the documentation.</p><p>
 <span class="strong"><strong>NOTE:</strong></span> Do NOT use
 ampersands in your hyperlinks. These are reserved for referencing
@@ -615,7 +612,7 @@
 <span class="strong"><strong>Note:</strong></span> The graphics guidelines are
 not written in stone. Use another valid approach if it works better
 for you.</em></span></p><p>
-<a class="indexterm" name="idp140623175419144" id="idp140623175419144"></a> To insert a graphic we use the elements
+<a class="indexterm" name="idp140682185999096" id="idp140682185999096"></a> To insert a graphic we use the elements
 <a class="ulink" href="http://docbook.org/tdg/en/html/mediaobject.html" target="_top"><code class="computeroutput">&lt;mediaobject&gt;</code></a>,
 <a class="ulink" href="http://docbook.org/tdg/en/html/imageobject.html" target="_top"><code class="computeroutput">&lt;imageobject&gt;</code></a>,
 <a class="ulink" href="http://docbook.org/tdg/en/html/imagedata.html" target="_top"><code class="computeroutput">&lt;imagedata&gt;</code></a>,
@@ -640,7 +637,7 @@
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="dbprimer-lists" id="dbprimer-lists"></a>Lists</h3></div></div></div><p>
-<a class="indexterm" name="idp140623175427256" id="idp140623175427256"></a> Here&#39;s how you make the DocBook
+<a class="indexterm" name="idp140682185988600" id="idp140682185988600"></a> Here&#39;s how you make the DocBook
 equivalent of the three usual HTML-lists:</p><div class="variablelist"><dl class="variablelist">
 <dt><span class="term"><span class="strong"><strong>1. How to make
 an &lt;ul&gt;</strong></span></span></dt><dd>
@@ -693,7 +690,7 @@
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="dbprimer-tables" id="dbprimer-tables"></a>Tables</h3></div></div></div><p>
-<a class="indexterm" name="idp140623175373160" id="idp140623175373160"></a> DocBook supports several types of tables,
+<a class="indexterm" name="idp140682185965944" id="idp140682185965944"></a> DocBook supports several types of tables,
 but in most cases, the <a class="ulink" href="http://docbook.org/tdg/en/html/informaltable.html" target="_top"><code class="computeroutput">&lt;informaltable&gt;</code></a> is enough:</p><pre class="programlisting">
 &lt;informaltable frame="all"&gt;
   &lt;tgroup cols="3"&gt;
@@ -739,7 +736,7 @@
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="dbprimer-emphasis" id="dbprimer-emphasis"></a>Emphasis</h3></div></div></div><p>
-<a class="indexterm" name="idp140623175386280" id="idp140623175386280"></a> Our documentation uses two flavors of
+<a class="indexterm" name="idp140682185949880" id="idp140682185949880"></a> Our documentation uses two flavors of
 emphasis - italics and bold type. DocBook uses one - <a class="ulink" href="http://docbook.org/tdg/en/html/emphasis.html" target="_top"><code class="computeroutput">&lt;emphasis&gt;</code></a>.</p><p>The <code class="computeroutput">&lt;emphasis&gt;</code> tag
 defaults to italics when parsed. If you&#39;re looking for
 emphasizing with bold type, use <code class="computeroutput">&lt;emphasis
@@ -799,9 +796,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="doc-standards" leftLabel="Prev" leftTitle="
-Chapter 13. Documentation Standards"
-		    rightLink="psgml-mode" rightLabel="Next" rightTitle="Using PSGML mode in Emacs"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="doc-standards" upLabel="Up"> 
-		
+			leftLink="doc-standards" leftLabel="Prev" leftTitle="Chapter 13. Documentation
+Standards"
+			rightLink="psgml-mode" rightLabel="Next" rightTitle="Using PSGML mode in Emacs"
+			homeLink="index" homeLabel="Home" 
+			upLink="doc-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/docbook-primer.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/docbook-primer.html,v
diff -u -r1.55 -r1.56
--- openacs-4/packages/acs-core-docs/www/docbook-primer.html	29 Mar 2018 17:28:50 -0000	1.55
+++ openacs-4/packages/acs-core-docs/www/docbook-primer.html	25 Apr 2018 08:38:27 -0000	1.56
@@ -674,7 +674,7 @@
     Docbook.
 </p>
 <p>
-<a class="indexterm" name="idp140623175611576"></a> 
+<a class="indexterm" name="idp140682193502840"></a> 
       is a publishing standard based on XML with
       similar goals to the OpenACS Documentation project.  Some specific reasons why we are using DocBook:
     </p>
@@ -743,7 +743,7 @@
     list of elements</a> and use more exotic features in your
       documents. The list is made up of SGML-elements but basically
       the same elements are valid in the XML DTD <span class="strong"><strong>as long as you remember to</strong></span>:
-      <a class="indexterm" name="idp140623175588680"></a>
+      <a class="indexterm" name="idp140682193521704"></a>
     </p>
 
     <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
@@ -826,7 +826,7 @@
       The documentation for each package will make up a little "book" that is structured like this 
       - examples are <span class="emphasis"><em>emphasized</em></span>:
 
-      <a class="indexterm" name="idp140623175542264"></a>
+      <a class="indexterm" name="idp140682193542808"></a>
 
     </p>
 
@@ -862,14 +862,14 @@
     
 
     <p>
-      <a class="indexterm" name="idp140623175476952"></a>
+      <a class="indexterm" name="idp140682193554664"></a>
       Given that your job starts at the <code class="computeroutput">sect1</code>-level, all your documents should open with a
       <a class="ulink" href="http://docbook.org/tdg/en/html/sect1.html" target="_top"><code class="computeroutput">&lt;sect1&gt;</code></a>-tag and end 
       with the corresponding <code class="computeroutput">&lt;/sect1&gt;</code>.
     </p>
 
     <p>
-      <a class="indexterm" name="idp140623175464952"></a>
+      <a class="indexterm" name="idp140682193559080"></a>
       You need to feed every <code class="computeroutput">&lt;sect1&gt;</code> two attributes. The first attribute,
       <code class="computeroutput">id</code>, is standard and can be used with all elements. It comes in  very 
       handy when interlinking between documents (more about this when talking about links in <a class="xref" href="docbook-primer.html#dbprimer-links" title="Links">the section called “Links”</a>). 
@@ -879,7 +879,7 @@
     </p>
 
     <p>
-      <a class="indexterm" name="idp140623175469752"></a>
+      <a class="indexterm" name="idp140682193563912"></a>
       The other attribute is <code class="computeroutput">xreflabel</code>. The value of this is the text that will appear
       as the link when referring to this <code class="computeroutput">sect1</code>.
     </p>
@@ -900,7 +900,7 @@
 </pre>
 
     <p>
-      <a class="indexterm" name="idp140623175474856"></a>
+      <a class="indexterm" name="idp140682186069336"></a>
       Inside this container your document will be split up into 
       <a class="ulink" href="http://docbook.org/tdg/en/html/sect2.html" target="_top"><code class="computeroutput">&lt;sect2&gt;</code></a>'s,
       each with the same requirements - <code class="computeroutput">id</code> and <code class="computeroutput">xreflabel</code>
@@ -920,7 +920,7 @@
     
 
     <p>
-      <a class="indexterm" name="idp140623175449672"></a>
+      <a class="indexterm" name="idp140682186055096"></a>
       For displaying a snippet of code, a filename or anything else you just want to appear as a part of
       a sentence, we use  
       <a class="ulink" href="http://docbook.org/tdg/en/html/computeroutput.html" target="_top"><code class="computeroutput">&lt;computeroutput&gt;</code></a>
@@ -948,7 +948,7 @@
     
 
     <p>
-      <a class="indexterm" name="idp140623175460280"></a>
+      <a class="indexterm" name="idp140682186045448"></a>
       Linking falls into two different categories: inside the book you're making and outside:
     </p>
 
@@ -958,7 +958,7 @@
         with a simple tag, regardless of where that part is.
       </p>
 
-      <p><a class="indexterm" name="idp140623175394568"></a>Check out how I link to a subsection of the Developer's Guide:</p>
+      <p><a class="indexterm" name="idp140682186031576"></a>Check out how I link to a subsection of the Developer's Guide:</p>
 
 
       <p>Put this in your XML:</p>
@@ -1015,7 +1015,7 @@
 
 
     </dd><dt><span class="term"><span class="strong"><strong>2. Linking outside the documentation</strong></span></span></dt><dd><p>
-        <a class="indexterm" name="idp140623175410504"></a>
+        <a class="indexterm" name="idp140682186011816"></a>
         If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just
         a little different
 
@@ -1051,7 +1051,7 @@
     </p>
 
     <p>
-      <a class="indexterm" name="idp140623175419144"></a>
+      <a class="indexterm" name="idp140682185999096"></a>
       To insert a graphic we use the elements 
       <a class="ulink" href="http://docbook.org/tdg/en/html/mediaobject.html" target="_top"><code class="computeroutput">&lt;mediaobject&gt;</code></a>,
       <a class="ulink" href="http://docbook.org/tdg/en/html/imageobject.html" target="_top"><code class="computeroutput">&lt;imageobject&gt;</code></a>,
@@ -1088,7 +1088,7 @@
     
 
     <p>
-      <a class="indexterm" name="idp140623175427256"></a>
+      <a class="indexterm" name="idp140682185988600"></a>
       Here's how you make the DocBook equivalent of the three usual HTML-lists:
     </p>
 
@@ -1155,7 +1155,7 @@
     
 
     <p>
-      <a class="indexterm" name="idp140623175373160"></a>
+      <a class="indexterm" name="idp140682185965944"></a>
       DocBook supports several types of tables, but in most cases, the
       <a class="ulink" href="http://docbook.org/tdg/en/html/informaltable.html" target="_top"><code class="computeroutput">&lt;informaltable&gt;</code></a>
       is enough:
@@ -1211,7 +1211,7 @@
     
 
     <p>
-      <a class="indexterm" name="idp140623175386280"></a>
+      <a class="indexterm" name="idp140682185949880"></a>
       Our documentation uses two flavors of emphasis - italics and bold type. DocBook uses one - 
       <a class="ulink" href="http://docbook.org/tdg/en/html/emphasis.html" target="_top"><code class="computeroutput">&lt;emphasis&gt;</code></a>.
     </p>
Index: openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp	24 Mar 2018 00:14:57 -0000	1.5
+++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp	25 Apr 2018 08:38:27 -0000	1.6
@@ -3,11 +3,11 @@
 <property name="doc(title)">Constraint naming standard</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="eng-standards-versioning" leftLabel="Prev"
-		    title="
-Chapter 12. Engineering Standards"
-		    rightLink="eng-standards-filenaming" rightLabel="Next">
-		<div class="sect1">
+			leftLink="eng-standards-versioning" leftLabel="Prev"
+			title="Chapter 12. Engineering
+Standards"
+			rightLink="eng-standards-filenaming" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="eng-standards-constraint-naming" id="eng-standards-constraint-naming"></a>Constraint naming
 standard</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Michael Bryzek</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
@@ -18,7 +18,7 @@
 understandable. By correctly naming all constraints, we can quickly
 associate a particular constraint with our data model. This gives
 us two real advantages:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
-<li class="listitem"><p>We can quickly identify and fix any errors.</p></li><li class="listitem"><p>We can reliabily modify or drop constraints</p></li>
+<li class="listitem"><p>We can quickly identify and fix any errors.</p></li><li class="listitem"><p>We can reliability modify or drop constraints</p></li>
 </ul></div><p>
 <span class="phrase">Why do we need a naming convention?</span><a class="ulink" href="https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF00223" target="_top">Oracle limits names</a>, in general, to 30
 characters, which is hardly enough for a human readable constraint
@@ -124,14 +124,14 @@
 immeditately in error debugging (e.g. the error will say something
 like "Cannot insert null value into column"), we
 recommend naming not null constraints to be consistent in our
-naming of all constraints.</p><p><span class="cvstag">($&zwnj;Id: constraint-naming.xml,v 1.7
-2017/08/07 23:47:54 gustafn Exp $)</span></p>
+naming of all constraints.</p><p><span class="cvstag">($&zwnj;Id: constraint-naming.xml,v 1.10
+2018/03/24 00:14:57 hectorr Exp $)</span></p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="eng-standards-versioning" leftLabel="Prev" leftTitle="Release Version Numbering"
-		    rightLink="eng-standards-filenaming" rightLabel="Next" rightTitle="ACS File Naming and Formatting
+			leftLink="eng-standards-versioning" leftLabel="Prev" leftTitle="Release Version Numbering"
+			rightLink="eng-standards-filenaming" rightLabel="Next" rightTitle="ACS File Naming and Formatting
 Standards"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="eng-standards" upLabel="Up"> 
-		
+			homeLink="index" homeLabel="Home" 
+			upLink="eng-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html,v
diff -u -r1.52 -r1.53
--- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html	24 Mar 2018 00:14:57 -0000	1.52
+++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html	25 Apr 2018 08:38:27 -0000	1.53
@@ -17,7 +17,7 @@
 with our data model. This gives us two real advantages:
 </p>
 
-<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> We can quickly identify and fix any errors. </p></li><li class="listitem"><p> We can reliabily modify or drop constraints </p></li></ul></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> We can quickly identify and fix any errors. </p></li><li class="listitem"><p> We can reliability modify or drop constraints </p></li></ul></div>
 
 <p>
 <span class="phrase">Why do we need a naming convention? </span>
Index: openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">ACS File Naming and Formatting Standards</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="eng-standards-constraint-naming" leftLabel="Prev"
-		    title="
-Chapter 12. Engineering Standards"
-		    rightLink="eng-standards-plsql" rightLabel="Next">
-		<div class="sect1">
+			leftLink="eng-standards-constraint-naming" leftLabel="Prev"
+			title="Chapter 12. Engineering
+Standards"
+			rightLink="eng-standards-plsql" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="eng-standards-filenaming" id="eng-standards-filenaming"></a>ACS
 File Naming and Formatting Standards</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Michael Yoon and Aurelius
@@ -219,8 +219,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="eng-standards-constraint-naming" leftLabel="Prev" leftTitle="Constraint naming standard"
-		    rightLink="eng-standards-plsql" rightLabel="Next" rightTitle="PL/SQL Standards"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="eng-standards" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="eng-standards-constraint-naming" leftLabel="Prev" leftTitle="Constraint naming standard"
+			rightLink="eng-standards-plsql" rightLabel="Next" rightTitle="PL/SQL Standards"
+			homeLink="index" homeLabel="Home" 
+			upLink="eng-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/eng-standards-plsql.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-plsql.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.adp	18 Apr 2018 08:07:33 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,11 +3,11 @@
 <property name="doc(title)">PL/SQL Standards</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="eng-standards-filenaming" leftLabel="Prev"
-		    title="
-Chapter 12. Engineering Standards"
-		    rightLink="variables" rightLabel="Next">
-		<div class="sect1">
+			leftLink="eng-standards-filenaming" leftLabel="Prev"
+			title="Chapter 12. Engineering
+Standards"
+			rightLink="variables" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="eng-standards-plsql" id="eng-standards-plsql"></a>PL/SQL Standards</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Richard Li and Yon
 Feldman</span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>Like any other part of the OpenACS, PL/SQL (or pl/pgsql) code
@@ -140,14 +140,14 @@
 browsers. This means that we should try to make it as consistent as
 possible to all source code readers.</p></li><li class="listitem"><p>Lowercase everything, with the exception of %TYPE and
 %ROWTYPE.</p></li>
-</ol></div><p><span class="cvstag">($&zwnj;Id: plsql.xml,v 1.7 2017/08/07 23:47:54
+</ol></div><p><span class="cvstag">($&zwnj;Id: plsql.xml,v 1.8 2018/03/28 07:55:07
 gustafn Exp $)</span></p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="eng-standards-filenaming" leftLabel="Prev" leftTitle="ACS File Naming and Formatting
+			leftLink="eng-standards-filenaming" leftLabel="Prev" leftTitle="ACS File Naming and Formatting
 Standards"
-		    rightLink="variables" rightLabel="Next" rightTitle="Variables"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="eng-standards" upLabel="Up"> 
-		
+			rightLink="variables" rightLabel="Next" rightTitle="Variables"
+			homeLink="index" homeLabel="Home" 
+			upLink="eng-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/eng-standards-versioning.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-versioning.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Release Version Numbering</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="cvs-guidelines" leftLabel="Prev"
-		    title="
-Chapter 12. Engineering Standards"
-		    rightLink="eng-standards-constraint-naming" rightLabel="Next">
-		<div class="sect1">
+			leftLink="cvs-guidelines" leftLabel="Prev"
+			title="Chapter 12. Engineering
+Standards"
+			rightLink="eng-standards-constraint-naming" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="eng-standards-versioning" id="eng-standards-versioning"></a>Release Version Numbering</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red"><span class="cvstag">($&zwnj;Id:
 eng-standards-versioning.xml,v 1.11 2017/08/07 23:47:54 gustafn Exp
@@ -45,8 +45,7 @@
 </ul></div><p>Milestone markers are numbered: d1, d2, ..., a1, b1, rc1,
 etc.</p>
 </li>
-</ul></div><p>A complete sequence of milestones between two releases:</p><pre class="programlisting">
-5.0.0
+</ul></div><p>A complete sequence of milestones between two releases:</p><pre class="programlisting">5.0.0
 5.0.0rc2
 5.0.0rc1
 5.0.0b4
@@ -55,8 +54,7 @@
 5.0.0a3
 5.0.0a1
 5.0.0d1
-4.6.3
-</pre><p>Version numbers are also recorded in the CVS repository so that
+4.6.3</pre><p>Version numbers are also recorded in the CVS repository so that
 the code tree can be restored to the exact state it was in for a
 particular release. To translate between a distribution tar file
 (acs-3.2.2.tar.gz) and a CVS tag, just swap '.' for
@@ -112,8 +110,7 @@
         &lt;maturity&gt;1&lt;/maturity&gt;
         &lt;callbacks&gt;
             ...
-    
-</pre><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
+    </pre><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>
 <span class="strong"><strong>Level -1:
 Incompatible.</strong></span> This package is not supported for
@@ -172,8 +169,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="cvs-guidelines" leftLabel="Prev" leftTitle="CVS Guidelines"
-		    rightLink="eng-standards-constraint-naming" rightLabel="Next" rightTitle="Constraint naming standard"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="eng-standards" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="cvs-guidelines" leftLabel="Prev" leftTitle="CVS Guidelines"
+			rightLink="eng-standards-constraint-naming" rightLabel="Next" rightTitle="Constraint naming standard"
+			homeLink="index" homeLabel="Home" 
+			upLink="eng-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/eng-standards.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/eng-standards.adp	7 Aug 2017 23:47:49 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/eng-standards.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -1,16 +1,13 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 12. Engineering
-Standards}</property>
-<property name="doc(title)">Chapter 12. Engineering
-Standards</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 12. Engineering Standards}</property>
+<property name="doc(title)">Chapter 12. Engineering Standards</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="form-builder" leftLabel="Prev"
-		    title="
-Part III. For OpenACS Package
-Developers"
-		    rightLink="style-guide" rightLabel="Next">
-		<div class="chapter">
+			leftLink="form-builder" leftLabel="Prev"
+			title="Part III. For OpenACS
+Package Developers"
+			rightLink="style-guide" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="eng-standards" id="eng-standards"></a>Chapter 12. Engineering
 Standards</h2></div></div></div><div class="toc">
@@ -27,9 +24,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="form-builder" leftLabel="Prev" leftTitle="Using Form Builder: building html
+			leftLink="form-builder" leftLabel="Prev" leftTitle="Using Form Builder: building html
 forms dynamically"
-		    rightLink="style-guide" rightLabel="Next" rightTitle="OpenACS Style Guide"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-package-dev" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="style-guide" rightLabel="Next" rightTitle="OpenACS Style Guide"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-package-dev" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp	28 Mar 2018 21:55:34 -0000	1.5
+++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp	25 Apr 2018 08:38:27 -0000	1.6
@@ -3,16 +3,16 @@
 <property name="doc(title)">External Authentication Requirements</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="bootstrap-acs" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="releasing-openacs" rightLabel="Next">
-		<div class="sect1">
+			leftLink="bootstrap-acs" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="releasing-openacs" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="ext-auth-requirements" id="ext-auth-requirements"></a>External
 Authentication Requirements</h2></div></div></div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623180002952" id="idp140623180002952"></a>Vision</h3></div></div></div><p>People have plenty of usernames and passwords already, we
+<a name="idp140682194045416" id="idp140682194045416"></a>Vision</h3></div></div></div><p>People have plenty of usernames and passwords already, we
 don&#39;t want them to have yet another. We want people to be able
 to log in to OpenACS with the same password they use to log in to
 any other system.</p><p>Besides, administrators have better things to do than create
@@ -74,7 +74,7 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="Requirements" id="Requirements"></a>Requirements</h3></div></div></div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623180021992" id="idp140623180021992"></a>New API</h4></div></div></div><div class="segmentedlist">
+<a name="idp140682194064456" id="idp140682194064456"></a>New API</h4></div></div></div><div class="segmentedlist">
 <div class="seglistitem">
 <div class="seg">
 <strong><span class="segtitle">New
@@ -160,9 +160,9 @@
 will either already be in the users table through a batch
 synchronization job, or that the relevant authentication
 implementation supports real-time synchronization of user data.
-Specifically, if you want remote users who haven&#39;t yet logged
-in to OpenACS to show up in user searches, you&#39;ll have to do
-the batch synchronization.</p><p>All in all, the login box will be an includeable template and
+Specifically, if you want remote users who haven&#39;t yet
+logged-in to OpenACS to show up in user searches, you&#39;ll have
+to do the batch synchronization.</p><p>All in all, the login box will be an includeable template and
 look like this:</p><pre class="programlisting">
 Username:  ________
 Password:  ________
@@ -436,16 +436,16 @@
 <strong><span class="segtitle">:</span></strong>
 Untrusted Logins</div>
 </div></div><p>I like the idea of having multiple login levels:</p><div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem"><p>Not logged in</p></li><li class="listitem"><p>Untrusted login: We&#39;ll show you un-sensitive personal
+<li class="listitem"><p>Not logged-in</p></li><li class="listitem"><p>Untrusted login: We&#39;ll show you un-sensitive personal
 content, but won&#39;t let you modify anything or see personal
 data. A normal login becomes untrusted after a certain amount of
 time, and the user will have to re-enter his/her password in order
 to gain access to personal data. Untrusted login never expires,
 unless explicitly done so through either changing password or
-clicking a special "expire all logins" link.</p></li><li class="listitem"><p>Normal login: The user is logged, and has type his password
+clicking a special "expire all logins" link.</p></li><li class="listitem"><p>Normal login: The user is logged-in, and has type his password
 sufficiently recently that we trust the login. All normal
 operations are allowed. Will degrade to untrusted login after a
-specified amount of time.</p></li><li class="listitem"><p>Secure login: The user is logged in over a secure connection
+specified amount of time.</p></li><li class="listitem"><p>Secure login: The user is logged-in over a secure connection
 (HTTPS), potentially even using a special secure password. This
 would be for sensitive actions, such as credit card
 transactions.</p></li>
@@ -463,13 +463,14 @@
 only when you want to post do you need to log in. This makes it
 even more feasible to have a more secure login expiration
 setting.</p><p>By default, <code class="literal">auth::require_login</code>
-would bounce to the login page if the user is only logged in at the
+would bounce to the login page if the user is only logged-in at the
 untrusted level. Only if you explicitly say <code class="literal">auth::require_login -untrusted</code> will we give you
-the user_id of a user who&#39;s only logged in in untrusted
+the user_id of a user who&#39;s only logged-in in untrusted
 mode.</p><p>Similarly, <code class="literal">ad_conn user_id</code> will
-continue to return 0 (not logged in) when the user is only logged
-in untrusted, and we&#39;ll supply another variable, <code class="literal">ad_conn untrusted_user_id</code>, which wlll be set to
-the user_id for all login levels.</p><p>This should ensure that we get full access to the new feature,
+continue to return 0 (not logged-in) when the user is only
+logged-in untrusted, and we&#39;ll supply another variable,
+<code class="literal">ad_conn untrusted_user_id</code>, which wlll
+be set to the user_id for all login levels.</p><p>This should ensure that we get full access to the new feature,
 while leaving all current code just as secure as it was before.</p>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
@@ -518,10 +519,10 @@
 <strong><span class="segtitle">:</span></strong>
 rewrite cookie handling</div>
 </div></div><p>Currently, if you&#39;ve ever left a permanent login cookie on
-someone elses machine, that person will be forever logged in until
+someone elses machine, that person will be forever logged-in until
 he/she explicitly logs out. You can change your password, you can
 do anything you want, but unless a logout is requested from that
-particular browser, that browser will be logged in forever.</p><p>I want to change our session handling code so that old login
+particular browser, that browser will be logged-in forever.</p><p>I want to change our session handling code so that old login
 cookies can be expired. This would be done automatically whenever
 you change your password, and we could also offer a link which does
 this without changing passwords. It&#39;s an important security
@@ -798,9 +799,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="bootstrap-acs" leftLabel="Prev" leftTitle="Bootstrapping OpenACS"
-		    rightLink="releasing-openacs" rightLabel="Next" rightTitle="
-Chapter 16. Releasing OpenACS"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
+			leftLink="bootstrap-acs" leftLabel="Prev" leftTitle="Bootstrapping OpenACS"
+			rightLink="releasing-openacs" rightLabel="Next" rightTitle="Chapter 16. Releasing
+OpenACS"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html,v
diff -u -r1.44 -r1.45
--- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html	28 Mar 2018 21:55:34 -0000	1.44
+++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html	25 Apr 2018 08:38:27 -0000	1.45
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 'http://www.w3.org/TR/html4/loose.dtd"'>
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>External Authentication Requirements</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="kernel-doc.html" title="Chapter 15. Kernel Documentation"><link rel="previous" href="bootstrap-acs.html" title="Bootstrapping OpenACS"><link rel="next" href="releasing-openacs.html" title="Chapter 16. Releasing OpenACS"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="bootstrap-acs.html">Prev</a> </td><th width="60%" align="center">Chapter 15. Kernel Documentation</th><td width="20%" align="right"> <a accesskey="n" href="releasing-openacs.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ext-auth-requirements"></a>External Authentication Requirements</h2></div></div></div>
 
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623180002952"></a>Vision</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682194045416"></a>Vision</h3></div></div></div>
     <p>People have plenty of usernames and passwords already, we
 don't want them to have yet another. We want people to be able to
 log in to OpenACS with the same password they use to log in to any
@@ -72,7 +72,7 @@
 
   <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="Requirements"></a>Requirements</h3></div></div></div>
 
-  <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623180021992"></a>New API</h4></div></div></div>
+  <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682194064456"></a>New API</h4></div></div></div>
   
     <div class="segmentedlist">
       
@@ -147,7 +147,7 @@
 either already be in the users table through a batch
 synchronization job, or that the relevant authentication
 implementation supports real-time synchronization of user data.
-Specifically, if you want remote users who haven't yet logged in to
+Specifically, if you want remote users who haven't yet logged-in to
 OpenACS to show up in user searches, you'll have to do the batch
 synchronization.</p>
       <p>All in all, the login box will be an includeable template and
@@ -451,16 +451,16 @@
         </div>
       </div>
       <p>I like the idea of having multiple login levels:</p>
-      <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Not logged in</p></li><li class="listitem"><p>Untrusted login: We'll show you un-sensitive personal
+      <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Not logged-in</p></li><li class="listitem"><p>Untrusted login: We'll show you un-sensitive personal
           content, but won't let you modify anything or see personal data. A
           normal login becomes untrusted after a certain amount of time, and
           the user will have to re-enter his/her password in order to gain
           access to personal data. Untrusted login never expires, unless
           explicitly done so through either changing password or clicking a
-          special "expire all logins" link.</p></li><li class="listitem"><p>Normal login: The user is logged, and has type his
+          special "expire all logins" link.</p></li><li class="listitem"><p>Normal login: The user is logged-in, and has type his
           password sufficiently recently that we trust the login. All normal
           operations are allowed. Will degrade to untrusted login after a
-          specified amount of time.</p></li><li class="listitem"><p>Secure login: The user is logged in over a secure
+          specified amount of time.</p></li><li class="listitem"><p>Secure login: The user is logged-in over a secure
           connection (HTTPS), potentially even using a special secure
           password. This would be for sensitive actions, such as credit card
           transactions.</p></li></ol></div>
@@ -480,13 +480,13 @@
 even more feasible to have a more secure login expiration
 setting.</p>
       <p>By default, <code class="literal">auth::require_login</code> would
-bounce to the login page if the user is only logged in at the
+bounce to the login page if the user is only logged-in at the
 untrusted level. Only if you explicitly say
 <code class="literal">auth::require_login -untrusted</code> will we give you
-the user_id of a user who's only logged in in untrusted
+the user_id of a user who's only logged-in in untrusted
 mode.</p>
       <p>Similarly, <code class="literal">ad_conn user_id</code> will continue
-to return 0 (not logged in) when the user is only logged in
+to return 0 (not logged-in) when the user is only logged-in
 untrusted, and we'll supply another variable, <code class="literal">ad_conn
 untrusted_user_id</code>, which wlll be set to the user_id for
 all login levels.</p>
@@ -555,10 +555,10 @@
           </div>
       </div>
       <p>Currently, if you've ever left a permanent login cookie on
-someone elses machine, that person will be forever logged in until
+someone elses machine, that person will be forever logged-in until
 he/she explicitly logs out. You can change your password, you can
 do anything you want, but unless a logout is requested from that
-particular browser, that browser will be logged in forever.</p>
+particular browser, that browser will be logged-in forever.</p>
       <p>I want to change our session handling code so that old login
 cookies can be expired. This would be done automatically whenever
 you change your password, and we could also offer a link which does
Index: openacs-4/packages/acs-core-docs/www/filename.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/filename.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/filename.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/filename.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Detailed Design Documentation Template</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="nxml-mode" leftLabel="Prev"
-		    title="
-Chapter 13. Documentation Standards"
-		    rightLink="requirements-template" rightLabel="Next">
-		<div class="sect1">
+			leftLink="nxml-mode" leftLabel="Prev"
+			title="Chapter 13. Documentation
+Standards"
+			rightLink="requirements-template" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="filename" id="filename"></a>Detailed Design Documentation Template</h2></div></div></div><p>By <a class="ulink" href="mailto:youremail\@example.com" target="_top">You</a>
 </p><div class="sect2">
@@ -199,9 +199,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="nxml-mode" leftLabel="Prev" leftTitle="Using nXML mode in Emacs"
-		    rightLink="requirements-template" rightLabel="Next" rightTitle="System/Application Requirements
+			leftLink="nxml-mode" leftLabel="Prev" leftTitle="Using nXML mode in Emacs"
+			rightLink="requirements-template" rightLabel="Next" rightTitle="System/Application Requirements
 Template"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="doc-standards" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="doc-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/for-everyone.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/for-everyone.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/for-everyone.adp	7 Aug 2017 23:47:50 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/for-everyone.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -3,13 +3,12 @@
 <property name="doc(title)">Part I. OpenACS For Everyone</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="index" leftLabel="Prev"
-		    title=""
-		    rightLink="general-documents" rightLabel="Next">
-		<div class="part">
+			leftLink="index" leftLabel="Prev"
+			title=""
+			rightLink="general-documents" rightLabel="Next">
+		    <div class="part">
 <div class="titlepage"><div><div><h1 class="title">
-<a name="for-everyone" id="for-everyone"></a>Part I. OpenACS For
-Everyone</h1></div></div></div><div class="toc">
+<a name="for-everyone" id="for-everyone"></a>Part I. OpenACS For Everyone</h1></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="chapter"><a href="general-documents">1. High
 level information: What is OpenACS?</a></span></dt><dd><dl>
@@ -20,10 +19,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="index" leftLabel="Prev" leftTitle="OpenACS Core Documentation"
-		    rightLink="general-documents" rightLabel="Next" rightTitle="
-Chapter 1. High level information: What is
-OpenACS?"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="index" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="index" leftLabel="Prev" leftTitle="OpenACS Core Documentation"
+			rightLink="general-documents" rightLabel="Next" rightTitle="Chapter 1. High level
+information: What is OpenACS?"
+			homeLink="index" homeLabel="Home" 
+			upLink="index" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/form-builder.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/form-builder.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/form-builder.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Using Form Builder: building html forms dynamically</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="programming-with-aolserver" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="eng-standards" rightLabel="Next">
-		<div class="sect1">
+			leftLink="programming-with-aolserver" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="eng-standards" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="form-builder" id="form-builder"></a>Using Form Builder: building html forms
 dynamically</h2></div></div></div><div class="sect2">
@@ -25,10 +25,10 @@
 <a name="multi-part-elements" id="multi-part-elements"></a>Multi-part Elements</h3></div></div></div><p>Some elements have more than one choice, or can submit more than
 one value.</p><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623176711352" id="idp140623176711352"></a>SELECT elements</h4></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+<a name="idp140682187815384" id="idp140682187815384"></a>SELECT elements</h4></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
 <p>
-<strong>Creating the form element. </strong>
-Populate a list of lists with values for the option list.</p><pre class="programlisting">
+<strong>Creating the form element. </strong> Populate a
+list of lists with values for the option list.</p><pre class="programlisting">
 set foo_options [db_list_of_lists foo_option_list "
     select foo,
            foo_id
@@ -37,12 +37,10 @@
 </pre><p>The variable <code class="computeroutput">foo_options</code>
 should resemble <code class="computeroutput">{{first foo} 1234}
 {{second foo} 1235}</code>
-</p><p>Within ad_form, set up the element to use this list:</p><pre class="programlisting">
-{foo:text(select)
+</p><p>Within ad_form, set up the element to use this list:</p><pre class="programlisting">{foo:text(select)
         {label "Which Foo"}
         {options $foo_options}
-    }
-</pre><p>This will result in a single name/value pair coming back in the
+    }</pre><p>This will result in a single name/value pair coming back in the
 submitted form. Handle this within the same ad_form structure, in
 the <code class="computeroutput">-new_data</code> and <code class="computeroutput">-edit_data</code>. In the example, it is available
 as <code class="computeroutput">$foo</code>
@@ -57,29 +55,25 @@
 form items from a sub-category when the first category is selected.
 Ad_form makes this fairly easy to do. In the definition of your
 form element, include an html section</p><pre class="programlisting">
-    {pm_task_id:integer(select),optional
+{pm_task_id:integer(select),optional
         {label "Subject"}
         {options {$task_options}}
         {html {onChange "document.form_name.__refreshing_p.value='1';submit()"}}
         {value $pm_task_id}
     }
-    
-</pre><p>What this will do is set the value for pm_task_id and all the
+    </pre><p>What this will do is set the value for pm_task_id and all the
 other form elements, and resubmit the form. If you then include a
 block that extends the form, you&#39;ll have the opportunity to add
 in subcategories:</p><pre class="programlisting">
-    if {[info exists pm_task_id] &amp;&amp; $pm_task_id ne ""} {
+if {[info exists pm_task_id] &amp;&amp; $pm_task_id ne ""} {
     db_1row get_task_values { }
     ad_form -extend -name form_name -form { ... }
-    
-</pre><p>Note that you will get strange results when you try to set the
+    </pre><p>Note that you will get strange results when you try to set the
 values for the form. You&#39;ll need to set them explicitly in an
 -on_refresh section of your ad_form. In that section, you&#39;ll
-get the values from the database, and set the values as so:</p><pre class="programlisting">
-    db_1row get_task_values { }
+get the values from the database, and set the values as so:</p><pre class="programlisting">    db_1row get_task_values { }
     template::element set_value form_name estimated_hours_work $estimated_hours_work
-    
-</pre>
+    </pre>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="form-troubleshooting" id="form-troubleshooting"></a>Troubleshooting</h3></div></div></div><p>A good way to troubleshoot when you&#39;re using ad_form is to
@@ -93,8 +87,7 @@
     ns_log notice the following form was submitted on my page
     ns_set print $mypage
 }
-    
-</pre>
+    </pre>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="form-widgets" id="form-widgets"></a>Tips
@@ -106,14 +99,14 @@
 Errors</h3></div></div></div><p>Here are some common errors and what to do when you encounter
 them:</p><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623176734104" id="idp140623176734104"></a>Error when selecting values</h4></div></div></div><p>This generally happens when there is an error in your query.</p>
+<a name="idp140682187269320" id="idp140682187269320"></a>Error when selecting values</h4></div></div></div><p>This generally happens when there is an error in your query.</p>
 </div>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="programming-with-aolserver" leftLabel="Prev" leftTitle="Programming with AOLserver"
-		    rightLink="eng-standards" rightLabel="Next" rightTitle="
-Chapter 12. Engineering Standards"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="programming-with-aolserver" leftLabel="Prev" leftTitle="Programming with AOLserver"
+			rightLink="eng-standards" rightLabel="Next" rightTitle="Chapter 12. Engineering
+Standards"
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/form-builder.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.html,v
diff -u -r1.32 -r1.33
--- openacs-4/packages/acs-core-docs/www/form-builder.html	8 Nov 2017 09:42:10 -0000	1.32
+++ openacs-4/packages/acs-core-docs/www/form-builder.html	25 Apr 2018 08:38:27 -0000	1.33
@@ -19,7 +19,7 @@
   <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="multi-part-elements"></a>Multi-part Elements</h3></div></div></div>
     
     <p>Some elements have more than one choice, or can submit more than one value.</p>
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623176711352"></a>SELECT elements</h4></div></div></div>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682187815384"></a>SELECT elements</h4></div></div></div>
       
       <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
           <p>
@@ -114,7 +114,7 @@
     
     <p>Here are some common errors and what to do when you
     encounter them:</p>
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623176734104"></a>Error when selecting values</h4></div></div></div>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682187269320"></a>Error when selecting values</h4></div></div></div>
       
           <p>This generally happens when there is an error in your
           query.</p>
Index: openacs-4/packages/acs-core-docs/www/general-documents.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/general-documents.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/general-documents.adp	7 Aug 2017 23:47:50 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/general-documents.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -1,28 +1,28 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 1. High level information:
-What is OpenACS?}</property>
-<property name="doc(title)">Chapter 1. High level information:
-What is OpenACS?</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 1. High level information: What is
+OpenACS?}</property>
+<property name="doc(title)">Chapter 1. High level information: What is
+OpenACS?</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="for-everyone" leftLabel="Prev"
-		    title="
-Part I. OpenACS For Everyone"
-		    rightLink="openacs-overview" rightLabel="Next">
-		<div class="chapter">
+			leftLink="for-everyone" leftLabel="Prev"
+			title="Part I. OpenACS For
+Everyone"
+			rightLink="openacs-overview" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="general-documents" id="general-documents"></a>Chapter 1. High
-level information: What is OpenACS?</h2></div></div></div><div class="toc">
+<a name="general-documents" id="general-documents"></a>Chapter 1. High level
+information: What is OpenACS?</h2></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="sect1"><a href="openacs-overview">Overview</a></span></dt><dt><span class="sect1"><a href="release-notes">OpenACS
 Release Notes</a></span></dt>
 </dl>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="for-everyone" leftLabel="Prev" leftTitle="
-Part I. OpenACS For Everyone"
-		    rightLink="openacs-overview" rightLabel="Next" rightTitle="Overview"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="for-everyone" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="for-everyone" leftLabel="Prev" leftTitle="Part I. OpenACS For
+Everyone"
+			rightLink="openacs-overview" rightLabel="Next" rightTitle="Overview"
+			homeLink="index" homeLabel="Home" 
+			upLink="for-everyone" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/groups-design.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-design.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/groups-design.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/groups-design.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Groups Design</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="groups-requirements" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="subsites-requirements" rightLabel="Next">
-		<div class="sect1">
+			leftLink="groups-requirements" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="subsites-requirements" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="groups-design" id="groups-design"></a>Groups Design</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="http://planitia.org" target="_top">Rafael H. Schloming</a> and
 Mark Thomas</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
@@ -408,8 +408,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="groups-requirements" leftLabel="Prev" leftTitle="Groups Requirements"
-		    rightLink="subsites-requirements" rightLabel="Next" rightTitle="Subsites Requirements"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="groups-requirements" leftLabel="Prev" leftTitle="Groups Requirements"
+			rightLink="subsites-requirements" rightLabel="Next" rightTitle="Subsites Requirements"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/groups-requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-requirements.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/groups-requirements.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/groups-requirements.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Groups Requirements</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="permissions-design" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="groups-design" rightLabel="Next">
-		<div class="sect1">
+			leftLink="permissions-design" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="groups-design" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="groups-requirements" id="groups-requirements"></a>Groups Requirements</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="http://planitia.org" target="_top">Rafael H. Schloming</a>, Mark
 Thomas</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
@@ -22,9 +22,9 @@
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="groups-requirements-vision" id="groups-requirements-vision"></a>Vision Statement</h3></div></div></div><p>A powerful web service that can meet the needs of large
-enterprises must be able to model the the real world&#39;s very
-rich organizational structures and many ways of decomposing the
-same organization. For example, a corporation can be broken into
+enterprises must be able to model the real world&#39;s very rich
+organizational structures and many ways of decomposing the same
+organization. For example, a corporation can be broken into
 structures (the corporation, its divisions, and their departments)
 or regions (the Boston office, the LA office); a person who is
 employed by (is a member of) a specific department is also a member
@@ -383,8 +383,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="permissions-design" leftLabel="Prev" leftTitle="Permissions Design"
-		    rightLink="groups-design" rightLabel="Next" rightTitle="Groups Design"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="permissions-design" leftLabel="Prev" leftTitle="Permissions Design"
+			rightLink="groups-design" rightLabel="Next" rightTitle="Groups Design"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/groups-requirements.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-requirements.html,v
diff -u -r1.36 -r1.37
--- openacs-4/packages/acs-core-docs/www/groups-requirements.html	8 Nov 2017 09:42:10 -0000	1.36
+++ openacs-4/packages/acs-core-docs/www/groups-requirements.html	25 Apr 2018 08:38:27 -0000	1.37
@@ -25,7 +25,7 @@
 
 
     <p>A powerful web service that can meet the needs of large enterprises must
-      be able to model the the real world's very rich organizational structures
+      be able to model the real world's very rich organizational structures
       and many ways of decomposing the same organization. For example, a
       corporation can be broken into structures (the corporation, its divisions,
       and their departments) or regions (the Boston office, the LA office); a
Index: openacs-4/packages/acs-core-docs/www/high-avail.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/high-avail.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/high-avail.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/high-avail.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,25 +3,24 @@
 <property name="doc(title)">High Availability/High Performance Configurations</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-next-add-server" leftLabel="Prev"
-		    title="
-Chapter 6. Production Environments"
-		    rightLink="maintenance-deploy" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-next-add-server" leftLabel="Prev"
+			title="Chapter 6. Production
+Environments"
+			rightLink="maintenance-deploy" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="high-avail" id="high-avail"></a>High Availability/High Performance
 Configurations</h2></div></div></div><p>See also <a class="xref" href="remote-postgres" title="Running a PostgreSQL database on another server">the section
-called &ldquo;Running a PostgreSQL database on another
-server&rdquo;</a>.</p><div class="figure">
-<a name="idp140623175654472" id="idp140623175654472"></a><p class="title"><strong>Figure 6.1. Multiple-server
+called “Running a PostgreSQL database on another server”</a>.</p><div class="figure">
+<a name="idp140682193069512" id="idp140682193069512"></a><p class="title"><strong>Figure 6.1. Multiple-server
 configuration</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/hpha.png" align="middle" alt="Multiple-server configuration"></div></div>
 </div><br class="figure-break">
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-next-add-server" leftLabel="Prev" leftTitle="Running multiple services on one
+			leftLink="install-next-add-server" leftLabel="Prev" leftTitle="Running multiple services on one
 machine"
-		    rightLink="maintenance-deploy" rightLabel="Next" rightTitle="Staged Deployment for Production
+			rightLink="maintenance-deploy" rightLabel="Next" rightTitle="Staged Deployment for Production
 Networks"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="maintenance-web" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="maintenance-web" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/high-avail.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/high-avail.html,v
diff -u -r1.26 -r1.27
--- openacs-4/packages/acs-core-docs/www/high-avail.html	8 Nov 2017 09:42:10 -0000	1.26
+++ openacs-4/packages/acs-core-docs/www/high-avail.html	25 Apr 2018 08:38:27 -0000	1.27
@@ -2,7 +2,7 @@
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>High Availability/High Performance Configurations</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="maintenance-web.html" title="Chapter 6. Production Environments"><link rel="previous" href="install-next-add-server.html" title="Running multiple services on one machine"><link rel="next" href="maintenance-deploy.html" title="Staged Deployment for Production Networks"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="install-next-add-server.html">Prev</a> </td><th width="60%" align="center">Chapter 6. Production Environments</th><td width="20%" align="right"> <a accesskey="n" href="maintenance-deploy.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="high-avail"></a>High Availability/High Performance Configurations</h2></div></div></div>
     
     <p>See also <a class="xref" href="remote-postgres.html" title="Running a PostgreSQL database on another server">the section called “Running a PostgreSQL database on another server”</a>.</p>
-    <div class="figure"><a name="idp140623175654472"></a><p class="title"><b>Figure 6.1. Multiple-server configuration</b></p><div class="figure-contents">
+    <div class="figure"><a name="idp140682193069512"></a><p class="title"><b>Figure 6.1. Multiple-server configuration</b></p><div class="figure-contents">
       
       <div class="mediaobject" align="center"><img src="images/hpha.png" align="middle" alt="Multiple-server configuration"></div>
     </div></div><br class="figure-break">
Index: openacs-4/packages/acs-core-docs/www/how-do-I.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/how-do-I.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/how-do-I.adp	27 Mar 2018 12:22:17 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/how-do-I.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,29 +3,28 @@
 <property name="doc(title)">How Do I?</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="configuring-configuring-permissions" leftLabel="Prev"
-		    title="
-Chapter 4. Configuring a new OpenACS
-Site"
-		    rightLink="upgrade" rightLabel="Next">
-		<div class="sect1">
+			leftLink="configuring-configuring-permissions" leftLabel="Prev"
+			title="Chapter 4. Configuring a
+new OpenACS Site"
+			rightLink="upgrade" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="how-do-I" id="how-do-I"></a>How Do I?</h2></div></div></div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623157103896" id="idp140623157103896"></a>How do I edit the front page of a new site
+<a name="idp140682188417816" id="idp140682188417816"></a>How do I edit the front page of a new site
 through a web interface?</h3></div></div></div><p>The easiest way is to install the Edit-This-Page package.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>Log in to the web site as an administrator.</p></li><li class="listitem"><p>Click on Admin &gt; Install Software &gt; Install from OpenACS
 Repository / Install new application</p></li><li class="listitem"><p>Choose Edit This Page and install</p></li><li class="listitem"><p>Follow the instructions within <a class="ulink" href="/doc/edit-this-page/install" target="_top">Edit This Page</a> (the
 link will only work after Edit This Page is installed).</p></li>
 </ol></div>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623160151304" id="idp140623160151304"></a>How do I let anybody who registers post to
+<a name="idp140682182808328" id="idp140682182808328"></a>How do I let anybody who registers post to
 a weblog?</h3></div></div></div><p>Go to <code class="computeroutput"><a class="ulink" href="/admin/permissions" target="_top">/admin/permissions</a></code>
 and grant Create to Registered Users</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623179076680" id="idp140623179076680"></a>How do I replace the front page of a new
+<a name="idp140682182810840" id="idp140682182810840"></a>How do I replace the front page of a new
 site with the front page of an application on that site</h3></div></div></div><p>Suppose you install a new site and install Weblogger, and you
 want all visitors to see weblogger automatically.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>On the front page, click the <code class="computeroutput"><a class="ulink" href="/admin" target="_top">Admin</a></code> button.</p></li><li class="listitem"><p>On the administration page, click <code class="computeroutput">Parameters</code> link.</p></li><li class="listitem"><p>Change the parameter <code class="computeroutput">IndexRedirectUrl</code> to be the URI of the
@@ -35,7 +34,7 @@
 </ol></div>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623178420040" id="idp140623178420040"></a>How do I put custom functionality on front
+<a name="idp140682183490200" id="idp140682183490200"></a>How do I put custom functionality on front
 page of a new site?</h3></div></div></div><p>Every page within an OpenACS site is part of a <span class="strong"><strong>subsite</strong></span><a class="ulink" href="/doc/acs-subsite" target="_top">More information)</a>. The home
 page of the entire site is the front page is a special, default
 instance of a subsite, served from <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/www</code>.
@@ -50,14 +49,12 @@
 </ol></div>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623178430728" id="idp140623178430728"></a>How do I change the site-wide style?</h3></div></div></div><p>Almost all pages on an OpenACS site use <a class="ulink" href="/doc/acs-templating" target="_top">ACS Templating</a>, and so
+<a name="idp140682188136376" id="idp140682188136376"></a>How do I change the site-wide style?</h3></div></div></div><p>Almost all pages on an OpenACS site use <a class="ulink" href="/doc/acs-templating" target="_top">ACS Templating</a>, and so
 their appearance is driven by a layer of different files. Let&#39;s
 examine how this works:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
 <p>A templated page uses an ADP/Tcl pair. The first line in the ADP
-file is usually:</p><pre class="programlisting">
-&lt;master&gt;
-</pre><p>If it appears exactly like this, without any arguments, the
+file is usually:</p><pre class="programlisting">&lt;master&gt;</pre><p>If it appears exactly like this, without any arguments, the
 template processor uses <code class="computeroutput">default-master</code> for that subsite. For pages
 in <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/www</code>,
 this is <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/www/default-master.adp</code>
@@ -74,73 +71,70 @@
 navigation "meta" elements such as Translator widgets and
 Admin widgets.</p></li>
 </ul></div><div class="figure">
-<a name="idp140623178931720" id="idp140623178931720"></a><p class="title"><strong>Figure 4.1. Site
+<a name="idp140682183059880" id="idp140682183059880"></a><p class="title"><strong>Figure 4.1. Site
 Templates</strong></p><div class="figure-contents"><div class="mediaobject"><img src="images/site-templates.png" alt="Site Templates"></div></div>
 </div><br class="figure-break">
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623178934424" id="idp140623178934424"></a>How do I diagnose a permissions
+<a name="idp140682183062632" id="idp140682183062632"></a>How do I diagnose a permissions
 problem?</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
 <p>
-<strong>Steps to Reproduce. </strong> The events
-package does not allow users to register for new events.</p><div class="orderedlist"><ol class="orderedlist" type="1">
+<strong>Steps to Reproduce. </strong> The events package
+does not allow users to register for new events.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>Go to the http://yourserver.net/events as a visitor (ie, log out
 and, if necessary, clear cookies). This in on a 4.6.3 site with
 events version 0.1d3.</p></li><li class="listitem"><p>Select an available event</p></li><li class="listitem"><p>A link such as <code class="computeroutput">Registration:
-Deadline is 03/15/2004 10:00am. » Login or sign up to
-register for this event.</code> is visible. Click on "Login or
-sign up"</p></li><li class="listitem"><p>Complete a new registration. Afterwards, you should be
+Deadline is 03/15/2004 10:00am. » Login or sign up to register for
+this event.</code> is visible. Click on "Login or sign
+up"</p></li><li class="listitem"><p>Complete a new registration. Afterwards, you should be
 redirected back to the same page.</p></li>
 </ol></div><p>Actual Results: The page says <code class="computeroutput">"You do not have permission to register for
 this event."</code>
 </p><p>Expected results: A link or form to sign up for the event is
 shown.</p>
 </li><li class="listitem">
 <p>
-<strong>Finding the problem. </strong> We start with
-the page that has the error. In the URL it&#39;s <code class="computeroutput">http://myserver.net/events/event-info.tcl</code>,
+<strong>Finding the problem. </strong> We start with the
+page that has the error. In the URL it&#39;s <code class="computeroutput">http://myserver.net/events/event-info.tcl</code>,
 so open the file <code class="computeroutput">/var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/events/www/event-info.tcl</code>.
 It contains this line:</p><pre class="programlisting">
-set can_register_p [events::security::can_register_for_event_p -event_id $event_id]
-</pre><p>We need to know what that procedure does, so go to <a class="ulink" href="/api-doc" target="_top">/api-doc</a>, paste
+set can_register_p [events::security::can_register_for_event_p -event_id $event_id]</pre><p>We need to know what that procedure does, so go to <a class="ulink" href="/api-doc" target="_top">/api-doc</a>, paste
 events::security::can_register_for_event_p into the ACS Tcl API
 Search box, and click Feeling Lucky. The next pages shows the proc,
 and we click "show source" to see more information. The
 body of the proc is simply</p><pre class="programlisting">
-return [permission::permission_p -party_id $user_id -object_id $event_id -privilege write]
-</pre><p>This means that a given user must have the write privilige on
+return [permission::permission_p -party_id $user_id -object_id $event_id -privilege write]</pre><p>This means that a given user must have the write privilege on
 the event in order to register. Let&#39;s assume that the
-privileges inherit, so that if a user has the write privilige on
+privileges inherit, so that if a user has the write privilege on
 the whole package, they will have the write privilege on the
 event.</p>
 </li><li class="listitem">
 <p>
-<strong>Setting Permissions. </strong> A permission
-has three parts: the privilige, the object of the privilige, and
-the subject being granted the privilige. In this case the privilige
-is "write," the object is the Events package, and the
+<strong>Setting Permissions. </strong> A permission has
+three parts: the privilege, the object of the privilege, and the
+subject being granted the privilege. In this case the privilege is
+"write," the object is the Events package, and the
 subject is all Registered Users.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>To grant permissions on a package, start at the <a class="ulink" href="/admin/site-map" target="_top">site map</a>. Find the event
 package and click "Set permissions".</p></li><li class="listitem"><p>Click "Grant Permission"</p></li><li class="listitem">
 <p>Grant the write permission to Registered Users.</p><div class="figure">
-<a name="idp140623157109688" id="idp140623157109688"></a><p class="title"><strong>Figure 4.2. Granting
+<a name="idp140682182761064" id="idp140682182761064"></a><p class="title"><strong>Figure 4.2. Granting
 Permissions</strong></p><div class="figure-contents"><div class="mediaobject"><img src="images/grant-perm-463.png" alt="Granting Permissions"></div></div>
 </div><br class="figure-break">
 </li>
 </ol></div><p>OpenACS 5.0 offers a prettier version at <a class="ulink" href="/admin/applications" target="_top">/admin/applications</a>.</p><div class="figure">
-<a name="idp140623157113640" id="idp140623157113640"></a><p class="title"><strong>Figure 4.3. Granting Permissions in
-5.0</strong></p><div class="figure-contents"><div class="mediaobject"><img src="images/grant-perm-50.png" alt="Granting Permissions in 5.0"></div></div>
+<a name="idp140682182765048" id="idp140682182765048"></a><p class="title"><strong>Figure 4.3. Granting Permissions
+in 5.0</strong></p><div class="figure-contents"><div class="mediaobject"><img src="images/grant-perm-50.png" alt="Granting Permissions in 5.0"></div></div>
 </div><br class="figure-break">
 </li>
 </ul></div>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="configuring-configuring-permissions" leftLabel="Prev" leftTitle="Setting Permissions on an OpenACS
+			leftLink="configuring-configuring-permissions" leftLabel="Prev" leftTitle="Setting Permissions on an OpenACS
 package"
-		    rightLink="upgrade" rightLabel="Next" rightTitle="
-Chapter 5. Upgrading"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="configuring-new-site" upLabel="Up"> 
-		
+			rightLink="upgrade" rightLabel="Next" rightTitle="Chapter 5. Upgrading"
+			homeLink="index" homeLabel="Home" 
+			upLink="configuring-new-site" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/how-do-I.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/how-do-I.html,v
diff -u -r1.30 -r1.31
--- openacs-4/packages/acs-core-docs/www/how-do-I.html	27 Mar 2018 12:22:17 -0000	1.30
+++ openacs-4/packages/acs-core-docs/www/how-do-I.html	25 Apr 2018 08:38:27 -0000	1.31
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 'http://www.w3.org/TR/html4/loose.dtd"'>
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How Do I?</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="configuring-new-site.html" title="Chapter 4. Configuring a new OpenACS Site"><link rel="previous" href="configuring-configuring-permissions.html" title="Setting Permissions on an OpenACS package"><link rel="next" href="upgrade.html" title="Chapter 5. Upgrading"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="configuring-configuring-permissions.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Configuring a new OpenACS Site</th><td width="20%" align="right"> <a accesskey="n" href="upgrade.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="how-do-I"></a>How Do I?</h2></div></div></div>
     
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623157103896"></a>How do I edit the front page of a new site through a web interface?</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682188417816"></a>How do I edit the front page of a new site through a web interface?</h3></div></div></div>
       
       <p>The easiest way is to install the Edit-This-Page package.</p>
       <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
@@ -14,11 +14,11 @@
           <p>Follow the instructions within <a class="ulink" href="/doc/edit-this-page/install" target="_top">Edit This Page</a> (the link will only work after Edit This Page is installed).</p>
         </li></ol></div>
     </div>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623160151304"></a>How do I let anybody who registers post to a weblog?</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682182808328"></a>How do I let anybody who registers post to a weblog?</h3></div></div></div>
       
       <p>Go to <code class="computeroutput"><a class="ulink" href="/admin/permissions" target="_top">/admin/permissions</a></code> and grant Create to Registered Users</p>
     </div>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623179076680"></a>How do I replace the front page of a new site with the front page of an application on that site</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682182810840"></a>How do I replace the front page of a new site with the front page of an application on that site</h3></div></div></div>
       
       <p>Suppose you install a new site and install Weblogger, and you want all visitors to see weblogger automatically.</p>
       <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
@@ -29,7 +29,7 @@
           <p>Change the parameter <code class="computeroutput">IndexRedirectUrl</code> to be the URI of the desired application.  For a default weblogger installation, this would be <code class="computeroutput"><strong class="userinput"><code>weblogger/</code></strong></code>.  Note the trailing slash.</p>
         </li></ol></div>
     </div>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623178420040"></a>How do I put custom functionality on front page of a new site?</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682183490200"></a>How do I put custom functionality on front page of a new site?</h3></div></div></div>
       
       <p>Every page within an OpenACS site is part of a <span class="strong"><strong>subsite</strong></span> <a class="ulink" href="/doc/acs-subsite" target="_top">More information)</a>.  The home page of the entire site is the front page is a special, default instance of a subsite, served from <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/www</code>.  If an index page is not found there, the default index page for all subsites is used.  To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:</p>
       <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
@@ -38,7 +38,7 @@
           <p>Edit the new <code class="computeroutput">index.adp</code> to change the text; you shouldn't need to edit <code class="computeroutput">index.tcl</code> unless you are adding new functionality.</p>
         </li></ol></div>
     </div>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623178430728"></a>How do I change the site-wide style?</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682188136376"></a>How do I change the site-wide style?</h3></div></div></div>
       
       <p>Almost all pages on an OpenACS site use <a class="ulink" href="/doc/acs-templating" target="_top">ACS Templating</a>, and so their appearance is driven by a layer of different files.  Let's examine how this works:</p>
       <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
@@ -55,12 +55,12 @@
         </li><li class="listitem">
           <p><code class="computeroutput">Blank-master</code> does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.</p>
         </li></ul></div>
-      <div class="figure"><a name="idp140623178931720"></a><p class="title"><b>Figure 4.1. Site Templates</b></p><div class="figure-contents">
+      <div class="figure"><a name="idp140682183059880"></a><p class="title"><b>Figure 4.1. Site Templates</b></p><div class="figure-contents">
         
         <div class="mediaobject"><img src="images/site-templates.png" alt="Site Templates"></div>
       </div></div><br class="figure-break">
     </div>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623178934424"></a>How do I diagnose a permissions problem?</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682183062632"></a>How do I diagnose a permissions problem?</h3></div></div></div>
       
       <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
           <p>
@@ -88,7 +88,7 @@
           <pre class="programlisting">set can_register_p [events::security::can_register_for_event_p -event_id $event_id]</pre>
           <p>We need to know what that procedure does, so go to <a class="ulink" href="/api-doc" target="_top">/api-doc</a>, paste events::security::can_register_for_event_p into the ACS Tcl API Search box, and click Feeling Lucky.  The next pages shows the proc, and we click "show source" to see more information.  The body of the proc is simply</p>
           <pre class="programlisting">return [permission::permission_p -party_id $user_id -object_id $event_id -privilege write]</pre>
-          <p>This means that a given user must have the write privilege on the event in order to register.  Let's assume that the privilege inherit, so that if a user has the write privilege on the whole package, they will have the write privilege on the event.</p>
+          <p>This means that a given user must have the write privilege on the event in order to register.  Let's assume that the privileges inherit, so that if a user has the write privilege on the whole package, they will have the write privilege on the event.</p>
         </li><li class="listitem">
           <p>
             <b>Setting Permissions. </b>
@@ -100,14 +100,14 @@
               <p>Click "Grant Permission"</p>
             </li><li class="listitem">
               <p>Grant the write permission to Registered Users.</p>
-      <div class="figure"><a name="idp140623157109688"></a><p class="title"><b>Figure 4.2. Granting Permissions</b></p><div class="figure-contents">
+      <div class="figure"><a name="idp140682182761064"></a><p class="title"><b>Figure 4.2. Granting Permissions</b></p><div class="figure-contents">
         
         <div class="mediaobject"><img src="images/grant-perm-463.png" alt="Granting Permissions"></div>
       </div></div><br class="figure-break">
       
             </li></ol></div>
           <p>OpenACS 5.0 offers a prettier version at <a class="ulink" href="/admin/applications" target="_top">/admin/applications</a>.</p>
-      <div class="figure"><a name="idp140623157113640"></a><p class="title"><b>Figure 4.3. Granting Permissions in 5.0</b></p><div class="figure-contents">
+      <div class="figure"><a name="idp140682182765048"></a><p class="title"><b>Figure 4.3. Granting Permissions in 5.0</b></p><div class="figure-contents">
         
         <div class="mediaobject"><img src="images/grant-perm-50.png" alt="Granting Permissions in 5.0"></div>
       </div></div><br class="figure-break">
Index: openacs-4/packages/acs-core-docs/www/i18n-convert.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-convert.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/i18n-convert.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/i18n-convert.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">How to Internationalize a Package</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="i18n-introduction" leftLabel="Prev"
-		    title="
+			leftLink="i18n-introduction" leftLabel="Prev"
+			title="
 Chapter 14. Internationalization"
-		    rightLink="i18n-design" rightLabel="Next">
-		<div class="sect1">
+			rightLink="i18n-design" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="i18n-convert" id="i18n-convert"></a>How to Internationalize a Package</h2></div></div></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
 <h3 class="title">Tip</h3><p>For multilingual websites we recommend using the UTF8 charset.
@@ -42,13 +42,13 @@
 an xml file.</p></li><li class="listitem">
 <p>
 <strong>Replace human-readable text in Tcl files with temporary
-tags. </strong> Examine all of the Tcl files in the
-packages for human-readable text and replace it with temporary
-tags. The temporary tags in Tcl are slightly different from those
-in ADP. If the first character in the temporary tag is an
-underscore (<code class="computeroutput">_</code>), then the
-message keys will be auto-generated from the original message text.
-Here is an unmodified Tcl file:</p><pre class="programlisting">
+tags. </strong> Examine all of the Tcl files in the packages
+for human-readable text and replace it with temporary tags. The
+temporary tags in Tcl are slightly different from those in ADP. If
+the first character in the temporary tag is an underscore
+(<code class="computeroutput">_</code>), then the message keys will
+be auto-generated from the original message text. Here is an
+unmodified Tcl file:</p><pre class="programlisting">
 set title "Messages for $a(name) in $b(label)"
 set context [list [list . "SimPlay"] \
                   [list [export_vars -base case-admin { case_id }] \ 
@@ -67,27 +67,26 @@
 </li><li class="listitem">
 <p>
 <strong>Replace the temporary message tags in Tcl
-files. </strong> Repeat step 2 for Tcl files. Here is
-the example Tcl file after conversion:</p><pre class="programlisting">
+files. </strong> Repeat step 2 for Tcl files. Here is the
+example Tcl file after conversion:</p><pre class="programlisting">
 set title [_ simulation.admin_title]
 set context [list [list . [_ simulation.SimPlay]] \
                   [list [export_vars -base case-admin { case_id }] \
                     [_ simulation.lt_Administer_name_gt]] \
                   [_ simulation.lt_Messages_for_role_pre]]
 </pre>
 </li><li class="listitem"><p>
-<strong>Internationalize SQL Code. </strong> If
-there is any user-visible Tcl code in the .sql or .xql files,
+<strong>Internationalize SQL Code. </strong> If there is
+any user-visible Tcl code in the .sql or .xql files,
 internationalize that the same way as for the Tcl files.</p></li><li class="listitem"><p>
-<strong>Internationalize Package
-Parameters. </strong> See <a class="xref" href="i18n-introduction" title="APM Parameters">Multilingual APM Parameters</a>
+<strong>Internationalize Package Parameters. </strong> See
+<a class="xref" href="i18n-introduction" title="APM Parameters">Multilingual APM Parameters</a>
 </p></li><li class="listitem">
 <p><strong>Internationalize Date and Time
 queries. </strong></p><div class="orderedlist"><ol class="orderedlist" type="a">
 <li class="listitem">
 <p>Find datetime in .xql files. Use command line tools to find
-suspect SQL code:</p><pre class="programlisting">
-grep -r "to_char.*H" *
+suspect SQL code:</p><pre class="programlisting">grep -r "to_char.*H" *
 grep -r "to_date.*H" *
 </pre>
 </li><li class="listitem">
@@ -96,17 +95,14 @@
 HH24:MI:SS</code> and change the field name to *_ansi so that it
 cannot be confused with previous, improperly formatting fields. For
 example,</p><pre class="programlisting">
-to_char(timestamp,'MM/DD/YYYY HH:MI:SS') as foo_date_pretty
-</pre><p>becomes</p><pre class="programlisting">
-to_char(timestamp,'YYYY-MM-DD HH24:MI:SS') as foo_date_ansi
-</pre>
+to_char(timestamp,'MM/DD/YYYY HH:MI:SS') as foo_date_pretty</pre><p>becomes</p><pre class="programlisting">
+to_char(timestamp,'YYYY-MM-DD HH24:MI:SS') as foo_date_ansi</pre>
 </li><li class="listitem">
 <p>In Tcl files where the date fields are used, convert the
 datetime from local server timezone, which is how it&#39;s stored
 in the database, to the user&#39;s timezone for display. Do this
 with the localizing function <code class="computeroutput"><a class="ulink" href="/api-doc/proc-view?proc=lc_time_system_to_conn" target="_top">lc_time_system_to_conn</a></code>:</p><pre class="programlisting">
-set foo_date_ansi [lc_time_system_to_conn $foo_date_ansi]
-</pre><p>When a datetime will be written to the database, first convert
+set foo_date_ansi [lc_time_system_to_conn $foo_date_ansi]</pre><p>When a datetime will be written to the database, first convert
 it from the user&#39;s local time to the server&#39;s timezone with
 <code class="computeroutput"><a class="ulink" href="/api-doc/proc-view?proc=lc%5ftime%5fconn%5fto%5fsystem" target="_top">lc_time_conn_to_system</a></code>.</p>
 </li><li class="listitem">
@@ -117,8 +113,7 @@
 appropriate codes for the user&#39;s locale. These codes are:
 <code class="computeroutput">%x, %X, %q, %Q, and %c.</code>
 </p><pre class="programlisting">
-set foo_date_pretty [lc_time_fmt $foo_date_ansi "%x %X"]
-</pre><p>Use the <code class="computeroutput">_pretty</code> version in
+set foo_date_pretty [lc_time_fmt $foo_date_ansi "%x %X"]</pre><p>Use the <code class="computeroutput">_pretty</code> version in
 your ADP page.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>%c: Long date and time (Mon November 18, 2002 12:00 AM)</p></li><li class="listitem"><p>%x: Short date (11/18/02)</p></li><li class="listitem"><p>%X: Time (12:00 AM)</p></li><li class="listitem"><p>%q: Long date without weekday (November 18, 2002)</p></li><li class="listitem"><p>%Q: Long date with weekday (Monday November 18, 2002)</p></li>
 </ul></div><p>The "q" format strings are OpenACS additions; the rest
@@ -131,20 +126,19 @@
 internationalize numbers, use <code class="computeroutput">lc_numeric $value</code>, which formats the number
 using the appropriate decimal point and thousand separator for the
 locale.</p></li><li class="listitem"><p>
-<strong>Internationalizing Forms. </strong> When
-coding forms, remember to use message keys for each piece of text
-that is user-visible, including form option labels and button
-labels.</p></li><li class="listitem">
+<strong>Internationalizing Forms. </strong> When coding
+forms, remember to use message keys for each piece of text that is
+user-visible, including form option labels and button labels.</p></li><li class="listitem">
 <p>
 <a name="catalog-consistency-check" id="catalog-consistency-check"></a><strong>Checking the Consistency
-of Catalog Files. </strong> This section describes how
-to check that the set of keys used in message lookups in tcl, adp,
-and info files and the set of keys in the catalog file are
-identical. The scripts below assume that message lookups in adp and
-info files are on the format \#package_key.message_key\#, and that
-message lookups in Tcl files are always is done with one of the
-valid lookups described above. The script further assumes that you
-have perl installed and in your path. Run the script like this:
+of Catalog Files. </strong> This section describes how to
+check that the set of keys used in message lookups in tcl, adp, and
+info files and the set of keys in the catalog file are identical.
+The scripts below assume that message lookups in adp and info files
+are on the format \#package_key.message_key\#, and that message
+lookups in Tcl files are always is done with one of the valid
+lookups described above. The script further assumes that you have
+perl installed and in your path. Run the script like this:
 <code class="computeroutput">acs-lang/bin/check-catalog.sh
 package_key</code>
 </p><p>where package_key is the key of the package that you want to
@@ -154,13 +148,13 @@
 </li>
 </ol></div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623179206504" id="idp140623179206504"></a>Avoiding common i18n mistakes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
+<a name="idp140682191011512" id="idp140682191011512"></a>Avoiding common i18n mistakes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
 <p>
 <strong>Replace complicated keys with longer, simpler
-keys. </strong> When writing in one language, it is
-possible to create clever code to make correct text. In English,
-for example, you can put an <code class="computeroutput">if</code>
+keys. </strong> When writing in one language, it is possible
+to create clever code to make correct text. In English, for
+example, you can put an <code class="computeroutput">if</code>
 command at the end of a word which adds "s" if a count is
 anything but 1. This pluralizes nouns correctly based on the data.
 However, it is confusing to read and, when internationalized, may
@@ -172,25 +166,22 @@
 for one long string with a tag in the middle. In these cases,
 uncheck those keys during the conversion and then edit the files
 directly. For example, this code:</p><pre class="programlisting">
-  &lt;p class="form-help-text"&gt;&lt;b&gt;Invitations&lt;/b&gt; are sent,
-          when this wizard is completed and casting begins.&lt;/p&gt;
-</pre><p>has a bold tag which confuses the converter into thinking there
+&lt;p class="form-help-text"&gt;&lt;b&gt;Invitations&lt;/b&gt; are sent,
+          when this wizard is completed and casting begins.&lt;/p&gt;</pre><p>has a bold tag which confuses the converter into thinking there
 are two message keys for the text beginning "Invitations
 ..." where there should be one:</p><div class="mediaobject" align="center"><img src="images/i18n-3.png" align="middle"></div><p>Instead, we cancel those keys, edit the file manually, and put
 in a single temporary message tag:</p><pre class="programlisting">
-  &lt;p class="form-help-text"&gt; &lt;#Invitations_are_sent &lt;b&gt;Invitations&lt;/b&gt; are sent, 
+&lt;p class="form-help-text"&gt; &lt;#Invitations_are_sent &lt;b&gt;Invitations&lt;/b&gt; are sent, 
 when this wizard is completed and casting begins.#&gt;
-  &lt;/p&gt;
-</pre><p>Complex if statements may produce convoluted message keys that
+  &lt;/p&gt;</pre><p>Complex if statements may produce convoluted message keys that
 are very hard to localize. Rewrite these if statements. For
 example:</p><pre class="programlisting">
 Select which case &lt;if \@simulation.casting_type\@ eq "open"&gt;and
 role&lt;/if&gt; to join, or create a new case for yourself.  If you do not
 select a case &lt;if \@simulation.casting_type\@ eq "open"&gt;and role&lt;/if&gt;
 to join, you will be automatically assigned to a case &lt;if
 \@simulation.casting_type\@ eq "open"&gt;and role&lt;/if&gt; when the
-simulation begins.
-</pre><p>... can be rewritten:</p><pre class="programlisting">
+simulation begins.</pre><p>... can be rewritten:</p><pre class="programlisting">
 &lt;if \@simulation.casting_type\@ eq "open"&gt;
 
 Select which case and role to join, or create a new case for
@@ -206,8 +197,7 @@
 be automatically assigned to a case when the simulation
 begins.
 
-&lt;/else&gt;
-</pre><p>Another example, where bugs are concatenated with a number:</p><pre class="programlisting">
+&lt;/else&gt;</pre><p>Another example, where bugs are concatenated with a number:</p><pre class="programlisting">
 &lt;if \@components.view_bugs_url\@ not nil&gt;
   &lt;a href="\@components.view_bugs_url\@" title="View the \@pretty_names.bugs\@ for this component"&gt;
   &lt;/if&gt;
@@ -242,35 +232,29 @@
   &lt;/if&gt;&lt;else&gt;
     &lt;a href="\@components.view_bugs_url\@" title="#­bug-tracker.View_the_bug_fo_component#"&gt;#­bug-tracker.N_bugs#&lt;/a&gt;
   &lt;/else&gt;
-&lt;/if&gt;
-</pre>
+&lt;/if&gt;</pre>
 </li><li class="listitem">
 <p>
-<strong>Don&#39;t combine keys in display
-text. </strong> Converting a phrase from one language
-to another is usually more complicated than simply replacing each
-word with an equivalent. When several keys are concatenated, the
-resulting word order will not be correct for every language.
-Different languages may use expressions or idioms that don&#39;t
-match the phrase key-for-key. Create complete, distinct keys
-instead of building text from several keys. For example:</p><p>Original code:</p><pre class="programlisting">
-multirow append links "New [bug_tracker::conn Bug]" 
-</pre><p>Problematic conversion:</p><pre class="programlisting">
-multirow append links "[_ bug-tracker.New] [bug_tracker::conn Bug]"
-</pre><p>Better conversion:</p><pre class="programlisting">
-set bug_label [bug_tracker::conn Bug]
-multirow append links "[_ bug-tracker.New_Bug]" "${url_prefix}bug-add"
-</pre><p>... and include the variable in the key: <code class="computeroutput">"New %bug_label%"</code>. This gives
+<strong>Don&#39;t combine keys in display text. </strong>
+Converting a phrase from one language to another is usually more
+complicated than simply replacing each word with an equivalent.
+When several keys are concatenated, the resulting word order will
+not be correct for every language. Different languages may use
+expressions or idioms that don&#39;t match the phrase key-for-key.
+Create complete, distinct keys instead of building text from
+several keys. For example:</p><p>Original code:</p><pre class="programlisting">
+multirow append links "New [bug_tracker::conn Bug]" </pre><p>Problematic conversion:</p><pre class="programlisting">
+multirow append links "[_ bug-tracker.New] [bug_tracker::conn Bug]"</pre><p>Better conversion:</p><pre class="programlisting">set bug_label [bug_tracker::conn Bug]
+multirow append links "[_ bug-tracker.New_Bug]" "${url_prefix}bug-add"</pre><p>... and include the variable in the key: <code class="computeroutput">"New %bug_label%"</code>. This gives
 translators more control over the phrase.</p><p>In this example of bad i18n, full name is created by
 concatenating first and last name (admittedly this is pervasive in
 the toolkit):</p><pre class="programlisting">
 &lt;a href="\@past_version.maintainer_url\@" title="#­bug-tracker.Email# \@past_version.maintainer_email\@"&gt;
-\@past_version.maintainer_first_names\@ \@past_version.maintainer_last_name\@&lt;/a&gt;
-</pre>
+\@past_version.maintainer_first_names\@ \@past_version.maintainer_last_name\@&lt;/a&gt;</pre>
 </li><li class="listitem">
 <p>
-<strong>Avoid unnecessary duplicate keys. </strong>
-When phrases are exactly the same in several places, use a single
+<strong>Avoid unnecessary duplicate keys. </strong> When
+phrases are exactly the same in several places, use a single
 key.</p><p>For common words such as Yes and No, you can use a library of
 keys at <a class="ulink" href="/acs-lang/admin/message-list?package%5fkey=acs%2dkernel&amp;locale=en%5fUS" target="_top">acs-kernel</a>. For example, instead of using
 <code class="computeroutput">myfirstpackage.Yes</code>, you can use
@@ -283,40 +267,32 @@
 </li><li class="listitem">
 <p>
 <strong>Don&#39;t internationalize internal code
-words. </strong> Many packages use code words or key
-words, such as "open" and "closed", which will
-never be shown to the user. They may match key values in the
-database, or be used in a switch or if statement. Don&#39;t change
-these.</p><p>For example, the original code is</p><pre class="programlisting">
-workflow::case::add_log_data \            
+words. </strong> Many packages use code words or key words,
+such as "open" and "closed", which will never
+be shown to the user. They may match key values in the database, or
+be used in a switch or if statement. Don&#39;t change these.</p><p>For example, the original code is</p><pre class="programlisting">workflow::case::add_log_data \        
        -entry_id $entry_id \        
        -key "resolution" \          
-       -value [db_string select_resolution_code {}]
-</pre><p>This is incorrectly internationalized to</p><pre class="programlisting">
-  workflow::case::add_log_data \          
+       -value [db_string select_resolution_code {}]</pre><p>This is incorrectly internationalized to</p><pre class="programlisting">  workflow::case::add_log_data \      
        -entry_id $entry_id \
        -key "[_ bug-tracker.resolution]" \
-       -value [db_string select_resolution_code {}]
-</pre><p>But <code class="computeroutput">resolution</code> is a keyword
+       -value [db_string select_resolution_code {}]</pre><p>But <code class="computeroutput">resolution</code> is a keyword
 in a table and in the code, so this breaks the code. It should not
 have been internationalized at all. Here&#39;s another example of
 text that should not have been internationalized:</p><pre class="programlisting">
-{show_patch_status "open"}
-</pre><p>It is broken if changed to</p><pre class="programlisting">
-{show_patch_status "[_ bug-tracker.open]"}
-</pre>
+{show_patch_status "open"}</pre><p>It is broken if changed to</p><pre class="programlisting">
+{show_patch_status "[_ bug-tracker.open]"}</pre>
 </li><li class="listitem">
 <p>
-<strong>Fix automatic truncated message
-keys. </strong> The automatic converter may create
-unique but crytic message keys. Watch out for these and replace
-them with more descriptive keys. For example:</p><pre class="programlisting">
+<strong>Fix automatic truncated message keys. </strong> The
+automatic converter may create unique but crytic message keys.
+Watch out for these and replace them with more descriptive keys.
+For example:</p><pre class="programlisting">
 &lt;msg key="You"&gt;You can filter by this %component_name% by viisting %filter_url_string%&lt;/msg&gt;
 &lt;msg key="You_1"&gt;You do not have permission to map this patch to a bug. Only the submitter of the patch 
 and users with write permission on this Bug Tracker project (package instance) may do so.&lt;/msg&gt;
 &lt;msg key="You_2"&gt;You do not have permission to edit this patch. Only the submitter of the patch 
-and users with write permission on the Bug Tracker project (package instance) may do so.&lt;/msg&gt;
-</pre><p>These would be more useful if they were,
+and users with write permission on the Bug Tracker project (package instance) may do so.&lt;/msg&gt;</pre><p>These would be more useful if they were,
 "you_can_filter",
 "you_do_not_have_permission_to_map_this_patch", and
 "you_do_not_have_permission_to_edit_this_patch".
@@ -328,58 +304,50 @@
 semantically match their text. Fix these:</p><pre class="programlisting">
 &lt;msg key="Fix"&gt;for version&lt;/msg&gt;
 &lt;msg key="Fix_1"&gt;for&lt;/msg&gt;
-&lt;msg key="Fix_2"&gt;for Bugs&lt;/msg&gt;
-</pre><p>Another example: <code class="computeroutput">Bug-tracker
+&lt;msg key="Fix_2"&gt;for Bugs&lt;/msg&gt;</pre><p>Another example: <code class="computeroutput">Bug-tracker
 component maintainer</code> was converted to <code class="computeroutput">[_ bug-tracker.Bug-tracker]</code>. Instead, it
 should be <code class="computeroutput">bug_tracker_component_maintainer</code>.</p>
 </li><li class="listitem"><p>
 <strong>Translations in Avoid "clever" message
-reuse. </strong> Translations may need to differ
-depending on the context in which the message appears.</p></li><li class="listitem"><p>
-<strong>Avoid plurals. </strong> Different languages
-create plurals differently. Try to avoid keys which will change
-based on the value of a number. OpenACS does not currently support
+reuse. </strong> Translations may need to differ depending on
+the context in which the message appears.</p></li><li class="listitem"><p>
+<strong>Avoid plurals. </strong> Different languages create
+plurals differently. Try to avoid keys which will change based on
+the value of a number. OpenACS does not currently support
 internationalization of plurals. If you use two different keys, a
 plural and a singular form, your application will not localize
 properly for locales which use different rules or have more than
 two forms of plurals.</p></li><li class="listitem">
 <p>
-<strong>Quoting in the message catalog for
-tcl. </strong> Watch out for quoting and escaping when
-editing text that is also code. For example, the original
-string</p><pre class="programlisting">
-set title "Patch \"$patch_summary\" is nice."
-</pre><p>breaks if the message text retains all of the escaping that was
+<strong>Quoting in the message catalog for tcl. </strong>
+Watch out for quoting and escaping when editing text that is also
+code. For example, the original string</p><pre class="programlisting">
+set title "Patch \"$patch_summary\" is nice."</pre><p>breaks if the message text retains all of the escaping that was
 in the Tcl command:</p><pre class="programlisting">
-&lt;msg&gt;Patch \"$patch_summary\" is nice.&lt;/msg&gt;
-</pre><p>When it becomes a key, it should be:</p><pre class="programlisting">
-&lt;msg&gt;Patch "$patch_summary" is nice.&lt;/msg&gt;
-</pre><p>Also, some keys had %var;noquote%, which is not needed since
+&lt;msg&gt;Patch \"$patch_summary\" is nice.&lt;/msg&gt;</pre><p>When it becomes a key, it should be:</p><pre class="programlisting">
+&lt;msg&gt;Patch "$patch_summary" is nice.&lt;/msg&gt;</pre><p>Also, some keys had %var;noquote%, which is not needed since
 those variables are not quoted (and in fact the variable won&#39;t
 even be recognized so you get the literal %var;noquote% in the
 output).</p>
 </li><li class="listitem">
 <p>
-<strong>Be careful with curly brackets. </strong>
-Code within curly brackets isn&#39;t evaluated. Tcl uses curly
-brackets as an alternative way to build lists. But Tcl also uses
-curly brackets as an alternative to quotation marks for quoting
-text. So this original code</p><pre class="programlisting">
-array set names { key "Pretty" ...} 
-</pre><p>... if converted to</p><pre class="programlisting">
-array set names { key "[_bug-tracker.Pretty]" ...} 
-</pre><p>... won&#39;t work since the _ func will not be called. Instead,
+<strong>Be careful with curly brackets. </strong> Code
+within curly brackets isn&#39;t evaluated. Tcl uses curly brackets
+as an alternative way to build lists. But Tcl also uses curly
+brackets as an alternative to quotation marks for quoting text. So
+this original code</p><pre class="programlisting">
+array set names { key "Pretty" ...} </pre><p>... if converted to</p><pre class="programlisting">
+array set names { key "[_bug-tracker.Pretty]" ...} </pre><p>... won&#39;t work since the _ func will not be called. Instead,
 it should be</p><pre class="programlisting">
-array set names [list key [_bug-tracker.Pretty] ...]
-</pre>
+array set names [list key [_bug-tracker.Pretty] ...]</pre>
 </li>
 </ul></div>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="i18n-introduction" leftLabel="Prev" leftTitle="How Internationalization/Localization
+			leftLink="i18n-introduction" leftLabel="Prev" leftTitle="How Internationalization/Localization
 works in OpenACS"
-		    rightLink="i18n-design" rightLabel="Next" rightTitle="Design Notes"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="i18n" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="i18n-design" rightLabel="Next" rightTitle="Design Notes"
+			homeLink="index" homeLabel="Home" 
+			upLink="i18n" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/i18n-convert.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-convert.html,v
diff -u -r1.28 -r1.29
--- openacs-4/packages/acs-core-docs/www/i18n-convert.html	8 Nov 2017 09:42:10 -0000	1.28
+++ openacs-4/packages/acs-core-docs/www/i18n-convert.html	25 Apr 2018 08:38:27 -0000	1.29
@@ -181,7 +181,7 @@
       </p>
       </li></ol></div>
 
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623179206504"></a>Avoiding common i18n mistakes</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682191011512"></a>Avoiding common i18n mistakes</h3></div></div></div>
       
       <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
           <p>
Index: openacs-4/packages/acs-core-docs/www/i18n-design.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-design.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/i18n-design.adp	7 Aug 2017 23:47:50 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/i18n-design.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -3,11 +3,11 @@
 <property name="doc(title)">Design Notes</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="i18n-convert" leftLabel="Prev"
-		    title="
+			leftLink="i18n-convert" leftLabel="Prev"
+			title="
 Chapter 14. Internationalization"
-		    rightLink="i18n-translators" rightLabel="Next">
-		<div class="sect1">
+			rightLink="i18n-translators" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="i18n-design" id="i18n-design"></a>Design Notes</h2></div></div></div><p>User locale is a property of ad_conn, <code class="computeroutput">ad_conn locale</code>. The request processor sets
 this by calling <code class="computeroutput">lang::conn::locale</code>, which looks for the
@@ -24,8 +24,8 @@
 then that locale is offered instead.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="i18n-convert" leftLabel="Prev" leftTitle="How to Internationalize a Package"
-		    rightLink="i18n-translators" rightLabel="Next" rightTitle="Translator&#39;s Guide"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="i18n" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="i18n-convert" leftLabel="Prev" leftTitle="How to Internationalize a Package"
+			rightLink="i18n-translators" rightLabel="Next" rightTitle="Translator&#39;s Guide"
+			homeLink="index" homeLabel="Home" 
+			upLink="i18n" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/i18n-introduction.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-introduction.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/i18n-introduction.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/i18n-introduction.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -5,11 +5,11 @@
 OpenACS</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="i18n-overview" leftLabel="Prev"
-		    title="
+			leftLink="i18n-overview" leftLabel="Prev"
+			title="
 Chapter 14. Internationalization"
-		    rightLink="i18n-convert" rightLabel="Next">
-		<div class="sect1">
+			rightLink="i18n-convert" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="i18n-introduction" id="i18n-introduction"></a>How Internationalization/Localization
 works in OpenACS</h2></div></div></div><p>This document describes how to develop internationalized OpenACS
@@ -253,10 +253,10 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="i18n-overview" leftLabel="Prev" leftTitle="Internationalization and Localization
+			leftLink="i18n-overview" leftLabel="Prev" leftTitle="Internationalization and Localization
 Overview"
-		    rightLink="i18n-convert" rightLabel="Next" rightTitle="How to Internationalize a
+			rightLink="i18n-convert" rightLabel="Next" rightTitle="How to Internationalize a
 Package"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="i18n" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="i18n" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/i18n-overview.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-overview.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/i18n-overview.adp	7 Aug 2017 23:47:50 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/i18n-overview.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -3,11 +3,11 @@
 <property name="doc(title)">Internationalization and Localization Overview</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="i18n" leftLabel="Prev"
-		    title="
+			leftLink="i18n" leftLabel="Prev"
+			title="
 Chapter 14. Internationalization"
-		    rightLink="i18n-introduction" rightLabel="Next">
-		<div class="sect1">
+			rightLink="i18n-introduction" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="i18n-overview" id="i18n-overview"></a>Internationalization and Localization
 Overview</h2></div></div></div><div class="table">
@@ -52,10 +52,10 @@
 </div><br class="table-break">
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="i18n" leftLabel="Prev" leftTitle="
+			leftLink="i18n" leftLabel="Prev" leftTitle="
 Chapter 14. Internationalization"
-		    rightLink="i18n-introduction" rightLabel="Next" rightTitle="How Internationalization/Localization
+			rightLink="i18n-introduction" rightLabel="Next" rightTitle="How Internationalization/Localization
 works in OpenACS"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="i18n" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="i18n" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/i18n-requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-requirements.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/i18n-requirements.adp	27 Mar 2018 12:22:17 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/i18n-requirements.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,11 +3,11 @@
 <property name="doc(title)">OpenACS Internationalization Requirements</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="db-api-detailed" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="security-requirements" rightLabel="Next">
-		<div class="sect1">
+			leftLink="db-api-detailed" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="security-requirements" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="i18n-requirements" id="i18n-requirements"></a>OpenACS Internationalization
 Requirements</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by Henry Minsky, <a class="ulink" href="mailto:yon\@openforce.net" target="_top">Yon Feldman</a>, <a class="ulink" href="mailto:lars\@collaboraid.biz" target="_top">Lars
@@ -214,8 +214,8 @@
 path.</p><p>
 <span class="emphasis"><em>40.30</em></span> The API for lookup
 of a message will take a locale and message key as arguments, and
-return the appropriate translation of that message for the specified
-locale.</p><p>
+return the appropriate translation of that message for the
+specified locale.</p><p>
 <span class="emphasis"><em>40.40</em></span> The API for lookup
 of a message will accept an optional default string which can be
 used if the message key is not found in the catalog. This lets the
@@ -258,7 +258,7 @@
 <li class="listitem"><p>Loading source files (.tcl or .adp) or content files from the
 filesystem</p></li><li class="listitem"><p>Accepting form input data from users</p></li><li class="listitem"><p>Delivering text output to a browser</p></li><li class="listitem"><p>Composing an email message</p></li><li class="listitem"><p>Writing data to the filesystem</p></li>
 </ul></div><p>Acs-templating does the following.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
-<li class="listitem"><p>When the acs-templating package opens an an ADP or Tcl file, it
+<li class="listitem"><p>When the acs-templating package opens an ADP or Tcl file, it
 assumes the file is iso-8859-1. If the output charset
 (OutputCharset) in the AOLserver config file is set, then
 acs-templating assumes it&#39;s that charset. Writing Files</p></li><li class="listitem"><p>When the acs-templating package writes an an ADP or Tcl file, it
@@ -339,7 +339,7 @@
 URL, the designer may create multiple locale-specific template
 files may be created (one per locale or language)</p><p>
 <span class="emphasis"><em>70.10</em></span> For a given page
-request, the system must be able to select an approprate
+request, the system must be able to select an appropriate
 locale-specific template file to use. The request locale is
 computed as per (see requirement 20.0).</p><p>
 <span class="emphasis"><em>70.20</em></span>A template file may
@@ -489,8 +489,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="db-api-detailed" leftLabel="Prev" leftTitle="Database Access API"
-		    rightLink="security-requirements" rightLabel="Next" rightTitle="Security Requirements"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
+			leftLink="db-api-detailed" leftLabel="Prev" leftTitle="Database Access API"
+			rightLink="security-requirements" rightLabel="Next" rightTitle="Security Requirements"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/i18n-requirements.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-requirements.html,v
diff -u -r1.29 -r1.30
--- openacs-4/packages/acs-core-docs/www/i18n-requirements.html	27 Mar 2018 12:22:17 -0000	1.29
+++ openacs-4/packages/acs-core-docs/www/i18n-requirements.html	25 Apr 2018 08:38:27 -0000	1.30
@@ -402,8 +402,11 @@
 </li></ul></div>
 <p>Acs-templating does the following.</p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
-          <p>When the acs-templating package opens an an ADP or Tcl file, it assumes the file is iso-8859-1.  If the output charset (OutputCharset) in the AOLserver config file is set, then acs-templating assumes it's that charset.  
-Writing Files</p>
+          <p>When the acs-templating package opens an ADP or Tcl
+	  file, it assumes the file is iso-8859-1.  If the output
+	  charset (OutputCharset) in the AOLserver config file is set,
+	  then acs-templating assumes it's that charset.  
+	  Writing Files</p>
         </li><li class="listitem">
           <p>When the acs-templating package writes an an ADP or
           Tcl file, it assumes the file is iso-8859-1.  If the output
@@ -500,7 +503,7 @@
 created (one per locale or language)</p>
 
 <p><span class="emphasis"><em>70.10</em></span> For a given page request, the
-system must be able to select an approprate locale-specific
+system must be able to select an appropriate locale-specific
 template file to use. The request locale is computed as per (see
 requirement 20.0).</p>
 
Index: openacs-4/packages/acs-core-docs/www/i18n-translators.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-translators.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/i18n-translators.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/i18n-translators.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Translator&#39;s Guide</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="i18n-design" leftLabel="Prev"
-		    title="
+			leftLink="i18n-design" leftLabel="Prev"
+			title="
 Chapter 14. Internationalization"
-		    rightLink="cvs-tips" rightLabel="Next">
-		<div class="sect1">
+			rightLink="cvs-tips" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="i18n-translators" id="i18n-translators"></a>Translator&#39;s Guide</h2></div></div></div><p>Most translators use the <a class="ulink" href="http://translate.openacs.org" target="_top">OpenACS Public
 Translation Server</a>, because the process of getting new message
@@ -23,8 +23,8 @@
 <a class="ulink" href="/acs-lang/admin" target="_top">Administration of Localization</a> and create the
 locale.</p></li><li class="listitem">
 <p>
-<strong>Translating with Translator Mode. </strong>
-To translate messages in the pages they appear, <a class="ulink" href="http://localhost:8008/acs-lang/admin/translator-mode-toggle" target="_top">Toggle Translator Mode</a> and then browse to the
+<strong>Translating with Translator Mode. </strong> To
+translate messages in the pages they appear, <a class="ulink" href="http://localhost:8008/acs-lang/admin/translator-mode-toggle" target="_top">Toggle Translator Mode</a> and then browse to the
 page you want to translate. Untranslated messages will have a
 yellow background and a red star that you click to translate the
 message. Translated messages have a green star next to them that is
@@ -34,21 +34,19 @@
 the bottom of each page.</p><div class="mediaobject" align="center"><img src="images/translations.png" align="middle"></div>
 </li><li class="listitem">
 <p>
-<strong>Batch translation. </strong> To translate
-many messages at once, go to <a class="ulink" href="/acs-lang/admin" target="_top">Administration of Localization</a>,
-click on the locale to translate, then click on a package, and then
-click <code class="computeroutput">Batch edit these
-messages</code>.</p><div class="mediaobject" align="center"><img src="images/translation-batch-edit.png" align="middle"></div>
+<strong>Batch translation. </strong> To translate many
+messages at once, go to <a class="ulink" href="/acs-lang/admin" target="_top">Administration of Localization</a>, click on the
+locale to translate, then click on a package, and then click
+<code class="computeroutput">Batch edit these messages</code>.</p><div class="mediaobject" align="center"><img src="images/translation-batch-edit.png" align="middle"></div>
 </li>
 </ul></div><p>When creating a new locale based on an existing one, such as
 creating the Guatemalan version of Spanish, you can copy the
 existing locale&#39;s catalog files using the script <code class="computeroutput">/packages/acs-core-docs/www/files/create-new-catalog.sh</code>.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="i18n-design" leftLabel="Prev" leftTitle="Design Notes"
-		    rightLink="cvs-tips" rightLabel="Next" rightTitle="
-Appendix D. Using CVS with an OpenACS
-Site"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="i18n" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="i18n-design" leftLabel="Prev" leftTitle="Design Notes"
+			rightLink="cvs-tips" rightLabel="Next" rightTitle="Appendix D. Using CVS with
+an OpenACS Site"
+			homeLink="index" homeLabel="Home" 
+			upLink="i18n" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/i18n.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/i18n.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/i18n.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -1,16 +1,13 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {
-Chapter 14. Internationalization}</property>
-<property name="doc(title)">
-Chapter 14. Internationalization</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 14. Internationalization}</property>
+<property name="doc(title)">Chapter 14. Internationalization</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="requirements-template" leftLabel="Prev"
-		    title="
-Part III. For OpenACS Package
-Developers"
-		    rightLink="i18n-overview" rightLabel="Next">
-		<div class="chapter">
+			leftLink="requirements-template" leftLabel="Prev"
+			title="Part III. For OpenACS
+Package Developers"
+			rightLink="i18n-overview" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="i18n" id="i18n"></a>Chapter 14. Internationalization</h2></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
@@ -25,10 +22,10 @@
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="requirements-template" leftLabel="Prev" leftTitle="System/Application Requirements
+			leftLink="requirements-template" leftLabel="Prev" leftTitle="System/Application Requirements
 Template"
-		    rightLink="i18n-overview" rightLabel="Next" rightTitle="Internationalization and Localization
+			rightLink="i18n-overview" rightLabel="Next" rightTitle="Internationalization and Localization
 Overview"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-package-dev" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-package-dev" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.adp,v
diff -u -r1.28 -r1.29
--- openacs-4/packages/acs-core-docs/www/index.adp	8 Nov 2017 09:42:10 -0000	1.28
+++ openacs-4/packages/acs-core-docs/www/index.adp	25 Apr 2018 08:38:27 -0000	1.29
@@ -3,13 +3,13 @@
 <property name="doc(title)">OpenACS Core Documentation</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="" leftLabel=""
-		    title=""
-		    rightLink="for-everyone" rightLabel="Next">
-		<div class="book">
+			leftLink="" leftLabel=""
+			title=""
+			rightLink="for-everyone" rightLabel="Next">
+		    <div class="book">
 <div class="titlepage">
 <div><div><h1 class="title">
-<a name="idp140623166870808" id="idp140623166870808"></a>OpenACS Core Documentation</h1></div></div><hr>
+<a name="idp140682191178008" id="idp140682191178008"></a>OpenACS Core Documentation</h1></div></div><hr>
 </div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="part"><a href="for-everyone">I. OpenACS For
@@ -280,9 +280,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="" leftLabel="" leftTitle=""
-		    rightLink="for-everyone" rightLabel="Next" rightTitle="
-Part I. OpenACS For Everyone"
-		    homeLink="" homeLabel="" 
-		    upLink="" upLabel=""> 
-		
\ No newline at end of file
+			leftLink="" leftLabel="" leftTitle=""
+			rightLink="for-everyone" rightLabel="Next" rightTitle="Part I. OpenACS For
+Everyone"
+			homeLink="" homeLabel="" 
+			upLink="" upLabel=""> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/index.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.html,v
diff -u -r1.55 -r1.56
--- openacs-4/packages/acs-core-docs/www/index.html	8 Nov 2017 09:42:10 -0000	1.55
+++ openacs-4/packages/acs-core-docs/www/index.html	25 Apr 2018 08:38:27 -0000	1.56
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 'http://www.w3.org/TR/html4/loose.dtd"'>
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>OpenACS Core Documentation</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="next" href="for-everyone.html" title="Part I. OpenACS For Everyone"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="for-everyone.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a name="idp140623166870808"></a>OpenACS Core Documentation</h1></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="part"><a href="for-everyone.html">I. OpenACS For Everyone</a></span></dt><dd><dl><dt><span class="chapter"><a href="general-documents.html">1. High level information: What is OpenACS?</a></span></dt><dd><dl><dt><span class="sect1"><a href="openacs-overview.html">Overview</a></span></dt><dt><span class="sect1"><a href="release-notes.html">OpenACS Release Notes</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="acs-admin.html">II. Administrator's Guide</a></span></dt><dd><dl><dt><span class="chapter"><a href="install-overview.html">2. Installation Overview</a></span></dt><dd><dl><dt><span class="sect1"><a href="install-steps.html">Basic Steps</a></span></dt><dt><span class="sect1"><a href="individual-programs.html">Prerequisite Software</a></span></dt></dl></dd><dt><span class="chapter"><a href="complete-install.html">3. Complete Installation</a></span></dt><dd><dl><dt><span class="sect1"><a href="unix-installation.html">Install a Unix-like system and supporting software</a></span></dt><dt><span class="sect1"><a href="oracle.html">Install Oracle 8.1.7</a></span></dt><dt><span class="sect1"><a href="postgres.html">Install PostgreSQL</a></span></dt><dt><span class="sect1"><a href="aolserver4.html">Install AOLserver 4</a></span></dt><dt><span class="sect1"><a href="openacs.html">Install OpenACS 5.9.0</a></span></dt><dt><span class="sect1"><a href="win2k-installation.html">OpenACS Installation Guide for Windows</a></span></dt><dt><span class="sect1"><a href="mac-installation.html">OpenACS Installation Guide for Mac OS X</a></span></dt></dl></dd><dt><span class="chapter"><a href="configuring-new-site.html">4. Configuring a new OpenACS Site</a></span></dt><dd><dl><dt><span class="sect1"><a href="configuring-install-packages.html">Installing OpenACS packages</a></span></dt><dt><span class="sect1"><a href="configuring-mounting-packages.html">Mounting OpenACS packages</a></span></dt><dt><span class="sect1"><a href="configuring-configuring-packages.html">Configuring an OpenACS package</a></span></dt><dt><span class="sect1"><a href="configuring-configuring-permissions.html">Setting Permissions on an OpenACS package</a></span></dt><dt><span class="sect1"><a href="how-do-I.html">How Do I?</a></span></dt></dl></dd><dt><span class="chapter"><a href="upgrade.html">5. Upgrading</a></span></dt><dd><dl><dt><span class="sect1"><a href="upgrade-overview.html">Overview</a></span></dt><dt><span class="sect1"><a href="upgrade-4.5-to-4.6.html">Upgrading 4.5 or higher to 4.6.3</a></span></dt><dt><span class="sect1"><a href="upgrade-4.6.3-to-5.html">Upgrading OpenACS 4.6.3 to 5.0</a></span></dt><dt><span class="sect1"><a href="upgrade-5-0-dot.html">Upgrading an OpenACS 5.0.0 or greater installation</a></span></dt><dt><span class="sect1"><a href="upgrade-openacs-files.html">Upgrading the OpenACS files</a></span></dt><dt><span class="sect1"><a href="upgrade-supporting.html">Upgrading Platform components</a></span></dt></dl></dd><dt><span class="chapter"><a href="maintenance-web.html">6. Production Environments</a></span></dt><dd><dl><dt><span class="sect1"><a href="install-openacs-keepalive.html">Starting and Stopping an OpenACS instance.</a></span></dt><dt><span class="sect1"><a href="install-openacs-inittab.html">AOLserver keepalive with inittab</a></span></dt><dt><span class="sect1"><a href="install-next-add-server.html">Running multiple services on one machine</a></span></dt><dt><span class="sect1"><a href="high-avail.html">High Availability/High Performance Configurations</a></span></dt><dt><span class="sect1"><a href="maintenance-deploy.html">Staged Deployment for Production Networks</a></span></dt><dt><span class="sect1"><a href="install-ssl.html">Installing SSL Support for an OpenACS service</a></span></dt><dt><span class="sect1"><a href="analog-setup.html">Set up Log Analysis Reports</a></span></dt><dt><span class="sect1"><a href="uptime.html">External uptime validation</a></span></dt><dt><span class="sect1"><a href="maint-performance.html">Diagnosing Performance Problems</a></span></dt></dl></dd><dt><span class="chapter"><a href="database-management.html">7. Database Management</a></span></dt><dd><dl><dt><span class="sect1"><a href="remote-postgres.html">Running a PostgreSQL database on another server</a></span></dt><dt><span class="sect1"><a href="install-openacs-delete-tablespace.html">Deleting a tablespace</a></span></dt><dt><span class="sect1"><a href="install-next-nightly-vacuum.html">Vacuum Postgres nightly</a></span></dt></dl></dd><dt><span class="chapter"><a href="backup-recovery.html">8. Backup and Recovery</a></span></dt><dd><dl><dt><span class="sect1"><a href="install-next-backups.html">Backup Strategy</a></span></dt><dt><span class="sect1"><a href="snapshot-backup.html">Manual backup and recovery</a></span></dt><dt><span class="sect1"><a href="automated-backup.html">Automated Backup</a></span></dt><dt><span class="sect1"><a href="backups-with-cvs.html">Using CVS for backup-recovery</a></span></dt></dl></dd><dt><span class="appendix"><a href="install-redhat.html">A. Install Red Hat 8/9</a></span></dt><dt><span class="appendix"><a href="install-more-software.html">B. Install additional supporting software</a></span></dt><dd><dl><dt><span class="sect1"><a href="openacs-unpack.html">Unpack the OpenACS tarball</a></span></dt><dt><span class="sect1"><a href="install-cvs.html">Initialize CVS (OPTIONAL)</a></span></dt><dt><span class="sect1"><a href="psgml-for-emacs.html">Add PSGML commands to emacs init file (OPTIONAL)</a></span></dt><dt><span class="sect1"><a href="install-daemontools.html">Install Daemontools (OPTIONAL)</a></span></dt><dt><span class="sect1"><a href="install-qmail.html">Install qmail (OPTIONAL)</a></span></dt><dt><span class="sect1"><a href="analog-install.html">Install Analog web file analyzer</a></span></dt><dt><span class="sect1"><a href="install-nspam.html">Install nspam</a></span></dt><dt><span class="sect1"><a href="install-full-text-search-tsearch2.html">Install Full Text Search using Tsearch2</a></span></dt><dt><span class="sect1"><a href="install-nsopenssl.html">Install nsopenssl</a></span></dt><dt><span class="sect1"><a href="install-tclwebtest.html">Install tclwebtest.</a></span></dt><dt><span class="sect1"><a href="install-php.html">Install PHP for use in AOLserver</a></span></dt><dt><span class="sect1"><a href="install-squirrelmail.html">Install Squirrelmail for use as a webmail system for OpenACS</a></span></dt><dt><span class="sect1"><a href="install-pam-radius.html">Install PAM Radius for use as external authentication</a></span></dt><dt><span class="sect1"><a href="install-ldap-radius.html">Install LDAP for use as external authentication</a></span></dt><dt><span class="sect1"><a href="aolserver.html">Install AOLserver 3.3oacs1</a></span></dt></dl></dd><dt><span class="appendix"><a href="credits.html">C. Credits</a></span></dt><dd><dl><dt><span class="section"><a href="install-origins.html">Where did this document come from?</a></span></dt><dt><span class="section"><a href="os-install.html">Linux Install Guides</a></span></dt><dt><span class="section"><a href="os-security.html">Security Information</a></span></dt><dt><span class="section"><a href="install-resources.html">Resources</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="acs-package-dev.html">III. For OpenACS Package Developers</a></span></dt><dd><dl><dt><span class="chapter"><a href="tutorial.html">9. Development Tutorial</a></span></dt><dd><dl><dt><span class="sect1"><a href="tutorial-newpackage.html">Creating an Application Package</a></span></dt><dt><span class="sect1"><a href="tutorial-database.html">Setting Up Database Objects</a></span></dt><dt><span class="sect1"><a href="tutorial-pages.html">Creating Web Pages</a></span></dt><dt><span class="sect1"><a href="tutorial-debug.html">Debugging and Automated Testing</a></span></dt></dl></dd><dt><span class="chapter"><a href="tutorial-advanced.html">10. Advanced Topics</a></span></dt><dd><dl><dt><span class="sect1"><a href="tutorial-specs.html">Write the Requirements and Design Specs</a></span></dt><dt><span class="sect1"><a href="tutorial-cvs.html">Add the new package to CVS</a></span></dt><dt><span class="sect1"><a href="tutorial-etp-templates.html">OpenACS Edit This Page Templates</a></span></dt><dt><span class="sect1"><a href="tutorial-comments.html">Adding Comments</a></span></dt><dt><span class="sect1"><a href="tutorial-admin-pages.html">Admin Pages</a></span></dt><dt><span class="sect1"><a href="tutorial-categories.html">Categories</a></span></dt><dt><span class="sect1"><a href="profile-code.html">Profile your code</a></span></dt><dt><span class="sect1"><a href="tutorial-distribute.html">Prepare the package for distribution.</a></span></dt><dt><span class="sect1"><a href="tutorial-upgrades.html">Distributing upgrades of your package</a></span></dt><dt><span class="sect1"><a href="tutorial-notifications.html">Notifications</a></span></dt><dt><span class="sect1"><a href="tutorial-hierarchical.html">Hierarchical data</a></span></dt><dt><span class="sect1"><a href="tutorial-vuh.html">Using .vuh files for pretty urls</a></span></dt><dt><span class="sect1"><a href="tutorial-css-layout.html">Laying out a page with CSS instead of tables</a></span></dt><dt><span class="sect1"><a href="tutorial-html-email.html">Sending HTML email from your application</a></span></dt><dt><span class="sect1"><a href="tutorial-caching.html">Basic Caching</a></span></dt><dt><span class="sect1"><a href="tutorial-schedule-procs.html">Scheduled Procedures</a></span></dt><dt><span class="sect1"><a href="tutorial-wysiwyg-editor.html">Enabling WYSIWYG</a></span></dt><dt><span class="sect1"><a href="tutorial-parameters.html">Adding in parameters for your package</a></span></dt><dt><span class="sect1"><a href="tutorial-upgrade-scripts.html">Writing upgrade scripts</a></span></dt><dt><span class="sect1"><a href="tutorial-second-database.html">Connect to a second database</a></span></dt><dt><span class="sect1"><a href="tutorial-future-topics.html">Future Topics</a></span></dt></dl></dd><dt><span class="chapter"><a href="dev-guide.html">11. Development Reference</a></span></dt><dd><dl><dt><span class="sect1"><a href="packages.html">OpenACS Packages</a></span></dt><dt><span class="sect1"><a href="objects.html">OpenACS Data Models and the Object System</a></span></dt><dt><span class="sect1"><a href="request-processor.html">The Request Processor</a></span></dt><dt><span class="sect1"><a href="db-api.html">The OpenACS Database Access API</a></span></dt><dt><span class="sect1"><a href="templates.html">Using Templates in OpenACS</a></span></dt><dt><span class="sect1"><a href="permissions.html">Groups, Context, Permissions</a></span></dt><dt><span class="sect1"><a href="subsites.html">Writing OpenACS Application Pages</a></span></dt><dt><span class="sect1"><a href="parties.html">Parties in OpenACS</a></span></dt><dt><span class="sect1"><a href="permissions-tediously-explained.html">OpenACS Permissions Tediously Explained</a></span></dt><dt><span class="sect1"><a href="object-identity.html">Object Identity</a></span></dt><dt><span class="sect1"><a href="programming-with-aolserver.html">Programming with AOLserver</a></span></dt><dt><span class="sect1"><a href="form-builder.html">Using Form Builder: building html forms dynamically</a></span></dt></dl></dd><dt><span class="chapter"><a href="eng-standards.html">12. Engineering Standards</a></span></dt><dd><dl><dt><span class="sect1"><a href="style-guide.html">OpenACS Style Guide</a></span></dt><dt><span class="sect1"><a href="cvs-guidelines.html">
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>OpenACS Core Documentation</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="next" href="for-everyone.html" title="Part I. OpenACS For Everyone"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="for-everyone.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a name="idp140682191178008"></a>OpenACS Core Documentation</h1></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="part"><a href="for-everyone.html">I. OpenACS For Everyone</a></span></dt><dd><dl><dt><span class="chapter"><a href="general-documents.html">1. High level information: What is OpenACS?</a></span></dt><dd><dl><dt><span class="sect1"><a href="openacs-overview.html">Overview</a></span></dt><dt><span class="sect1"><a href="release-notes.html">OpenACS Release Notes</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="acs-admin.html">II. Administrator's Guide</a></span></dt><dd><dl><dt><span class="chapter"><a href="install-overview.html">2. Installation Overview</a></span></dt><dd><dl><dt><span class="sect1"><a href="install-steps.html">Basic Steps</a></span></dt><dt><span class="sect1"><a href="individual-programs.html">Prerequisite Software</a></span></dt></dl></dd><dt><span class="chapter"><a href="complete-install.html">3. Complete Installation</a></span></dt><dd><dl><dt><span class="sect1"><a href="unix-installation.html">Install a Unix-like system and supporting software</a></span></dt><dt><span class="sect1"><a href="oracle.html">Install Oracle 8.1.7</a></span></dt><dt><span class="sect1"><a href="postgres.html">Install PostgreSQL</a></span></dt><dt><span class="sect1"><a href="aolserver4.html">Install AOLserver 4</a></span></dt><dt><span class="sect1"><a href="openacs.html">Install OpenACS 5.9.0</a></span></dt><dt><span class="sect1"><a href="win2k-installation.html">OpenACS Installation Guide for Windows</a></span></dt><dt><span class="sect1"><a href="mac-installation.html">OpenACS Installation Guide for Mac OS X</a></span></dt></dl></dd><dt><span class="chapter"><a href="configuring-new-site.html">4. Configuring a new OpenACS Site</a></span></dt><dd><dl><dt><span class="sect1"><a href="configuring-install-packages.html">Installing OpenACS packages</a></span></dt><dt><span class="sect1"><a href="configuring-mounting-packages.html">Mounting OpenACS packages</a></span></dt><dt><span class="sect1"><a href="configuring-configuring-packages.html">Configuring an OpenACS package</a></span></dt><dt><span class="sect1"><a href="configuring-configuring-permissions.html">Setting Permissions on an OpenACS package</a></span></dt><dt><span class="sect1"><a href="how-do-I.html">How Do I?</a></span></dt></dl></dd><dt><span class="chapter"><a href="upgrade.html">5. Upgrading</a></span></dt><dd><dl><dt><span class="sect1"><a href="upgrade-overview.html">Overview</a></span></dt><dt><span class="sect1"><a href="upgrade-4.5-to-4.6.html">Upgrading 4.5 or higher to 4.6.3</a></span></dt><dt><span class="sect1"><a href="upgrade-4.6.3-to-5.html">Upgrading OpenACS 4.6.3 to 5.0</a></span></dt><dt><span class="sect1"><a href="upgrade-5-0-dot.html">Upgrading an OpenACS 5.0.0 or greater installation</a></span></dt><dt><span class="sect1"><a href="upgrade-openacs-files.html">Upgrading the OpenACS files</a></span></dt><dt><span class="sect1"><a href="upgrade-supporting.html">Upgrading Platform components</a></span></dt></dl></dd><dt><span class="chapter"><a href="maintenance-web.html">6. Production Environments</a></span></dt><dd><dl><dt><span class="sect1"><a href="install-openacs-keepalive.html">Starting and Stopping an OpenACS instance.</a></span></dt><dt><span class="sect1"><a href="install-openacs-inittab.html">AOLserver keepalive with inittab</a></span></dt><dt><span class="sect1"><a href="install-next-add-server.html">Running multiple services on one machine</a></span></dt><dt><span class="sect1"><a href="high-avail.html">High Availability/High Performance Configurations</a></span></dt><dt><span class="sect1"><a href="maintenance-deploy.html">Staged Deployment for Production Networks</a></span></dt><dt><span class="sect1"><a href="install-ssl.html">Installing SSL Support for an OpenACS service</a></span></dt><dt><span class="sect1"><a href="analog-setup.html">Set up Log Analysis Reports</a></span></dt><dt><span class="sect1"><a href="uptime.html">External uptime validation</a></span></dt><dt><span class="sect1"><a href="maint-performance.html">Diagnosing Performance Problems</a></span></dt></dl></dd><dt><span class="chapter"><a href="database-management.html">7. Database Management</a></span></dt><dd><dl><dt><span class="sect1"><a href="remote-postgres.html">Running a PostgreSQL database on another server</a></span></dt><dt><span class="sect1"><a href="install-openacs-delete-tablespace.html">Deleting a tablespace</a></span></dt><dt><span class="sect1"><a href="install-next-nightly-vacuum.html">Vacuum Postgres nightly</a></span></dt></dl></dd><dt><span class="chapter"><a href="backup-recovery.html">8. Backup and Recovery</a></span></dt><dd><dl><dt><span class="sect1"><a href="install-next-backups.html">Backup Strategy</a></span></dt><dt><span class="sect1"><a href="snapshot-backup.html">Manual backup and recovery</a></span></dt><dt><span class="sect1"><a href="automated-backup.html">Automated Backup</a></span></dt><dt><span class="sect1"><a href="backups-with-cvs.html">Using CVS for backup-recovery</a></span></dt></dl></dd><dt><span class="appendix"><a href="install-redhat.html">A. Install Red Hat 8/9</a></span></dt><dt><span class="appendix"><a href="install-more-software.html">B. Install additional supporting software</a></span></dt><dd><dl><dt><span class="sect1"><a href="openacs-unpack.html">Unpack the OpenACS tarball</a></span></dt><dt><span class="sect1"><a href="install-cvs.html">Initialize CVS (OPTIONAL)</a></span></dt><dt><span class="sect1"><a href="psgml-for-emacs.html">Add PSGML commands to emacs init file (OPTIONAL)</a></span></dt><dt><span class="sect1"><a href="install-daemontools.html">Install Daemontools (OPTIONAL)</a></span></dt><dt><span class="sect1"><a href="install-qmail.html">Install qmail (OPTIONAL)</a></span></dt><dt><span class="sect1"><a href="analog-install.html">Install Analog web file analyzer</a></span></dt><dt><span class="sect1"><a href="install-nspam.html">Install nspam</a></span></dt><dt><span class="sect1"><a href="install-full-text-search-tsearch2.html">Install Full Text Search using Tsearch2</a></span></dt><dt><span class="sect1"><a href="install-nsopenssl.html">Install nsopenssl</a></span></dt><dt><span class="sect1"><a href="install-tclwebtest.html">Install tclwebtest.</a></span></dt><dt><span class="sect1"><a href="install-php.html">Install PHP for use in AOLserver</a></span></dt><dt><span class="sect1"><a href="install-squirrelmail.html">Install Squirrelmail for use as a webmail system for OpenACS</a></span></dt><dt><span class="sect1"><a href="install-pam-radius.html">Install PAM Radius for use as external authentication</a></span></dt><dt><span class="sect1"><a href="install-ldap-radius.html">Install LDAP for use as external authentication</a></span></dt><dt><span class="sect1"><a href="aolserver.html">Install AOLserver 3.3oacs1</a></span></dt></dl></dd><dt><span class="appendix"><a href="credits.html">C. Credits</a></span></dt><dd><dl><dt><span class="section"><a href="install-origins.html">Where did this document come from?</a></span></dt><dt><span class="section"><a href="os-install.html">Linux Install Guides</a></span></dt><dt><span class="section"><a href="os-security.html">Security Information</a></span></dt><dt><span class="section"><a href="install-resources.html">Resources</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="acs-package-dev.html">III. For OpenACS Package Developers</a></span></dt><dd><dl><dt><span class="chapter"><a href="tutorial.html">9. Development Tutorial</a></span></dt><dd><dl><dt><span class="sect1"><a href="tutorial-newpackage.html">Creating an Application Package</a></span></dt><dt><span class="sect1"><a href="tutorial-database.html">Setting Up Database Objects</a></span></dt><dt><span class="sect1"><a href="tutorial-pages.html">Creating Web Pages</a></span></dt><dt><span class="sect1"><a href="tutorial-debug.html">Debugging and Automated Testing</a></span></dt></dl></dd><dt><span class="chapter"><a href="tutorial-advanced.html">10. Advanced Topics</a></span></dt><dd><dl><dt><span class="sect1"><a href="tutorial-specs.html">Write the Requirements and Design Specs</a></span></dt><dt><span class="sect1"><a href="tutorial-cvs.html">Add the new package to CVS</a></span></dt><dt><span class="sect1"><a href="tutorial-etp-templates.html">OpenACS Edit This Page Templates</a></span></dt><dt><span class="sect1"><a href="tutorial-comments.html">Adding Comments</a></span></dt><dt><span class="sect1"><a href="tutorial-admin-pages.html">Admin Pages</a></span></dt><dt><span class="sect1"><a href="tutorial-categories.html">Categories</a></span></dt><dt><span class="sect1"><a href="profile-code.html">Profile your code</a></span></dt><dt><span class="sect1"><a href="tutorial-distribute.html">Prepare the package for distribution.</a></span></dt><dt><span class="sect1"><a href="tutorial-upgrades.html">Distributing upgrades of your package</a></span></dt><dt><span class="sect1"><a href="tutorial-notifications.html">Notifications</a></span></dt><dt><span class="sect1"><a href="tutorial-hierarchical.html">Hierarchical data</a></span></dt><dt><span class="sect1"><a href="tutorial-vuh.html">Using .vuh files for pretty urls</a></span></dt><dt><span class="sect1"><a href="tutorial-css-layout.html">Laying out a page with CSS instead of tables</a></span></dt><dt><span class="sect1"><a href="tutorial-html-email.html">Sending HTML email from your application</a></span></dt><dt><span class="sect1"><a href="tutorial-caching.html">Basic Caching</a></span></dt><dt><span class="sect1"><a href="tutorial-schedule-procs.html">Scheduled Procedures</a></span></dt><dt><span class="sect1"><a href="tutorial-wysiwyg-editor.html">Enabling WYSIWYG</a></span></dt><dt><span class="sect1"><a href="tutorial-parameters.html">Adding in parameters for your package</a></span></dt><dt><span class="sect1"><a href="tutorial-upgrade-scripts.html">Writing upgrade scripts</a></span></dt><dt><span class="sect1"><a href="tutorial-second-database.html">Connect to a second database</a></span></dt><dt><span class="sect1"><a href="tutorial-future-topics.html">Future Topics</a></span></dt></dl></dd><dt><span class="chapter"><a href="dev-guide.html">11. Development Reference</a></span></dt><dd><dl><dt><span class="sect1"><a href="packages.html">OpenACS Packages</a></span></dt><dt><span class="sect1"><a href="objects.html">OpenACS Data Models and the Object System</a></span></dt><dt><span class="sect1"><a href="request-processor.html">The Request Processor</a></span></dt><dt><span class="sect1"><a href="db-api.html">The OpenACS Database Access API</a></span></dt><dt><span class="sect1"><a href="templates.html">Using Templates in OpenACS</a></span></dt><dt><span class="sect1"><a href="permissions.html">Groups, Context, Permissions</a></span></dt><dt><span class="sect1"><a href="subsites.html">Writing OpenACS Application Pages</a></span></dt><dt><span class="sect1"><a href="parties.html">Parties in OpenACS</a></span></dt><dt><span class="sect1"><a href="permissions-tediously-explained.html">OpenACS Permissions Tediously Explained</a></span></dt><dt><span class="sect1"><a href="object-identity.html">Object Identity</a></span></dt><dt><span class="sect1"><a href="programming-with-aolserver.html">Programming with AOLserver</a></span></dt><dt><span class="sect1"><a href="form-builder.html">Using Form Builder: building html forms dynamically</a></span></dt></dl></dd><dt><span class="chapter"><a href="eng-standards.html">12. Engineering Standards</a></span></dt><dd><dl><dt><span class="sect1"><a href="style-guide.html">OpenACS Style Guide</a></span></dt><dt><span class="sect1"><a href="cvs-guidelines.html">
     CVS Guidelines
-  </a></span></dt><dt><span class="sect1"><a href="eng-standards-versioning.html">Release Version Numbering</a></span></dt><dt><span class="sect1"><a href="eng-standards-constraint-naming.html">Constraint naming standard</a></span></dt><dt><span class="sect1"><a href="eng-standards-filenaming.html">ACS File Naming and Formatting Standards</a></span></dt><dt><span class="sect1"><a href="eng-standards-plsql.html">PL/SQL Standards</a></span></dt><dt><span class="sect1"><a href="variables.html">Variables</a></span></dt><dt><span class="sect1"><a href="automated-testing-best-practices.html">Automated Testing</a></span></dt></dl></dd><dt><span class="chapter"><a href="doc-standards.html">13. Documentation Standards</a></span></dt><dd><dl><dt><span class="sect1"><a href="docbook-primer.html">OpenACS Documentation Guide</a></span></dt><dt><span class="sect1"><a href="psgml-mode.html">Using PSGML mode in Emacs</a></span></dt><dt><span class="sect1"><a href="nxml-mode.html">Using nXML mode in Emacs</a></span></dt><dt><span class="sect1"><a href="filename.html">Detailed Design Documentation Template</a></span></dt><dt><span class="sect1"><a href="requirements-template.html">System/Application Requirements Template</a></span></dt></dl></dd><dt><span class="chapter"><a href="i18n.html">14. Internationalization</a></span></dt><dd><dl><dt><span class="sect1"><a href="i18n-overview.html">Internationalization and Localization Overview</a></span></dt><dt><span class="sect1"><a href="i18n-introduction.html">How Internationalization/Localization works in OpenACS</a></span></dt><dt><span class="sect1"><a href="i18n-convert.html">How to Internationalize a Package</a></span></dt><dt><span class="sect1"><a href="i18n-design.html">Design Notes</a></span></dt><dt><span class="sect1"><a href="i18n-translators.html">Translator's Guide</a></span></dt></dl></dd><dt><span class="appendix"><a href="cvs-tips.html">D. Using CVS with an OpenACS Site</a></span></dt></dl></dd><dt><span class="part"><a href="acs-plat-dev.html">IV. For OpenACS Platform Developers</a></span></dt><dd><dl><dt><span class="chapter"><a href="kernel-doc.html">15. Kernel Documentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="kernel-overview.html">Overview</a></span></dt><dt><span class="sect1"><a href="object-system-requirements.html">Object Model Requirements</a></span></dt><dt><span class="sect1"><a href="object-system-design.html">Object Model Design</a></span></dt><dt><span class="sect1"><a href="permissions-requirements.html">Permissions Requirements</a></span></dt><dt><span class="sect1"><a href="permissions-design.html">Permissions Design</a></span></dt><dt><span class="sect1"><a href="groups-requirements.html">Groups Requirements</a></span></dt><dt><span class="sect1"><a href="groups-design.html">Groups Design</a></span></dt><dt><span class="sect1"><a href="subsites-requirements.html">Subsites Requirements</a></span></dt><dt><span class="sect1"><a href="subsites-design.html">Subsites Design Document</a></span></dt><dt><span class="sect1"><a href="apm-requirements.html">Package Manager Requirements</a></span></dt><dt><span class="sect1"><a href="apm-design.html">Package Manager Design</a></span></dt><dt><span class="sect1"><a href="db-api-detailed.html">Database Access API</a></span></dt><dt><span class="sect1"><a href="i18n-requirements.html">OpenACS Internationalization Requirements</a></span></dt><dt><span class="sect1"><a href="security-requirements.html">Security Requirements</a></span></dt><dt><span class="sect1"><a href="security-design.html">Security Design</a></span></dt><dt><span class="sect1"><a href="security-notes.html">Security Notes</a></span></dt><dt><span class="sect1"><a href="rp-requirements.html">Request Processor Requirements</a></span></dt><dt><span class="sect1"><a href="rp-design.html">Request Processor Design</a></span></dt><dt><span class="sect1"><a href="tcl-doc.html">Documenting Tcl Files: Page Contracts and Libraries</a></span></dt><dt><span class="sect1"><a href="bootstrap-acs.html">Bootstrapping OpenACS</a></span></dt><dt><span class="sect1"><a href="ext-auth-requirements.html">External Authentication Requirements</a></span></dt></dl></dd><dt><span class="chapter"><a href="releasing-openacs.html">16. Releasing OpenACS</a></span></dt><dd><dl><dt><span class="section"><a href="releasing-openacs-core.html">OpenACS Core and .LRN</a></span></dt><dt><span class="section"><a href="update-repository.html">How to Update the OpenACS.org repository</a></span></dt><dt><span class="section"><a href="releasing-package.html">How to package and release an OpenACS Package</a></span></dt><dt><span class="section"><a href="update-translations.html">How to Update the translations</a></span></dt></dl></dd></dl></dd><dt><span class="index"><a href="ix01.html">Index</a></span></dt></dl></div><div class="list-of-figures"><p><b>List of Figures</b></p><dl><dt>4.1. <a href="how-do-I.html#idp140623178931720">Site Templates</a></dt><dt>4.2. <a href="how-do-I.html#idp140623157109688">Granting Permissions</a></dt><dt>4.3. <a href="how-do-I.html#idp140623157113640">Granting Permissions in 5.0</a></dt><dt>5.1. <a href="upgrade-overview.html#idp140623159984264">Upgrading with the APM</a></dt><dt>5.2. <a href="upgrade-openacs-files.html#idp140623159992456">Upgrading a local CVS repository</a></dt><dt>6.1. <a href="high-avail.html#idp140623175654472">Multiple-server configuration</a></dt><dt>6.2. <a href="maintenance-deploy.html#idp140623175654760">Simple A/B Deployment - Step 1</a></dt><dt>6.3. <a href="maintenance-deploy.html#idp140623175792120">Simple A/B Deployment - Step 2</a></dt><dt>6.4. <a href="maintenance-deploy.html#idp140623175788536">Simple A/B Deployment - Step 3</a></dt><dt>6.5. <a href="maintenance-deploy.html#idp140623175695688">Complex A/B Deployment - Step 1</a></dt><dt>6.6. <a href="maintenance-deploy.html#idp140623174978168">Complex A/B Deployment - Step 2</a></dt><dt>6.7. <a href="maintenance-deploy.html#idp140623174977320">Complex A/B Deployment - Step 3</a></dt><dt>6.8. <a href="maint-performance.html#idp140623175898008">Query Analysis example</a></dt><dt>8.1. <a href="backup-recovery.html#idp140623175809992">Backup and Recovery Strategy</a></dt><dt>9.1. <a href="tutorial-newpackage.html#idp140623174045016">Assumptions in this section</a></dt><dt>9.2. <a href="tutorial-database.html#idp140623163033192">Tutorial Data Model</a></dt><dt>9.3. <a href="tutorial-database.html#idp140623161557048">The Database Creation Script</a></dt><dt>9.4. <a href="tutorial-database.html#idp140623165914152">Database Deletion Script</a></dt><dt>9.5. <a href="tutorial-pages.html#idp140623165411624">Page Map</a></dt><dt>10.1. <a href="tutorial-cvs.html#idp140623162867368">Upgrading a local CVS repository</a></dt><dt>11.1. <a href="packages.html#idp140623177082456">Server file layout diagram</a></dt><dt>11.2. <a href="packages.html#idp140623172256280">Package file layout diagram</a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>2.1. <a href="install-steps.html#idp140623179122616">Default directories for a standard install</a></dt><dt>2.2. <a href="individual-programs.html#compatibility-matrix">Version Compatibility Matrix</a></dt><dt>5.1. <a href="upgrade-overview.html#idp140623160218856">Assumptions in this section</a></dt><dt>6.1. <a href="install-openacs-keepalive.html#idp140623159800936">How it Works</a></dt><dt>10.1. <a href="tutorial-etp-templates.html#idp140623170145000">table showing ETP layout</a></dt><dt>11.1. <a href="packages.html#idp140623177767000">Package files</a></dt><dt>11.2. <a href="permissions-tediously-explained.html#idp140623163017608">Context Hierarchy Example</a></dt><dt>11.3. <a href="permissions-tediously-explained.html#idp140623167583592">acs_objects example data</a></dt><dt>14.1. <a href="i18n-overview.html#i18n-l10n-process">Internationalization and Localization Overview</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>12.1. <a href="variables.html#idp140623173823464">Getting datetime from the database ANSI-style</a></dt></dl></div>
+  </a></span></dt><dt><span class="sect1"><a href="eng-standards-versioning.html">Release Version Numbering</a></span></dt><dt><span class="sect1"><a href="eng-standards-constraint-naming.html">Constraint naming standard</a></span></dt><dt><span class="sect1"><a href="eng-standards-filenaming.html">ACS File Naming and Formatting Standards</a></span></dt><dt><span class="sect1"><a href="eng-standards-plsql.html">PL/SQL Standards</a></span></dt><dt><span class="sect1"><a href="variables.html">Variables</a></span></dt><dt><span class="sect1"><a href="automated-testing-best-practices.html">Automated Testing</a></span></dt></dl></dd><dt><span class="chapter"><a href="doc-standards.html">13. Documentation Standards</a></span></dt><dd><dl><dt><span class="sect1"><a href="docbook-primer.html">OpenACS Documentation Guide</a></span></dt><dt><span class="sect1"><a href="psgml-mode.html">Using PSGML mode in Emacs</a></span></dt><dt><span class="sect1"><a href="nxml-mode.html">Using nXML mode in Emacs</a></span></dt><dt><span class="sect1"><a href="filename.html">Detailed Design Documentation Template</a></span></dt><dt><span class="sect1"><a href="requirements-template.html">System/Application Requirements Template</a></span></dt></dl></dd><dt><span class="chapter"><a href="i18n.html">14. Internationalization</a></span></dt><dd><dl><dt><span class="sect1"><a href="i18n-overview.html">Internationalization and Localization Overview</a></span></dt><dt><span class="sect1"><a href="i18n-introduction.html">How Internationalization/Localization works in OpenACS</a></span></dt><dt><span class="sect1"><a href="i18n-convert.html">How to Internationalize a Package</a></span></dt><dt><span class="sect1"><a href="i18n-design.html">Design Notes</a></span></dt><dt><span class="sect1"><a href="i18n-translators.html">Translator's Guide</a></span></dt></dl></dd><dt><span class="appendix"><a href="cvs-tips.html">D. Using CVS with an OpenACS Site</a></span></dt></dl></dd><dt><span class="part"><a href="acs-plat-dev.html">IV. For OpenACS Platform Developers</a></span></dt><dd><dl><dt><span class="chapter"><a href="kernel-doc.html">15. Kernel Documentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="kernel-overview.html">Overview</a></span></dt><dt><span class="sect1"><a href="object-system-requirements.html">Object Model Requirements</a></span></dt><dt><span class="sect1"><a href="object-system-design.html">Object Model Design</a></span></dt><dt><span class="sect1"><a href="permissions-requirements.html">Permissions Requirements</a></span></dt><dt><span class="sect1"><a href="permissions-design.html">Permissions Design</a></span></dt><dt><span class="sect1"><a href="groups-requirements.html">Groups Requirements</a></span></dt><dt><span class="sect1"><a href="groups-design.html">Groups Design</a></span></dt><dt><span class="sect1"><a href="subsites-requirements.html">Subsites Requirements</a></span></dt><dt><span class="sect1"><a href="subsites-design.html">Subsites Design Document</a></span></dt><dt><span class="sect1"><a href="apm-requirements.html">Package Manager Requirements</a></span></dt><dt><span class="sect1"><a href="apm-design.html">Package Manager Design</a></span></dt><dt><span class="sect1"><a href="db-api-detailed.html">Database Access API</a></span></dt><dt><span class="sect1"><a href="i18n-requirements.html">OpenACS Internationalization Requirements</a></span></dt><dt><span class="sect1"><a href="security-requirements.html">Security Requirements</a></span></dt><dt><span class="sect1"><a href="security-design.html">Security Design</a></span></dt><dt><span class="sect1"><a href="security-notes.html">Security Notes</a></span></dt><dt><span class="sect1"><a href="rp-requirements.html">Request Processor Requirements</a></span></dt><dt><span class="sect1"><a href="rp-design.html">Request Processor Design</a></span></dt><dt><span class="sect1"><a href="tcl-doc.html">Documenting Tcl Files: Page Contracts and Libraries</a></span></dt><dt><span class="sect1"><a href="bootstrap-acs.html">Bootstrapping OpenACS</a></span></dt><dt><span class="sect1"><a href="ext-auth-requirements.html">External Authentication Requirements</a></span></dt></dl></dd><dt><span class="chapter"><a href="releasing-openacs.html">16. Releasing OpenACS</a></span></dt><dd><dl><dt><span class="section"><a href="releasing-openacs-core.html">OpenACS Core and .LRN</a></span></dt><dt><span class="section"><a href="update-repository.html">How to Update the OpenACS.org repository</a></span></dt><dt><span class="section"><a href="releasing-package.html">How to package and release an OpenACS Package</a></span></dt><dt><span class="section"><a href="update-translations.html">How to Update the translations</a></span></dt></dl></dd></dl></dd><dt><span class="index"><a href="ix01.html">Index</a></span></dt></dl></div><div class="list-of-figures"><p><b>List of Figures</b></p><dl><dt>4.1. <a href="how-do-I.html#idp140682183059880">Site Templates</a></dt><dt>4.2. <a href="how-do-I.html#idp140682182761064">Granting Permissions</a></dt><dt>4.3. <a href="how-do-I.html#idp140682182765048">Granting Permissions in 5.0</a></dt><dt>5.1. <a href="upgrade-overview.html#idp140682188908648">Upgrading with the APM</a></dt><dt>5.2. <a href="upgrade-openacs-files.html#idp140682192881720">Upgrading a local CVS repository</a></dt><dt>6.1. <a href="high-avail.html#idp140682193069512">Multiple-server configuration</a></dt><dt>6.2. <a href="maintenance-deploy.html#idp140682193094792">Simple A/B Deployment - Step 1</a></dt><dt>6.3. <a href="maintenance-deploy.html#idp140682193097912">Simple A/B Deployment - Step 2</a></dt><dt>6.4. <a href="maintenance-deploy.html#idp140682193100872">Simple A/B Deployment - Step 3</a></dt><dt>6.5. <a href="maintenance-deploy.html#idp140682193104504">Complex A/B Deployment - Step 1</a></dt><dt>6.6. <a href="maintenance-deploy.html#idp140682193107560">Complex A/B Deployment - Step 2</a></dt><dt>6.7. <a href="maintenance-deploy.html#idp140682193110440">Complex A/B Deployment - Step 3</a></dt><dt>6.8. <a href="maint-performance.html#idp140682193185848">Query Analysis example</a></dt><dt>8.1. <a href="backup-recovery.html#idp140682185930392">Backup and Recovery Strategy</a></dt><dt>9.1. <a href="tutorial-newpackage.html#idp140682188007688">Assumptions in this section</a></dt><dt>9.2. <a href="tutorial-database.html#idp140682188466808">Tutorial Data Model</a></dt><dt>9.3. <a href="tutorial-database.html#idp140682188007208">The Database Creation Script</a></dt><dt>9.4. <a href="tutorial-database.html#idp140682188736280">Database Deletion Script</a></dt><dt>9.5. <a href="tutorial-pages.html#idp140682183487208">Page Map</a></dt><dt>10.1. <a href="tutorial-cvs.html#idp140682188703128">Upgrading a local CVS repository</a></dt><dt>11.1. <a href="packages.html#idp140682185326152">Server file layout diagram</a></dt><dt>11.2. <a href="packages.html#idp140682185307736">Package file layout diagram</a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>2.1. <a href="install-steps.html#idp140682192548168">Default directories for a standard install</a></dt><dt>2.2. <a href="individual-programs.html#compatibility-matrix">Version Compatibility Matrix</a></dt><dt>5.1. <a href="upgrade-overview.html#idp140682183415528">Assumptions in this section</a></dt><dt>6.1. <a href="install-openacs-keepalive.html#idp140682193008008">How it Works</a></dt><dt>10.1. <a href="tutorial-etp-templates.html#idp140682185689992">table showing ETP layout</a></dt><dt>11.1. <a href="packages.html#idp140682185313912">Package files</a></dt><dt>11.2. <a href="permissions-tediously-explained.html#idp140682187418040">Context Hierarchy Example</a></dt><dt>11.3. <a href="permissions-tediously-explained.html#idp140682182505032">acs_objects example data</a></dt><dt>14.1. <a href="i18n-overview.html#i18n-l10n-process">Internationalization and Localization Overview</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>12.1. <a href="variables.html#idp140682193355096">Getting datetime from the database ANSI-style</a></dt></dl></div>
 
 
 
Index: openacs-4/packages/acs-core-docs/www/individual-programs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/individual-programs.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/individual-programs.adp	24 Mar 2018 00:14:57 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/individual-programs.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,20 +3,20 @@
 <property name="doc(title)">Prerequisite Software</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-steps" leftLabel="Prev"
-		    title="
-Chapter 2. Installation Overview"
-		    rightLink="complete-install" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-steps" leftLabel="Prev"
+			title="Chapter 2. Installation
+Overview"
+			rightLink="complete-install" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="individual-programs" id="individual-programs"></a>Prerequisite Software</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel
 Aufrecht</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>OpenACS requires, at a minimum, an operating system, database,
 and webserver to work. Many additional programs, such as a build
 environment, Mail Transport Agent, and source control system, are
 also needed for a fully effective installation.</p><div class="table">
-<a name="compatibility-matrix" id="compatibility-matrix"></a><p class="title"><strong>Table 2.2. Version
-Compatibility Matrix</strong></p><div class="table-contents"><table class="table" summary="Version Compatibility Matrix" cellspacing="0" border="1">
+<a name="compatibility-matrix" id="compatibility-matrix"></a><p class="title"><strong>Table 2.2. Version Compatibility
+Matrix</strong></p><div class="table-contents"><table class="table" summary="Version Compatibility Matrix" cellspacing="0" border="1">
 <colgroup>
 <col class="c1"><col class="c2"><col class="3.2.5"><col class="4.5"><col class="4.6"><col class="4.6.1"><col class="4.6.2"><col class="4.6.3"><col class="5.0"><col class="5.1">
 </colgroup><thead><tr>
@@ -85,12 +85,12 @@
 both PostgreSQL and Oracle. Some scripts require bash shell.</p>
 </li><li class="listitem">
 <p>
-<strong>Operating System. </strong> OpenACS is
-designed for a Unix-like system. It is developed primarily in
-Linux. It can be run on Mac OS X, and in Windows within VMWare.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
+<strong>Operating System. </strong> OpenACS is designed for
+a Unix-like system. It is developed primarily in Linux. It can be
+run on Mac OS X, and in Windows within VMWare.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem"><p>
-<strong>GNU/Linux. </strong> The installation
-assumes a linux kernel of 2.2.22 or newer, or 2.4.14 or newer.</p></li><li class="listitem"><p>
+<strong>GNU/Linux. </strong> The installation assumes a
+linux kernel of 2.2.22 or newer, or 2.4.14 or newer.</p></li><li class="listitem"><p>
 <strong>FreeBSD. </strong><a class="ulink" href="https://web.archive.org/web/20011204174701/http://www.orchardlabs.com:80/freebsd/" target="_top">FreeBSD guide</a>. The OpenACS Reference Platform
 uses shell scripts written for bash, which is the standard Linux
 shell. If you are using a different shell, you will need to
@@ -99,67 +99,66 @@
 scripts. Substitute <strong class="userinput"><code>fetch</code></strong> when the instructions
 suggest you use <strong class="userinput"><code>wget</code></strong> to download software.</p></li><li class="listitem"><p>
 <strong>Mac OS X. </strong><a class="xref" href="mac-installation" title="OpenACS Installation Guide for Mac OS X">the section called
-&ldquo;OpenACS Installation Guide for Mac OS
-X&rdquo;</a>
+“OpenACS Installation Guide for Mac OS X”</a>
 </p></li><li class="listitem"><p>
 <strong>Windows/VMWare. </strong><a class="xref" href="win2k-installation" title="OpenACS Installation Guide for Windows">the section called
-&ldquo;OpenACS Installation Guide for
-Windows&rdquo;</a> The only way to run OpenACS on Windows is
-through the VMWare emulator. (Please let me know if you have
-OpenACS running directly in Windows.)</p></li>
+“OpenACS Installation Guide for Windows”</a> The only way to run
+OpenACS on Windows is through the VMWare emulator. (Please let me
+know if you have OpenACS running directly in Windows.)</p></li>
 </ul></div>
 </li><li class="listitem">
 <p>
-<strong>Build Environment. </strong> The Reference
-Platform installation compiles most programs from source code.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
+<strong>Build Environment. </strong> The Reference Platform
+installation compiles most programs from source code.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem"><p>
 <strong>
-<a class="ulink" href="http://www.gnu.org/software/libc/libc.html" target="_top">glibc</a> 2.2 or newer, REQUIRED. </strong> You
-need recent versions of these libraries for Oracle to work
-properly. For Unicode support, you need glibc 2.2 or newer. This
-should be included in your operating system distribution.</p></li><li class="listitem"><p>
+<a class="ulink" href="http://www.gnu.org/software/libc/libc.html" target="_top">glibc</a> 2.2 or newer, REQUIRED. </strong> You need
+recent versions of these libraries for Oracle to work properly. For
+Unicode support, you need glibc 2.2 or newer. This should be
+included in your operating system distribution.</p></li><li class="listitem"><p>
 <strong>
 <a class="ulink" href="http://www.gnu.org/software/make/" target="_top">GNU Make</a>
-3.76.1 or newer, REQUIRED. </strong> PostgreSQL and
-AOLserver require gmake to compile. Note that on most linux
-distributions, GNU Make is simply named <code class="computeroutput">make</code> and there is no <code class="computeroutput">gmake</code>, whereas on BSD distributions,
-<code class="computeroutput">make</code> and <code class="computeroutput">gmake</code> are different --use gmake.</p></li>
+3.76.1 or newer, REQUIRED. </strong> PostgreSQL and AOLserver
+require gmake to compile. Note that on most linux distributions,
+GNU Make is simply named <code class="computeroutput">make</code>
+and there is no <code class="computeroutput">gmake</code>, whereas
+on BSD distributions, <code class="computeroutput">make</code> and
+<code class="computeroutput">gmake</code> are different --use
+gmake.</p></li>
 </ul></div>
 </li><li class="listitem">
 <p><strong>
 <a class="ulink" href="http://www.tcl.tk/" target="_top">Tcl</a> 8.5.x. </strong></p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem"><p>
 <strong>
-<a class="ulink" href="http://www.tcl.tk/" target="_top">Tcl</a> 8.5.x, REQUIRED. </strong> OpenACS is
-written in Tcl, an interpreted language. A threaded version of the
-Tcl interpreter must be installed for OpenACS to work. The Tcl
+<a class="ulink" href="http://www.tcl.tk/" target="_top">Tcl</a> 8.5.x, REQUIRED. </strong> OpenACS is written
+in Tcl, an interpreted language. A threaded version of the Tcl
+interpreter must be installed for OpenACS to work. The Tcl
 interpreter that is included in most standard distributions may not
 be thread safe.</p></li><li class="listitem"><p>
 <strong>
 <a class="ulink" href="http://www.tcl.tk/" target="_top">Tcl</a> 8.5.x development headers and libraries,
-OPTIONAL. </strong> The site-wide-search service,
-OpenFTS, requires these to compile. (Debian users: <code class="computeroutput">apt-get install tcl8.5-dev</code>). You need this
+OPTIONAL. </strong> The site-wide-search service, OpenFTS,
+requires these to compile. (Debian users: <code class="computeroutput">apt-get install tcl8.5-dev</code>). You need this
 to install OpenFTS.</p></li>
 </ul></div>
 </li><li class="listitem">
 <a name="source-tcllib" id="source-tcllib"></a><p>
 <strong>
-<a class="ulink" href="http://tcllib.sourceforge.net/" target="_top">Tcllib</a>, REQUIRED. </strong> OpenACS
-5.9.0 uses those Tcl extensions to send e-mail out, among
-others.</p>
+<a class="ulink" href="http://tcllib.sourceforge.net/" target="_top">Tcllib</a>, REQUIRED. </strong> OpenACS 5.9.0
+uses those Tcl extensions to send e-mail out, among others.</p>
 </li><li class="listitem">
 <a name="source-tdom" id="source-tdom"></a><p>
 <strong>
-<a class="ulink" href="http://www.tdom.org/" target="_top">tDOM</a>, REQUIRED. </strong> OpenACS 5.9.0
-stores queries in XML files, so we use an AOLserver module called
-tDOM to parse these files. (This replaces libxml2, which was used
-prior to 4.6.4.)</p>
+<a class="ulink" href="http://www.tdom.org/" target="_top">tDOM</a>, REQUIRED. </strong> OpenACS 5.9.0 stores
+queries in XML files, so we use an AOLserver module called tDOM to
+parse these files. (This replaces libxml2, which was used prior to
+4.6.4.)</p>
 </li><li class="listitem">
 <a name="source-tclwebtest" id="source-tclwebtest"></a><p>
 <strong>
-<a class="ulink" href="http://sourceforge.net/project/showfiles.php?group_id=31075" target="_top">tclwebtest</a>, OPTIONAL. </strong>
-tclwebtest is a tool for testing web interfaces via Tcl
-scripts.</p>
+<a class="ulink" href="http://sourceforge.net/project/showfiles.php?group_id=31075" target="_top">tclwebtest</a>, OPTIONAL. </strong> tclwebtest
+is a tool for testing web interfaces via Tcl scripts.</p>
 </li><li class="listitem">
 <p>
 <strong>Web Server. </strong> The web server handles
@@ -170,8 +169,8 @@
 mod_nsd</a>.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;"><li class="listitem">
 <a name="source-aolserver" id="source-aolserver"></a><p>
 <strong>
-<a class="ulink" href="http://aolserver.com/" target="_top">AOLserver</a> 4.x, REQUIRED. </strong> Provides
-the base HTTP server</p>
+<a class="ulink" href="http://aolserver.com/" target="_top">AOLserver</a> 4.x, REQUIRED. </strong> Provides the
+base HTTP server</p>
 </li></ul></div><p>Mat Kovach is graciously maintaining an AOLserver distribution
 that includes all the patches and modules needed to run OpenACS
 5.9.0. These instructions will describe how to install using his
@@ -200,36 +199,35 @@
 </li><li class="listitem">
 <a name="nspam-download" id="nspam-download"></a><p>
 <strong>
-<a class="ulink" href="http://wayback.archive.org/web/20050228071203/http://braindamage.alal.com/software/nspam.html" target="_top">ns_pam</a> 0.1 or newer,
-OPTIONAL. </strong> Provides PAM capabilities for
-AOLserver. You need this if you want OpenACS users to authenticate
-through a PAM module (such as RADIUS).</p>
+<a class="ulink" href="http://wayback.archive.org/web/20050228071203/http://braindamage.alal.com/software/nspam.html" target="_top">ns_pam</a> 0.1 or newer, OPTIONAL. </strong>
+Provides PAM capabilities for AOLserver. You need this if you want
+OpenACS users to authenticate through a PAM module (such as
+RADIUS).</p>
 </li><li class="listitem">
 <a name="pam-radius-download" id="pam-radius-download"></a><p>
 <strong>
-<a class="ulink" href="ftp://ftp.freeradius.org/pub/radius/pam_radius-1.3.16.tar" target="_top">pam_radius 1.3.16</a>, OPTIONAL. </strong>
-Provides RADIUS capabilities for PAM. You need this if you want to
-use RADIUS authentication via PAM in OpenACS.</p>
+<a class="ulink" href="ftp://ftp.freeradius.org/pub/radius/pam_radius-1.3.16.tar" target="_top">pam_radius 1.3.16</a>, OPTIONAL. </strong> Provides
+RADIUS capabilities for PAM. You need this if you want to use
+RADIUS authentication via PAM in OpenACS.</p>
 </li><li class="listitem">
 <a name="nsldap-download" id="nsldap-download"></a><p>
 <strong>
-<a class="ulink" href="http://sourceforge.net/project/showfiles.php?group_id=3152" target="_top">ns_ldap 0.r8</a>, OPTIONAL. </strong>
-Provides LDAP capabilities for AOLserver. You need this if you want
-to use LDAP authentication in OpenACS.</p>
+<a class="ulink" href="http://sourceforge.net/project/showfiles.php?group_id=3152" target="_top">ns_ldap 0.r8</a>, OPTIONAL. </strong> Provides
+LDAP capabilities for AOLserver. You need this if you want to use
+LDAP authentication in OpenACS.</p>
 </li><li class="listitem">
 <a name="openfts-download" id="openfts-download"></a><p>
 <strong>
-<a class="ulink" href="http://unc.dl.sourceforge.net/sourceforge/openfts/Search-OpenFTS-tcl-0.3.2.tar.gz" target="_top">OpenFTS Tcl 0.3.2</a>,
-OPTIONAL. </strong> Adds full-text-search to PostgreSQL
-and includes a driver for AOLserver. You need this if you want
-users to be able to search for any text on your site. For postgres
-7.4.x and higher, full text search is also available via
-tsearch2.</p>
+<a class="ulink" href="http://unc.dl.sourceforge.net/sourceforge/openfts/Search-OpenFTS-tcl-0.3.2.tar.gz" target="_top">OpenFTS Tcl 0.3.2</a>, OPTIONAL. </strong> Adds
+full-text-search to PostgreSQL and includes a driver for AOLserver.
+You need this if you want users to be able to search for any text
+on your site. For postgres 7.4.x and higher, full text search is
+also available via tsearch2.</p>
 </li><li class="listitem"><p>
 <a name="analog-download" id="analog-download"></a><strong>
-<a class="ulink" href="http://www.analog.cx/" target="_top">Analog</a> 5.32 or newer, OPTIONAL. </strong>
-This program examines web server request logs, looks up DNS values,
-and produces a report. You need this if you want to see how much
+<a class="ulink" href="http://www.analog.cx/" target="_top">Analog</a> 5.32 or newer, OPTIONAL. </strong> This
+program examines web server request logs, looks up DNS values, and
+produces a report. You need this if you want to see how much
 traffic your site is getting.</p></li><li class="listitem"><p>
 <a name="balance-download" id="balance-download"></a><strong>
 <a class="ulink" href="http://sourceforge.net/projects/balance/" target="_top">Balance</a> 3.11 or newer, OPTIONAL. </strong>
@@ -239,84 +237,81 @@
 production site and do not have an external load balancing
 system.</p></li><li class="listitem">
 <p>
-<strong>Database. </strong> The data on your site
-(for example, user names and passwords, calendar entries, and
-notes) is stored in the database. OpenACS separates the database
-with an abstraction layer, which means that several different
-databases all function identically. While you can run the core
-OpenACS on any supported database, not all contributed packages
-support all databases.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
+<strong>Database. </strong> The data on your site (for
+example, user names and passwords, calendar entries, and notes) is
+stored in the database. OpenACS separates the database with an
+abstraction layer, which means that several different databases all
+function identically. While you can run the core OpenACS on any
+supported database, not all contributed packages support all
+databases.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem"><p>
 <strong>Oracle 8.1.7 (Either this or PostgreSQL is
-REQUIRED). </strong> You can register and download
-Oracle from <a class="ulink" href="https://www.oracle.com/downloads/index.html" target="_top">Oracle
-TechNet</a>. You need this if you want to use an Oracle
-database.</p></li><li class="listitem"><p>
+REQUIRED). </strong> You can register and download Oracle from
+<a class="ulink" href="https://www.oracle.com/downloads/index.html" target="_top">Oracle TechNet</a>. You need this if you want to use
+an Oracle database.</p></li><li class="listitem"><p>
 <a name="source-postgresql" id="source-postgresql"></a><strong>
 <a class="ulink" href="http://sourceforge.net/projects/pgsql/" target="_top">PostgreSQL</a> 7.4.x (Either this or Oracle is
 REQUIRED). </strong> You need this if you want to use a
 PostgreSQL database.</p></li>
 </ul></div>
 </li><li class="listitem">
 <p>
-<strong>Process Controller. </strong> This is
-software that initiates other software, and restarts that software
-if it fails. On Linux, we recommend using Daemontools to control
-AOLserver and qmail.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;"><li class="listitem">
+<strong>Process Controller. </strong> This is software that
+initiates other software, and restarts that software if it fails.
+On Linux, we recommend using Daemontools to control AOLserver and
+qmail.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;"><li class="listitem">
 <a name="daemontools-download" id="daemontools-download"></a><p>
 <strong>
-<a class="ulink" href="http://cr.yp.to/daemontools/daemontools-0.76.tar.gz" target="_top">Daemontools 0.76</a>, OPTIONAL. </strong> You
-need this if you want AOLserver and qmail to run
-"supervised," meaning that they are monitored and
-automatically restarted if they fail. An alternative would be to
-run the services from inittab.</p>
+<a class="ulink" href="http://cr.yp.to/daemontools/daemontools-0.76.tar.gz" target="_top">Daemontools 0.76</a>, OPTIONAL. </strong> You need this
+if you want AOLserver and qmail to run "supervised,"
+meaning that they are monitored and automatically restarted if they
+fail. An alternative would be to run the services from inittab.</p>
 </li></ul></div>
 </li><li class="listitem">
 <p>
-<strong>Mail Transport Agent. </strong> A Mail
-Transport Agent is a program that handles all incoming and outgoing
-mail. The Reference Platform uses Qmail; any MTA that provides a
-sendmail wrapper (that is, that can be invoked by calling the
-sendmail program with the same variables that sendmail expects) can
-be used.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
+<strong>Mail Transport Agent. </strong> A Mail Transport
+Agent is a program that handles all incoming and outgoing mail. The
+Reference Platform uses Qmail; any MTA that provides a sendmail
+wrapper (that is, that can be invoked by calling the sendmail
+program with the same variables that sendmail expects) can be
+used.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem"><p>
 <a name="qmail-download" id="qmail-download"></a><strong>
-<a class="ulink" href="http://www.qmail.org/netqmail/" target="_top">Netqmail 1.04</a>, OPTIONAL. </strong>
-You need this (or a different Mail Transport Agent) if you want
-your webserver to send and receive email.</p></li><li class="listitem"><p>
+<a class="ulink" href="http://www.qmail.org/netqmail/" target="_top">Netqmail 1.04</a>, OPTIONAL. </strong> You need
+this (or a different Mail Transport Agent) if you want your
+webserver to send and receive email.</p></li><li class="listitem"><p>
 <a name="ucspi-download" id="ucspi-download"></a><strong>
-<a class="ulink" href="http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz" target="_top">ucspi-tcp 0.88</a>, OPTIONAL. </strong> This
-program listens for incoming TCP connections and hands them to a
-program. We use it instead of inetd, which is insecure. You need
-this if you are running qmail.</p></li>
+<a class="ulink" href="http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz" target="_top">ucspi-tcp 0.88</a>, OPTIONAL. </strong> This program
+listens for incoming TCP connections and hands them to a program.
+We use it instead of inetd, which is insecure. You need this if you
+are running qmail.</p></li>
 </ul></div>
 </li><li class="listitem"><p>
 <strong>
-<a class="ulink" href="http://www.docbook.org/" target="_top">DocBook</a>, OPTIONAL. </strong> (docbook-xml
-v4.4, docbook-xsl v1.56, libxslt 1.0.21, xsltproc 1.0.21). You need
-this to write or edit documentation.</p></li><li class="listitem">
+<a class="ulink" href="http://www.docbook.org/" target="_top">DocBook</a>, OPTIONAL. </strong> (docbook-xml v4.4,
+docbook-xsl v1.56, libxslt 1.0.21, xsltproc 1.0.21). You need this
+to write or edit documentation.</p></li><li class="listitem">
 <p>
-<strong>Source Control. </strong> A Source Control
-system keeps track of all of the old versions of your files. It
-lets you recover old files, compare versions of file, and identify
-specific versions of files. You can use any source control system;
-the Reference Platform and the OpenACS.org repository (where you
-can get patched and development code in between releases) use
-cvs.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;"><li class="listitem"><p>
+<strong>Source Control. </strong> A Source Control system
+keeps track of all of the old versions of your files. It lets you
+recover old files, compare versions of file, and identify specific
+versions of files. You can use any source control system; the
+Reference Platform and the OpenACS.org repository (where you can
+get patched and development code in between releases) use cvs.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;"><li class="listitem"><p>
 <strong>
-<a class="ulink" href="https://www.cvshome.org/" target="_top">cvs</a> 1.11.18, OPTIONAL. </strong> cvs is
-included in most unix distributions. You need this if you want to
-track old versions of your files, do controlled deployment of code
-from development to production, or get or contribute development
-code from openacs.org.</p></li></ul></div>
+<a class="ulink" href="https://www.cvshome.org/" target="_top">cvs</a> 1.11.18, OPTIONAL. </strong> cvs is included in
+most unix distributions. You need this if you want to track old
+versions of your files, do controlled deployment of code from
+development to production, or get or contribute development code
+from openacs.org.</p></li></ul></div>
 </li>
-</ul></div><p><span class="cvstag">($&zwnj;Id: software.xml,v 1.27 2017/08/07
-23:47:55 gustafn Exp $)</span></p>
+</ul></div><p><span class="cvstag">($&zwnj;Id: software.xml,v 1.28 2018/03/24
+00:14:57 hectorr Exp $)</span></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-steps" leftLabel="Prev" leftTitle="Basic Steps"
-		    rightLink="complete-install" rightLabel="Next" rightTitle="
-Chapter 3. Complete Installation"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-overview" upLabel="Up"> 
-		
+			leftLink="install-steps" leftLabel="Prev" leftTitle="Basic Steps"
+			rightLink="complete-install" rightLabel="Next" rightTitle="Chapter 3. Complete
+Installation"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-overview" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-cvs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-cvs.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-cvs.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-cvs.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,26 +3,24 @@
 <property name="doc(title)">Initialize CVS (OPTIONAL)</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="openacs-unpack" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="psgml-for-emacs" rightLabel="Next">
-		<div class="sect1">
+			leftLink="openacs-unpack" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="psgml-for-emacs" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="install-cvs" id="install-cvs"></a>Initialize CVS (OPTIONAL)</h2></div></div></div><a class="indexterm" name="idp140623161616552" id="idp140623161616552"></a><p>CVS is a source control system. Create and initialize a
-directory for a local cvs repository.</p><pre class="screen">
-[root tmp]# <strong class="userinput"><code>mkdir /cvsroot</code></strong>
+<a name="install-cvs" id="install-cvs"></a>Initialize CVS (OPTIONAL)</h2></div></div></div><a class="indexterm" name="idp140682186513672" id="idp140682186513672"></a><p>CVS is a source control system. Create and initialize a
+directory for a local cvs repository.</p><pre class="screen">[root tmp]# <strong class="userinput"><code>mkdir /cvsroot</code></strong>
 [root tmp]#<strong class="userinput"><code> cvs -d /cvsroot init</code></strong>
 [root tmp]#
 <span class="action">mkdir /cvsroot
 cvs -d /cvsroot init</span>
 </pre>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="openacs-unpack" leftLabel="Prev" leftTitle="Unpack the OpenACS tarball"
-		    rightLink="psgml-for-emacs" rightLabel="Next" rightTitle="Add PSGML commands to emacs init file
+			leftLink="openacs-unpack" leftLabel="Prev" leftTitle="Unpack the OpenACS tarball"
+			rightLink="psgml-for-emacs" rightLabel="Next" rightTitle="Add PSGML commands to emacs init file
 (OPTIONAL)"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-cvs.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-cvs.html,v
diff -u -r1.42 -r1.43
--- openacs-4/packages/acs-core-docs/www/install-cvs.html	8 Nov 2017 09:42:10 -0000	1.42
+++ openacs-4/packages/acs-core-docs/www/install-cvs.html	25 Apr 2018 08:38:27 -0000	1.43
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 'http://www.w3.org/TR/html4/loose.dtd"'>
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Initialize CVS (OPTIONAL)</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="install-more-software.html" title="Appendix B. Install additional supporting software"><link rel="previous" href="openacs-unpack.html" title="Unpack the OpenACS tarball"><link rel="next" href="psgml-for-emacs.html" title="Add PSGML commands to emacs init file (OPTIONAL)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="openacs-unpack.html">Prev</a> </td><th width="60%" align="center">Appendix B. Install additional supporting software</th><td width="20%" align="right"> <a accesskey="n" href="psgml-for-emacs.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="install-cvs"></a>Initialize CVS (OPTIONAL)</h2></div></div></div>
       
-      <a class="indexterm" name="idp140623161616552"></a>
+      <a class="indexterm" name="idp140682186513672"></a>
       <p>CVS is a source control system.  Create and initialize a
       directory for a local cvs repository.</p>
       <pre class="screen">[root tmp]# <strong class="userinput"><code>mkdir /cvsroot</code></strong>
Index: openacs-4/packages/acs-core-docs/www/install-daemontools.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-daemontools.adp	8 Nov 2017 09:42:10 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-daemontools.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,25 +3,23 @@
 <property name="doc(title)">Install Daemontools (OPTIONAL)</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="psgml-for-emacs" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-qmail" rightLabel="Next">
-		<div class="sect1">
+			leftLink="psgml-for-emacs" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-qmail" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-daemontools" id="install-daemontools"></a>Install Daemontools (OPTIONAL)</h2></div></div></div><p>Daemontools is a collection of programs for controlling other
 processes. We use daemontools to run and monitor AOLserver. It is
 installed in /package. These commands install daemontools and
 svgroup. svgroup is a script for granting permissions, to allow
 users other than root to use daemontools for specific services.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
-<p>Install Daemontools</p><a class="indexterm" name="idp140623170211560" id="idp140623170211560"></a><p>
+<p>Install Daemontools</p><a class="indexterm" name="idp140682186500936" id="idp140682186500936"></a><p>
 <a class="link" href="individual-programs">download
 daemontools</a> and install it.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
-<p>Red Hat 8</p><pre class="screen">
-[root root]# <strong class="userinput"><code>mkdir -p /package</code></strong>
+<p>Red Hat 8</p><pre class="screen">[root root]# <strong class="userinput"><code>mkdir -p /package</code></strong>
 [root root]# <strong class="userinput"><code>chmod 1755 /package/</code></strong>
 [root root]# <strong class="userinput"><code>cd /package/</code></strong>
 [root package]# <strong class="userinput"><code>tar xzf /tmp/daemontools-0.76.tar.gz</code></strong>
@@ -42,8 +40,7 @@
 </pre>
 </li><li class="listitem">
 <p>Red Hat 9, Fedora Core 1-4</p><p>Make sure you have the source tarball in <code class="computeroutput">/tmp</code>, or <a class="link" href="individual-programs">download
-it</a>.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>mkdir -p /package</code></strong>
+it</a>.</p><pre class="screen">[root root]# <strong class="userinput"><code>mkdir -p /package</code></strong>
 [root root]# <strong class="userinput"><code>chmod 1755 /package/</code></strong>
 [root root]# <strong class="userinput"><code>cd /package/</code></strong>
 [root package]# <strong class="userinput"><code>tar xzf /tmp/daemontools-0.76.tar.gz</code></strong>
@@ -80,8 +77,7 @@
 </pre>
 </li><li class="listitem">
 <p>FreeBSD (follow standard install)</p><p>Make sure you have the source tarball in <code class="computeroutput">/tmp</code>, or <a class="link" href="individual-programs">download
-it</a>.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>mkdir -p /package</code></strong>
+it</a>.</p><pre class="screen">[root root]# <strong class="userinput"><code>mkdir -p /package</code></strong>
 [root root]# <strong class="userinput"><code>chmod 1755 /package/</code></strong>
 [root root]# <strong class="userinput"><code>cd /package/</code></strong>
 [root package]# <strong class="userinput"><code>tar xzf /tmp/daemontools-0.76.tar.gz</code></strong>
@@ -100,34 +96,30 @@
 package/install</span>
 </pre>
 </li><li class="listitem">
-<p>Debian</p><pre class="screen">
-[root ~]# <strong class="userinput"><code>apt-get install daemontools-installer</code></strong>
+<p>Debian</p><pre class="screen">[root ~]# <strong class="userinput"><code>apt-get install daemontools-installer</code></strong>
 [root ~]# <strong class="userinput"><code>build-daemontools</code></strong>
 </pre>
 </li>
 </ul></div>
 </li><li class="listitem">
 <p>Verify that svscan is running. If it is, you should see these
-two processes running:</p><pre class="screen">
-[root root]# <strong class="userinput"><code>ps -auxw | grep service</code></strong>
+two processes running:</p><pre class="screen">[root root]# <strong class="userinput"><code>ps -auxw | grep service</code></strong>
 root     13294  0.0  0.1  1352  272 ?        S    09:51   0:00 svscan /service
 root     13295  0.0  0.0  1304  208 ?        S    09:51   0:00 readproctitle service errors: .......................................
-[root root]#
-</pre>
+[root root]#</pre>
 </li><li class="listitem">
 <p>Install a script to grant non-root users permission to control
-daemontools services.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup</code></strong>
+daemontools services.</p><pre class="screen">[root root]# <strong class="userinput"><code>cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup</code></strong>
 [root root]# <strong class="userinput"><code>chmod 755 /usr/local/bin/svgroup</code></strong><span class="action">cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup 
 chmod 755 /usr/local/bin/svgroup</span>
 </pre>
 </li>
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="psgml-for-emacs" leftLabel="Prev" leftTitle="Add PSGML commands to emacs init file
+			leftLink="psgml-for-emacs" leftLabel="Prev" leftTitle="Add PSGML commands to emacs init file
 (OPTIONAL)"
-		    rightLink="install-qmail" rightLabel="Next" rightTitle="Install qmail (OPTIONAL)"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="install-qmail" rightLabel="Next" rightTitle="Install qmail (OPTIONAL)"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-daemontools.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.html,v
diff -u -r1.43 -r1.44
--- openacs-4/packages/acs-core-docs/www/install-daemontools.html	8 Nov 2017 09:42:10 -0000	1.43
+++ openacs-4/packages/acs-core-docs/www/install-daemontools.html	25 Apr 2018 08:38:27 -0000	1.44
@@ -9,7 +9,7 @@
       services.</p>
       <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
           <p>Install Daemontools</p>
-          <a class="indexterm" name="idp140623170211560"></a>
+          <a class="indexterm" name="idp140682186500936"></a>
           <p><a class="link" href="individual-programs.html#daemontools-download">download daemontools</a> and install it.</p>
          <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
               <p>Red Hat 8</p>
Index: openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp	24 Mar 2018 00:14:57 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,12 +3,11 @@
 <property name="doc(title)">Install Full Text Search using Tsearch2</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-nspam" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-nsopenssl" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-nspam" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-nsopenssl" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-full-text-search-tsearch2" id="install-full-text-search-tsearch2"></a>Install Full Text Search
 using Tsearch2</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:dave\@thedesignexperience.org" target="_top">Dave Bauer</a>,
@@ -18,7 +17,7 @@
 Kopciuch</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="install-tsearch2" id="install-tsearch2"></a>Install Tsearch2 module</h3></div></div></div><a class="indexterm" name="idp140623176482456" id="idp140623176482456"></a><p>In earlier versions of PostgreSQL (7.4), tsearch2 was a contrib
+<a name="install-tsearch2" id="install-tsearch2"></a>Install Tsearch2 module</h3></div></div></div><a class="indexterm" name="idp140682186280760" id="idp140682186280760"></a><p>In earlier versions of PostgreSQL (7.4), tsearch2 was a contrib
 module. With PostgreSQL 9.*, it was included in the standard
 PostgreSQL package with minor naming changes (e.g. the function
 "rank" became "ts_rank"). PostgreSQL 9 included
@@ -32,8 +31,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-nspam" leftLabel="Prev" leftTitle="Install nspam"
-		    rightLink="install-nsopenssl" rightLabel="Next" rightTitle="Install nsopenssl"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
+			leftLink="install-nspam" leftLabel="Prev" leftTitle="Install nspam"
+			rightLink="install-nsopenssl" rightLabel="Next" rightTitle="Install nsopenssl"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html	24 Mar 2018 00:14:57 -0000	1.14
+++ openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html	25 Apr 2018 08:38:27 -0000	1.15
@@ -10,7 +10,7 @@
       &lt;/authorblurb&gt;</span>
       <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="install-tsearch2"></a>Install Tsearch2 module</h3></div></div></div>
       
-        <a class="indexterm" name="idp140623176482456"></a>
+        <a class="indexterm" name="idp140682186280760"></a>
       <p>In earlier versions of PostgreSQL (7.4), tsearch2 was a contrib
       module. With PostgreSQL 9.*, it was included in the standard
       PostgreSQL package with minor naming changes (e.g. the function
Index: openacs-4/packages/acs-core-docs/www/install-ldap-radius.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-ldap-radius.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/install-ldap-radius.adp	28 Mar 2018 17:00:40 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/install-ldap-radius.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,12 +3,11 @@
 <property name="doc(title)">Install LDAP for use as external authentication</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-pam-radius" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="aolserver" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-pam-radius" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="aolserver" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-ldap-radius" id="install-ldap-radius"></a>Install LDAP for use as external
 authentication</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:openacs\@sussdorff.de" target="_top">Malte
@@ -19,9 +18,8 @@
 these section</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
 <a name="install-openldap" id="install-openldap"></a><p>
-<strong>Install openldap. </strong> Download and
-install ns_ldap</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>cd /usr/local/src/</code></strong>
+<strong>Install openldap. </strong> Download and install
+ns_ldap</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>cd /usr/local/src/</code></strong>
           [root src]# <strong class="userinput"><code>wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.2.17.tgz</code></strong>
           [root src]# <strong class="userinput"><code>tar xvfz openldap-2.2.17.tgz</code></strong>
           [root src]# <strong class="userinput"><code>cd openldap-2.2.17</code></strong>
@@ -38,9 +36,8 @@
 </pre>
 </li><li class="listitem">
 <a name="install-ns_ldap" id="install-ns_ldap"></a><p>
-<strong>Install ns_ldap. </strong> Download and
-install ns_ldap</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>cd /usr/local/src/aolserver/</code></strong>
+<strong>Install ns_ldap. </strong> Download and install
+ns_ldap</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>cd /usr/local/src/aolserver/</code></strong>
           [root aolserver]# <strong class="userinput"><code>wget http://www.sussdorff.de/ressources/nsldap.tgz</code></strong>
           [root aolserver]# <strong class="userinput"><code>tar xfz nsldap.tgz</code></strong>
           [root aolserver]# <strong class="userinput"><code>cd nsldap</code></strong>
@@ -55,13 +52,12 @@
 </pre>
 </li><li class="listitem">
 <a name="configure-ns_ldap" id="configure-ns_ldap"></a><p>
-<strong>Configure ns_ldap for traditional
-use. </strong> Traditionally OpenACS has supported
-ns_ldap for authentication by storing the OpenACS password in an
-encrypted field within the LDAP server called
-"userPassword". Furthermore a CN field was used for
-searching for the username, usually userID or something similar.
-This field is identical to the <span class="emphasis"><em>username</em></span>stored in OpenACS. Therefore the
+<strong>Configure ns_ldap for traditional use. </strong>
+Traditionally OpenACS has supported ns_ldap for authentication by
+storing the OpenACS password in an encrypted field within the LDAP
+server called "userPassword". Furthermore a CN field was
+used for searching for the username, usually userID or something
+similar. This field is identical to the <span class="emphasis"><em>username</em></span>stored in OpenACS. Therefore the
 login will only work if you change login method to make use of the
 username instead.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;"><li class="listitem"><p>Change <span class="emphasis"><em>config.tcl</em></span>. Remove
 the <span class="emphasis"><em>#</em></span> in front of
@@ -70,27 +66,25 @@
 module.</p></li></ul></div>
 </li><li class="listitem">
 <a name="configure-ns_ldap-bind" id="configure-ns_ldap-bind"></a><p>
-<strong>Configure ns_ldap for use with LDAP
-bind. </strong> LDAP authentication usually is done by
-trying to bind (aka. login) a user with the LDAP server. The
-password of the user is not stored in any field of the LDAP server,
-but kept internally. The latest version of ns_ldap supports this
-method with the <span class="emphasis"><em>ns_ldap bind</em></span>
-command. All you have to do to enable this is to configure
-auth_ldap to make use of the BIND authentication instead.
-Alternatively you can write a small script on how to calculate the
-username out of the given input (e.g. if the OpenACS username is
-malte.fb03.tu, the LDAP request can be translated into
-"ou=malte,ou=fb03,o=tu" (this example is encoded in
-auth_ldap and you just have to comment it out to make use of
-it).</p>
+<strong>Configure ns_ldap for use with LDAP bind. </strong>
+LDAP authentication usually is done by trying to bind (aka. login)
+a user with the LDAP server. The password of the user is not stored
+in any field of the LDAP server, but kept internally. The latest
+version of ns_ldap supports this method with the <span class="emphasis"><em>ns_ldap bind</em></span> command. All you have to do
+to enable this is to configure auth_ldap to make use of the BIND
+authentication instead. Alternatively you can write a small script
+on how to calculate the username out of the given input (e.g. if
+the OpenACS username is malte.fb03.tu, the LDAP request can be
+translated into "ou=malte,ou=fb03,o=tu" (this example is
+encoded in auth_ldap and you just have to comment it out to make
+use of it).</p>
 </li>
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-pam-radius" leftLabel="Prev" leftTitle="Install PAM Radius for use as external
+			leftLink="install-pam-radius" leftLabel="Prev" leftTitle="Install PAM Radius for use as external
 authentication"
-		    rightLink="aolserver" rightLabel="Next" rightTitle="Install AOLserver 3.3oacs1"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
+			rightLink="aolserver" rightLabel="Next" rightTitle="Install AOLserver 3.3oacs1"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-more-software.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-more-software.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-more-software.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-more-software.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -1,15 +1,15 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Appendix B. Install additional
-supporting software}</property>
-<property name="doc(title)">Appendix B. Install additional
-supporting software</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Appendix B. Install additional supporting
+software}</property>
+<property name="doc(title)">Appendix B. Install additional supporting
+software</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-redhat" leftLabel="Prev"
-		    title="
+			leftLink="install-redhat" leftLabel="Prev"
+			title="
 Part II. Administrator&#39;s Guide"
-		    rightLink="openacs-unpack" rightLabel="Next">
-		<div class="appendix">
+			rightLink="openacs-unpack" rightLabel="Next">
+		    <div class="appendix">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="install-more-software" id="install-more-software"></a>Appendix B. Install
 additional supporting software</h2></div></div></div><div class="toc">
@@ -42,9 +42,9 @@
 commands they refer to.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-redhat" leftLabel="Prev" leftTitle="
-Appendix A. Install Red Hat 8/9"
-		    rightLink="openacs-unpack" rightLabel="Next" rightTitle="Unpack the OpenACS tarball"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-admin" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="install-redhat" leftLabel="Prev" leftTitle="Appendix A. Install Red Hat
+8/9"
+			rightLink="openacs-unpack" rightLabel="Next" rightTitle="Unpack the OpenACS tarball"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-admin" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-next-add-server.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-add-server.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-next-add-server.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-next-add-server.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,37 +3,34 @@
 <property name="doc(title)">Running multiple services on one machine</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-openacs-inittab" leftLabel="Prev"
-		    title="
-Chapter 6. Production Environments"
-		    rightLink="high-avail" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-openacs-inittab" leftLabel="Prev"
+			title="Chapter 6. Production
+Environments"
+			rightLink="high-avail" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-next-add-server" id="install-next-add-server"></a>Running
 multiple services on one machine</h2></div></div></div><p>
-<strong>Services on different ports. </strong> To
-run a different service on another port but the same ip, simply
-repeat <a class="xref" href="openacs" title="Install OpenACS 5.9.0">Install OpenACS 5.9.0</a> replacing
+<strong>Services on different ports. </strong> To run a
+different service on another port but the same ip, simply repeat
+<a class="xref" href="openacs" title="Install OpenACS 5.9.0">Install OpenACS 5.9.0</a> replacing
 <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>,
-and change the</p><pre class="programlisting">
-set httpport              8000
-set httpsport             8443 
-</pre><p>to different values.</p><p>
-<strong>Services on different host names. </strong>
-For example, suppose you want to support <code class="computeroutput">http://service0.com</code> and <code class="computeroutput">http://bar.com</code> on the same machine. The
+and change the</p><pre class="programlisting">set httpport              8000
+set httpsport             8443 </pre><p>to different values.</p><p>
+<strong>Services on different host names. </strong> For
+example, suppose you want to support <code class="computeroutput">http://service0.com</code> and <code class="computeroutput">http://bar.com</code> on the same machine. The
 easiest way is to assign each one a different ip address. Then you
 can install two services as above, but with different values
 for</p><pre class="programlisting">
 set hostname               [ns_info hostname]
-set address                127.0.0.1 
-</pre><p>If you want to install two services with different host names
+set address                127.0.0.1 </pre><p>If you want to install two services with different host names
 sharing the same ip, you&#39;ll need nsvhr to redirect requests
 based on the contents of the tcp headers. See <a class="ulink" href="http://borkware.com/rants/aolserver-vhosting/" target="_top">AOLserver Virtual Hosting with TCP</a> by <a class="ulink" href="mailto:markd\@borkware.com" target="_top">markd</a>.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-openacs-inittab" leftLabel="Prev" leftTitle="AOLserver keepalive with inittab"
-		    rightLink="high-avail" rightLabel="Next" rightTitle="High Availability/High Performance
+			leftLink="install-openacs-inittab" leftLabel="Prev" leftTitle="AOLserver keepalive with inittab"
+			rightLink="high-avail" rightLabel="Next" rightTitle="High Availability/High Performance
 Configurations"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="maintenance-web" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="maintenance-web" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-next-backups.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-backups.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-next-backups.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-next-backups.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Backup Strategy</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="backup-recovery" leftLabel="Prev"
-		    title="
-Chapter 8. Backup and Recovery"
-		    rightLink="snapshot-backup" rightLabel="Next">
-		<div class="sect1">
+			leftLink="backup-recovery" leftLabel="Prev"
+			title="Chapter 8. Backup and
+Recovery"
+			rightLink="snapshot-backup" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-next-backups" id="install-next-backups"></a>Backup
 Strategy</h2></div></div></div><p>The purpose of backup is to enable recovery. Backup and recovery
@@ -31,9 +31,9 @@
 </p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="backup-recovery" leftLabel="Prev" leftTitle="
-Chapter 8. Backup and Recovery"
-		    rightLink="snapshot-backup" rightLabel="Next" rightTitle="Manual backup and recovery"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="backup-recovery" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="backup-recovery" leftLabel="Prev" leftTitle="Chapter 8. Backup and
+Recovery"
+			rightLink="snapshot-backup" rightLabel="Next" rightTitle="Manual backup and recovery"
+			homeLink="index" homeLabel="Home" 
+			upLink="backup-recovery" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Vacuum Postgres nightly</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-openacs-delete-tablespace" leftLabel="Prev"
-		    title="
-Chapter 7. Database Management"
-		    rightLink="backup-recovery" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-openacs-delete-tablespace" leftLabel="Prev"
+			title="Chapter 7. Database
+Management"
+			rightLink="backup-recovery" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-next-nightly-vacuum" id="install-next-nightly-vacuum"></a>Vacuum Postgres nightly</h2></div></div></div><p>The "vacuum" command must be run periodically to
 reclaim space in versions of PostgreSQL before 7.4. The
@@ -22,18 +22,17 @@
 before!) you&#39;ve made a backup! The "vacuum" command
 is very reliable, but conservatism is the key to good system
 management. So, if you&#39;re using the export procedure described
-above, you don&#39;t need to do this extra step.</p><p>Edit your crontab:</p><pre class="programlisting">
-[joeuser ~]$ <strong class="userinput"><code>crontab -e</code></strong>
+above, you don&#39;t need to do this extra step.</p><p>Edit your crontab:</p><pre class="programlisting">[joeuser ~]$ <strong class="userinput"><code>crontab -e</code></strong>
 </pre><p>We&#39;ll set vacuum up to run nightly at 1 AM. Add the
 following line:</p><pre class="programlisting">
 0 1 * * * /usr/local/pgsql/bin/vacuumdb <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </pre><p><span class="cvstag">($&zwnj;Id: database-maintenance.xml,v 1.9
 2017/08/07 23:47:54 gustafn Exp $)</span></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-openacs-delete-tablespace" leftLabel="Prev" leftTitle="Deleting a tablespace"
-		    rightLink="backup-recovery" rightLabel="Next" rightTitle="
-Chapter 8. Backup and Recovery"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="database-management" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="install-openacs-delete-tablespace" leftLabel="Prev" leftTitle="Deleting a tablespace"
+			rightLink="backup-recovery" rightLabel="Next" rightTitle="Chapter 8. Backup and
+Recovery"
+			homeLink="index" homeLabel="Home" 
+			upLink="database-management" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-nsopenssl.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nsopenssl.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-nsopenssl.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-nsopenssl.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,12 +3,11 @@
 <property name="doc(title)">Install nsopenssl</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-full-text-search-tsearch2" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-tclwebtest" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-full-text-search-tsearch2" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-tclwebtest" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-nsopenssl" id="install-nsopenssl"></a>Install nsopenssl</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel Aufrecht</a> and
 <a class="ulink" href="mailto:openacs\@sussdorff.de" target="_top">Malte Sussdorff</a>
@@ -22,8 +21,7 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="install-nsopenssl-aolserver3" id="install-nsopenssl-aolserver3"></a>Install on AOLserver3</h3></div></div></div><p>You will need the <a class="link" href="aolserver">unpacked Aolserver
 tarball</a> in <code class="computeroutput">/usr/local/src/aolserver</code> and the <a class="link" href="individual-programs">nsopenssl
-tarball</a> in <code class="computeroutput">/tmp</code>.</p><p>Red Hat 9 note: see <a class="ulink" href="http://openacs.org/forums/message-view?message_id=92882" target="_top">this thread</a> for details on compiling nsopenssl.)</p><pre class="screen">
-[root bin]#<strong class="userinput"><code> cd /usr/local/src/aolserver</code></strong>
+tarball</a> in <code class="computeroutput">/tmp</code>.</p><p>Red Hat 9 note: see <a class="ulink" href="http://openacs.org/forums/message-view?message_id=92882" target="_top">this thread</a> for details on compiling nsopenssl.)</p><pre class="screen">[root bin]#<strong class="userinput"><code> cd /usr/local/src/aolserver</code></strong>
 [root aolserver]# <strong class="userinput"><code>wget --passive http://www.scottg.net/download/nsopenssl-2.1.tar.gz</code></strong>
 [root aolserver]# <strong class="userinput"><code>tar xzf nsopenssl-2.1.tar.gz </code></strong>
 [root aolserver]# <strong class="userinput"><code>cd nsopenssl-2.1</code></strong>
@@ -58,8 +56,7 @@
 if one just uses AOLSERVER, the default value would be used and
 could intefere with another existing installation.</p><p>FreeBSD note: build nsopenssl with <strong class="userinput"><code>gmake install OPENSSL=/usr/local/openssl
 AOLSERVER=/usr/local/aolserver4r10</code></strong>
-</p><pre class="screen">
-[root bin]#<strong class="userinput"><code> cd /usr/local/src/aolserver</code></strong>
+</p><pre class="screen">[root bin]#<strong class="userinput"><code> cd /usr/local/src/aolserver</code></strong>
 [root aolserver]# <strong class="userinput"><code>cvs -d:pserver:anonymous\@cvs.sourceforge.net:/cvsroot/aolserver login</code></strong>
 [root aolserver]# <strong class="userinput"><code>cvs -d:pserver:anonymous\@cvs.sourceforge.net:/cvsroot/aolserver co nsopenssl</code></strong>
 [root aolserver]# <strong class="userinput"><code>cd nsopenssl</code></strong>
@@ -100,9 +97,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-full-text-search-tsearch2" leftLabel="Prev" leftTitle="Install Full Text Search using
+			leftLink="install-full-text-search-tsearch2" leftLabel="Prev" leftTitle="Install Full Text Search using
 Tsearch2"
-		    rightLink="install-tclwebtest" rightLabel="Next" rightTitle="Install tclwebtest."
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="install-tclwebtest" rightLabel="Next" rightTitle="Install tclwebtest."
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-nspam.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nspam.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/install-nspam.adp	7 Aug 2017 23:47:50 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/install-nspam.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -3,19 +3,18 @@
 <property name="doc(title)">Install nspam</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="analog-install" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-full-text-search-tsearch2" rightLabel="Next">
-		<div class="sect1">
+			leftLink="analog-install" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-full-text-search-tsearch2" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-nspam" id="install-nspam"></a>Install nspam</h2></div></div></div><p><a class="ulink" href="/doc/acs-authentication/ext-auth-install" target="_top">/doc/acs-authentication/ext-auth-install.html</a></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="analog-install" leftLabel="Prev" leftTitle="Install Analog web file analyzer"
-		    rightLink="install-full-text-search-tsearch2" rightLabel="Next" rightTitle="Install Full Text Search using
+			leftLink="analog-install" leftLabel="Prev" leftTitle="Install Analog web file analyzer"
+			rightLink="install-full-text-search-tsearch2" rightLabel="Next" rightTitle="Install Full Text Search using
 Tsearch2"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Deleting a tablespace</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="remote-postgres" leftLabel="Prev"
-		    title="
-Chapter 7. Database Management"
-		    rightLink="install-next-nightly-vacuum" rightLabel="Next">
-		<div class="sect1">
+			leftLink="remote-postgres" leftLabel="Prev"
+			title="Chapter 7. Database
+Management"
+			rightLink="install-next-nightly-vacuum" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-openacs-delete-tablespace" id="install-openacs-delete-tablespace"></a>Deleting a tablespace</h2></div></div></div><p>Skip down for instructions on <a class="xref" href="install-openacs-delete-tablespace" title="Deleting a PostgreSQL tablespace">Deleting a PostgreSQL
 tablespace</a>.</p><div class="sect2">
@@ -16,20 +16,16 @@
 tablespace</h3></div></div></div><p>Should it become necessary to rebuild a tablespace from scratch,
 you can use the <code class="computeroutput">drop user</code>
 command in SVRMGRL with the <code class="computeroutput">cascade</code> option. This command will drop the
-user and every database object the user owns.</p><pre class="programlisting">
-SVRMGR&gt; <strong class="userinput"><code>drop user <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> cascade;</code></strong>
+user and every database object the user owns.</p><pre class="programlisting">SVRMGR&gt; <strong class="userinput"><code>drop user <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> cascade;</code></strong>
 </pre><p>If this does not work because svrmgrl "cannot drop a user
 that is currently connected", make sure to kill the AOLserver
-using this user. If it still does not work, do:</p><pre class="programlisting">
-SVRMGR&gt; <strong class="userinput"><code>select username, sid, serial# from v$session where lower(username)='<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>';</code></strong>
-</pre><p>and then</p><pre class="programlisting">
-SVRMGR&gt; <strong class="userinput"><code>alter system kill session '<em class="replaceable"><code>sid, serial#</code></em>';</code></strong>
+using this user. If it still does not work, do:</p><pre class="programlisting">SVRMGR&gt; <strong class="userinput"><code>select username, sid, serial# from v$session where lower(username)='<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>';</code></strong>
+</pre><p>and then</p><pre class="programlisting">SVRMGR&gt; <strong class="userinput"><code>alter system kill session '<em class="replaceable"><code>sid, serial#</code></em>';</code></strong>
 </pre><p>where <span class="emphasis"><em>sid</em></span> and
 <span class="emphasis"><em>serial#</em></span> are replaced with
 the corresponding values for the open session.</p><p><span class="strong"><strong>Use with
 caution!</strong></span></p><p>If you feel the need to delete <span class="emphasis"><em>everything</em></span> related to the service, you
-can also issue the following:</p><pre class="programlisting">
-SVRMGR&gt; <strong class="userinput"><code>drop tablespace <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> including contents cascade constraints;</code></strong>
+can also issue the following:</p><pre class="programlisting">SVRMGR&gt; <strong class="userinput"><code>drop tablespace <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> including contents cascade constraints;</code></strong>
 </pre>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -44,14 +40,13 @@
 </code>.</p><p>Then, to drop the db, just do:</p><pre class="programlisting">
 [$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>dropdb <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
-DROP DATABASE
-</pre>
+DROP DATABASE</pre>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="remote-postgres" leftLabel="Prev" leftTitle="Running a PostgreSQL database on
+			leftLink="remote-postgres" leftLabel="Prev" leftTitle="Running a PostgreSQL database on
 another server"
-		    rightLink="install-next-nightly-vacuum" rightLabel="Next" rightTitle="Vacuum Postgres nightly"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="database-management" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="install-next-nightly-vacuum" rightLabel="Next" rightTitle="Vacuum Postgres nightly"
+			homeLink="index" homeLabel="Home" 
+			upLink="database-management" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-openacs-inittab.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-inittab.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/install-openacs-inittab.adp	7 Aug 2017 23:47:50 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/install-openacs-inittab.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -3,11 +3,11 @@
 <property name="doc(title)">AOLserver keepalive with inittab</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-openacs-keepalive" leftLabel="Prev"
-		    title="
-Chapter 6. Production Environments"
-		    rightLink="install-next-add-server" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-openacs-keepalive" leftLabel="Prev"
+			title="Chapter 6. Production
+Environments"
+			rightLink="install-next-add-server" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-openacs-inittab" id="install-openacs-inittab"></a>AOLserver keepalive with inittab</h2></div></div></div><p>This is an alternative method for keeping the AOLserver process
 running. The recommended method is to <a class="link" href="install-openacs-keepalive" title="Starting and Stopping an OpenACS instance.">run AOLserver
@@ -36,8 +36,7 @@
 [root ~]# chown root.web /usr/local/bin/restart-aolserver
 [root ~]# chmod 4750 /usr/local/bin/restart-aolserver
 [root ~]# ln -s /usr/bin/perl /usr/local/bin/perl
-[root ~]# exit
-</pre>
+[root ~]# exit</pre>
 </li><li class="listitem">
 <p>Test the <code class="computeroutput">restart-aolserver</code>
 script. We&#39;ll first kill all running servers to clean the
@@ -50,8 +49,7 @@
 [joeuser ~]$ restart-aolserver <span class="emphasis"><em>birdnotes</em></span>
 Killing 23727 
 [joeuser ~]$ killall nsd
-nsd: no process killed
-</pre><p>The number 23727 indicates the process id(s) (PIDs) of the
+nsd: no process killed</pre><p>The number 23727 indicates the process id(s) (PIDs) of the
 processes being killed. It is important that <span class="strong"><strong>no processes are killed</strong></span> by the
 second call to <code class="computeroutput">killall</code>. If
 there are processes being killed, it means that the script is not
@@ -62,14 +60,12 @@
 editing.</p><pre class="programlisting">
 [joeuser ~]$ su -
 Password: ************
-[root ~]# emacs -nw /etc/inittab
-</pre>
+[root ~]# emacs -nw /etc/inittab</pre>
 </li><li class="listitem">
 <p>Copy this line into the bottom of the file as a template, making
 sure that the first field <code class="computeroutput">nss1</code>
 is unique.</p><pre class="programlisting">
-nss1:345:respawn:/usr/local/aolserver/bin/nsd-postgres -i -u nobody -g web -t /home/<span class="emphasis"><em>joeuser</em></span>/var/lib/aolserver/<span class="emphasis"><em>birdnotes</em></span>/nsd.tcl
-</pre>
+nss1:345:respawn:/usr/local/aolserver/bin/nsd-postgres -i -u nobody -g web -t /home/<span class="emphasis"><em>joeuser</em></span>/var/lib/aolserver/<span class="emphasis"><em>birdnotes</em></span>/nsd.tcl</pre>
 </li><li class="listitem"><p>
 <span class="strong"><strong>Important:</strong></span> Make
 sure there is a newline at the end of the file. If there is not a
@@ -79,22 +75,20 @@
 <code class="computeroutput">/etc/inittab</code>.</p><pre class="programlisting">
 [root ~]# killall nsd    
 nsd: no process killed
-[root ~]# /sbin/init q
-</pre>
+[root ~]# /sbin/init q</pre>
 </li><li class="listitem">
 <p>See if it worked by running the <code class="computeroutput">restart-aolserver</code> script again.</p><pre class="programlisting">
 [root ~]# restart-aolserver <span class="emphasis"><em>birdnotes</em></span>
-Killing 23750
-</pre>
+Killing 23750</pre>
 </li>
 </ul></div><p>If processes were killed, congratulations, your server is now
 automated for startup and shutdown.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-openacs-keepalive" leftLabel="Prev" leftTitle="Starting and Stopping an OpenACS
+			leftLink="install-openacs-keepalive" leftLabel="Prev" leftTitle="Starting and Stopping an OpenACS
 instance."
-		    rightLink="install-next-add-server" rightLabel="Next" rightTitle="Running multiple services on one
+			rightLink="install-next-add-server" rightLabel="Next" rightTitle="Running multiple services on one
 machine"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="maintenance-web" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="maintenance-web" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Starting and Stopping an OpenACS instance.</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="maintenance-web" leftLabel="Prev"
-		    title="
-Chapter 6. Production Environments"
-		    rightLink="install-openacs-inittab" rightLabel="Next">
-		<div class="sect1">
+			leftLink="maintenance-web" leftLabel="Prev"
+			title="Chapter 6. Production
+Environments"
+			rightLink="install-openacs-inittab" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-openacs-keepalive" id="install-openacs-keepalive"></a>Starting and Stopping an OpenACS
 instance.</h2></div></div></div><p>The simplest way to start and stop and OpenACS site is to run
@@ -48,19 +48,16 @@
 into the <code class="computeroutput">/service</code> directory.
 Daemontools' <code class="computeroutput">svscan</code> process
 checks this directory every five seconds, and will quickly execute
-<code class="computeroutput">run</code>.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME etc]$ <strong class="userinput"><code>killall nsd</code></strong>
+<code class="computeroutput">run</code>.</p><pre class="screen">[$OPENACS_SERVICE_NAME etc]$ <strong class="userinput"><code>killall nsd</code></strong>
 nsd: no process killed
 [$OPENACS_SERVICE_NAME etc]$ <strong class="userinput"><code>emacs /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/daemontools/run</code></strong>
 [$OPENACS_SERVICE_NAME etc]$ <strong class="userinput"><code>exit</code></strong>
 
 [root root]# <strong class="userinput"><code>ln -s /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/daemontools/ /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
-</pre><p>Verify that AOLserver is running.</p><pre class="screen">
-[root root]#<strong class="userinput"><code> ps -auxw | grep nsd</code></strong><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>   5562 14.4  6.2 22436 15952 ?       S    11:55   0:04 /usr/local/aolserver/bin/nsd -it /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/config.tcl -u serve
+</pre><p>Verify that AOLserver is running.</p><pre class="screen">[root root]#<strong class="userinput"><code> ps -auxw | grep nsd</code></strong><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>   5562 14.4  6.2 22436 15952 ?       S    11:55   0:04 /usr/local/aolserver/bin/nsd -it /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/config.tcl -u serve
 root      5582  0.0  0.2  3276  628 pts/0    S    11:55   0:00 grep nsd
-[root root]#
-</pre>
+[root root]#</pre>
 </li><li class="listitem">
 <p>The user <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> can now
 control the service <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> with these
@@ -90,29 +87,25 @@
 AOLserver services via daemontools. You can then restart a service
 via <code class="computeroutput">restart-aolserver <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code>
-</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cp /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/acs-core-docs/www/files/restart-aolserver-daemontools.txt /usr/local/bin/restart-aolserver</code></strong>
+</p><pre class="screen">[root root]# <strong class="userinput"><code>cp /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/acs-core-docs/www/files/restart-aolserver-daemontools.txt /usr/local/bin/restart-aolserver</code></strong>
 [root root]# <strong class="userinput"><code>chmod 755 /usr/local/bin/restart-aolserver</code></strong>
-[root root]#
-</pre>
+[root root]#</pre>
 </li><li class="listitem">
 <p>At this point, these commands will work only for the
 <code class="computeroutput">root</code> user. Grant permission for
 the <code class="computeroutput">web</code> group to use
 <code class="computeroutput">svc</code> commands on the
 <span class="emphasis"><em><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></em></span>
-server.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>/usr/local/bin/svgroup web /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+server.</p><pre class="screen">[root root]# <strong class="userinput"><code>/usr/local/bin/svgroup web /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
-[root root]#
-</pre>
+[root root]#</pre>
 </li><li class="listitem">
 <p>Verify that the controls work. You may want to <code class="computeroutput">tail -f /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/log/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>-error.log</code>
 in another window, so you can see what happens when you type these
 commands.</p><p>More information can be found on the <a class="ulink" href="http://panoptic.com/wiki/aolserver/How_to_start_stop_AOLserver_using_Daemontools" target="_top">AOLserver Daemontools</a> page.</p>
 </li>
 </ol></div><div class="table">
-<a name="idp140623159800936" id="idp140623159800936"></a><p class="title"><strong>Table 6.1. How it
+<a name="idp140682193008008" id="idp140682193008008"></a><p class="title"><strong>Table 6.1. How it
 Works</strong></p><div class="table-contents"><table class="table" summary="How it Works" cellspacing="0" border="1">
 <colgroup>
 <col><col><col><col><col><col>
@@ -133,9 +126,9 @@
 </div><br class="table-break">
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="maintenance-web" leftLabel="Prev" leftTitle="
-Chapter 6. Production Environments"
-		    rightLink="install-openacs-inittab" rightLabel="Next" rightTitle="AOLserver keepalive with inittab"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="maintenance-web" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="maintenance-web" leftLabel="Prev" leftTitle="Chapter 6. Production
+Environments"
+			rightLink="install-openacs-inittab" rightLabel="Next" rightTitle="AOLserver keepalive with inittab"
+			homeLink="index" homeLabel="Home" 
+			upLink="maintenance-web" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html,v
diff -u -r1.26 -r1.27
--- openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html	8 Nov 2017 09:42:11 -0000	1.26
+++ openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html	25 Apr 2018 08:38:27 -0000	1.27
@@ -100,7 +100,7 @@
 </p>
         </li></ol></div>
 
-      <div class="table"><a name="idp140623159800936"></a><p class="title"><b>Table 6.1. How it Works</b></p><div class="table-contents">
+      <div class="table"><a name="idp140682193008008"></a><p class="title"><b>Table 6.1. How it Works</b></p><div class="table-contents">
 	<table class="table" summary="How it Works" cellspacing="0" border="1"><colgroup><col><col><col><col><col><col></colgroup><thead><tr><th align="center">Program</th><th align="center">Invoked by this program ...</th><th align="center">... using this file</th><th align="center">Where to find errors</th><th align="center">Log goes to</th><th align="center">Use these commands to control it</th></tr></thead><tbody><tr><td align="center">svscanboot
       </td><td align="center">init</td><td align="center">/etc/inittab</td><td align="center">ps -auxw | grep readproctitle</td><td align="center">n/a</td><td align="center"> </td></tr><tr><td align="center">aolserver</td><td align="center"><code class="computeroutput"></code>supervise
 (a child of svscanboot)</td><td align="center">/service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/run</td><td align="center">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/log/error.log</td><td align="center">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/log/$OPENACS_SERVICE_NAME.log</td><td align="center">svc -k /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></td></tr><tr><td align="center">postgresql</td><td align="center">Redhat init scripts during boot</td><td align="center">/etc/init.d/postgresql</td><td align="center">/usr/local/pgsql/data/server.log</td><td align="center"> </td><td align="center">service postgresql start (Red Hat), /etc/init.d/postgresql start (Debian)</td></tr></tbody></table>
Index: openacs-4/packages/acs-core-docs/www/install-origins.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-origins.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/install-origins.adp	7 Aug 2017 23:47:50 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/install-origins.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -3,11 +3,10 @@
 <property name="doc(title)">Where did this document come from?</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="credits" leftLabel="Prev"
-		    title="
-Appendix C. Credits"
-		    rightLink="os-install" rightLabel="Next">
-		<div class="section">
+			leftLink="credits" leftLabel="Prev"
+			title="Appendix C. Credits"
+			rightLink="os-install" rightLabel="Next">
+		    <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-origins" id="install-origins"></a>Where did this document come from?</h2></div></div></div><p>This document was created by <a class="ulink" href="mailto:vinod\@kurup.com" target="_top">Vinod Kurup</a>, but
 it&#39;s really just plagiarism from a number of documents that
@@ -16,13 +15,12 @@
 away.</p><p>Versions 4.6.2 to present were edited by <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel Aufrecht</a>.</p><p>These are a few of my sources:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>ArsDigita installation guide</p></li><li class="listitem"><p>OpenACS 3.x installation guide</p></li><li class="listitem"><p><a class="ulink" href="http://www.orchardlabs.com/" target="_top">Gilbert Wong&#39;s FreeBSD installation guide</a></p></li><li class="listitem"><p><a class="ulink" href="http://kurup.com/acs/openacs-4.html" target="_top">Vinod Kurup&#39;s Brief OpenACS4 installation
 guide</a></p></li><li class="listitem"><p><a class="ulink" href="https://web.archive.org/web/20081005114800/http://aufrecht.org:80/openacs-4.5-quick-guide/" target="_top">Joel Aufrecht&#39;s OpenACS 4.5 Quick Guide.</a></p></li>
-</ul></div><p>Please also see the <a class="xref" href="credits" title="Appendix C. Credits">Credits</a> section
-for more acknowledgements.</p>
+</ul></div><p>Please also see the <a class="xref" href="credits" title="Appendix C. Credits">Credits</a> section for more
+acknowledgements.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="credits" leftLabel="Prev" leftTitle="
-Appendix C. Credits"
-		    rightLink="os-install" rightLabel="Next" rightTitle="Linux Install Guides"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="credits" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="credits" leftLabel="Prev" leftTitle="Appendix C. Credits"
+			rightLink="os-install" rightLabel="Next" rightTitle="Linux Install Guides"
+			homeLink="index" homeLabel="Home" 
+			upLink="credits" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-overview.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-overview.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-overview.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-overview.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -1,15 +1,13 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 2. Installation
-Overview}</property>
-<property name="doc(title)">Chapter 2. Installation
-Overview</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 2. Installation Overview}</property>
+<property name="doc(title)">Chapter 2. Installation Overview</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="acs-admin" leftLabel="Prev"
-		    title="
+			leftLink="acs-admin" leftLabel="Prev"
+			title="
 Part II. Administrator&#39;s Guide"
-		    rightLink="install-steps" rightLabel="Next">
-		<div class="chapter">
+			rightLink="install-steps" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="install-overview" id="install-overview"></a>Chapter 2. Installation
 Overview</h2></div></div></div><div class="toc">
@@ -21,9 +19,9 @@
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="acs-admin" leftLabel="Prev" leftTitle="
-Part II. Administrator&#39;s Guide"
-		    rightLink="install-steps" rightLabel="Next" rightTitle="Basic Steps"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-admin" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="acs-admin" leftLabel="Prev" leftTitle="Part II. Administrator&#39;s
+Guide"
+			rightLink="install-steps" rightLabel="Next" rightTitle="Basic Steps"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-admin" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-pam-radius.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-pam-radius.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-pam-radius.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-pam-radius.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -5,12 +5,11 @@
 authentication</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-squirrelmail" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-ldap-radius" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-squirrelmail" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-ldap-radius" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-pam-radius" id="install-pam-radius"></a>Install PAM Radius for use as external
 authentication</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:openacs\@sussdorff.de" target="_top">Malte
@@ -24,9 +23,8 @@
 end of the file.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
 <a name="install-ns_pam" id="install-ns_pam"></a><p>
-<strong>Install ns_pam. </strong> Download and
-install ns_pam</p><pre class="screen">
-[root aolserver]# <strong class="userinput"><code>cd /usr/local/src/aolserver/</code></strong>
+<strong>Install ns_pam. </strong> Download and install
+ns_pam</p><pre class="screen">[root aolserver]# <strong class="userinput"><code>cd /usr/local/src/aolserver/</code></strong>
           [root aolserver]# <strong class="userinput"><code>wget http://braindamage.alal.com/software/ns_pam-0.1.tar.gz</code></strong>
           [root aolserver]# <strong class="userinput"><code>tar xvfz ns_pam-0.1.tar.gz</code></strong>
           [root aolserver]# <strong class="userinput"><code>cd ns_pam-0.1</code></strong>
@@ -41,8 +39,8 @@
 </pre>
 </li><li class="listitem">
 <a name="configure-ns_pam" id="configure-ns_pam"></a><p>
-<strong>Configure ns_pam. </strong> Configure
-AOLserver for ns_pam</p><p>To enable ns_pam in AOLServer you will first have to edit your
+<strong>Configure ns_pam. </strong> Configure AOLserver for
+ns_pam</p><p>To enable ns_pam in AOLServer you will first have to edit your
 config.tcl file and enable the loading of the ns_pam module and
 configure the aolservers pam configuration file.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>Change <span class="emphasis"><em>config.tcl</em></span>. Remove
@@ -61,10 +59,9 @@
 </ul></div>
 </li><li class="listitem">
 <a name="configure-pam-radius" id="configure-pam-radius"></a><p>
-<strong>Configure PAM Radius. </strong> Configure
-and install PAM Radius</p><p>You have to make sure that pam_radius v.1.3.16 or higher is
-installed, otherwise you will have to install it.</p><pre class="screen">
-[root ns_pam]# <strong class="userinput"><code>cd /usr/local/src/</code></strong>
+<strong>Configure PAM Radius. </strong> Configure and
+install PAM Radius</p><p>You have to make sure that pam_radius v.1.3.16 or higher is
+installed, otherwise you will have to install it.</p><pre class="screen">[root ns_pam]# <strong class="userinput"><code>cd /usr/local/src/</code></strong>
           [root src]# <strong class="userinput"><code>wget ftp://ftp.freeradius.org/pub/radius/pam_radius-1.3.16.tar</code></strong>
           [root src]# <strong class="userinput"><code>tar xvf pam_radius-1.3.16</code></strong>
           [root src]# <strong class="userinput"><code>cd pam_radius</code></strong>
@@ -81,18 +78,17 @@
 </pre><p>Next you have to add the configuration lines to your Radius
 configuration file (/etc/rddb/server). For AOLserver to be able to
 access this information you have to change the access rights to
-this file as well.</p><pre class="screen">
-[root pam_radius]# <strong class="userinput"><code>echo "radius.<em class="replaceable"><code>yourdomain.com</code></em>:1645 <em class="replaceable"><code>your_radius_password</code></em> &gt;&gt;/etc/rddb/server</code></strong>
+this file as well.</p><pre class="screen">[root pam_radius]# <strong class="userinput"><code>echo "radius.<em class="replaceable"><code>yourdomain.com</code></em>:1645 <em class="replaceable"><code>your_radius_password</code></em> &gt;&gt;/etc/rddb/server</code></strong>
           [root src]# <strong class="userinput"><code>chown <em class="replaceable"><code>service0</code></em>:web /etc/rddb/server</code></strong>
 </pre>
 </li>
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-squirrelmail" leftLabel="Prev" leftTitle="Install Squirrelmail for use as a
+			leftLink="install-squirrelmail" leftLabel="Prev" leftTitle="Install Squirrelmail for use as a
 webmail system for OpenACS"
-		    rightLink="install-ldap-radius" rightLabel="Next" rightTitle="Install LDAP for use as external
+			rightLink="install-ldap-radius" rightLabel="Next" rightTitle="Install LDAP for use as external
 authentication"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-php.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-php.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-php.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-php.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,20 +3,18 @@
 <property name="doc(title)">Install PHP for use in AOLserver</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-tclwebtest" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-squirrelmail" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-tclwebtest" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-squirrelmail" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-php" id="install-php"></a>Install PHP for use in AOLserver</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:openacs\@sussdorff.de" target="_top">Malte
 Sussdorff</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>To be able to use PHP software with AOLserver (and OpenACS), you
 have to install PHP with AOLserver support. Get the latest version
 from <a class="ulink" href="http://www.php.net" target="_top">www.php.net</a>. For convenience we get version 4.3.4 from a
-mirror</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
+mirror</p><pre class="screen">[root root]# <strong class="userinput"><code>cd /usr/local/src</code></strong>
 [root src]# <strong class="userinput"><code>wget http://de3.php.net/distributions/php-4.3.4.tar.gz</code></strong>
 [root src]# <strong class="userinput"><code>tar xfz php-4.3.4.tar.gz</code></strong>
 [root src]# <strong class="userinput"><code>cd php-4.3.4</code></strong>
@@ -30,9 +28,9 @@
 directive.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-tclwebtest" leftLabel="Prev" leftTitle="Install tclwebtest."
-		    rightLink="install-squirrelmail" rightLabel="Next" rightTitle="Install Squirrelmail for use as a
+			leftLink="install-tclwebtest" leftLabel="Prev" leftTitle="Install tclwebtest."
+			rightLink="install-squirrelmail" rightLabel="Next" rightTitle="Install Squirrelmail for use as a
 webmail system for OpenACS"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-qmail.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-qmail.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/install-qmail.adp	5 Jan 2018 22:56:23 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/install-qmail.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -3,25 +3,23 @@
 <property name="doc(title)">Install qmail (OPTIONAL)</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-daemontools" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="analog-install" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-daemontools" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="analog-install" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-qmail" id="install-qmail"></a>Install qmail (OPTIONAL)</h2></div></div></div><p>Qmail is a secure, reliable, efficient, simple Mail Transfer
 Agent. It handles incoming and outgoing mail. Install qmail if you
 want your OpenACS server to send and receive mail, and you
 don&#39;t want to use an alternate MTA.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>
-<strong>Install qmail. </strong> QMail is available
-as standard Debian/Ubuntu package, rpms for Fedora/Redhat/CenTOS
-are available from <a class="ulink" href="https://en.wikipedia.org/wiki/Qmail" target="_top">QMail wiki
+<strong>Install qmail. </strong> QMail is available as
+standard Debian/Ubuntu package, rpms for Fedora/Redhat/CenTOS are
+available from <a class="ulink" href="https://en.wikipedia.org/wiki/Qmail" target="_top">QMail wiki
 page</a>
 </p></li><li class="listitem">
-<p>Replace sendmail with qmail&#39;s wrapper.</p><a class="indexterm" name="idp140623090549880" id="idp140623090549880"></a><pre class="screen">
-[root qmail-1.03]# <strong class="userinput"><code>rm -f /usr/bin/sendmail /usr/sbin/sendmail</code></strong>
+<p>Replace sendmail with qmail&#39;s wrapper.</p><a class="indexterm" name="idp140682186435976" id="idp140682186435976"></a><pre class="screen">[root qmail-1.03]# <strong class="userinput"><code>rm -f /usr/bin/sendmail /usr/sbin/sendmail</code></strong>
 [root qmail-1.03]# <strong class="userinput"><code>ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail</code></strong>
 [root qmail-1.03]#
 <span class="action">rm -f /usr/bin/sendmail /usr/sbin/sendmail
@@ -32,8 +30,7 @@
 should accept mail for. This command will automatically set up
 qmail correctly if you have correctly set a valid host nome. If
 not, you&#39;ll want to read <code class="computeroutput">/var/qmail/doc/INSTALL.ctl</code> to find out how
-to configure qmail.</p><pre class="screen">
-[root qmail-1.03]# <strong class="userinput"><code>./config-fast <em class="replaceable"><code>yourserver.test</code></em>
+to configure qmail.</p><pre class="screen">[root qmail-1.03]# <strong class="userinput"><code>./config-fast <em class="replaceable"><code>yourserver.test</code></em>
 </code></strong>
 Your fully qualified host name is yourserver.test.
 Putting yourserver.test into control/me...
@@ -49,8 +46,7 @@
 </pre><p>All incoming mail that isn&#39;t for a specific user is handled
 by the <code class="computeroutput">alias</code> user. This
 includes all root mail. These commands prepare the alias user to
-receive mail.</p><pre class="screen">
-[root qmail-1.03]# <strong class="userinput"><code>cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root</code></strong>
+receive mail.</p><pre class="screen">[root qmail-1.03]# <strong class="userinput"><code>cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root</code></strong>
 [root alias]# <strong class="userinput"><code>chmod 644 ~alias/.qmail*</code></strong>
 [root alias]# <strong class="userinput"><code>/var/qmail/bin/maildirmake ~alias/Maildir/</code></strong>
 [root alias]# <strong class="userinput"><code>chown -R alias.nofiles /var/qmail/alias/Maildir</code></strong>
@@ -59,10 +55,9 @@
 chmod 644 ~alias/.qmail* 
 /var/qmail/bin/maildirmake ~alias/Maildir/ 
 chown -R alias.nofiles /var/qmail/alias/Maildir</span>
-</pre><a class="indexterm" name="idp140623162685720" id="idp140623162685720"></a><p>Configure qmail to use the Maildir delivery format (instead of
+</pre><a class="indexterm" name="idp140682186420440" id="idp140682186420440"></a><p>Configure qmail to use the Maildir delivery format (instead of
 mbox), and install a version of the qmail startup script modified
-to use Maildir.</p><pre class="screen">
-[root alias]# <strong class="userinput"><code>echo "./Maildir" &gt; /var/qmail/bin/.qmail</code></strong>
+to use Maildir.</p><pre class="screen">[root alias]# <strong class="userinput"><code>echo "./Maildir" &gt; /var/qmail/bin/.qmail</code></strong>
 [root alias]# <strong class="userinput"><code>cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc</code></strong>
 [root alias]# <strong class="userinput"><code>chmod 755 /var/qmail/rc</code></strong>
 [root alias]# 
@@ -71,8 +66,7 @@
 chmod 755 /var/qmail/rc 
 </span>
 </pre><p>Set up the skeleton directory so that new users will be
-configured for qmail.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>/var/qmail/bin/maildirmake /etc/skel/Maildir</code></strong>
+configured for qmail.</p><pre class="screen">[root root]# <strong class="userinput"><code>/var/qmail/bin/maildirmake /etc/skel/Maildir</code></strong>
 [root root]# <strong class="userinput"><code>echo "./Maildir/" &gt; /etc/skel/.qmail</code></strong>
 [root root]# 
 <span class="action">/var/qmail/bin/maildirmake /etc/skel/Maildir
@@ -82,8 +76,7 @@
 control script, copy the supervise control files, and set
 permissions. The last line links the control directories to
 /service, which will cause supervise to detect them and execute the
-run files, causing qmail to start.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>mkdir -p /var/qmail/supervise/qmail-send/log</code></strong>
+run files, causing qmail to start.</p><pre class="screen">[root root]# <strong class="userinput"><code>mkdir -p /var/qmail/supervise/qmail-send/log</code></strong>
 [root root]# <strong class="userinput"><code>mkdir -p /var/qmail/supervise/qmail-smtpd/log</code></strong>
 [root root]# <strong class="userinput"><code>mkdir /var/log/qmail</code></strong>
 [root root]# <strong class="userinput"><code>chown qmaill /var/log/qmail</code></strong>
@@ -116,26 +109,24 @@
 chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
 ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
 </span>
-</pre><p>Wait ten seconds or so, and then verify that that the four qmail
+</pre><p>Wait ten seconds or so, and then verify that the four qmail
 processes are running. If uptimes don&#39;t rise above 1 second,
 this may indicate broken scripts that are continuously restarting.
-In that case, start debugging by checking permissions.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>qmailctl stat</code></strong>
+In that case, start debugging by checking permissions.</p><pre class="screen">[root root]# <strong class="userinput"><code>qmailctl stat</code></strong>
 /service/qmail-send: up (pid 32700) 430 seconds
 /service/qmail-send/log: up (pid 32701) 430 seconds
 /service/qmail-smtpd: up (pid 32704) 430 seconds
 /service/qmail-smtpd/log: up (pid 32705) 430 seconds
 messages in queue: 0
 messages in queue but not yet preprocessed: 0
-[root root]#
-</pre><p>Further verify by sending and receiving email. Incoming mail for
+[root root]#</pre><p>Further verify by sending and receiving email. Incoming mail for
 root is stored in <code class="computeroutput">/var/qmail/alias/Maildir</code>.</p>
 </li>
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-daemontools" leftLabel="Prev" leftTitle="Install Daemontools (OPTIONAL)"
-		    rightLink="analog-install" rightLabel="Next" rightTitle="Install Analog web file analyzer"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
+			leftLink="install-daemontools" leftLabel="Prev" leftTitle="Install Daemontools (OPTIONAL)"
+			rightLink="analog-install" rightLabel="Next" rightTitle="Install Analog web file analyzer"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-qmail.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-qmail.html,v
diff -u -r1.44 -r1.45
--- openacs-4/packages/acs-core-docs/www/install-qmail.html	5 Jan 2018 22:55:47 -0000	1.44
+++ openacs-4/packages/acs-core-docs/www/install-qmail.html	25 Apr 2018 08:38:27 -0000	1.45
@@ -17,7 +17,7 @@
 	  <p>
             Replace sendmail with qmail's wrapper.
 	  </p>
-          <a class="indexterm" name="idp140623090549880"></a>
+          <a class="indexterm" name="idp140682186435976"></a>
           <pre class="screen">[root qmail-1.03]# <strong class="userinput"><code>rm -f /usr/bin/sendmail /usr/sbin/sendmail</code></strong>
 [root qmail-1.03]# <strong class="userinput"><code>ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail</code></strong>
 [root qmail-1.03]#
@@ -45,7 +45,7 @@
 chmod 644 ~alias/.qmail* 
 /var/qmail/bin/maildirmake ~alias/Maildir/ 
 chown -R alias.nofiles /var/qmail/alias/Maildir</span></pre>
-            <a class="indexterm" name="idp140623162685720"></a>
+            <a class="indexterm" name="idp140682186420440"></a>
             <p>Configure qmail to use the Maildir delivery format
           (instead of mbox), and install a version of the qmail startup script modified to use Maildir.</p>
             <pre class="screen">[root alias]# <strong class="userinput"><code>echo "./Maildir" &gt; /var/qmail/bin/.qmail</code></strong>
@@ -100,7 +100,7 @@
 chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
 ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
 </span></pre>
-          <p>Wait ten seconds or so, and then verify that that the four qmail processes are running.  If uptimes don't rise above 1 second, this may indicate broken scripts that are continuously restarting.  In that case, start debugging by checking permissions.</p>
+          <p>Wait ten seconds or so, and then verify that the four qmail processes are running.  If uptimes don't rise above 1 second, this may indicate broken scripts that are continuously restarting.  In that case, start debugging by checking permissions.</p>
           <pre class="screen">[root root]# <strong class="userinput"><code>qmailctl stat</code></strong>
 /service/qmail-send: up (pid 32700) 430 seconds
 /service/qmail-send/log: up (pid 32701) 430 seconds
Index: openacs-4/packages/acs-core-docs/www/install-redhat.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/install-redhat.adp	12 Apr 2018 06:40:32 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/install-redhat.adp	25 Apr 2018 08:38:27 -0000	1.5
@@ -1,18 +1,15 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Appendix A. Install Red Hat
-8/9}</property>
-<property name="doc(title)">Appendix A. Install Red Hat
-8/9</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Appendix A. Install Red Hat 8/9}</property>
+<property name="doc(title)">Appendix A. Install Red Hat 8/9</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="backups-with-cvs" leftLabel="Prev"
-		    title="
+			leftLink="backups-with-cvs" leftLabel="Prev"
+			title="
 Part II. Administrator&#39;s Guide"
-		    rightLink="install-more-software" rightLabel="Next">
-		<div class="appendix">
+			rightLink="install-more-software" rightLabel="Next">
+		    <div class="appendix">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="install-redhat" id="install-redhat"></a>Appendix A. Install
-Red Hat 8/9</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel
+<a name="install-redhat" id="install-redhat"></a>Appendix A. Install Red Hat 8/9</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel
 Aufrecht</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>This section takes a blank PC and sets up some supporting
 software. You should do this section as-is if you have a machine
@@ -36,7 +33,7 @@
 <a name="install-first-step" id="install-first-step"></a>Unplug
 the network cable from your computer. We don&#39;t want to connect
 to the network until we&#39;re sure the computer is secure.
-<a class="indexterm" name="idp140623091303016" id="idp140623091303016"></a> (Wherever you see the word secure, you
+<a class="indexterm" name="idp140682186765080" id="idp140682186765080"></a> (Wherever you see the word secure, you
 should always read it as, "secure enough for our purposes,
 given the amount of work we&#39;re willing to exert and the
 estimated risk and consequences.")</p></li><li class="listitem"><p>Insert Red Hat 8.0 or 9.0 Disk 1 into the CD-ROM and reboot the
@@ -75,7 +72,7 @@
 boot loader screen</p></li>
 </ol></div>
 </li><li class="listitem">
-<p>Configure Networking. <a class="indexterm" name="idp140623091331368" id="idp140623091331368"></a> Again, if you
+<p>Configure Networking. <a class="indexterm" name="idp140682186725272" id="idp140682186725272"></a> Again, if you
 know what you&#39;re doing, do this step yourself, being sure to
 note the firewall holes. Otherwise, follow the instructions in this
 step to set up a computer directly connected to the internet with a
@@ -105,7 +102,7 @@
 access to the development server we&#39;ll be setting up.</p></li>
 </ol></div>
 </li><li class="listitem"><p>
-<a class="indexterm" name="idp140623091350264" id="idp140623091350264"></a>Select any additional languages you want
+<a class="indexterm" name="idp140682186699240" id="idp140682186699240"></a>Select any additional languages you want
 the computer to support and then click <code class="computeroutput"><span class="guibutton">
 <span class="accel">N</span>ext</span></code>
 </p></li><li class="listitem"><p>Choose your time zone and click <code class="computeroutput"><span class="guibutton">
@@ -120,10 +117,10 @@
 firewall, or a resource hog. Just don&#39;t install a database or
 web server, because that would conflict with the database and web
 server we&#39;ll install later.</p><table border="0" summary="Simple list" class="simplelist">
-<tr><td>check <code class="computeroutput"><span class="guilabel">Editors</span></code> (this installs emacs<a class="indexterm" name="idp140623091358664" id="idp140623091358664"></a>),</td></tr><tr><td>click <code class="computeroutput"><span class="guilabel">Details</span></code> next to <code class="computeroutput"><span class="guilabel">Text-based
+<tr><td>check <code class="computeroutput"><span class="guilabel">Editors</span></code> (this installs emacs<a class="indexterm" name="idp140682186690408" id="idp140682186690408"></a>),</td></tr><tr><td>click <code class="computeroutput"><span class="guilabel">Details</span></code> next to <code class="computeroutput"><span class="guilabel">Text-based
 Internet</span></code>, check <code class="computeroutput"><span class="guilabel">lynx</span></code>, and
 click <code class="computeroutput"><span class="guibutton">
-<span class="accel">O</span>K</span></code>;</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">Authoring and Publishing</span></code> (<a class="indexterm" name="idp140623091366120" id="idp140623091366120"></a>this installs docbook),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Server Configuration Tools</span></code>,</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Web
+<span class="accel">O</span>K</span></code>;</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">Authoring and Publishing</span></code> (<a class="indexterm" name="idp140682186667384" id="idp140682186667384"></a>this installs docbook),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Server Configuration Tools</span></code>,</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Web
 Server</span></code>,</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Windows File Server</span></code>,</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">SQL
 Database Server</span></code> (this installs PostgreSQL),</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">Development Tools</span></code> (this installs gmake and
 other build tools),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Administration Tools</span></code>, and</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Printing Support</span></code>.</td></tr>
@@ -140,7 +137,7 @@
 <span class="accel">F</span>lat View</span></code> and wait. In a minute, a
 list of packages will appear.</p><table border="0" summary="Simple list" class="simplelist">
 <tr><td>uncheck <code class="computeroutput"><span class="guilabel">apmd</span></code> (monitors power, not very useful for
-servers),</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">ImageMagick</span></code> (required for the <a class="indexterm" name="idp140623091218680" id="idp140623091218680"></a>photo-album packages,</td></tr><tr><td>uncheck<code class="computeroutput"><span class="guilabel">isdn4k-utils</span></code> (unless you are using isdn,
+servers),</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">ImageMagick</span></code> (required for the <a class="indexterm" name="idp140682186645656" id="idp140682186645656"></a>photo-album packages,</td></tr><tr><td>uncheck<code class="computeroutput"><span class="guilabel">isdn4k-utils</span></code> (unless you are using isdn,
 this installs a useless daemon),</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">mutt</span></code> (a mail program that reads
 Maildir),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">nfs-utils</span></code> (nfs is a major security
 risk),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">pam-devel</span></code> (I don&#39;t remember why, but
@@ -169,11 +166,9 @@
 <span class="accel">E</span>xit</span></code>, remove
 the CD, and watch the computer reboot.</p></li><li class="listitem">
 <p>After it finishes rebooting and shows the login prompt, log
-in:</p><pre class="screen">
-yourserver login: <strong class="userinput"><code>root</code></strong>
+in:</p><pre class="screen">yourserver login: <strong class="userinput"><code>root</code></strong>
 Password:
-[root root]#
-</pre>
+[root root]#</pre>
 </li><li class="listitem"><p>Install any security patches. For example, insert your CD with
 patches, mount it with <code class="computeroutput">mount
 /dev/cdrom</code>, then <code class="computeroutput">cd
@@ -185,7 +180,7 @@
 <p>Lock down SSH</p><div class="orderedlist"><ol class="orderedlist" type="a">
 <li class="listitem">
 <p>
-<a class="indexterm" name="idp140623091405192" id="idp140623091405192"></a> SSH is the protocol we use to connect
+<a class="indexterm" name="idp140682186578216" id="idp140682186578216"></a> SSH is the protocol we use to connect
 securely to the computer (replacing telnet, which is insecure).
 sshd is the daemon that listens for incoming ssh connections. As a
 security precaution, we are now going to tell ssh not to allow
@@ -227,8 +222,7 @@
 we&#39;ll use daemontools to perform a similar function for
 AOLserver. (The reason for these discrepencies is that, while
 daemontools is better, it&#39;s a pain in the ass to deal with and
-nobody&#39;s had any trouble leaving PostgreSQL the way it is.)</p><pre class="screen">
-[root root]# <strong class="userinput"><code>service pcmcia stop</code></strong>
+nobody&#39;s had any trouble leaving PostgreSQL the way it is.)</p><pre class="screen">[root root]# <strong class="userinput"><code>service pcmcia stop</code></strong>
 [root root]# <strong class="userinput"><code>service netfs stop</code></strong>
 [root root]# <strong class="userinput"><code>chkconfig --del pcmcia</code></strong>
 [root root]# <strong class="userinput"><code>chkconfig --del netfs</code></strong>
@@ -241,8 +235,7 @@
 </li><li class="listitem"><p>Plug in the network cable.</p></li><li class="listitem">
 <p>Verify that you have connectivity by going to another computer
 and ssh&#39;ing to <em class="replaceable"><code>yourserver</code></em>, logging in as remadmin,
-and promoting yourself to root:</p><pre class="screen">
-[joeuser\@someotherserver]$ <strong class="userinput"><code> ssh <em class="replaceable"><code>remadmin\@yourserver.test</code></em>
+and promoting yourself to root:</p><pre class="screen">[joeuser\@someotherserver]$ <strong class="userinput"><code> ssh <em class="replaceable"><code>remadmin\@yourserver.test</code></em>
 </code></strong>
 The authenticity of host 'yourserver.test (1.2.3.4)' can&#39;t be established.
 DSA key fingerprint is 10:b9:b6:10:79:46:14:c8:2d:65:ae:c1:61:4b:a5:a5.
@@ -252,8 +245,7 @@
 Last login: Mon Mar  3 21:15:27 2003 from host-12-01.dsl-sea.seanet.com
 [remadmin remadmin]$ <strong class="userinput"><code>su -</code></strong>
 Password: 
-[root root]#
-</pre>
+[root root]#</pre>
 </li><li class="listitem">
 <p>If you didn&#39;t burn a CD of patches and use it, can still
 download and install the necessary patches. Here&#39;s how to do it
@@ -262,8 +254,7 @@
 8.0 system kernel (2.4.18-14, which you can check with
 <strong class="userinput"><code>uname -a</code></strong>) has
 several <a class="ulink" href="https://rhn.redhat.com/errata/RHSA-2003-098.html" target="_top">security problems</a>. Download the new kernel, install it,
-and reboot.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cd /var/tmp</code></strong>
+and reboot.</p><pre class="screen">[root root]# <strong class="userinput"><code>cd /var/tmp</code></strong>
 [root tmp]# <strong class="userinput"><code>wget http://updates.redhat.com/7.1/en/os/i686/kernel-2.4.18-27.7.x.i686.rpm</code></strong>
 --20:39:00--  http://updates.redhat.com/7.1/en/os/i686/kernel-2.4.18-27.7.x.i686.rpm
            =&gt; `kernel-2.4.18-27.7.x.i686.rpm'
@@ -295,10 +286,9 @@
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="backups-with-cvs" leftLabel="Prev" leftTitle="Using CVS for backup-recovery"
-		    rightLink="install-more-software" rightLabel="Next" rightTitle="
-Appendix B. Install additional supporting
-software"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-admin" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="backups-with-cvs" leftLabel="Prev" leftTitle="Using CVS for backup-recovery"
+			rightLink="install-more-software" rightLabel="Next" rightTitle="Appendix B. Install
+additional supporting software"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-admin" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-redhat.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.html,v
diff -u -r1.43 -r1.44
--- openacs-4/packages/acs-core-docs/www/install-redhat.html	8 Nov 2017 09:42:11 -0000	1.43
+++ openacs-4/packages/acs-core-docs/www/install-redhat.html	25 Apr 2018 08:38:27 -0000	1.44
@@ -45,7 +45,7 @@
     <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p><a name="install-first-step"></a>Unplug the network cable from your
           computer.  We don't want to connect to the network
           until we're sure the computer is secure.  
-           <a class="indexterm" name="idp140623091303016"></a>
+           <a class="indexterm" name="idp140682186765080"></a>
   (Wherever you see
           the word secure, you should always read it as, "secure
           enough for our purposes, given the amount of work we're
@@ -81,7 +81,7 @@
 	  <code class="computeroutput"><span class="guibutton"><span class="accel">Y</span>es</span></code>
 	  IF YOU ARE WIPING YOUR HARD DRIVE.</p></li><li class="listitem"><p>Click <code class="computeroutput"><span class="guibutton"><span class="accel">N</span>ext</span></code> on the boot loader screen</p></li></ol></div>
       </li><li class="listitem">
-        <p>Configure Networking.  <a class="indexterm" name="idp140623091331368"></a>
+        <p>Configure Networking.  <a class="indexterm" name="idp140682186725272"></a>
 Again, if you know what you're doing, do this step
           yourself, being sure to note the firewall holes. Otherwise,
           follow the instructions in this step to set up a computer directly connected to the internet with a dedicated IP address.</p>
@@ -106,7 +106,7 @@
 <code class="computeroutput"><span class="guibutton"><span class="accel">N</span>ext</span></code>.
 Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.</p>
           </li></ol></div>
-      </li><li class="listitem"><p><a class="indexterm" name="idp140623091350264"></a>Select any additional languages you want the
+      </li><li class="listitem"><p><a class="indexterm" name="idp140682186699240"></a>Select any additional languages you want the
 	  computer to support and then click
 	  <code class="computeroutput"><span class="guibutton"><span class="accel">N</span>ext</span></code></p></li><li class="listitem"><p>Choose your time zone and click <code class="computeroutput"><span class="guibutton"><span class="accel">N</span>ext</span></code>.</p></li><li class="listitem"><p>Type in a root
 password, twice.</p>
@@ -119,7 +119,7 @@
 risk that's still screened by the firewall, or a resource hog.  Just
 don't install a database or web server, because that would conflict
 with the database and web server we'll install later.
-</p><table border="0" summary="Simple list" class="simplelist"><tr><td>check <code class="computeroutput"><span class="guilabel">Editors</span></code> (this installs emacs<a class="indexterm" name="idp140623091358664"></a>),</td></tr><tr><td>click <code class="computeroutput"><span class="guilabel">Details</span></code> next to <code class="computeroutput"><span class="guilabel">Text-based Internet</span></code>, check <code class="computeroutput"><span class="guilabel">lynx</span></code>, and click <code class="computeroutput"><span class="guibutton"><span class="accel">O</span>K</span></code>;</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">Authoring and Publishing</span></code> (<a class="indexterm" name="idp140623091366120"></a>this installs docbook),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Server Configuration Tools</span></code>,</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Web Server</span></code>,</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Windows File Server</span></code>,</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">SQL Database Server</span></code> (this installs PostgreSQL),</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">Development Tools</span></code> (this installs gmake and other build tools),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Administration Tools</span></code>, and</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Printing Support</span></code>.</td></tr></table>
+</p><table border="0" summary="Simple list" class="simplelist"><tr><td>check <code class="computeroutput"><span class="guilabel">Editors</span></code> (this installs emacs<a class="indexterm" name="idp140682186690408"></a>),</td></tr><tr><td>click <code class="computeroutput"><span class="guilabel">Details</span></code> next to <code class="computeroutput"><span class="guilabel">Text-based Internet</span></code>, check <code class="computeroutput"><span class="guilabel">lynx</span></code>, and click <code class="computeroutput"><span class="guibutton"><span class="accel">O</span>K</span></code>;</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">Authoring and Publishing</span></code> (<a class="indexterm" name="idp140682186667384"></a>this installs docbook),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Server Configuration Tools</span></code>,</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Web Server</span></code>,</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Windows File Server</span></code>,</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">SQL Database Server</span></code> (this installs PostgreSQL),</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">Development Tools</span></code> (this installs gmake and other build tools),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Administration Tools</span></code>, and</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">Printing Support</span></code>.</td></tr></table>
 <p>At the bottom, check <code class="computeroutput"><span class="guilabel"><span class="accel">S</span>elect Individual Packages</span></code> and click <code class="computeroutput"><span class="guibutton"><span class="accel">N</span>ext</span></code></p>
 
 </li><li class="listitem"><p>We need to fine-tune the exact list of packages.
@@ -129,7 +129,7 @@
 <code class="computeroutput"><span class="guilabel"><span class="accel">F</span>lat
 View</span></code> and wait. In a minute, a
 list of packages will appear.</p>
-<table border="0" summary="Simple list" class="simplelist"><tr><td>uncheck <code class="computeroutput"><span class="guilabel">apmd</span></code> (monitors power, not very useful for servers), </td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">ImageMagick</span></code> (required for the <a class="indexterm" name="idp140623091218680"></a>photo-album packages, </td></tr><tr><td>uncheck<code class="computeroutput"><span class="guilabel">isdn4k-utils</span></code> (unless you are using isdn, this installs a useless daemon), </td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">mutt</span></code> (a mail program that reads Maildir),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">nfs-utils</span></code> (nfs is a major security risk), </td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">pam-devel</span></code> (I don't remember why, but we don't want this), </td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">portmap</span></code>, </td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">postfix</span></code> (this is an MTA, but we're going to install qmail later), </td></tr><tr><td>check  <code class="computeroutput"><span class="guilabel">postgresql-devel</span></code>,</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">rsh</span></code> (rsh is a security hole), </td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">sendmail</span></code> (sendmail is an insecure MTA; we're going to install qmail instead later),</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">tcl</span></code> (we need tcl), and </td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">xinetd</span></code> (xinetd handles incoming tcp connections.  We'll install a different, more secure program, ucspi-tcp).</td></tr><tr><td>Click <code class="computeroutput"><span class="guibutton"><span class="accel">N</span>ext</span></code></td></tr></table>
+<table border="0" summary="Simple list" class="simplelist"><tr><td>uncheck <code class="computeroutput"><span class="guilabel">apmd</span></code> (monitors power, not very useful for servers), </td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">ImageMagick</span></code> (required for the <a class="indexterm" name="idp140682186645656"></a>photo-album packages, </td></tr><tr><td>uncheck<code class="computeroutput"><span class="guilabel">isdn4k-utils</span></code> (unless you are using isdn, this installs a useless daemon), </td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">mutt</span></code> (a mail program that reads Maildir),</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">nfs-utils</span></code> (nfs is a major security risk), </td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">pam-devel</span></code> (I don't remember why, but we don't want this), </td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">portmap</span></code>, </td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">postfix</span></code> (this is an MTA, but we're going to install qmail later), </td></tr><tr><td>check  <code class="computeroutput"><span class="guilabel">postgresql-devel</span></code>,</td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">rsh</span></code> (rsh is a security hole), </td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">sendmail</span></code> (sendmail is an insecure MTA; we're going to install qmail instead later),</td></tr><tr><td>check <code class="computeroutput"><span class="guilabel">tcl</span></code> (we need tcl), and </td></tr><tr><td>uncheck <code class="computeroutput"><span class="guilabel">xinetd</span></code> (xinetd handles incoming tcp connections.  We'll install a different, more secure program, ucspi-tcp).</td></tr><tr><td>Click <code class="computeroutput"><span class="guibutton"><span class="accel">N</span>ext</span></code></td></tr></table>
 
 </li><li class="listitem"><p>Red Hat isn't completely happy with the combination
 of packages we've selected, and wants to satisfy some dependencies.
@@ -166,7 +166,7 @@
         <p>Lock down SSH</p>
         <div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem">
             <p>
-              <a class="indexterm" name="idp140623091405192"></a>
+              <a class="indexterm" name="idp140682186578216"></a>
               SSH is the protocol we use to connect
               securely to the computer (replacing telnet, which is
               insecure).  sshd is the daemon that listens for incoming
@@ -202,7 +202,7 @@
          which services should be up and down at any given service
          level.  We'll use this system for PostgreSQL, but we'll use
          daemontools to perform a similar function for AOLserver.
-         (The reason for this discrepencies is that, while daemontools
+         (The reason for these discrepencies is that, while daemontools
          is better, it's a pain in the ass to deal with and nobody's
          had any trouble leaving PostgreSQL the way it is.)
        </p>
Index: openacs-4/packages/acs-core-docs/www/install-resources.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-resources.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/install-resources.adp	7 Aug 2017 23:47:51 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/install-resources.adp	25 Apr 2018 08:38:27 -0000	1.3
@@ -3,11 +3,10 @@
 <property name="doc(title)">Resources</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="os-security" leftLabel="Prev"
-		    title="
-Appendix C. Credits"
-		    rightLink="acs-package-dev" rightLabel="Next">
-		<div class="section">
+			leftLink="os-security" leftLabel="Prev"
+			title="Appendix C. Credits"
+			rightLink="acs-package-dev" rightLabel="Next">
+		    <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-resources" id="install-resources"></a>Resources</h2></div></div></div><p>Here are some resources that OpenACS users have found
 useful.</p><div class="section">
@@ -34,9 +33,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="os-security" leftLabel="Prev" leftTitle="Security Information"
-		    rightLink="acs-package-dev" rightLabel="Next" rightTitle="Part III. For
-OpenACS Package Developers"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="credits" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="os-security" leftLabel="Prev" leftTitle="Security Information"
+			rightLink="acs-package-dev" rightLabel="Next" rightTitle="Part III. For OpenACS
+Package Developers"
+			homeLink="index" homeLabel="Home" 
+			upLink="credits" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-squirrelmail.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-squirrelmail.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-squirrelmail.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-squirrelmail.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -5,12 +5,11 @@
 OpenACS</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-php" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-pam-radius" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-php" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-pam-radius" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-squirrelmail" id="install-squirrelmail"></a>Install
 Squirrelmail for use as a webmail system for OpenACS</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:openacs\@sussdorff.de" target="_top">Malte
@@ -30,9 +29,9 @@
 here.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-php" leftLabel="Prev" leftTitle="Install PHP for use in AOLserver"
-		    rightLink="install-pam-radius" rightLabel="Next" rightTitle="Install PAM Radius for use as
+			leftLink="install-php" leftLabel="Prev" leftTitle="Install PHP for use in AOLserver"
+			rightLink="install-pam-radius" rightLabel="Next" rightTitle="Install PAM Radius for use as
 external authentication"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-ssl.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-ssl.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-ssl.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-ssl.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Installing SSL Support for an OpenACS service</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="maintenance-deploy" leftLabel="Prev"
-		    title="
-Chapter 6. Production Environments"
-		    rightLink="analog-setup" rightLabel="Next">
-		<div class="sect1">
+			leftLink="maintenance-deploy" leftLabel="Prev"
+			title="Chapter 6. Production
+Environments"
+			rightLink="analog-setup" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-ssl" id="install-ssl"></a>Installing SSL Support for an OpenACS
 service</h2></div></div></div><p>Debian Users: <code class="computeroutput">apt-get install
@@ -18,8 +18,7 @@
 #ns_param   nsopenssl       ${bindir}/nsopenssl.so
 </pre>
 </li><li class="listitem">
-<p>Prepare a certificate directory for the service.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME etc]$ <strong class="userinput"><code>mkdir /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/certs</code></strong>
+<p>Prepare a certificate directory for the service.</p><pre class="screen">[$OPENACS_SERVICE_NAME etc]$ <strong class="userinput"><code>mkdir /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/certs</code></strong>
 [$OPENACS_SERVICE_NAME etc]$ <strong class="userinput"><code>chmod 700 /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/certs</code></strong>
 [$OPENACS_SERVICE_NAME etc]$ 
 <span class="action">mkdir /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/certs
@@ -48,47 +47,39 @@
 ...++++++
 .......++++++
 writing new private key to 'newreq.pem'
-Enter PEM pass phrase:
-</pre><p>Enter a pass phrase for the CA certificate. Then, answer the
-rest of the questions. At the end you should see this:</p><pre class="screen">
-Certificate (and private key) is in newreq.pem
-[$OPENACS_SERVICE_NAME certs]$
-</pre><p>
+Enter PEM pass phrase:</pre><p>Enter a pass phrase for the CA certificate. Then, answer the
+rest of the questions. At the end you should see this:</p><pre class="screen">Certificate (and private key) is in newreq.pem
+[$OPENACS_SERVICE_NAME certs]$</pre><p>
 <code class="computeroutput">newreq.pem</code> contains our
 certificate and private key. The key is protected by a passphrase,
 which means that we&#39;ll have to enter the pass phrase each time
 the server starts. This is impractical and unnecessary, so we
 create an unprotected version of the key. <span class="emphasis"><em>Security implication</em></span>: if anyone gets
 access to the file keyfile.pem, they effectively own the key as
 much as you do. Mitigation: don&#39;t use this key/cert combo for
-anything besides providing ssl for the web site.</p><pre class="screen">
-[root misc]# <strong class="userinput"><code>openssl rsa -in newreq.pem -out keyfile.pem</code></strong>
+anything besides providing ssl for the web site.</p><pre class="screen">[root misc]# <strong class="userinput"><code>openssl rsa -in newreq.pem -out keyfile.pem</code></strong>
 read RSA key
 Enter PEM pass phrase:
 writing RSA key
-[$OPENACS_SERVICE_NAME certs]$ 
-</pre><p>To create the certificate file, we take the combined file, copy
-it, and strip out the key.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME certs]$ <strong class="userinput"><code>cp newreq.pem certfile.pem</code></strong>
+[$OPENACS_SERVICE_NAME certs]$ </pre><p>To create the certificate file, we take the combined file, copy
+it, and strip out the key.</p><pre class="screen">[$OPENACS_SERVICE_NAME certs]$ <strong class="userinput"><code>cp newreq.pem certfile.pem</code></strong>
 [root misc]# <strong class="userinput"><code>emacs certfile.pem</code></strong>
-</pre><p>Strip out the section that looks like</p><pre class="programlisting">
------BEGIN RSA PRIVATE KEY-----
+</pre><p>Strip out the section that looks like</p><pre class="programlisting">-----BEGIN RSA PRIVATE KEY-----
 Proc-Type: 4,ENCRYPTED
 DEK-Info: DES-EDE3-CBC,F3EDE7CA1B404997
 S/Sd2MYA0JVmQuIt5bYowXR1KYKDka1d3DUgtoVTiFepIRUrMkZlCli08mWVjE6T
 <span class="emphasis"><em>(11 lines omitted)</em></span>
 1MU24SHLgdTfDJprEdxZOnxajnbxL420xNVc5RRXlJA8Xxhx/HBKTw==
------END RSA PRIVATE KEY-----
-</pre>
+-----END RSA PRIVATE KEY-----</pre>
 </li><li class="listitem"><p>If you start up using the etc/daemontools/run script, you will
 need to edit this script to make sure the ports are bound for SSL.
 Details of this are in the run script.</p></li>
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="maintenance-deploy" leftLabel="Prev" leftTitle="Staged Deployment for Production
+			leftLink="maintenance-deploy" leftLabel="Prev" leftTitle="Staged Deployment for Production
 Networks"
-		    rightLink="analog-setup" rightLabel="Next" rightTitle="Set up Log Analysis Reports"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="maintenance-web" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="analog-setup" rightLabel="Next" rightTitle="Set up Log Analysis Reports"
+			homeLink="index" homeLabel="Home" 
+			upLink="maintenance-web" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-steps.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-steps.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-steps.adp	25 Apr 2018 08:38:27 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Basic Steps</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-overview" leftLabel="Prev"
-		    title="
-Chapter 2. Installation Overview"
-		    rightLink="individual-programs" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-overview" leftLabel="Prev"
+			title="Chapter 2. Installation
+Overview"
+			rightLink="individual-programs" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-steps" id="install-steps"></a>Basic Steps</h2></div></div></div><p>Most of the documentation in this section is kept as a
 reference. More up-to-date documentation is in the <a class="ulink" href="http://openacs.org/xowiki/openacs-system-install" target="_top">install sections in the Wiki</a>.</p><p>The basic steps for installing OpenACS are:</p><div class="orderedlist"><ol class="orderedlist" type="1">
@@ -16,19 +16,15 @@
 <em>Install Red Hat 8/9</em>
 </a> for more details). See the
 <a class="xref" href="individual-programs" title="Table 2.2. Version Compatibility Matrix">Table 2.2,
-&ldquo;Version Compatibility
-Matrix&rdquo;</a>.</p></li><li class="listitem"><p>Install a database (see <a class="xref" href="oracle" title="Install Oracle 8.1.7">the section called
-&ldquo;Install Oracle 8.1.7&rdquo;</a> or
-<a class="xref" href="postgres" title="Install PostgreSQL">Install PostgreSQL</a>).</p></li><li class="listitem"><p>Install AOLserver (<a class="xref" href="aolserver4" title="Install AOLserver 4">Install AOLserver 4</a>) .</p></li><li class="listitem"><p>Create a unique database and system user. Install the OpenACS
+“Version Compatibility Matrix”</a>.</p></li><li class="listitem"><p>Install a database (see <a class="xref" href="oracle" title="Install Oracle 8.1.7">the section called “Install Oracle
+8.1.7”</a> or <a class="xref" href="postgres" title="Install PostgreSQL">Install PostgreSQL</a>).</p></li><li class="listitem"><p>Install AOLserver (<a class="xref" href="aolserver4" title="Install AOLserver 4">Install AOLserver 4</a>) .</p></li><li class="listitem"><p>Create a unique database and system user. Install the OpenACS
 tarball, start and AOLserver instance, and use the OpenACS web
 pages to complete installation (see <a class="xref" href="openacs" title="Install OpenACS 5.9.0">Install OpenACS
 5.9.0</a>).</p></li>
 </ol></div><p>Specific instructions are available for Mac OS X and Windows2000
 (see <a class="xref" href="mac-installation" title="OpenACS Installation Guide for Mac OS X">the section called
-&ldquo;OpenACS Installation Guide for Mac OS
-X&rdquo;</a> or <a class="xref" href="win2k-installation" title="OpenACS Installation Guide for Windows">the section called
-&ldquo;OpenACS Installation Guide for
-Windows&rdquo;</a>).</p><div class="sect2">
+“OpenACS Installation Guide for Mac OS X”</a> or <a class="xref" href="win2k-installation" title="OpenACS Installation Guide for Windows">the section called
+“OpenACS Installation Guide for Windows”</a>).</p><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="install-rpms" id="install-rpms"></a>Binaries and other shortcuts</h3></div></div></div><p>You can try out OpenACS using some binary installers. In
 general, they are not yet supported by the community, so they are
@@ -46,8 +42,7 @@
 <li class="listitem"><p>128MB RAM (much more if you want Oracle)</p></li><li class="listitem"><p>1GB free space on your hard drive (much more if you want
 Oracle)</p></li><li class="listitem"><p>A Unix-like operating system with Tcl, tDOM, and a mail
 transport agent like sendmail or qmail. (see <a class="xref" href="individual-programs" title="Prerequisite Software">the
-section called &ldquo;Prerequisite
-Software&rdquo;</a>)</p></li>
+section called “Prerequisite Software”</a>)</p></li>
 </ul></div><p>All of the software mentioned is open-source and available
 without direct costs, except for Oracle. You can obtain a free copy
 of Oracle for development purposes. This is described in the
@@ -64,11 +59,9 @@
 menu.</p></li><li class="listitem"><p><strong class="userinput"><code>This is text that you will
 type.</code></strong></p></li><li class="listitem">
 <p>This is text from a program or file which you may need to
-examine or edit:</p><pre class="programlisting">
-if {$database eq "oracle"} {
+examine or edit:</p><pre class="programlisting">if {$database eq "oracle"} {
           set db_password        "mysitepassword"
-}
-</pre>
+}</pre>
 </li><li class="listitem">
 <p>This is text that you will <code class="computeroutput">see</code> and <strong class="userinput"><code>type</code></strong> in a command shell,
 including <em class="replaceable"><code>text you may have to
@@ -95,21 +88,20 @@
 </span>
 </pre><p>
 <a name="cut-and-paste-name-var" id="cut-and-paste-name-var"></a><strong>Setting a global shell
-variable for cut and paste. </strong> In order to cut
-and paste the instructions into your shell, you must set the
+variable for cut and paste. </strong> In order to cut and
+paste the instructions into your shell, you must set the
 environment variable $OPENACS_SERVICE_NAME. In order to set it
 globally so that it works for any new users or special service
 users you may create, edit the file <code class="computeroutput">/etc/profile</code> ( <code class="computeroutput">/etc/share/skel/dot.profile</code> for FreeBSD)
-and add this line:</p><pre class="programlisting">
-export OPENACS_SERVICE_NAME=<em class="replaceable"><code>service0</code></em>
+and add this line:</p><pre class="programlisting">export OPENACS_SERVICE_NAME=<em class="replaceable"><code>service0</code></em>
 </pre>
 </li>
 </ul></div>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623179121976" id="idp140623179121976"></a>Paths and Users</h3></div></div></div><div class="table">
-<a name="idp140623179122616" id="idp140623179122616"></a><p class="title"><strong>Table 2.1. Default
-directories for a standard install</strong></p><div class="table-contents"><table class="table" summary="Default directories for a standard install" cellspacing="0" width="100%" border="1">
+<a name="idp140682192547528" id="idp140682192547528"></a>Paths and Users</h3></div></div></div><div class="table">
+<a name="idp140682192548168" id="idp140682192548168"></a><p class="title"><strong>Table 2.1. Default directories
+for a standard install</strong></p><div class="table-contents"><table class="table" summary="Default directories for a standard install" cellspacing="0" width="100%" border="1">
 <colgroup>
 <col><col>
 </colgroup><tbody>
@@ -119,7 +111,7 @@
 <td>name of administrative access account</td><td>remadmin</td>
 </tr><tr>
 <td>OpenACS service</td><td>
-<a class="indexterm" name="idp140623179128168" id="idp140623179128168"></a><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> (set to
+<a class="indexterm" name="idp140682192553720" id="idp140682192553720"></a><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> (set to
 service0 in default install)</td>
 </tr><tr>
 <td>OpenACS service account</td><td><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></td>
@@ -189,9 +181,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-overview" leftLabel="Prev" leftTitle="
-Chapter 2. Installation Overview"
-		    rightLink="individual-programs" rightLabel="Next" rightTitle="Prerequisite Software"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-overview" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="install-overview" leftLabel="Prev" leftTitle="Chapter 2. Installation
+Overview"
+			rightLink="individual-programs" rightLabel="Next" rightTitle="Prerequisite Software"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-overview" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/install-steps.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.html,v
diff -u -r1.37 -r1.38
--- openacs-4/packages/acs-core-docs/www/install-steps.html	8 Nov 2017 09:42:11 -0000	1.37
+++ openacs-4/packages/acs-core-docs/www/install-steps.html	25 Apr 2018 08:38:28 -0000	1.38
@@ -104,12 +104,12 @@
   </div>
 
 
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623179121976"></a>Paths and Users</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682192547528"></a>Paths and Users</h3></div></div></div>
     
     
-   <div class="table"><a name="idp140623179122616"></a><p class="title"><b>Table 2.1. Default directories for a standard install</b></p><div class="table-contents">
+   <div class="table"><a name="idp140682192548168"></a><p class="title"><b>Table 2.1. Default directories for a standard install</b></p><div class="table-contents">
       
-        <table class="table" summary="Default directories for a standard install" cellspacing="0" width="100%" border="1"><colgroup><col><col></colgroup><tbody><tr><td>Fully qualified domain name of your server</td><td><em class="replaceable"><code>yourserver.test</code></em></td></tr><tr><td>name of administrative access account</td><td>remadmin</td></tr><tr><td>OpenACS service</td><td><a class="indexterm" name="idp140623179128168"></a>
+        <table class="table" summary="Default directories for a standard install" cellspacing="0" width="100%" border="1"><colgroup><col><col></colgroup><tbody><tr><td>Fully qualified domain name of your server</td><td><em class="replaceable"><code>yourserver.test</code></em></td></tr><tr><td>name of administrative access account</td><td>remadmin</td></tr><tr><td>OpenACS service</td><td><a class="indexterm" name="idp140682192553720"></a>
                 <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> (set to service0 in default install)</td></tr><tr><td>OpenACS service account</td><td><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></td></tr><tr><td>OpenACS database name</td><td><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></td></tr><tr><td>Root of OpenACS service file tree (SERVERROOT)</td><td><em class="replaceable"><code>/var/lib/aolserver/$OPENACS_SERVICE_NAME</code></em></td></tr><tr><td>Location of source code tarballs for new software</td><td>/var/tmp</td></tr><tr><td>The OpenACS tarball contains some files which
                 are useful while setting up other software.  Those
                 files are located at:</td><td>/var/tmp/openacs-5.9.0/packages/acs-core-docs/www/files</td></tr><tr><td>Database backup directory</td><td><em class="replaceable"><code>/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup</code></em></td></tr><tr><td>Service config files</td><td><em class="replaceable"><code>/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc</code></em></td></tr><tr><td>Service log files</td><td><em class="replaceable"><code>/var/lib/aolserver/$OPENACS_SERVICE_NAME/log</code></em></td></tr><tr><td>Compile directory</td><td>/usr/local/src</td></tr><tr><td>PostgreSQL directory</td><td>/usr/local/pgsql</td></tr><tr><td>AOLserver directory</td><td>/usr/local/aolserver</td></tr></tbody></table>
Index: openacs-4/packages/acs-core-docs/www/install-tclwebtest.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-tclwebtest.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/install-tclwebtest.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/install-tclwebtest.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,12 +3,11 @@
 <property name="doc(title)">Install tclwebtest.</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-nsopenssl" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-php" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-nsopenssl" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-php" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="install-tclwebtest" id="install-tclwebtest"></a>Install tclwebtest.</h2></div></div></div><p>Download the <a class="link" href="individual-programs">tclwebtest source</a>,
 unpack it, and put it an appropriate place. (tclwebtest 1.0 will be
@@ -25,8 +24,8 @@
 </span></pre>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-nsopenssl" leftLabel="Prev" leftTitle="Install nsopenssl"
-		    rightLink="install-php" rightLabel="Next" rightTitle="Install PHP for use in AOLserver"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="install-nsopenssl" leftLabel="Prev" leftTitle="Install nsopenssl"
+			rightLink="install-php" rightLabel="Next" rightTitle="Install PHP for use in AOLserver"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/ix01.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ix01.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/ix01.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/ix01.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,28 +3,28 @@
 <property name="doc(title)">Index</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="update-translations" leftLabel="Prev"
-		    title=""
-		    rightLink="" rightLabel="">
-		<div class="index">
+			leftLink="update-translations" leftLabel="Prev"
+			title=""
+			rightLink="" rightLabel="">
+		    <div class="index">
 <div class="titlepage"><div><div><h1 class="title">
-<a name="idp140623181428584" id="idp140623181428584"></a>Index</h1></div></div></div><div xmlns:xlink="http://www.w3.org/1999/xlink" class="index">
+<a name="idp140682192045032"></a>Index</h1></div></div></div><div xmlns:xlink="http://www.w3.org/1999/xlink" class="index">
 <div class="indexdiv">
-<h3>Symbols</h3><dl><dt id="ientry-idp140623179128168">$OPENACS_SERVICE_NAME, <a class="indexterm" href="install-steps">Paths and
+<h3>Symbols</h3><dl><dt id="ientry-idp140682192553720">$OPENACS_SERVICE_NAME, <a class="indexterm" href="install-steps">Paths and
 Users</a>
 </dt></dl>
 </div><div class="indexdiv">
 <h3>A</h3><dl>
-<dt id="ientry-idp140623178345544">AOLserver</dt><dd><dl><dt>configuration, <a class="indexterm" href="openacs">Installation Option 2: Install
+<dt id="ientry-idp140682188989288">AOLserver</dt><dd><dl><dt>configuration, <a class="indexterm" href="openacs">Installation Option 2: Install
 from tarball</a>
-</dt></dl></dd><dt id="ientry-idp140623162159976">Automated tests, <a class="indexterm" href="tutorial-debug">Write
+</dt></dl></dd><dt id="ientry-idp140682188491320">Automated tests, <a class="indexterm" href="tutorial-debug">Write
 automated tests</a>
 </dt>
 </dl>
 </div><div class="indexdiv">
 <h3>C</h3><dl>
-<dt id="ientry-idp140623175449672">computeroutput</dt><dd><dl><dt>code, <a class="indexterm" href="docbook-primer">Code</a>
-</dt></dl></dd><dt id="ientry-idp140623161616552">cvs</dt><dd><dl>
+<dt id="ientry-idp140682186055096">computeroutput</dt><dd><dl><dt>code, <a class="indexterm" href="docbook-primer">Code</a>
+</dt></dl></dd><dt id="ientry-idp140682186513672">cvs</dt><dd><dl>
 <dt>initializing, <a class="indexterm" href="install-cvs">Initialize CVS (OPTIONAL)</a>
 </dt><dt>setup, <a class="indexterm" href="cvs-tips">Using CVS with
 an OpenACS Site</a>
@@ -33,107 +33,107 @@
 </dl>
 </div><div class="indexdiv">
 <h3>D</h3><dl>
-<dt id="ientry-idp140623170211560">daemontools</dt><dd><dl><dt>installation, <a class="indexterm" href="install-daemontools">Install Daemontools (OPTIONAL)</a>
-</dt></dl></dd><dt id="ientry-idp140623091366120">docbook</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat">Install Red Hat 8/9</a>
-</dt></dl></dd><dt id="ientry-idp140623161896472">DocBook</dt><dd><dl>
+<dt id="ientry-idp140682186500936">daemontools</dt><dd><dl><dt>installation, <a class="indexterm" href="install-daemontools">Install Daemontools (OPTIONAL)</a>
+</dt></dl></dd><dt id="ientry-idp140682186667384">docbook</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat">Install Red Hat 8/9</a>
+</dt></dl></dd><dt id="ientry-idp140682186507336">DocBook</dt><dd><dl>
 <dt>DTD, <a class="indexterm" href="docbook-primer">OpenACS Documentation Strategy:
 Why DocBook?</a>
 </dt><dt>emacs configuration for, <a class="indexterm" href="psgml-for-emacs">Add PSGML commands to emacs init file
 (OPTIONAL)</a>
 </dt>
-</dl></dd><dt id="ientry-idp140623175542264">Document structure, <a class="indexterm" href="docbook-primer">Document
+</dl></dd><dt id="ientry-idp140682193542808">Document structure, <a class="indexterm" href="docbook-primer">Document
 Structure</a>
 </dt>
 </dl>
 </div><div class="indexdiv">
 <h3>E</h3><dl>
-<dt id="ientry-idp140623091358664">emacs</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat">Install Red Hat 8/9</a>
-</dt></dl></dd><dt id="ientry-idp140623175386280">emphasis</dt><dd><dl><dt>bold, italics, <a class="indexterm" href="docbook-primer">Emphasis</a>
+<dt id="ientry-idp140682186690408">emacs</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat">Install Red Hat 8/9</a>
+</dt></dl></dd><dt id="ientry-idp140682185949880">emphasis</dt><dd><dl><dt>bold, italics, <a class="indexterm" href="docbook-primer">Emphasis</a>
 </dt></dl></dd>
 </dl>
 </div><div class="indexdiv">
 <h3>F</h3><dl>
-<dt id="ientry-idp140623176482456">full text search</dt><dd><dl><dt>installation, <a class="indexterm" href="install-full-text-search-tsearch2">Install
+<dt id="ientry-idp140682186280760">full text search</dt><dd><dl><dt>installation, <a class="indexterm" href="install-full-text-search-tsearch2">Install
 Tsearch2 module</a>
 </dt></dl></dd>
 </dl>
 </div><div class="indexdiv">
 <h3>G</h3><dl>
-<dt id="ientry-idp140623175419144">Graphics</dt><dd><dl><dt>Images, <a class="indexterm" href="docbook-primer">Graphics</a>
+<dt id="ientry-idp140682185999096">Graphics</dt><dd><dl><dt>Images, <a class="indexterm" href="docbook-primer">Graphics</a>
 </dt></dl></dd>
 </dl>
 </div><div class="indexdiv">
 <h3>I</h3><dl>
-<dt id="ientry-idp140623175373160">informaltable</dt><dd><dl><dt>table, <a class="indexterm" href="docbook-primer">Tables</a>
+<dt id="ientry-idp140682185965944">informaltable</dt><dd><dl><dt>table, <a class="indexterm" href="docbook-primer">Tables</a>
 </dt></dl></dd>
 </dl>
 </div><div class="indexdiv">
 <h3>L</h3><dl>
-<dt id="ientry-idp140623091350264">language</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat">Install Red Hat 8/9</a>
-</dt></dl></dd><dt id="ientry-idp140623175460280">Linking, <a class="indexterm" href="docbook-primer">Links</a>
-</dt><dt id="ientry-idp140623175427256">lists, <a class="indexterm" href="docbook-primer">Lists</a>
+<dt id="ientry-idp140682186699240">language</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat">Install Red Hat 8/9</a>
+</dt></dl></dd><dt id="ientry-idp140682186045448">Linking, <a class="indexterm" href="docbook-primer">Links</a>
+</dt><dt id="ientry-idp140682185988600">lists, <a class="indexterm" href="docbook-primer">Lists</a>
 </dt>
 </dl>
 </div><div class="indexdiv">
-<h3>O</h3><dl><dt id="ientry-idp140623172251672">OpenACS Package, <a class="indexterm" href="packages">What a Package
+<h3>O</h3><dl><dt id="ientry-idp140682185306472">OpenACS Package, <a class="indexterm" href="packages">What a Package
 Looks Like</a>
 </dt></dl>
 </div><div class="indexdiv">
 <h3>P</h3><dl>
-<dt id="ientry-idp140623091218680">photo-album</dt><dd><dl><dt>installation (see ImageMagick)</dt></dl></dd><dt id="ientry-idp140623178583368">Postgres</dt><dd><dl><dt>Vacuuming, <a class="indexterm" href="openacs">Installation Option 2: Install
+<dt id="ientry-idp140682186645656">photo-album</dt><dd><dl><dt>installation (see ImageMagick)</dt></dl></dd><dt id="ientry-idp140682188813000">Postgres</dt><dd><dl><dt>Vacuuming, <a class="indexterm" href="openacs">Installation Option 2: Install
 from tarball</a>
 </dt></dl></dd>
 </dl>
 </div><div class="indexdiv">
 <h3>Q</h3><dl>
-<dt id="ientry-idp140623162685720">qmail</dt><dd><dl><dt>Maildir, <a class="indexterm" href="install-qmail">Install
+<dt id="ientry-idp140682186420440">qmail</dt><dd><dl><dt>Maildir, <a class="indexterm" href="install-qmail">Install
 qmail (OPTIONAL)</a>
 </dt></dl></dd>
 </dl>
 </div><div class="indexdiv">
 <h3>S</h3><dl>
-<dt id="ientry-idp140623175464952">sect1, <a class="indexterm" href="docbook-primer">Headlines,
+<dt id="ientry-idp140682193559080">sect1, <a class="indexterm" href="docbook-primer">Headlines,
 Sections</a>
-</dt><dt id="ientry-idp140623175474856">sect2, <a class="indexterm" href="docbook-primer">Headlines,
+</dt><dt id="ientry-idp140682186069336">sect2, <a class="indexterm" href="docbook-primer">Headlines,
 Sections</a>
-</dt><dt id="ientry-idp140623175476952">Sections</dt><dd><dl><dt>Headlines, <a class="indexterm" href="docbook-primer">Headlines,
+</dt><dt id="ientry-idp140682193554664">Sections</dt><dd><dl><dt>Headlines, <a class="indexterm" href="docbook-primer">Headlines,
 Sections</a>
-</dt></dl></dd><dt id="ientry-idp140623091303016">security</dt><dd><dl>
+</dt></dl></dd><dt id="ientry-idp140682186765080">security</dt><dd><dl>
 <dt>definition, <a class="indexterm" href="install-redhat">Install Red Hat 8/9</a>
 </dt><dt>firewall, <a class="indexterm" href="install-redhat">Install Red Hat 8/9</a>
 </dt>
-</dl></dd><dt id="ientry-idp140623090549880">sendmail</dt><dd><dl><dt>removing, <a class="indexterm" href="install-qmail">Install qmail (OPTIONAL)</a>
-</dt></dl></dd><dt id="ientry-idp140623091405192">ssh, <a class="indexterm" href="install-redhat">Install Red Hat 8/9</a>
+</dl></dd><dt id="ientry-idp140682186435976">sendmail</dt><dd><dl><dt>removing, <a class="indexterm" href="install-qmail">Install qmail (OPTIONAL)</a>
+</dt></dl></dd><dt id="ientry-idp140682186578216">ssh, <a class="indexterm" href="install-redhat">Install Red Hat 8/9</a>
 </dt>
 </dl>
 </div><div class="indexdiv">
-<h3>T</h3><dl><dt id="ientry-idp140623164525208">The publish point for new
+<h3>T</h3><dl><dt id="ientry-idp140682185546712">The publish point for new
 packages should be fixed., <a class="indexterm" href="tutorial-distribute">Prepare the package for
 distribution.</a>
 </dt></dl>
 </div><div class="indexdiv">
 <h3>U</h3><dl>
-<dt id="ientry-idp140623175410504">ulink, <a class="indexterm" href="docbook-primer">Links</a>
-</dt><dt id="ientry-idp140623160154424">upgrade</dt><dd><dl>
+<dt id="ientry-idp140682186011816">ulink, <a class="indexterm" href="docbook-primer">Links</a>
+</dt><dt id="ientry-idp140682183766008">upgrade</dt><dd><dl>
 <dt>OpenACS 4.5 to 4.6.x</dt><dd><dl><dt>Linux/Unix, <a class="indexterm" href="upgrade-4.5-to-4.6">Upgrading 4.5 or higher to 4.6.3</a>
 </dt></dl></dd>
 </dl></dd>
 </dl>
 </div><div class="indexdiv">
 <h3>X</h3><dl>
-<dt id="ientry-idp140623175588680">XML guidelines, <a class="indexterm" href="docbook-primer">OpenACS
+<dt id="ientry-idp140682193521704">XML guidelines, <a class="indexterm" href="docbook-primer">OpenACS
 Documentation Strategy: Why DocBook?</a>
-</dt><dt id="ientry-idp140623175394568">xref</dt><dd><dl><dt>linkend, <a class="indexterm" href="docbook-primer">Links</a>
-</dt></dl></dd><dt id="ientry-idp140623175469752">xreflabel, <a class="indexterm" href="docbook-primer">Headlines,
+</dt><dt id="ientry-idp140682186031576">xref</dt><dd><dl><dt>linkend, <a class="indexterm" href="docbook-primer">Links</a>
+</dt></dl></dd><dt id="ientry-idp140682193563912">xreflabel, <a class="indexterm" href="docbook-primer">Headlines,
 Sections</a>
 </dt>
 </dl>
 </div>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="update-translations" leftLabel="Prev" leftTitle="How to Update the translations"
-		    rightLink="" rightLabel="" rightTitle=""
-		    homeLink="index" homeLabel="Home" 
-		    upLink="index" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="update-translations" leftLabel="Prev" leftTitle="How to Update the translations"
+			rightLink="" rightLabel="" rightTitle=""
+			homeLink="index" homeLabel="Home" 
+			upLink="index" upLabel="Up"> 
+		    <a name="comments"></a>
Index: openacs-4/packages/acs-core-docs/www/ix01.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ix01.html,v
diff -u -r1.31 -r1.32
--- openacs-4/packages/acs-core-docs/www/ix01.html	8 Nov 2017 09:42:11 -0000	1.31
+++ openacs-4/packages/acs-core-docs/www/ix01.html	25 Apr 2018 08:38:28 -0000	1.32
@@ -1,3 +1,3 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 'http://www.w3.org/TR/html4/loose.dtd"'>
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Index</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="index.html" title="OpenACS Core Documentation"><link rel="previous" href="update-translations.html" title="How to Update the translations"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="update-translations.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> </td></tr></table><hr></div><div class="index"><div class="titlepage"><div><div><h1 class="title"><a name="idp140623181428584"></a>Index</h1></div></div></div><div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"><div class="indexdiv"><h3>Symbols</h3><dl><dt id="ientry-idp140623179128168">$OPENACS_SERVICE_NAME, <a class="indexterm" href="install-steps.html#idp140623179121976">Paths and Users</a></dt></dl></div><div class="indexdiv"><h3>A</h3><dl><dt id="ientry-idp140623178345544">AOLserver</dt><dd><dl><dt>configuration, <a class="indexterm" href="openacs.html#install-from-tarball">Installation Option 2: Install from tarball</a></dt></dl></dd><dt id="ientry-idp140623162159976">Automated tests, <a class="indexterm" href="tutorial-debug.html#idp140623164614664">Write automated tests</a></dt></dl></div><div class="indexdiv"><h3>C</h3><dl><dt id="ientry-idp140623175449672">computeroutput</dt><dd><dl><dt>code, <a class="indexterm" href="docbook-primer.html#dbprimer-code">Code</a></dt></dl></dd><dt id="ientry-idp140623161616552">cvs</dt><dd><dl><dt>initializing, <a class="indexterm" href="install-cvs.html">Initialize CVS (OPTIONAL)</a></dt><dt>setup, <a class="indexterm" href="cvs-tips.html">Using CVS with an OpenACS Site</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>D</h3><dl><dt id="ientry-idp140623170211560">daemontools</dt><dd><dl><dt>installation, <a class="indexterm" href="install-daemontools.html">Install Daemontools (OPTIONAL)</a></dt></dl></dd><dt id="ientry-idp140623091366120">docbook</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt></dl></dd><dt id="ientry-idp140623161896472">DocBook</dt><dd><dl><dt>DTD, <a class="indexterm" href="docbook-primer.html#dbprimer-why">OpenACS Documentation Strategy: Why DocBook?</a></dt><dt>emacs configuration for, <a class="indexterm" href="psgml-for-emacs.html">Add PSGML commands to emacs init file (OPTIONAL)</a></dt></dl></dd><dt id="ientry-idp140623175542264">Document structure, <a class="indexterm" href="docbook-primer.html#dbprimer-structure">Document Structure</a></dt></dl></div><div class="indexdiv"><h3>E</h3><dl><dt id="ientry-idp140623091358664">emacs</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt></dl></dd><dt id="ientry-idp140623175386280">emphasis</dt><dd><dl><dt>bold, italics, <a class="indexterm" href="docbook-primer.html#dbprimer-emphasis">Emphasis</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>F</h3><dl><dt id="ientry-idp140623176482456">full text search</dt><dd><dl><dt>installation, <a class="indexterm" href="install-full-text-search-tsearch2.html#install-tsearch2">Install Tsearch2 module</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>G</h3><dl><dt id="ientry-idp140623175419144">Graphics</dt><dd><dl><dt>Images, <a class="indexterm" href="docbook-primer.html#dbprimer-graphics">Graphics</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>I</h3><dl><dt id="ientry-idp140623175373160">informaltable</dt><dd><dl><dt>table, <a class="indexterm" href="docbook-primer.html#dbprimer-tables">Tables</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>L</h3><dl><dt id="ientry-idp140623091350264">language</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt></dl></dd><dt id="ientry-idp140623175460280">Linking, <a class="indexterm" href="docbook-primer.html#dbprimer-links">Links</a></dt><dt id="ientry-idp140623175427256">lists, <a class="indexterm" href="docbook-primer.html#dbprimer-lists">Lists</a></dt></dl></div><div class="indexdiv"><h3>O</h3><dl><dt id="ientry-idp140623172251672">OpenACS Package, <a class="indexterm" href="packages.html#packages-looks">What a Package Looks Like</a></dt></dl></div><div class="indexdiv"><h3>P</h3><dl><dt id="ientry-idp140623091218680">photo-album</dt><dd><dl><dt>installation (see ImageMagick)</dt></dl></dd><dt id="ientry-idp140623178583368">Postgres</dt><dd><dl><dt>Vacuuming, <a class="indexterm" href="openacs.html#install-from-tarball">Installation Option 2: Install from tarball</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>Q</h3><dl><dt id="ientry-idp140623162685720">qmail</dt><dd><dl><dt>Maildir, <a class="indexterm" href="install-qmail.html">Install qmail (OPTIONAL)</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>S</h3><dl><dt id="ientry-idp140623175464952">sect1, <a class="indexterm" href="docbook-primer.html#dbprimer-sections">Headlines, Sections</a></dt><dt id="ientry-idp140623175474856">sect2, <a class="indexterm" href="docbook-primer.html#dbprimer-sections">Headlines, Sections</a></dt><dt id="ientry-idp140623175476952">Sections</dt><dd><dl><dt>Headlines, <a class="indexterm" href="docbook-primer.html#dbprimer-sections">Headlines, Sections</a></dt></dl></dd><dt id="ientry-idp140623091303016">security</dt><dd><dl><dt>definition, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt><dt>firewall, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt></dl></dd><dt id="ientry-idp140623090549880">sendmail</dt><dd><dl><dt>removing, <a class="indexterm" href="install-qmail.html">Install qmail (OPTIONAL)</a></dt></dl></dd><dt id="ientry-idp140623091405192">ssh, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt></dl></div><div class="indexdiv"><h3>T</h3><dl><dt id="ientry-idp140623164525208">The publish point for new packages should be
-        fixed., <a class="indexterm" href="tutorial-distribute.html">Prepare the package for distribution.</a></dt></dl></div><div class="indexdiv"><h3>U</h3><dl><dt id="ientry-idp140623175410504">ulink, <a class="indexterm" href="docbook-primer.html#dbprimer-links">Links</a></dt><dt id="ientry-idp140623160154424">upgrade</dt><dd><dl><dt>OpenACS 4.5 to 4.6.x</dt><dd><dl><dt>Linux/Unix, <a class="indexterm" href="upgrade-4.5-to-4.6.html">Upgrading 4.5 or higher to 4.6.3</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>X</h3><dl><dt id="ientry-idp140623175588680">XML guidelines, <a class="indexterm" href="docbook-primer.html#dbprimer-why">OpenACS Documentation Strategy: Why DocBook?</a></dt><dt id="ientry-idp140623175394568">xref</dt><dd><dl><dt>linkend, <a class="indexterm" href="docbook-primer.html#dbprimer-links">Links</a></dt></dl></dd><dt id="ientry-idp140623175469752">xreflabel, <a class="indexterm" href="docbook-primer.html#dbprimer-sections">Headlines, Sections</a></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="update-translations.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left">How to Update the translations </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> </td></tr></table><hr><address><a href="mailto:docs@openacs.org">docs@openacs.org</a></address></div><a name="comments"></a></body></html>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Index</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="index.html" title="OpenACS Core Documentation"><link rel="previous" href="update-translations.html" title="How to Update the translations"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="update-translations.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> </td></tr></table><hr></div><div class="index"><div class="titlepage"><div><div><h1 class="title"><a name="idp140682192045032"></a>Index</h1></div></div></div><div xmlns:xlink="http://www.w3.org/1999/xlink" class="index"><div class="indexdiv"><h3>Symbols</h3><dl><dt id="ientry-idp140682192553720">$OPENACS_SERVICE_NAME, <a class="indexterm" href="install-steps.html#idp140682192547528">Paths and Users</a></dt></dl></div><div class="indexdiv"><h3>A</h3><dl><dt id="ientry-idp140682188989288">AOLserver</dt><dd><dl><dt>configuration, <a class="indexterm" href="openacs.html#install-from-tarball">Installation Option 2: Install from tarball</a></dt></dl></dd><dt id="ientry-idp140682188491320">Automated tests, <a class="indexterm" href="tutorial-debug.html#idp140682182897832">Write automated tests</a></dt></dl></div><div class="indexdiv"><h3>C</h3><dl><dt id="ientry-idp140682186055096">computeroutput</dt><dd><dl><dt>code, <a class="indexterm" href="docbook-primer.html#dbprimer-code">Code</a></dt></dl></dd><dt id="ientry-idp140682186513672">cvs</dt><dd><dl><dt>initializing, <a class="indexterm" href="install-cvs.html">Initialize CVS (OPTIONAL)</a></dt><dt>setup, <a class="indexterm" href="cvs-tips.html">Using CVS with an OpenACS Site</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>D</h3><dl><dt id="ientry-idp140682186500936">daemontools</dt><dd><dl><dt>installation, <a class="indexterm" href="install-daemontools.html">Install Daemontools (OPTIONAL)</a></dt></dl></dd><dt id="ientry-idp140682186667384">docbook</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt></dl></dd><dt id="ientry-idp140682186507336">DocBook</dt><dd><dl><dt>DTD, <a class="indexterm" href="docbook-primer.html#dbprimer-why">OpenACS Documentation Strategy: Why DocBook?</a></dt><dt>emacs configuration for, <a class="indexterm" href="psgml-for-emacs.html">Add PSGML commands to emacs init file (OPTIONAL)</a></dt></dl></dd><dt id="ientry-idp140682193542808">Document structure, <a class="indexterm" href="docbook-primer.html#dbprimer-structure">Document Structure</a></dt></dl></div><div class="indexdiv"><h3>E</h3><dl><dt id="ientry-idp140682186690408">emacs</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt></dl></dd><dt id="ientry-idp140682185949880">emphasis</dt><dd><dl><dt>bold, italics, <a class="indexterm" href="docbook-primer.html#dbprimer-emphasis">Emphasis</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>F</h3><dl><dt id="ientry-idp140682186280760">full text search</dt><dd><dl><dt>installation, <a class="indexterm" href="install-full-text-search-tsearch2.html#install-tsearch2">Install Tsearch2 module</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>G</h3><dl><dt id="ientry-idp140682185999096">Graphics</dt><dd><dl><dt>Images, <a class="indexterm" href="docbook-primer.html#dbprimer-graphics">Graphics</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>I</h3><dl><dt id="ientry-idp140682185965944">informaltable</dt><dd><dl><dt>table, <a class="indexterm" href="docbook-primer.html#dbprimer-tables">Tables</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>L</h3><dl><dt id="ientry-idp140682186699240">language</dt><dd><dl><dt>installation, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt></dl></dd><dt id="ientry-idp140682186045448">Linking, <a class="indexterm" href="docbook-primer.html#dbprimer-links">Links</a></dt><dt id="ientry-idp140682185988600">lists, <a class="indexterm" href="docbook-primer.html#dbprimer-lists">Lists</a></dt></dl></div><div class="indexdiv"><h3>O</h3><dl><dt id="ientry-idp140682185306472">OpenACS Package, <a class="indexterm" href="packages.html#packages-looks">What a Package Looks Like</a></dt></dl></div><div class="indexdiv"><h3>P</h3><dl><dt id="ientry-idp140682186645656">photo-album</dt><dd><dl><dt>installation (see ImageMagick)</dt></dl></dd><dt id="ientry-idp140682188813000">Postgres</dt><dd><dl><dt>Vacuuming, <a class="indexterm" href="openacs.html#install-from-tarball">Installation Option 2: Install from tarball</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>Q</h3><dl><dt id="ientry-idp140682186420440">qmail</dt><dd><dl><dt>Maildir, <a class="indexterm" href="install-qmail.html">Install qmail (OPTIONAL)</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>S</h3><dl><dt id="ientry-idp140682193559080">sect1, <a class="indexterm" href="docbook-primer.html#dbprimer-sections">Headlines, Sections</a></dt><dt id="ientry-idp140682186069336">sect2, <a class="indexterm" href="docbook-primer.html#dbprimer-sections">Headlines, Sections</a></dt><dt id="ientry-idp140682193554664">Sections</dt><dd><dl><dt>Headlines, <a class="indexterm" href="docbook-primer.html#dbprimer-sections">Headlines, Sections</a></dt></dl></dd><dt id="ientry-idp140682186765080">security</dt><dd><dl><dt>definition, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt><dt>firewall, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt></dl></dd><dt id="ientry-idp140682186435976">sendmail</dt><dd><dl><dt>removing, <a class="indexterm" href="install-qmail.html">Install qmail (OPTIONAL)</a></dt></dl></dd><dt id="ientry-idp140682186578216">ssh, <a class="indexterm" href="install-redhat.html">Install Red Hat 8/9</a></dt></dl></div><div class="indexdiv"><h3>T</h3><dl><dt id="ientry-idp140682185546712">The publish point for new packages should be
+        fixed., <a class="indexterm" href="tutorial-distribute.html">Prepare the package for distribution.</a></dt></dl></div><div class="indexdiv"><h3>U</h3><dl><dt id="ientry-idp140682186011816">ulink, <a class="indexterm" href="docbook-primer.html#dbprimer-links">Links</a></dt><dt id="ientry-idp140682183766008">upgrade</dt><dd><dl><dt>OpenACS 4.5 to 4.6.x</dt><dd><dl><dt>Linux/Unix, <a class="indexterm" href="upgrade-4.5-to-4.6.html">Upgrading 4.5 or higher to 4.6.3</a></dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>X</h3><dl><dt id="ientry-idp140682193521704">XML guidelines, <a class="indexterm" href="docbook-primer.html#dbprimer-why">OpenACS Documentation Strategy: Why DocBook?</a></dt><dt id="ientry-idp140682186031576">xref</dt><dd><dl><dt>linkend, <a class="indexterm" href="docbook-primer.html#dbprimer-links">Links</a></dt></dl></dd><dt id="ientry-idp140682193563912">xreflabel, <a class="indexterm" href="docbook-primer.html#dbprimer-sections">Headlines, Sections</a></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="update-translations.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left">How to Update the translations </td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right"> </td></tr></table><hr><address><a href="mailto:docs@openacs.org">docs@openacs.org</a></address></div><a name="comments"></a></body></html>
Index: openacs-4/packages/acs-core-docs/www/kernel-doc.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-doc.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/kernel-doc.adp	7 Aug 2017 23:47:51 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/kernel-doc.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -1,18 +1,15 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 15. Kernel
-Documentation}</property>
-<property name="doc(title)">Chapter 15. Kernel
-Documentation</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 15. Kernel Documentation}</property>
+<property name="doc(title)">Chapter 15. Kernel Documentation</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="acs-plat-dev" leftLabel="Prev"
-		    title="Part IV. For
-OpenACS Platform Developers"
-		    rightLink="kernel-overview" rightLabel="Next">
-		<div class="chapter">
+			leftLink="acs-plat-dev" leftLabel="Prev"
+			title="Part IV. For OpenACS
+Platform Developers"
+			rightLink="kernel-overview" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="kernel-doc" id="kernel-doc"></a>Chapter 15. Kernel
-Documentation</h2></div></div></div><div class="toc">
+<a name="kernel-doc" id="kernel-doc"></a>Chapter 15. Kernel Documentation</h2></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="sect1"><a href="kernel-overview">Overview</a></span></dt><dt><span class="sect1"><a href="object-system-requirements">Object Model
 Requirements</a></span></dt><dt><span class="sect1"><a href="object-system-design">Object
@@ -36,9 +33,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="acs-plat-dev" leftLabel="Prev" leftTitle="Part IV. For
-OpenACS Platform Developers"
-		    rightLink="kernel-overview" rightLabel="Next" rightTitle="Overview"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-plat-dev" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="acs-plat-dev" leftLabel="Prev" leftTitle="Part IV. For OpenACS
+Platform Developers"
+			rightLink="kernel-overview" rightLabel="Next" rightTitle="Overview"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-plat-dev" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/kernel-overview.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-overview.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/kernel-overview.adp	7 Aug 2017 23:47:51 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/kernel-overview.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -3,11 +3,11 @@
 <property name="doc(title)">Overview</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="kernel-doc" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="object-system-requirements" rightLabel="Next">
-		<div class="sect1">
+			leftLink="kernel-doc" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="object-system-requirements" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="kernel-overview" id="kernel-overview"></a>Overview</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>The <span class="emphasis"><em>OpenACS Kernel</em></span>, which
@@ -27,9 +27,9 @@
 </p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="kernel-doc" leftLabel="Prev" leftTitle="
-Chapter 15. Kernel Documentation"
-		    rightLink="object-system-requirements" rightLabel="Next" rightTitle="Object Model Requirements"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="kernel-doc" leftLabel="Prev" leftTitle="Chapter 15. Kernel
+Documentation"
+			rightLink="object-system-requirements" rightLabel="Next" rightTitle="Object Model Requirements"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/mac-installation.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/mac-installation.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/mac-installation.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/mac-installation.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,23 +3,22 @@
 <property name="doc(title)">OpenACS Installation Guide for Mac OS X</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="win2k-installation" leftLabel="Prev"
-		    title="
-Chapter 3. Complete Installation"
-		    rightLink="configuring-new-site" rightLabel="Next">
-		<div class="sect1">
+			leftLink="win2k-installation" leftLabel="Prev"
+			title="Chapter 3. Complete
+Installation"
+			rightLink="configuring-new-site" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="mac-installation" id="mac-installation"></a>OpenACS Installation Guide for Mac OS
 X</h2></div></div></div><p>See the wiki for an actual guideline: <a class="ulink" href="http://openacs.org/xowiki/openacs-system-install-osx/" target="_top">Installing OpenACS on Mac OS X</a>
 </p><p><span class="cvstag">($&zwnj;Id: macinstall.xml,v 1.7 2014/10/27
 16:39:31 victorg Exp $)</span></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="win2k-installation" leftLabel="Prev" leftTitle="OpenACS Installation Guide for
+			leftLink="win2k-installation" leftLabel="Prev" leftTitle="OpenACS Installation Guide for
 Windows"
-		    rightLink="configuring-new-site" rightLabel="Next" rightTitle="
-Chapter 4. Configuring a new OpenACS
-Site"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="complete-install" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="configuring-new-site" rightLabel="Next" rightTitle="Chapter 4. Configuring a
+new OpenACS Site"
+			homeLink="index" homeLabel="Home" 
+			upLink="complete-install" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/maint-performance.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maint-performance.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/maint-performance.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/maint-performance.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Diagnosing Performance Problems</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="uptime" leftLabel="Prev"
-		    title="
-Chapter 6. Production Environments"
-		    rightLink="database-management" rightLabel="Next">
-		<div class="sect1">
+			leftLink="uptime" leftLabel="Prev"
+			title="Chapter 6. Production
+Environments"
+			rightLink="database-management" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="maint-performance" id="maint-performance"></a>Diagnosing Performance Problems</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>Did performance problems happen overnight, or did they sneak up
@@ -16,9 +16,8 @@
 constantly?</p></li><li class="listitem">
 <p>Isolating and solving database problems.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem"><p>Without daily internal maintenance, most databases slowly
-degrade in performance. For PostGreSQL, see <a class="xref" href="install-next-nightly-vacuum" title="Vacuum Postgres nightly">the section called
-&ldquo;Vacuum Postgres nightly&rdquo;</a>. For
-Oracle, use <code class="computeroutput">exec
+degrade in performance. For PostGreSQL, see <a class="xref" href="install-next-nightly-vacuum" title="Vacuum Postgres nightly">the section called “Vacuum Postgres
+nightly”</a>. For Oracle, use <code class="computeroutput">exec
 dbms_stats.gather_schema_stats('SCHEMA_NAME')</code>
 (<a class="ulink" href="http://www.piskorski.com/docs/oracle.html" target="_top">Andrew Piskorski&#39;s Oracle notes</a>).</p></li><li class="listitem">
 <p>You can track the exact amount of time each database query on a
@@ -32,15 +31,14 @@
 <p>This should return a list of database queries on the page,
 including the exact query (so it can be cut-paste into psql or
 oracle) and the time each query took.</p><div class="figure">
-<a name="idp140623175898008" id="idp140623175898008"></a><p class="title"><strong>Figure 6.8. Query
-Analysis example</strong></p><div class="figure-contents"><div class="mediaobject"><img src="images/query-duration.png" alt="Query Analysis example"></div></div>
+<a name="idp140682193185848" id="idp140682193185848"></a><p class="title"><strong>Figure 6.8. Query Analysis
+example</strong></p><div class="figure-contents"><div class="mediaobject"><img src="images/query-duration.png" alt="Query Analysis example"></div></div>
 </div><br class="figure-break">
 </li>
 </ol></div>
 </li><li class="listitem">
 <p>Identify a runaway Oracle query: first, use <strong class="userinput"><code>ps aux</code></strong> or <strong class="userinput"><code>top</code></strong> to get the UNIX process ID of
-a runaway Oracle process.</p><p>Log in to SQL*Plus as the admin:</p><pre class="screen">
-[<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> ~]$ svrmgrl
+a runaway Oracle process.</p><p>Log in to SQL*Plus as the admin:</p><pre class="screen">[<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> ~]$ svrmgrl
 
 Oracle Server Manager Release 3.1.7.0.0 - Production
 
@@ -50,39 +48,29 @@
 With the Partitioning option
 JServer Release 8.1.7.3.0 - Production
 
-SVRMGR&gt; <strong class="userinput"><code>connect internal</code></strong>              
-Password:
-</pre><p>See all of the running queries, and match the UNIX PID:</p><pre class="programlisting">
-select p.spid  -- The UNIX PID
+SVRMGR&gt; <strong class="userinput"><code>connect internal</code></strong>             
+Password:</pre><p>See all of the running queries, and match the UNIX PID:</p><pre class="programlisting">select p.spid  -- The UNIX PID
        ,s.sid  ,s.serial#
        ,p.username  as os_user
        ,s.username  ,s.status
        ,p.terminal  ,p.program
   from v$session s  ,v$process p
  where p.addr = s.paddr
- order by s.username ,p.spid ,s.sid ,s.serial# ;
-</pre><p>See the SQL behind the oracle processes:</p><pre class="programlisting">
-select s.username
+ order by s.username ,p.spid ,s.sid ,s.serial# ;</pre><p>See the SQL behind the oracle processes:</p><pre class="programlisting">select s.username
        ,s.sid  ,s.serial#
        ,sql.sql_text
   from v$session s, v$sqltext sql
  where sql.address    = s.sql_address
    and sql.hash_value = s.sql_hash_value
  --and upper(s.username) like 'USERNAME%'
- order by s.username ,s.sid ,s.serial# ,sql.piece ;
-</pre><p>To kill a troubled process:</p><pre class="programlisting">
-alter system kill session 'SID,SERIAL#';  --substitute values for SID and SERIAL#
-</pre><p>(See <a class="ulink" href="http://www.piskorski.com/docs/oracle.html" target="_top">Andrew
+ order by s.username ,s.sid ,s.serial# ,sql.piece ;</pre><p>To kill a troubled process:</p><pre class="programlisting">
+alter system kill session 'SID,SERIAL#';  --substitute values for SID and SERIAL#</pre><p>(See <a class="ulink" href="http://www.piskorski.com/docs/oracle.html" target="_top">Andrew
 Piskorski&#39;s Oracle notes</a>)</p>
 </li><li class="listitem">
 <p>Identify a runaway Postgres query. First, logging must be
 enabled in the database. This imposes a performance penalty and
 should not be done in normal operation.</p><p>Edit the file <code class="computeroutput">postgresql.conf</code> - its location depends on
-the PostGreSQL installation - and change</p><pre class="programlisting">
-#stats_command_string = false
-</pre><p>to</p><pre class="programlisting">
-stats_command_string = true
-</pre><p>Next, connect to postgres (<code class="computeroutput">psql
+the PostGreSQL installation - and change</p><pre class="programlisting">#stats_command_string = false</pre><p>to</p><pre class="programlisting">stats_command_string = true</pre><p>Next, connect to postgres (<code class="computeroutput">psql
 <em class="replaceable"><code>service0</code></em>
 </code>) and
 <code class="computeroutput">select * from
@@ -101,8 +89,7 @@
  64344418 | openacs.org |   14311 |      101 | nsadmin | &lt;IDLE&gt;
  64344418 | openacs.org |   14549 |      101 | nsadmin | &lt;IDLE&gt;
 (8 rows)
-openacs.org=&gt;
-</pre>
+openacs.org=&gt;</pre>
 </li>
 </ul></div>
 </li>
@@ -124,7 +111,7 @@
 query, install "autotrace". I usually follow the
 instructions here <a class="ulink" href="http://asktom.oracle.com/~tkyte/article1/autotrace.html" target="_top">http://asktom.oracle.com/~tkyte/article1/autotrace.html</a>.</p><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623175869304" id="idp140623175869304"></a>Make sure, that the Oracle CBO works with
+<a name="idp140682193210376" id="idp140682193210376"></a>Make sure, that the Oracle CBO works with
 adequate statistics</h4></div></div></div><p>The Oracle Cost Based optimizer is a piece of software that
 tries to find the "optimal" execution plan for a given
 SQL statement. For that it estimates the costs of running a SQL
@@ -136,9 +123,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="uptime" leftLabel="Prev" leftTitle="External uptime validation"
-		    rightLink="database-management" rightLabel="Next" rightTitle="
-Chapter 7. Database Management"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="maintenance-web" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="uptime" leftLabel="Prev" leftTitle="External uptime validation"
+			rightLink="database-management" rightLabel="Next" rightTitle="Chapter 7. Database
+Management"
+			homeLink="index" homeLabel="Home" 
+			upLink="maintenance-web" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/maint-performance.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maint-performance.html,v
diff -u -r1.31 -r1.32
--- openacs-4/packages/acs-core-docs/www/maint-performance.html	8 Nov 2017 09:42:11 -0000	1.31
+++ openacs-4/packages/acs-core-docs/www/maint-performance.html	25 Apr 2018 08:38:28 -0000	1.32
@@ -30,7 +30,7 @@
               <p>Browse directly to a slow page and click "Request Information" at the bottom of the page.</p>
             </li><li class="listitem">
               <p>This should return a list of database queries on the page, including the exact query (so it can be cut-paste into psql or oracle) and the time each query took.</p>
-              <div class="figure"><a name="idp140623175898008"></a><p class="title"><b>Figure 6.8. Query Analysis example</b></p><div class="figure-contents">
+              <div class="figure"><a name="idp140682193185848"></a><p class="title"><b>Figure 6.8. Query Analysis example</b></p><div class="figure-contents">
                 
               <div class="mediaobject"><img src="images/query-duration.png" alt="Query Analysis example"></div>
               </div></div><br class="figure-break">
@@ -122,7 +122,7 @@
       To be able to get a overview of how Oracle executes a particular query,
       install "autotrace". I usually follow the instructions here <a class="ulink" href="http://asktom.oracle.com/~tkyte/article1/autotrace.html" target="_top">http://asktom.oracle.com/~tkyte/article1/autotrace.html</a>.
     </p>
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623175869304"></a>Make sure, that the Oracle CBO works with adequate statistics</h4></div></div></div>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682193210376"></a>Make sure, that the Oracle CBO works with adequate statistics</h4></div></div></div>
       
   
       <p>
Index: openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp	27 Mar 2018 11:18:00 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp	25 Apr 2018 08:38:28 -0000	1.5
@@ -3,15 +3,15 @@
 <property name="doc(title)">Staged Deployment for Production Networks</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="high-avail" leftLabel="Prev"
-		    title="
-Chapter 6. Production Environments"
-		    rightLink="install-ssl" rightLabel="Next">
-		<div class="sect1">
+			leftLink="high-avail" leftLabel="Prev"
+			title="Chapter 6. Production
+Environments"
+			rightLink="install-ssl" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="maintenance-deploy" id="maintenance-deploy"></a>Staged Deployment for Production
 Networks</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red"><span class="cvstag">($&zwnj;Id:
-maintenance.xml,v 1.31 2017/08/07 23:47:55 gustafn Exp
+maintenance.xml,v 1.32 2018/03/27 11:18:00 hectorr Exp
 $)</span></span></p><p>By <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel Aufrecht</a>
 </p>
 &lt;/authorblurb&gt;
@@ -24,7 +24,7 @@
 working configuration safely and quickly.</p></li>
 </ul></div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623174990600" id="idp140623174990600"></a>Method 1: Deployment with CVS</h3></div></div></div><p>With this method, we control the files on a site via CVS. This
+<a name="idp140682193078776" id="idp140682193078776"></a>Method 1: Deployment with CVS</h3></div></div></div><p>With this method, we control the files on a site via CVS. This
 example uses one developmental server (service0-dev) and one
 production server (service0). Depending on your needs, you can also
 have a staging server for extensive testing before you go live. The
@@ -86,8 +86,7 @@
 </pre><p>To make these changes take place on service0:</p><pre class="programlisting">
 4) update the file on production:
 cd /var/lib/aolserver/service0/www
-cvs up -Pd index.adp
-</pre><p>If you make changes that require changes to the database, test
+cvs up -Pd index.adp</pre><p>If you make changes that require changes to the database, test
 them out first on service0-dev, using either -create.sql or upgrade
 scripts. Once you&#39;ve tested them, you then update and run the
 upgrade scripts from the package manager.</p><p>The production site can run "HEAD" from cvs.</p><p>The drawback to using HEAD as the live code is that you cannot
@@ -103,7 +102,7 @@
 tags to follow ...</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623175758344" id="idp140623175758344"></a>Method 2: A/B Deployment</h3></div></div></div><p>The approach taken in this section is to always create a new
+<a name="idp140682193079128" id="idp140682193079128"></a>Method 2: A/B Deployment</h3></div></div></div><p>The approach taken in this section is to always create a new
 service with the desired changes, running in parallel with the
 existing site. This guarantees control, at least at the final step
 of the process: you know what changes you are about to make because
@@ -119,38 +118,38 @@
 function or risk losing data in the shuffle. It also requires extra
 steps if the database will be affected.</p><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623174971944" id="idp140623174971944"></a>Simple A/B Deployment: Database is not
+<a name="idp140682193094056" id="idp140682193094056"></a>Simple A/B Deployment: Database is not
 changed</h4></div></div></div><div class="figure">
-<a name="idp140623175654760" id="idp140623175654760"></a><p class="title"><strong>Figure 6.2. Simple
-A/B Deployment - Step 1</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/simple-deploy-1.png" align="middle" alt="Simple A/B Deployment - Step 1"></div></div>
+<a name="idp140682193094792" id="idp140682193094792"></a><p class="title"><strong>Figure 6.2. Simple A/B
+Deployment - Step 1</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/simple-deploy-1.png" align="middle" alt="Simple A/B Deployment - Step 1"></div></div>
 </div><br class="figure-break"><div class="figure">
-<a name="idp140623175792120" id="idp140623175792120"></a><p class="title"><strong>Figure 6.3. Simple
-A/B Deployment - Step 2</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/simple-deploy-2.png" align="middle" alt="Simple A/B Deployment - Step 2"></div></div>
+<a name="idp140682193097912" id="idp140682193097912"></a><p class="title"><strong>Figure 6.3. Simple A/B
+Deployment - Step 2</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/simple-deploy-2.png" align="middle" alt="Simple A/B Deployment - Step 2"></div></div>
 </div><br class="figure-break"><div class="figure">
-<a name="idp140623175788536" id="idp140623175788536"></a><p class="title"><strong>Figure 6.4. Simple
-A/B Deployment - Step 3</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/simple-deploy-3.png" align="middle" alt="Simple A/B Deployment - Step 3"></div></div>
+<a name="idp140682193100872" id="idp140682193100872"></a><p class="title"><strong>Figure 6.4. Simple A/B
+Deployment - Step 3</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/simple-deploy-3.png" align="middle" alt="Simple A/B Deployment - Step 3"></div></div>
 </div><br class="figure-break">
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623175018872" id="idp140623175018872"></a>Complex A/B Deployment: Database is
+<a name="idp140682193103864" id="idp140682193103864"></a>Complex A/B Deployment: Database is
 changed</h4></div></div></div><div class="figure">
-<a name="idp140623175695688" id="idp140623175695688"></a><p class="title"><strong>Figure 6.5. Complex A/B Deployment
-- Step 1</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/complex-deploy-1.png" align="middle" alt="Complex A/B Deployment - Step 1"></div></div>
+<a name="idp140682193104504" id="idp140682193104504"></a><p class="title"><strong>Figure 6.5. Complex A/B
+Deployment - Step 1</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/complex-deploy-1.png" align="middle" alt="Complex A/B Deployment - Step 1"></div></div>
 </div><br class="figure-break"><div class="figure">
-<a name="idp140623174978168" id="idp140623174978168"></a><p class="title"><strong>Figure 6.6. Complex A/B Deployment
-- Step 2</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/complex-deploy-2.png" align="middle" alt="Complex A/B Deployment - Step 2"></div></div>
+<a name="idp140682193107560" id="idp140682193107560"></a><p class="title"><strong>Figure 6.6. Complex A/B
+Deployment - Step 2</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/complex-deploy-2.png" align="middle" alt="Complex A/B Deployment - Step 2"></div></div>
 </div><br class="figure-break"><div class="figure">
-<a name="idp140623174977320" id="idp140623174977320"></a><p class="title"><strong>Figure 6.7. Complex A/B Deployment
-- Step 3</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/complex-deploy-3.png" align="middle" alt="Complex A/B Deployment - Step 3"></div></div>
+<a name="idp140682193110440" id="idp140682193110440"></a><p class="title"><strong>Figure 6.7. Complex A/B
+Deployment - Step 3</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/complex-deploy-3.png" align="middle" alt="Complex A/B Deployment - Step 3"></div></div>
 </div><br class="figure-break">
 </div>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="high-avail" leftLabel="Prev" leftTitle="High Availability/High Performance
+			leftLink="high-avail" leftLabel="Prev" leftTitle="High Availability/High Performance
 Configurations"
-		    rightLink="install-ssl" rightLabel="Next" rightTitle="Installing SSL Support for an OpenACS
+			rightLink="install-ssl" rightLabel="Next" rightTitle="Installing SSL Support for an OpenACS
 service"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="maintenance-web" upLabel="Up"> 
-		
+			homeLink="index" homeLabel="Home" 
+			upLink="maintenance-web" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/maintenance-deploy.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-deploy.html,v
diff -u -r1.27 -r1.28
--- openacs-4/packages/acs-core-docs/www/maintenance-deploy.html	27 Mar 2018 11:18:00 -0000	1.27
+++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.html	25 Apr 2018 08:38:28 -0000	1.28
@@ -12,7 +12,7 @@
       <p>Rollback: If anything goes wrong, you can return to the previous working configuration safely and quickly.</p>
     </li></ul></div>
 
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623174990600"></a>Method 1: Deployment with CVS</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682193078776"></a>Method 1: Deployment with CVS</h3></div></div></div>
       
       <p>With this method, we control the files on a site via
       CVS. This example uses one developmental server (service0-dev) and one
@@ -111,36 +111,36 @@
 
 
     </div>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623175758344"></a>Method 2: A/B Deployment</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682193079128"></a>Method 2: A/B Deployment</h3></div></div></div>
       
   <p>The approach taken in this section is to always create a new service with the desired changes, running in parallel with the existing site.  This guarantees control, at least at the final step of the process: you know what changes you are about to make because you can see them directly.  It does not, by itself, guarantee the entire control chain.  You need additional measures to make sure that the change you are making is exactly and completely the change you intended to make and tested previously, and nothing more.  Those additional measures typically take the form of source control tags and system version numbers.  The parallel-server approach also guarantees rollback because the original working service is not touched; it is merely set aside.</p>
   <p>This approach can has limitations.  If the database or file system regularly receiving new data, you must interrupt this function or risk losing data in the shuffle.  It also requires extra steps if the database will be affected.</p>
-  <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623174971944"></a>Simple A/B Deployment: Database is not changed</h4></div></div></div>
+  <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682193094056"></a>Simple A/B Deployment: Database is not changed</h4></div></div></div>
     
-    <div class="figure"><a name="idp140623175654760"></a><p class="title"><b>Figure 6.2. Simple A/B Deployment - Step 1</b></p><div class="figure-contents">
+    <div class="figure"><a name="idp140682193094792"></a><p class="title"><b>Figure 6.2. Simple A/B Deployment - Step 1</b></p><div class="figure-contents">
       
       <div class="mediaobject" align="center"><img src="images/simple-deploy-1.png" align="middle" alt="Simple A/B Deployment - Step 1"></div>
     </div></div><br class="figure-break">
-     <div class="figure"><a name="idp140623175792120"></a><p class="title"><b>Figure 6.3. Simple A/B Deployment - Step 2</b></p><div class="figure-contents">
+     <div class="figure"><a name="idp140682193097912"></a><p class="title"><b>Figure 6.3. Simple A/B Deployment - Step 2</b></p><div class="figure-contents">
       
       <div class="mediaobject" align="center"><img src="images/simple-deploy-2.png" align="middle" alt="Simple A/B Deployment - Step 2"></div>
     </div></div><br class="figure-break">
-     <div class="figure"><a name="idp140623175788536"></a><p class="title"><b>Figure 6.4. Simple A/B Deployment - Step 3</b></p><div class="figure-contents">
+     <div class="figure"><a name="idp140682193100872"></a><p class="title"><b>Figure 6.4. Simple A/B Deployment - Step 3</b></p><div class="figure-contents">
       
       <div class="mediaobject" align="center"><img src="images/simple-deploy-3.png" align="middle" alt="Simple A/B Deployment - Step 3"></div>
     </div></div><br class="figure-break">
   </div>
-  <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623175018872"></a>Complex A/B Deployment: Database is changed</h4></div></div></div>
+  <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682193103864"></a>Complex A/B Deployment: Database is changed</h4></div></div></div>
     
-    <div class="figure"><a name="idp140623175695688"></a><p class="title"><b>Figure 6.5. Complex A/B Deployment - Step 1</b></p><div class="figure-contents">
+    <div class="figure"><a name="idp140682193104504"></a><p class="title"><b>Figure 6.5. Complex A/B Deployment - Step 1</b></p><div class="figure-contents">
       
       <div class="mediaobject" align="center"><img src="images/complex-deploy-1.png" align="middle" alt="Complex A/B Deployment - Step 1"></div>
     </div></div><br class="figure-break">
-     <div class="figure"><a name="idp140623174978168"></a><p class="title"><b>Figure 6.6. Complex A/B Deployment - Step 2</b></p><div class="figure-contents">
+     <div class="figure"><a name="idp140682193107560"></a><p class="title"><b>Figure 6.6. Complex A/B Deployment - Step 2</b></p><div class="figure-contents">
       
       <div class="mediaobject" align="center"><img src="images/complex-deploy-2.png" align="middle" alt="Complex A/B Deployment - Step 2"></div>
     </div></div><br class="figure-break">
-     <div class="figure"><a name="idp140623174977320"></a><p class="title"><b>Figure 6.7. Complex A/B Deployment - Step 3</b></p><div class="figure-contents">
+     <div class="figure"><a name="idp140682193110440"></a><p class="title"><b>Figure 6.7. Complex A/B Deployment - Step 3</b></p><div class="figure-contents">
       
       <div class="mediaobject" align="center"><img src="images/complex-deploy-3.png" align="middle" alt="Complex A/B Deployment - Step 3"></div>
     </div></div><br class="figure-break">
Index: openacs-4/packages/acs-core-docs/www/maintenance-web.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-web.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/maintenance-web.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/maintenance-web.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -1,15 +1,13 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 6. Production
-Environments}</property>
-<property name="doc(title)">Chapter 6. Production
-Environments</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 6. Production Environments}</property>
+<property name="doc(title)">Chapter 6. Production Environments</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="upgrade-supporting" leftLabel="Prev"
-		    title="
+			leftLink="upgrade-supporting" leftLabel="Prev"
+			title="
 Part II. Administrator&#39;s Guide"
-		    rightLink="install-openacs-keepalive" rightLabel="Next">
-		<div class="chapter">
+			rightLink="install-openacs-keepalive" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="maintenance-web" id="maintenance-web"></a>Chapter 6. Production
 Environments</h2></div></div></div><div class="toc">
@@ -30,9 +28,9 @@
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="upgrade-supporting" leftLabel="Prev" leftTitle="Upgrading Platform components"
-		    rightLink="install-openacs-keepalive" rightLabel="Next" rightTitle="Starting and Stopping an OpenACS
+			leftLink="upgrade-supporting" leftLabel="Prev" leftTitle="Upgrading Platform components"
+			rightLink="install-openacs-keepalive" rightLabel="Next" rightTitle="Starting and Stopping an OpenACS
 instance."
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-admin" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-admin" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/nxml-mode.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/nxml-mode.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/nxml-mode.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/nxml-mode.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Using nXML mode in Emacs</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="psgml-mode" leftLabel="Prev"
-		    title="
-Chapter 13. Documentation Standards"
-		    rightLink="filename" rightLabel="Next">
-		<div class="sect1">
+			leftLink="psgml-mode" leftLabel="Prev"
+			title="Chapter 13. Documentation
+Standards"
+			rightLink="filename" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="nxml-mode" id="nxml-mode"></a>Using nXML mode in Emacs</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Jeff Davis</span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>An alternative to psgml mode is nXML by James Clark, a new major
 mode for GNU Emacs for editing XML, and which features
@@ -19,9 +19,9 @@
 </ul></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="psgml-mode" leftLabel="Prev" leftTitle="Using PSGML mode in Emacs"
-		    rightLink="filename" rightLabel="Next" rightTitle="Detailed Design Documentation
+			leftLink="psgml-mode" leftLabel="Prev" leftTitle="Using PSGML mode in Emacs"
+			rightLink="filename" rightLabel="Next" rightTitle="Detailed Design Documentation
 Template"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="doc-standards" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="doc-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/object-identity.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-identity.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/object-identity.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/object-identity.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Object Identity</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="permissions-tediously-explained" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="programming-with-aolserver" rightLabel="Next">
-		<div class="sect1">
+			leftLink="permissions-tediously-explained" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="programming-with-aolserver" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="object-identity" id="object-identity"></a>Object Identity</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="http://planitia.org" target="_top">Rafael H.
 Schloming</a>
@@ -52,9 +52,9 @@
 05:38:37 torbenb Exp $)</span></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="permissions-tediously-explained" leftLabel="Prev" leftTitle="OpenACS Permissions Tediously
+			leftLink="permissions-tediously-explained" leftLabel="Prev" leftTitle="OpenACS Permissions Tediously
 Explained"
-		    rightLink="programming-with-aolserver" rightLabel="Next" rightTitle="Programming with AOLserver"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="programming-with-aolserver" rightLabel="Next" rightTitle="Programming with AOLserver"
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/object-system-design.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-design.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/object-system-design.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/object-system-design.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Object Model Design</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="object-system-requirements" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="permissions-requirements" rightLabel="Next">
-		<div class="sect1">
+			leftLink="object-system-requirements" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="permissions-requirements" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="object-system-design" id="object-system-design"></a>Object Model
 Design</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Pete Su, Michael Yoon, Richard Li,
@@ -70,8 +70,7 @@
 (e.g. groups).</p>
 </li>
 </ul></div><p>The next section will explore these facilities in the context of
-the the particular programming idioms that we wish to
-generalize.</p><p><span class="strong"><strong>Related Links</strong></span></p><p>This design document should be read along with the design
+the particular programming idioms that we wish to generalize.</p><p><span class="strong"><strong>Related Links</strong></span></p><p>This design document should be read along with the design
 documents for <a class="link" href="groups-design" title="Groups Design">the new groups system</a>, <a class="link" href="subsites-design" title="Subsites Design Document">subsites</a> and <a class="link" href="permissions-design" title="Permissions Design">the
 permissions system</a>
 </p>
@@ -177,7 +176,7 @@
 OpenACS security model will defer to an object&#39;s context if
 there is no information about user X&#39;s permission to perform
 action Y on object Z.</p><p>The context system forms the basis for the rest of the OpenACS
-access control system, which is described in in two separate
+access control system, which is described in two separate
 documents: one for the <a class="link" href="permissions-design" title="Permissions Design">permissions
 system</a> and another for the <a class="link" href="groups-design" title="Groups Design">party groups</a> system.
 The context system is also used to implement <a class="link" href="subsites-design" title="Subsites Design Document">subsites</a>.</p>
@@ -996,8 +995,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="object-system-requirements" leftLabel="Prev" leftTitle="Object Model Requirements"
-		    rightLink="permissions-requirements" rightLabel="Next" rightTitle="Permissions Requirements"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="object-system-requirements" leftLabel="Prev" leftTitle="Object Model Requirements"
+			rightLink="permissions-requirements" rightLabel="Next" rightTitle="Permissions Requirements"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/object-system-design.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-design.html,v
diff -u -r1.36 -r1.37
--- openacs-4/packages/acs-core-docs/www/object-system-design.html	8 Nov 2017 09:42:11 -0000	1.36
+++ openacs-4/packages/acs-core-docs/www/object-system-design.html	25 Apr 2018 08:38:28 -0000	1.37
@@ -82,7 +82,7 @@
 groups).
 </p></li></ul></div>
 
-<p>The next section will explore these facilities in the context of the the
+<p>The next section will explore these facilities in the context of the
 particular programming idioms that we wish to generalize.</p>
 
 <p><span class="strong"><strong>Related Links</strong></span></p>
@@ -203,7 +203,8 @@
 permission to perform action Y on object Z.</p>
 
 <p>The context system forms the basis for the rest of the OpenACS access control
-system, which is described in in two separate documents: one for the <a class="link" href="permissions-design.html" title="Permissions Design">permissions system</a> and another for the
+system, which is described in two separate documents: one for the
+<a class="link" href="permissions-design.html" title="Permissions Design">permissions system</a> and another for the
 <a class="link" href="groups-design.html" title="Groups Design">party groups</a> system. The context system
 is also used to implement <a class="link" href="subsites-design.html" title="Subsites Design Document">subsites</a>.</p>
 </div>
Index: openacs-4/packages/acs-core-docs/www/object-system-requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-requirements.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/object-system-requirements.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/object-system-requirements.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Object Model Requirements</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="kernel-overview" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="object-system-design" rightLabel="Next">
-		<div class="sect1">
+			leftLink="kernel-overview" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="object-system-design" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="object-system-requirements" id="object-system-requirements"></a>Object Model Requirements</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Pete Su</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -155,7 +155,7 @@
 In OpenACS 3.x, this was done using <span class="emphasis"><em>mapping tables</em></span>. The user/groups module
 has the most highly developed data model for this purpose, using a
 single table called <code class="computeroutput">user_group_map</code> that mapped users to groups.
-In addition, it uses the the <code class="computeroutput">user_group_member_fields</code> and <code class="computeroutput">user_group_member_fields_map</code> tables to
+In addition, it uses the <code class="computeroutput">user_group_member_fields</code> and <code class="computeroutput">user_group_member_fields_map</code> tables to
 allow developers to attach custom attributes to group members. In
 fact, these custom attributes were not really attached to the
 users, but to the fact that a user was a member of a particular
@@ -471,8 +471,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="kernel-overview" leftLabel="Prev" leftTitle="Overview"
-		    rightLink="object-system-design" rightLabel="Next" rightTitle="Object Model Design"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="kernel-overview" leftLabel="Prev" leftTitle="Overview"
+			rightLink="object-system-design" rightLabel="Next" rightTitle="Object Model Design"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/object-system-requirements.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-requirements.html,v
diff -u -r1.36 -r1.37
--- openacs-4/packages/acs-core-docs/www/object-system-requirements.html	8 Nov 2017 09:42:11 -0000	1.36
+++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html	25 Apr 2018 08:38:28 -0000	1.37
@@ -181,7 +181,7 @@
 done using <span class="emphasis"><em>mapping tables</em></span>. The user/groups module has the most
 highly developed data model for this purpose, using a single table called
 <code class="computeroutput">user_group_map</code> that mapped users to groups. In addition, it uses
-the the <code class="computeroutput">user_group_member_fields</code> and
+the <code class="computeroutput">user_group_member_fields</code> and
 <code class="computeroutput">user_group_member_fields_map</code> tables to allow developers to
 attach custom attributes to group members. In fact, these custom attributes
 were not really attached to the users, but to the fact that a user was a
Index: openacs-4/packages/acs-core-docs/www/objects.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/objects.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/objects.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/objects.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">OpenACS Data Models and the Object System</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="packages" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="request-processor" rightLabel="Next">
-		<div class="sect1">
+			leftLink="packages" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="request-processor" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="objects" id="objects"></a>OpenACS Data Models and the Object System</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Pete Su</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -83,7 +83,7 @@
 for the PG version) file created when we <a class="link" href="packages" title="OpenACS Packages">created the package</a>.
 Then, do the following:</p><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623171536888" id="idp140623171536888"></a>Describe the new type to the type
+<a name="idp140682184897768" id="idp140682184897768"></a>Describe the new type to the type
 system</h4></div></div></div><p>First, add an entry to the <code class="computeroutput">acs_object_types</code> table with the following
 PL/SQL call:</p><pre class="programlisting">
 begin  
@@ -139,7 +139,7 @@
 attributes, so there is no need for us to define them.</p>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623171519720" id="idp140623171519720"></a>Define a table in which to store your
+<a name="idp140682184883624" id="idp140682184883624"></a>Define a table in which to store your
 objects</h4></div></div></div><p>The next thing we do is make a small modification to the data
 model to reflect the fact that each row in the <code class="computeroutput">notes</code> table represents something that is
 not only an object of type <code class="computeroutput">note</code>, but also an <code class="computeroutput">acs_object</code>. The new table definition looks
@@ -163,7 +163,7 @@
 <code class="computeroutput">acs_objects</code>.</p>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623171394616" id="idp140623171394616"></a>Define a package for type specific
+<a name="idp140682184863496" id="idp140682184863496"></a>Define a package for type specific
 procedures</h4></div></div></div><p>The next step is to define a PL/SQL package for your new type,
 and write some basic procedures to create and delete objects. Here
 is a package definition for our new type:</p><pre class="programlisting">
@@ -210,7 +210,7 @@
 only" by default. We&#39;ll talk about this more later.</p>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623171402712" id="idp140623171402712"></a>Define a package body for type specific
+<a name="idp140682184871752" id="idp140682184871752"></a>Define a package body for type specific
 procedures</h4></div></div></div><p>The PL/SQL package body contains the implementations of the
 procedures defined above. The only subtle thing going on here is
 that we must use <code class="computeroutput">acs_object.new</code>
@@ -367,8 +367,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="packages" leftLabel="Prev" leftTitle="OpenACS Packages"
-		    rightLink="request-processor" rightLabel="Next" rightTitle="The Request Processor"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="packages" leftLabel="Prev" leftTitle="OpenACS Packages"
+			rightLink="request-processor" rightLabel="Next" rightTitle="The Request Processor"
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/objects.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/objects.html,v
diff -u -r1.54 -r1.55
--- openacs-4/packages/acs-core-docs/www/objects.html	8 Nov 2017 09:42:11 -0000	1.54
+++ openacs-4/packages/acs-core-docs/www/objects.html	25 Apr 2018 08:38:28 -0000	1.55
@@ -115,7 +115,7 @@
 
 
 
-<div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623171536888"></a>Describe the new type to the type system</h4></div></div></div>
+<div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682184897768"></a>Describe the new type to the type system</h4></div></div></div>
 
 
 
@@ -194,7 +194,7 @@
 
 </div>
 
-<div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623171519720"></a>Define a table in which to store your objects</h4></div></div></div>
+<div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682184883624"></a>Define a table in which to store your objects</h4></div></div></div>
 
 
 <p>
@@ -232,7 +232,7 @@
 
 </div>
 
-<div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623171394616"></a>Define a package for type specific procedures</h4></div></div></div>
+<div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682184863496"></a>Define a package for type specific procedures</h4></div></div></div>
 
 
 <p>
@@ -294,7 +294,7 @@
 </p>
 </div>
 
-<div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623171402712"></a>Define a package body for type specific procedures</h4></div></div></div>
+<div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682184871752"></a>Define a package body for type specific procedures</h4></div></div></div>
 
 
 <p>
Index: openacs-4/packages/acs-core-docs/www/openacs-overview.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-overview.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/openacs-overview.adp	11 Apr 2018 21:35:06 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/openacs-overview.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,12 +3,11 @@
 <property name="doc(title)">Overview</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="general-documents" leftLabel="Prev"
-		    title="
-Chapter 1. High level information: What is
-OpenACS?"
-		    rightLink="release-notes" rightLabel="Next">
-		<div class="sect1">
+			leftLink="general-documents" leftLabel="Prev"
+			title="Chapter 1. High level
+information: What is OpenACS?"
+			rightLink="release-notes" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="openacs-overview" id="openacs-overview"></a>Overview</h2></div></div></div><p>OpenACS (Open Architecture Community System) is an advanced
 toolkit for building scalable, community-oriented web applications.
@@ -39,16 +38,15 @@
 custom development. Many of the production users are actively
 funding and contributing work back to the project. Formal,
 consensus driven governance has been established (with semi-annual
-elections) which ensures the project serves the needs of its
+elections) which ensures the project serves the needs of it&#39;s
 constituents.</p><p>The OpenACS community would like to hear your comments and can
 help you in your endeavors with the system. Visit our <a class="ulink" href="http://openacs.org/" target="_top">web site</a> and
 feel free to <a class="ulink" href="http://openacs.org/forums/" target="_top">ask questions or provide feedback</a>.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="general-documents" leftLabel="Prev" leftTitle="
-Chapter 1. High level information: What is
-OpenACS?"
-		    rightLink="release-notes" rightLabel="Next" rightTitle="OpenACS Release Notes"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="general-documents" upLabel="Up"> 
-		
+			leftLink="general-documents" leftLabel="Prev" leftTitle="Chapter 1. High level
+information: What is OpenACS?"
+			rightLink="release-notes" rightLabel="Next" rightTitle="OpenACS Release Notes"
+			homeLink="index" homeLabel="Home" 
+			upLink="general-documents" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/openacs-overview.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-overview.html,v
diff -u -r1.32 -r1.33
--- openacs-4/packages/acs-core-docs/www/openacs-overview.html	11 Apr 2018 21:35:06 -0000	1.32
+++ openacs-4/packages/acs-core-docs/www/openacs-overview.html	25 Apr 2018 08:38:28 -0000	1.33
@@ -56,7 +56,7 @@
         users are actively funding and contributing work back to the
         project.  Formal, consensus driven governance has been
         established (with semi-annual elections) which ensures the
-        project serves the needs of its constituents.
+        project serves the needs of it's constituents.
       </p>
 
       <p>
Index: openacs-4/packages/acs-core-docs/www/openacs-unpack.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-unpack.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/openacs-unpack.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/openacs-unpack.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,22 +3,19 @@
 <property name="doc(title)">Unpack the OpenACS tarball</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-more-software" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-cvs" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-more-software" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-cvs" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="openacs-unpack" id="openacs-unpack"></a>Unpack the OpenACS tarball</h2></div></div></div><p>The OpenACS tarball contains sample configuration files for some
 of the packages listed below. In order to access those files,
-unpack the tarball now.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cd /tmp</code></strong>
+unpack the tarball now.</p><pre class="screen">[root root]# <strong class="userinput"><code>cd /tmp</code></strong>
 [root tmp]# <strong class="userinput"><code>tar xzf openacs-5.9.0.tgz</code></strong><span class="action">cd /tmp
 tar xzf openacs-5.9.0.tgz</span>
 </pre><p>If you are installing from a different method and just need the
-configuration files, you can instead get them from CVS:</p><pre class="screen">
-[root root]# <strong class="userinput"><code>cd /tmp</code></strong>
+configuration files, you can instead get them from CVS:</p><pre class="screen">[root root]# <strong class="userinput"><code>cd /tmp</code></strong>
 [root tmp]# <strong class="userinput"><code>cvs -d :pserver:anonymous\@cvs.openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/</code></strong>
 cvs checkout: warning: failed to open /root/.cvspass for reading: No such file or directory
 cvs server: Updating openacs-4/packages/acs-core-docs/www/files
@@ -32,10 +29,9 @@
 </pre>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-more-software" leftLabel="Prev" leftTitle="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-cvs" rightLabel="Next" rightTitle="Initialize CVS (OPTIONAL)"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="install-more-software" leftLabel="Prev" leftTitle="Appendix B. Install
+additional supporting software"
+			rightLink="install-cvs" rightLabel="Next" rightTitle="Initialize CVS (OPTIONAL)"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/openacs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/openacs.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/openacs.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Install OpenACS 5.9.0</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="aolserver4" leftLabel="Prev"
-		    title="
-Chapter 3. Complete Installation"
-		    rightLink="win2k-installation" rightLabel="Next">
-		<div class="sect1">
+			leftLink="aolserver4" leftLabel="Prev"
+			title="Chapter 3. Complete
+Installation"
+			rightLink="win2k-installation" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="openacs" id="openacs"></a>Install OpenACS 5.9.0</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:vinod\@kurup.com" target="_top">Vinod Kurup</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
@@ -61,8 +61,7 @@
 <code class="computeroutput">/var/lib/aolserver</code>, one
 subdirectory per site. The first time you install an OpenACS site
 on a server, you must create the parent directory and set its
-permissions:</p><pre class="screen">
-[root root]# <strong class="userinput"><code>mkdir /var/lib/aolserver</code></strong>
+permissions:</p><pre class="screen">[root root]# <strong class="userinput"><code>mkdir /var/lib/aolserver</code></strong>
 [root root]# <strong class="userinput"><code>chgrp web /var/lib/aolserver</code></strong>
 [root root]# <strong class="userinput"><code>chmod 770 /var/lib/aolserver</code></strong>
 [root root]#
@@ -83,8 +82,7 @@
 cvs tree, at /etc/install. Use anonymous CVS checkout to get that
 directory in the home directory of the service&#39;s dedicated
 user. We put it there so that it is not overwritten when we do the
-main CVS checkout to the target location.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+main CVS checkout to the target location.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cvs -d :pserver:anonymous\@cvs.openacs.org:/cvsroot co -d install openacs-4/etc/install</code></strong>
 cvs server: Updating install
@@ -119,9 +117,8 @@
 admin email   : admin\@yourserver.net
 admin password: xxxx
 ######################################################################
-[root root]#
-</pre><p>You can proceed to <a class="xref" href="openacs" title="Next Steps">the section
-called &ldquo;Next Steps&rdquo;</a>.</p>
+[root root]#</pre><p>You can proceed to <a class="xref" href="openacs" title="Next Steps">the section
+called “Next Steps”</a>.</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="install-from-tarball" id="install-from-tarball"></a>Installation Option 2: Install from
@@ -137,8 +134,7 @@
 $OPENACS_SERVICE_NAME</code></strong> to a colon: <strong class="userinput"><code>chown -R
 $OPENACS_SERVICE_NAME:$OPENACS_SERVICE_NAME
 $OPENACS_SERVICE_NAME</code></strong>
-</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cd /var/lib/aolserver</code></strong>
 [$OPENACS_SERVICE_NAME aolserver]$ <strong class="userinput"><code>tar xzf /var/tmp/openacs-5.9.0.tgz</code></strong>
@@ -171,22 +167,19 @@
 <li class="listitem">
 <p>
 <a name="install-openacs-prepare-oracle" id="install-openacs-prepare-oracle"></a><strong>Prepare Oracle for
-OpenACS. </strong> If you won&#39;t be using Oracle,
-skip to <a class="xref" href="openacs" title="Prepare PostgreSQL for an OpenACS Service">Prepare PostgreSQL for
+OpenACS. </strong> If you won&#39;t be using Oracle, skip to
+<a class="xref" href="openacs" title="Prepare PostgreSQL for an OpenACS Service">Prepare PostgreSQL for
 an OpenACS Service</a>
 </p><p>You should be sure that your user account (e.g. <code class="computeroutput"><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></code>) is in
 the <code class="computeroutput">dba</code> group.</p><div class="orderedlist"><ol class="orderedlist" type="a">
 <li class="listitem">
-<p>Verify membership by typing <code class="computeroutput">groups</code> when you login:</p><pre class="programlisting">
-[$OPENACS_SERVICE_NAME ~]$ groups
-dba web
-</pre><p>If you do not see these groups, take the following action:</p><pre class="programlisting">
+<p>Verify membership by typing <code class="computeroutput">groups</code> when you login:</p><pre class="programlisting">[$OPENACS_SERVICE_NAME ~]$ groups
+dba web</pre><p>If you do not see these groups, take the following action:</p><pre class="programlisting">
 [$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>su -</code></strong>
 Password: ************
 [root ~]# <strong class="userinput"><code>adduser <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> dba</code></strong>
 </pre><p>If you get an error about an undefined group, then add that
-group manually:</p><pre class="programlisting">
-[root ~]# <strong class="userinput"><code>groupadd dba</code></strong>
+group manually:</p><pre class="programlisting">[root ~]# <strong class="userinput"><code>groupadd dba</code></strong>
 [root ~]# <strong class="userinput"><code>groupadd web</code></strong>
 </pre><p>Make sure to logout as <code class="computeroutput">root</code>
 when you are finished with this step and log back in as your
@@ -195,20 +188,17 @@
 <p>Connect to Oracle using <code class="computeroutput">svrmgrl</code> and login:</p><pre class="programlisting">
 [$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>svrmgrl</code></strong>
 SVRMGR&gt; <strong class="userinput"><code>connect internal</code></strong>
-Connected.
-</pre>
+Connected.</pre>
 </li><li class="listitem">
-<p>Determine where the system tablespaces are stored:</p><pre class="programlisting">
-SVRMGR&gt; <strong class="userinput"><code>select file_name from dba_data_files;</code></strong>
+<p>Determine where the system tablespaces are stored:</p><pre class="programlisting">SVRMGR&gt; <strong class="userinput"><code>select file_name from dba_data_files;</code></strong>
 </pre><p>Example results:</p><pre class="programlisting">
 /ora8/m01/app/oracle/oradata/ora8/system01.dbf
 /ora8/m01/app/oracle/oradata/ora8/tools01.dbf
 /ora8/m01/app/oracle/oradata/ora8/rbs01.dbf
 /ora8/m01/app/oracle/oradata/ora8/temp01.dbf
 /ora8/m01/app/oracle/oradata/ora8/users01.dbf
 /ora8/m01/app/oracle/oradata/ora8/indx01.dbf
-/ora8/m01/app/oracle/oradata/ora8/drsys01.dbf
-</pre>
+/ora8/m01/app/oracle/oradata/ora8/drsys01.dbf</pre>
 </li><li class="listitem"><p>Using the above output, you should determine where to store your
 tablespace. As a general rule, you&#39;ll want to store your
 tablespace on a mount point under the <code class="computeroutput">/ora8</code> directory that is separate from the
@@ -229,8 +219,7 @@
 [root ~]# <strong class="userinput"><code>chown <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>:web /ora8/m02/oradata/ora8</code></strong>
 [root ~]# <strong class="userinput"><code>chmod 775 /ora8/m02/oradata/ora8</code></strong>
 [root ~]# <strong class="userinput"><code>exit</code></strong>
-[$OPENACS_SERVICE_NAME ~]$
-</pre>
+[$OPENACS_SERVICE_NAME ~]$</pre>
 </li><li class="listitem">
 <p>Create a tablespace for the service. It is important that the
 tablespace can <code class="computeroutput">autoextend</code>. This
@@ -266,9 +255,8 @@
 SVRMGR&gt; <strong class="userinput"><code>exit;</code></strong>
 </pre><p>Your table space is now ready. In case you are trying to delete
 a previous OpenACS installation, consult these commands in
-<a class="xref" href="install-openacs-delete-tablespace" title="Deleting a tablespace">the section called
-&ldquo;Deleting a tablespace&rdquo;</a>
-below.</p>
+<a class="xref" href="install-openacs-delete-tablespace" title="Deleting a tablespace">the section called “Deleting a
+tablespace”</a> below.</p>
 </li><li class="listitem">
 <p>Make sure that you can login to Oracle using your <span class="emphasis"><em>service_name</em></span> account:</p><pre class="programlisting">
 [$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>sqlplus <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/<em class="replaceable"><code>$OPENACS_SERVICE_NAMEpassword</code></em>
@@ -281,9 +269,8 @@
 </pre><p>You should see today&#39;s date in a format
 'YYYY-MM-DD.' If you can&#39;t login, try redoing step 1
 again. If the date is in the wrong format, make sure you followed
-the steps outlined in <a class="xref" href="oracle" title="Troubleshooting Oracle Dates">the section called
-&ldquo;Troubleshooting Oracle
-Dates&rdquo;</a>
+the steps outlined in <a class="xref" href="oracle" title="Troubleshooting Oracle Dates">the section called “Troubleshooting
+Oracle Dates”</a>
 </p>
 </li>
 </ol></div>
@@ -299,22 +286,19 @@
 if one exists. We currently use postgres "super-users"
 for everything, which means that anyone with access to any of the
 OpenACS system accounts on a machine has full access to all
-postgresql databases on that machine.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - postgres</code></strong>
+postgresql databases on that machine.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - postgres</code></strong>
 [postgres pgsql]$ <strong class="userinput"><code>createuser -a -d <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 CREATE USER
 [postgres pgsql]$ <strong class="userinput"><code>exit</code></strong>
 logout
-[root root]#
-</pre>
+[root root]#</pre>
 </li><li class="listitem">
 <p>Create a database with the same name as our service name,
 <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>.
 The full pathname for <code class="computeroutput">createdb</code>
 needs to be used, since the pgsql directory has not been added to
-the $OPENACS_SERVICE_NAME bash profile.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+the $OPENACS_SERVICE_NAME bash profile.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>/usr/local/pgsql/bin/createdb -E UNICODE <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
@@ -330,7 +314,7 @@
 automate vacuuming is to edit the cron file for the database user.
 Recommended: <code class="computeroutput">VACUUM ANALYZE</code>
 every hour and <code class="computeroutput">VACUUM FULL
-ANALYZE</code> every day.</p><a class="indexterm" name="idp140623178583368" id="idp140623178583368"></a><pre class="screen">
+ANALYZE</code> every day.</p><a class="indexterm" name="idp140682188813000" id="idp140682188813000"></a><pre class="screen">
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>export EDITOR=emacs;crontab -e</code></strong>
 </pre><p>Add these lines to the file. The vacuum command cleans up
 temporary structures within a PostGreSQL database, and can improve
@@ -361,8 +345,7 @@
 specific port, e.g. port 80. In order for OpenACS to work, you need
 to configure a virtual server. The Reference Platform uses a
 configuration file included in the OpenACS tarball, <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/config.tcl</code>.
-Open it in an editor to adjust the parameters.</p><a class="indexterm" name="idp140623178345544" id="idp140623178345544"></a><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+Open it in an editor to adjust the parameters.</p><a class="indexterm" name="idp140682188989288" id="idp140682188989288"></a><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc</code></strong>
 [$OPENACS_SERVICE_NAME etc]$ <strong class="userinput"><code>emacs config.tcl</code></strong>
@@ -433,13 +416,11 @@
 indicated in the comments.</p><p>If you are root then killall will affect all OpenACS services on
 the machine, so if there&#39;s more than one you&#39;ll have to do
 <code class="computeroutput">ps -auxw | grep nsd</code> and
-selectively kill by job number.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME etc]$ <strong class="userinput"><code>killall nsd</code></strong>
+selectively kill by job number.</p><pre class="screen">[$OPENACS_SERVICE_NAME etc]$ <strong class="userinput"><code>killall nsd</code></strong>
 nsd: no process killed
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$<strong class="userinput"><code> /usr/local/aolserver/bin/nsd-postgres -t /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/config.tcl</code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ [08/Mar/2003:18:13:29][32131.8192][-main-] Notice: nsd.tcl: starting to read config file...
-[08/Mar/2003:18:13:29][32131.8192][-main-] Notice: nsd.tcl: finished reading config file.
-</pre>
+[08/Mar/2003:18:13:29][32131.8192][-main-] Notice: nsd.tcl: finished reading config file.</pre>
 </li><li class="listitem">
 <p>Attempt to connect to the service from a web browser. You should
 specify a URL like: <code class="computeroutput">http://<em class="replaceable"><code>yourserver.test</code></em>:8000</code>
@@ -462,8 +443,8 @@
 </li><li class="listitem">
 <a name="install-openacs-using-installer" id="install-openacs-using-installer"></a><p>
 <strong>Configure a Service with the OpenACS
-Installer. </strong> Now that you&#39;ve got AOLserver
-up and running, let&#39;s install OpenACS 5.9.0.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
+Installer. </strong> Now that you&#39;ve got AOLserver up and
+running, let&#39;s install OpenACS 5.9.0.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>You should see a page from the webserver titled <code class="computeroutput">OpenACS Installation: Welcome</code>. You will be
 warned if your version of the database driver is out of date, if
 AOLserver cannot connect to the database, if any modules are
@@ -475,8 +456,7 @@
 data model - be prepared to wait a few minutes as it works. You
 should see a string of output messages from the database as the
 datamodel is created. You&#39;ll see the line:</p><pre class="programlisting">
-Loading package .info files ... this will take a few minutes
-</pre><p>This will really take a few minutes. Have faith! Finally,
+Loading package .info files ... this will take a few minutes</pre><p>This will really take a few minutes. Have faith! Finally,
 another <code class="computeroutput">Next</code> button will appear
 at the bottom - click it.</p>
 </li><li class="listitem"><p>The following page shows the results of loading the core package
@@ -530,39 +510,35 @@
 backups</a>.</p></li><li class="listitem"><p>If you want traffic reports, <a class="link" href="analog-setup" title="Set up Log Analysis Reports">set up
 analog</a> or another log processing program.</p></li><li class="listitem"><p>Follow the instruction on the home page to change the appearance
 of your service or add more packages. (<a class="link" href="configuring-new-site" title="Chapter 4. Configuring a new OpenACS Site">more
-information</a>)</p></li><li class="listitem"><p>Proceed to the <a class="link" href="tutorial" title="Chapter 9. Development Tutorial">tutorial</a>
-to learn how to develop your own packages.</p></li><li class="listitem">
+information</a>)</p></li><li class="listitem"><p>Proceed to the <a class="link" href="tutorial" title="Chapter 9. Development Tutorial">tutorial</a> to learn
+how to develop your own packages.</p></li><li class="listitem">
 <p>Set up database environment variables for the site user.
 Depending on how you installed Oracle or PostGreSQL, these settings
 may be necessary for working with the database while logged in as
 the service user. They do not directly affect the service&#39;s
 run-time connection with the database, because those environmental
 variables are set by the wrapper scripts nsd-postgres and
-nsd-oracle.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+nsd-oracle.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>emacs .bashrc</code></strong>
 </pre><p>Put in the appropriate lines for the database you are running.
 If you will use both databases, put in both sets of lines.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem">
 <p>PostgreSQL:</p><pre class="programlisting">
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib
-export PATH=$PATH:/usr/local/pgsql/bin
-</pre>
+export PATH=$PATH:/usr/local/pgsql/bin</pre>
 </li><li class="listitem">
 <p>Oracle. These environment variables are specific for a local
 Oracle installation communicating via IPC. If you are connecting to
 a remote Oracle installation, you&#39;ll need to adjust these
 appropriately. Also, make sure that the '8.1.7' matches
-your Oracle version.</p><pre class="programlisting">
-export ORACLE_BASE=/ora8/m01/app/oracle
+your Oracle version.</p><pre class="programlisting">export ORACLE_BASE=/ora8/m01/app/oracle
 export ORACLE_HOME=$ORACLE_BASE/product/<em class="replaceable"><code>8.1.7</code></em>
 export PATH=$PATH:$ORACLE_HOME/bin
 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
 export ORACLE_SID=ora8
 export ORACLE_TERM=vt100
-export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
-</pre>
+export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data</pre>
 </li>
 </ul></div><p>Test this by logging out and back in as <code class="computeroutput"><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></code> and
 checking the paths.</p><pre class="screen">
@@ -576,33 +552,29 @@
 <p>For PostgreSQL, you should see:</p><pre class="screen">
 LD_LIBRARY_PATH=:/usr/local/pgsql/lib
 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:\
-  /root/bin:/usr/local/pgsql/bin:/usr/local/pgsql/bin
-</pre>
+  /root/bin:/usr/local/pgsql/bin:/usr/local/pgsql/bin</pre>
 </li><li class="listitem">
-<p>For Oracle:</p><pre class="screen">
-ORACLE_BASE=/ora8/m01/app/oracle
+<p>For Oracle:</p><pre class="screen">ORACLE_BASE=/ora8/m01/app/oracle
 ORACLE_HOME=/ora8/m01/app/oracle/product/8.1.7
 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:\
   /root/bin:/ora8/m01/app/oracle/product/8.1.7/bin
 LD_LIBRARY_PATH=/ora8/m01/app/oracle/product/8.1.7/lib:/lib:/usr/lib
 ORACLE_SID=ora8
 ORACLE_TERM=vt100
-ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
-</pre>
+ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data</pre>
 </li>
 </ul></div>
-</li><li class="listitem"><p>Test your <a class="link" href="backup-recovery" title="Chapter 8. Backup and Recovery">backup and
-recovery</a> procedure.</p></li><li class="listitem"><p>Set up <a class="xref" href="uptime" title="External uptime validation">the section called
-&ldquo;External uptime
-validation&rdquo;</a>.</p></li>
+</li><li class="listitem"><p>Test your <a class="link" href="backup-recovery" title="Chapter 8. Backup and Recovery">backup and recovery</a>
+procedure.</p></li><li class="listitem"><p>Set up <a class="xref" href="uptime" title="External uptime validation">the section called “External uptime
+validation”</a>.</p></li>
 </ul></div><p><span class="cvstag">($&zwnj;Id: openacs.xml,v 1.32 2017/08/07
 23:47:55 gustafn Exp $)</span></p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="aolserver4" leftLabel="Prev" leftTitle="Install AOLserver 4"
-		    rightLink="win2k-installation" rightLabel="Next" rightTitle="OpenACS Installation Guide for
+			leftLink="aolserver4" leftLabel="Prev" leftTitle="Install AOLserver 4"
+			rightLink="win2k-installation" rightLabel="Next" rightTitle="OpenACS Installation Guide for
 Windows"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="complete-install" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="complete-install" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/openacs.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.html,v
diff -u -r1.53 -r1.54
--- openacs-4/packages/acs-core-docs/www/openacs.html	8 Nov 2017 09:42:11 -0000	1.53
+++ openacs-4/packages/acs-core-docs/www/openacs.html	25 Apr 2018 08:38:28 -0000	1.54
@@ -328,7 +328,7 @@
 /usr/local/pgsql/bin/createdb -E UNICODE <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></span></pre>
               </li><li class="listitem">
                 <p>Automate daily database Vacuuming.  This is a process which cleans out discarded data from the database.  A quick way to automate vacuuming is to edit the cron file for the database user.  Recommended: <code class="computeroutput">VACUUM ANALYZE</code> every hour and <code class="computeroutput">VACUUM FULL ANALYZE</code> every day.</p>
-                <a class="indexterm" name="idp140623178583368"></a>
+                <a class="indexterm" name="idp140682188813000"></a>
                 <pre class="screen">[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>export EDITOR=emacs;crontab -e</code></strong></pre>
                 <p>Add these lines to the file.  The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve performance.  We vacuum gently every hour and completely every day.  The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day, and every (*) day of month, month, and day of week.  Type <code class="computeroutput">man 5 crontab</code> for more information.</p>
                 <pre class="programlisting">0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --analyze <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
@@ -361,7 +361,7 @@
 	  uses a configuration file included in the OpenACS tarball,
 	  <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/config.tcl</code>.
 	   Open it in an editor to adjust the parameters.</p>
-            <a class="indexterm" name="idp140623178345544"></a>
+            <a class="indexterm" name="idp140682188989288"></a>
             
             <pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc</code></strong>
Index: openacs-4/packages/acs-core-docs/www/oracle.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/oracle.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/oracle.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Install Oracle 8.1.7</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="unix-installation" leftLabel="Prev"
-		    title="
-Chapter 3. Complete Installation"
-		    rightLink="postgres" rightLabel="Next">
-		<div class="sect1">
+			leftLink="unix-installation" leftLabel="Prev"
+			title="Chapter 3. Complete
+Installation"
+			rightLink="postgres" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="oracle" id="oracle"></a>Install Oracle 8.1.7</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:vinod\@kurup.com" target="_top">Vinod Kurup</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>If you are installing PostGreSQL instead of Oracle, skip this
@@ -65,7 +65,7 @@
 expect that you used the defaults, so a change made here will
 necessitate further changes later. For a guide to the defaults,
 please see <a class="xref" href="oracle" title="Defaults">the section
-called &ldquo;Defaults&rdquo;</a>.</p><p>In order for OpenACS to work properly you need to set the
+called “Defaults”</a>.</p><p>In order for OpenACS to work properly you need to set the
 environment appropriately.</p><pre class="programlisting">
 export ORACLE_BASE=/ora8/m01/app/oracle
 export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
@@ -75,12 +75,9 @@
 export ORACLE_TERM=vt100
 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
 
-umask 022
-</pre><pre class="programlisting">
-open_cursors = 500
-</pre><pre class="programlisting">
-nls_date_format = "YYYY-MM-DD"
-</pre><p>For additional resources/documentation, please see this
+umask 022</pre><pre class="programlisting">
+open_cursors = 500</pre><pre class="programlisting">
+nls_date_format = "YYYY-MM-DD"</pre><p>For additional resources/documentation, please see this
 <a class="ulink" href="http://openacs.org/forums/message-view?message_id=28829" target="_top">thread</a> and <a class="ulink" href="http://openacs.org/forums/message-view?message_id=67108" target="_top">Andrew Piskorski&#39;s mini-guide</a>.</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -92,14 +89,12 @@
 <li class="listitem">
 <p>Login as a non-root user and start X by typing <code class="computeroutput">startx</code>
 </p><pre class="programlisting">
-[joeuser ~]$ startx
-</pre>
+[joeuser ~]$ startx</pre>
 </li><li class="listitem">
 <p>Open a terminal window type and login as root</p><pre class="programlisting">
 [joeuser ~]$ su -
 Password: ***********
-[root ~]#
-</pre>
+[root ~]#</pre>
 </li><li class="listitem">
 <p>Create and setup the <code class="computeroutput">oracle</code>
 group and <code class="computeroutput">oracle</code> account</p><p>We need to create a user <code class="computeroutput">oracle</code>, which is used to install the
@@ -108,8 +103,7 @@
 [root ~]# groupadd oinstall
 [root ~]# groupadd oracle
 [root ~]# useradd -g dba -G oinstall,oracle -m oracle
-[root ~]# passwd oracle
-</pre><p>You will be prompted for the New Password and Confirmation of
+[root ~]# passwd oracle</pre><p>You will be prompted for the New Password and Confirmation of
 that password.</p>
 </li><li class="listitem">
 <p>Setup the installation location for Oracle. While Oracle can
@@ -122,33 +116,27 @@
 root:/ora8# cd /ora8
 root:/ora8# mkdir -p m01 m02 m03/oradata/ora8
 root:/ora8# chown -R oracle.dba /ora8
-root:/ora8# exit
-</pre>
+root:/ora8# exit</pre>
 </li><li class="listitem">
 <p>Set up the <code class="computeroutput">oracle</code> user&#39;s
 environment</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem">
 <p>Log in as the user <code class="computeroutput">oracle</code> by
 typing the following:</p><pre class="programlisting">
 [joeuser ~]$ su - oracle
-Password: ********
-</pre>
+Password: ********</pre>
 </li><li class="listitem">
 <p>Use a text editor to edit the <code class="computeroutput">.bash_profile</code> file in the <code class="computeroutput">oracle</code> account home directory.</p><pre class="programlisting">
-[oracle ~]$ emacs .bash_profile
-</pre><p>You may get this error trying to start emacs:</p><pre class="programlisting">
+[oracle ~]$ emacs .bash_profile</pre><p>You may get this error trying to start emacs:</p><pre class="programlisting">
 Xlib: connection to ":0.0" refused by server
 Xlib: Client is not authorized to connect to Server
 emacs: Cannot connect to X server :0.
 Check the DISPLAY environment variable or use `-d'.
 Also use the `xhost' program to verify that it is set to permit
-connections from your machine.
-</pre><p>If so, open a new terminal window and do the following:</p><pre class="programlisting">
-[joeuser ~]$ xhost +localhost
-</pre><p>Now, back in the oracle terminal:</p><pre class="programlisting">
+connections from your machine.</pre><p>If so, open a new terminal window and do the following:</p><pre class="programlisting">
+[joeuser ~]$ xhost +localhost</pre><p>Now, back in the oracle terminal:</p><pre class="programlisting">
 [oracle ~]$ export DISPLAY=localhost:0.0
-[oracle ~]$ emacs .bash_profile
-</pre><p>Try this procedure anytime you get an Xlib connection refused
+[oracle ~]$ emacs .bash_profile</pre><p>Try this procedure anytime you get an Xlib connection refused
 error.</p>
 </li><li class="listitem">
 <p>Add the following lines (substituting your Oracle version number
@@ -161,43 +149,37 @@
 export ORACLE_TERM=vt100
 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
 
-umask 022
-</pre><p>Save the file by typing <code class="computeroutput">CTRL-X
+umask 022</pre><p>Save the file by typing <code class="computeroutput">CTRL-X
 CTRL-S</code> and then exit by typing <code class="computeroutput">CTRL-X CTRL-C</code>. Alternatively, use the
 menus.</p>
 </li>
 </ul></div><p>Make sure that you do <span class="strong"><strong>not</strong></span> add any lines like the
 following</p><pre class="programlisting">
 # NLS_LANG=american
-# export NLS_LANG
-</pre><p>These lines will change the Oracle date settings and will break
+# export NLS_LANG</pre><p>These lines will change the Oracle date settings and will break
 OpenACS since OpenACS depends on the ANSI date format, YYYY-MM-DD
 dates.</p>
 </li><li class="listitem">
 <p>Log out as oracle</p><pre class="programlisting">
-[oracle ~]$ exit
-</pre>
+[oracle ~]$ exit</pre>
 </li><li class="listitem">
 <p>Log back in as <code class="computeroutput">oracle</code> and
 double check that your environment variables are as intended. The
 <code class="computeroutput">env</code> command lists all of the
 variables that are set in your environment, and <code class="computeroutput">grep</code> shows you just the lines you want
 (those with ORA in it).</p><pre class="programlisting">
 [joeuser ~]$ su - oracle
-[oracle ~]$ env | grep ORA
-</pre><p>If it worked, you should see:</p><pre class="programlisting">
+[oracle ~]$ env | grep ORA</pre><p>If it worked, you should see:</p><pre class="programlisting">
 ORACLE_SID=ora8
 ORACLE_BASE=/ora8/m01/app/oracle
 ORACLE_TERM=vt100
 ORACLE_HOME=/ora8/m01/app/oracle/product/8.1.7
-ORA_NLS33=/ora8/m01/app/oracle/product/8.1.7/ocommon/nls/admin/data
-</pre><p>If not, try adding the files to <code class="computeroutput">~/.bashrc</code> instead of <code class="computeroutput">.bash_profile</code>. Then logout and log back in
+ORA_NLS33=/ora8/m01/app/oracle/product/8.1.7/ocommon/nls/admin/data</pre><p>If not, try adding the files to <code class="computeroutput">~/.bashrc</code> instead of <code class="computeroutput">.bash_profile</code>. Then logout and log back in
 again. Also, be certain you are doing <code class="computeroutput">su - oracle</code> and not just <code class="computeroutput">su oracle</code>. The <code class="computeroutput">-</code> means that <code class="computeroutput">.bashrc</code> and <code class="computeroutput">.bash_profile</code> will be evaluated.</p><p>Make sure that <code class="computeroutput">/bin</code>,
 <code class="computeroutput">/usr/bin</code>, and <code class="computeroutput">/usr/local/bin</code> are in your path by
 typing:</p><pre class="programlisting">
 [oracle ~]$ echo $PATH
-/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/home/oracle/bin:/ora8/m01/app/oracle/product/8.1.7/bin
-</pre><p>If they are not, then add them to the <code class="computeroutput">.bash_profile</code> by changing the PATH
+/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/home/oracle/bin:/ora8/m01/app/oracle/product/8.1.7/bin</pre><p>If they are not, then add them to the <code class="computeroutput">.bash_profile</code> by changing the PATH
 statement above to <code class="computeroutput">PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin</code>
 </p>
 </li>
@@ -211,8 +193,7 @@
 [joeuser ~]$ xhost +localhost
 [joeuser ~]$ su - oracle
 Password: **********
-[oracle ~]$ export DISPLAY=localhost:0.0
-</pre>
+[oracle ~]$ export DISPLAY=localhost:0.0</pre>
 </li><li class="listitem">
 <p>Find the <code class="computeroutput">runInstaller</code>
 script</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
@@ -223,24 +204,20 @@
 [oracle ~]$ su - root
 [root ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom
 [root ~]# exit
-[oracle ~]$ cd /mnt/cdrom
-</pre>
+[oracle ~]$ cd /mnt/cdrom</pre>
 </li><li class="listitem">
 <p>If you are installing from the tarball, the install script is
 located in the <code class="computeroutput">Oracle8iR2</code>
 directory that was created when you expanded the archive.</p><pre class="programlisting">
-[oracle ~]$ cd /where/oracle/Disk1
-</pre>
+[oracle ~]$ cd /where/oracle/Disk1</pre>
 </li>
 </ul></div><p>Check to make sure the file is there.</p><pre class="programlisting">
 oracle:/where/oracle/Disk1$ ls
-doc  index.htm  install  runInstaller  stage  starterdb
-</pre><p>If you don&#39;t see <code class="computeroutput">runInstaller</code>, you are in the wrong
+doc  index.htm  install  runInstaller  stage  starterdb</pre><p>If you don&#39;t see <code class="computeroutput">runInstaller</code>, you are in the wrong
 directory.</p>
 </li><li class="listitem">
 <p>Run the installer</p><pre class="programlisting">
-oracle:/where/oracle/Disk1$ ./runInstaller
-</pre><p>A window will open that welcomes you to the 'Oracle
+oracle:/where/oracle/Disk1$ ./runInstaller</pre><p>A window will open that welcomes you to the 'Oracle
 Universal Installer' (OUI). Click on "<code class="computeroutput">Next</code>"</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
 <h3 class="title">Note</h3><p>Some people have had trouble with this step on RedHat 7.3 and
 8.0. If so, try the following steps before calling <span class="command"><strong>./runInstaller</strong></span>:</p><div class="orderedlist"><ol class="orderedlist" type="1">
@@ -256,8 +233,8 @@
 "(wherever you mounted the CDROM)<code class="computeroutput">/stage/products.jar</code>"</p></li><li class="listitem">
 <p>"destination" path says "<code class="computeroutput">/ora8/m01/app/oracle/product/8.1.7</code>"</p><p>If the destination is not correct it is because your environment
 variables are not set properly. Make sure you logged on as
-<code class="computeroutput">oracle</code> using <code class="computeroutput">su - oracle</code>. If so, edit the <code class="computeroutput">~/.bash_profile</code> as you did in <a class="xref" href="oracle" title="Pre-Installation Tasks">the section called
-&ldquo;Pre-Installation Tasks&rdquo;</a>
+<code class="computeroutput">oracle</code> using <code class="computeroutput">su - oracle</code>. If so, edit the <code class="computeroutput">~/.bash_profile</code> as you did in <a class="xref" href="oracle" title="Pre-Installation Tasks">the section called “Pre-Installation
+Tasks”</a>
 </p>
 </li><li class="listitem"><p>Click "Next" (a pop up window will display Loading
 Product information).</p></li>
@@ -270,20 +247,17 @@
 <p>Debian users need to link <code class="computeroutput">/bin/awk</code> to <code class="computeroutput">/usr/bin/awk</code> before running the script
 below</p><pre class="programlisting">
 [joueser ~]$ su -
-[root ~]# ln -s /usr/bin/awk /bin/awk
-</pre>
+[root ~]# ln -s /usr/bin/awk /bin/awk</pre>
 </li></ul></div></li><li class="listitem">
-<p>Open a new terminal window, then type:</p><pre class="programlisting">
-[joeuser ~]$ su -
+<p>Open a new terminal window, then type:</p><pre class="programlisting">[joeuser ~]$ su -
 [root ~]# cd /ora8/m01/app/oracle/product/8.1.7
 [root ~]# ./orainstRoot.sh  
 ; You should see:
 Creating Oracle Inventory pointer file (/etc/oraInst.loc)
 Changing groupname of /ora8/m01/app/oracle/oraInventory to oinstall.
 [root ~]# mkdir -p /usr/local/java
 [root ~]# exit
-[joeuser ~]$ exit
-</pre>
+[joeuser ~]$ exit</pre>
 </li><li class="listitem"><p>Click "Retry"</p></li>
 </ul></div>
 </li><li class="listitem">
@@ -370,14 +344,12 @@
                 created by the Oracle Enterprise Manager Intelligent
                 Agent. These files may be found in the directories
                 you use for storing other Net8 log and trace files.
-                If such files exist, the OEM IA may not restart.
-</pre>
+                If such files exist, the OEM IA may not restart.</pre>
 </li><li class="listitem"><p>Do not follow the instructions on deleting trace and log files,
 it is not necessary.</p></li>
 </ul></div><pre class="programlisting">
 [root ~]# exit
-[joeuser ~]$ exit
-</pre>
+[joeuser ~]$ exit</pre>
 </li><li class="listitem"><p>Go back to the pop-up window and click "OK"</p></li><li class="listitem">
 <p>The "Configuration Tools" screen in the OUI</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;"><li class="listitem"><p>This window displays the config tools that will automatically be
 launched.</p></li></ul></div>
@@ -440,8 +412,7 @@
 [joeuser ~]$ su - oracle
 Password: *********
 [oracle ~]$ export DISPLAY=localhost:0.0
-[oracle ~]$ dbassist
-</pre>
+[oracle ~]$ dbassist</pre>
 </li><li class="listitem">
 <p>The "Welcome" screen in the Oracle Database
 Configuration Agent (ODCA)</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
@@ -487,21 +458,18 @@
 Assuming your <code class="computeroutput">$ORACLE_HOME</code>
 matches our default of <code class="computeroutput">/ora8/m01/app/oracle/product/8.1.7</code>, the
 following will open the file for editing.</p><pre class="programlisting">
-[oracle ~]$ emacs /ora8/m01/app/oracle/product/8.1.7/dbs/initora8.ora
-</pre>
+[oracle ~]$ emacs /ora8/m01/app/oracle/product/8.1.7/dbs/initora8.ora</pre>
 </li><li class="listitem">
 <p>Add the following line to the end:</p><pre class="programlisting">
-nls_date_format = "YYYY-MM-DD"
-</pre>
+nls_date_format = "YYYY-MM-DD"</pre>
 </li><li class="listitem">
 <p>Now find the <code class="computeroutput">open_cursors</code>
 line in the file. If you&#39;re using <code class="computeroutput">emacs</code> scroll up to the top of the buffer
 and do <code class="computeroutput">CTRL-S</code> and type
 <code class="computeroutput">open_cursors</code> to find the line.
 The default is <code class="computeroutput">100</code>. Change it
 to <code class="computeroutput">500</code>.</p><pre class="programlisting">
-open_cursors = 500
-</pre>
+open_cursors = 500</pre>
 </li><li class="listitem"><p>Save the file. In emacs, do <code class="computeroutput">CTRL-X
 CTRL-S</code> to save followed by <code class="computeroutput">CTRL-X CTRL-C</code> to exit or use the menu.</p></li><li class="listitem"><p>At this point, you are ready to initiate database creation. We
 recommend shutting down X to free up some RAM unless you have 256
@@ -512,8 +480,7 @@
 <p>Change to the directory where the database creation script is
 and run it:</p><pre class="programlisting">
 [oracle ~]$ cd /ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib
-oracle:/ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib$ ./sqlora8.sh
-</pre><p>In some instances, Oracle will save the file to <code class="computeroutput">/ora8/m01/app/oracle/product/8.1.7/assistants/dbca</code>
+oracle:/ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib$ ./sqlora8.sh</pre><p>In some instances, Oracle will save the file to <code class="computeroutput">/ora8/m01/app/oracle/product/8.1.7/assistants/dbca</code>
 Try running the script there if your first attempt does not
 succeed.</p>
 </li><li class="listitem">
@@ -533,34 +500,28 @@
 Save the file to <code class="computeroutput">/var/tmp</code>
 </p></li><li class="listitem">
 <p>In the oracle shell, copy the file.</p><pre class="programlisting">
-[oracle ~]$ cp /var/tmp/acceptance-sql.txt /var/tmp/acceptance.sql
-</pre>
+[oracle ~]$ cp /var/tmp/acceptance-sql.txt /var/tmp/acceptance.sql</pre>
 </li><li class="listitem">
 <p>Once you&#39;ve got the acceptance test file all set, stay in
 your term and type the following:</p><pre class="programlisting">
-[oracle ~]$ sqlplus system/manager
-</pre><p>SQL*Plus should startup. If you get an <code class="computeroutput">ORA-01034: Oracle not Available</code> error, it
+[oracle ~]$ sqlplus system/manager</pre><p>SQL*Plus should startup. If you get an <code class="computeroutput">ORA-01034: Oracle not Available</code> error, it
 is because your Oracle instance is not running. You can manually
 start it as the <code class="computeroutput">oracle</code>
 user.</p><pre class="programlisting">
 [oracle ~]$ svrmgrl
 SVRMGR&gt; connect internal
-SVRMGR&gt; startup
-</pre>
+SVRMGR&gt; startup</pre>
 </li><li class="listitem">
 <p>Now that you&#39;re into SQL*Plus, change the default passwords
 for system, sys, and ctxsys to "alexisahunk" (or to
 something you&#39;ll remember):</p><pre class="programlisting">
 SQL&gt; alter user system identified by alexisahunk;
 SQL&gt; alter user sys identified by alexisahunk;
-SQL&gt; alter user ctxsys identified by alexisahunk;
-</pre>
+SQL&gt; alter user ctxsys identified by alexisahunk;</pre>
 </li><li class="listitem">
 <p>Verify that your date settings are correct.</p><pre class="programlisting">
-SQL&gt; select sysdate from dual;
-</pre><p>If you don&#39;t see a date that fits the format <code class="computeroutput">YYYY-MM-DD</code>, please read <a class="xref" href="oracle" title="Troubleshooting Oracle Dates">the section called
-&ldquo;Troubleshooting Oracle
-Dates&rdquo;</a>.</p>
+SQL&gt; select sysdate from dual;</pre><p>If you don&#39;t see a date that fits the format <code class="computeroutput">YYYY-MM-DD</code>, please read <a class="xref" href="oracle" title="Troubleshooting Oracle Dates">the section called “Troubleshooting
+Oracle Dates”</a>.</p>
 </li><li class="listitem">
 <p>At this point we are going to hammer your database with an
 intense acceptance test. This usually takes around 30 minutes.</p><pre class="programlisting">
@@ -573,19 +534,17 @@
 ----------
 2000-06-10
 
-SQL&gt;
-</pre><p>Many people encounter an error regarding <code class="computeroutput">maximum key length</code>:</p><pre class="programlisting">
+SQL&gt;</pre><p>Many people encounter an error regarding <code class="computeroutput">maximum key length</code>:</p><pre class="programlisting">
 ERROR at line 1:
-ORA-01450: maximum key length (758) exceeded
-</pre><p>This error occurs if your database block size is wrong and is
+ORA-01450: maximum key length (758) exceeded</pre><p>This error occurs if your database block size is wrong and is
 usually suffered by people trying to load OpenACS into a
 pre-existing database. Unfortunately, the only solution is to
 create a new database with a block size of at least <code class="computeroutput">4096</code>. For instructions on how to do this,
-see <a class="xref" href="oracle" title="Creating the First Database">the section called
-&ldquo;Creating the First Database&rdquo;</a>
-above. You can set the parameter using the <code class="computeroutput">dbassist</code> program or by setting the
-<code class="computeroutput">DB_BLOCK_SIZE</code> parameter in your
-database&#39;s creation script.</p><p>If there were no errors, then consider yourself fortunate. Your
+see <a class="xref" href="oracle" title="Creating the First Database">the section called “Creating the
+First Database”</a> above. You can set the parameter using the
+<code class="computeroutput">dbassist</code> program or by setting
+the <code class="computeroutput">DB_BLOCK_SIZE</code> parameter in
+your database&#39;s creation script.</p><p>If there were no errors, then consider yourself fortunate. Your
 Oracle installation is working.</p>
 </li>
 </ul></div>
@@ -601,24 +560,21 @@
 distribution does not work out of the box. The fix is simple.
 Follow these directions to apply it. First, save <a class="ulink" href="files/dbstart.txt" target="_top">dbstart</a> to <code class="computeroutput">/var/tmp</code>. Then, as <code class="computeroutput">oracle</code>, do the following:</p><pre class="programlisting">
 [oracle ~]$ cp /var/tmp/dbstart.txt /ora8/m01/app/oracle/product/8.1.7/bin/dbstart 
-[oracle ~]$ chmod 755 /ora8/m01/app/oracle/product/8.1.7/bin/dbstart
-</pre>
+[oracle ~]$ chmod 755 /ora8/m01/app/oracle/product/8.1.7/bin/dbstart</pre>
 </li><li class="listitem">
 <p>While you&#39;re logged in as <code class="computeroutput">oracle</code>, you should configure the
 <code class="computeroutput">oratab</code> file to load your
 database at start. Edit the file <code class="computeroutput">/etc/oratab</code>:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem">
 <p>You will see this line.</p><pre class="programlisting">
-ora8:/ora8/m01/app/oracle/product/8.1.7:N
-</pre><p>By the way, if you changed the service name or have multiple
+ora8:/ora8/m01/app/oracle/product/8.1.7:N</pre><p>By the way, if you changed the service name or have multiple
 databases, the format of this file is:</p><p><span class="emphasis"><em><code class="computeroutput">service_name:$ORACLE_HOME:Y || N (for
 autoload)</code></em></span></p>
 </li><li class="listitem">
 <p>Change the last letter from "N" to "Y". This
 tells Oracle that you want the database to start when the machine
 boots. It should look like this.</p><pre class="programlisting">
-ora8:/ora8/m01/app/oracle/product/8.1.7:Y
-</pre>
+ora8:/ora8/m01/app/oracle/product/8.1.7:Y</pre>
 </li><li class="listitem"><p>Save the file &amp; quit the terminal.</p></li>
 </ul></div>
 </li><li class="listitem">
@@ -630,8 +586,7 @@
 [oracle ~]$ su -
 [root ~]# cp /var/tmp/oracle8i.txt /etc/rc.d/init.d/oracle8i
 [root ~]# chown root.root /etc/rc.d/init.d/oracle8i
-[root ~]# chmod 755 /etc/rc.d/init.d/oracle8i
-</pre>
+[root ~]# chmod 755 /etc/rc.d/init.d/oracle8i</pre>
 </li><li class="listitem">
 <p>Test the script by typing the following commands and checking
 the output. (Debian Users: as root, do <code class="computeroutput">mkdir /var/lock/subsys</code> first)</p><pre class="programlisting">
@@ -677,8 +632,7 @@
 
 Database "ora8" warm started.
 
-Database "ora8" warm started.
-</pre>
+Database "ora8" warm started.</pre>
 </li><li class="listitem">
 <p>If it worked, then run these commands to make the startup and
 shutdown automatic.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
@@ -688,8 +642,7 @@
 [root ~]# chkconfig --add oracle8i
 [root ~]# chkconfig --list oracle8i
 ; You should see:
-oracle8i        0:off   1:off   2:off   3:on    4:on    5:on    6:off
-</pre>
+oracle8i        0:off   1:off   2:off   3:on    4:on    5:on    6:off</pre>
 </li><li class="listitem">
 <p>Debian users:</p><pre class="programlisting">
 [root ~]# update-rc.d oracle8i defaults
@@ -700,8 +653,7 @@
    /etc/rc2.d/S20oracle8i -&gt; ../init.d/oracle8i
    /etc/rc3.d/S20oracle8i -&gt; ../init.d/oracle8i
    /etc/rc4.d/S20oracle8i -&gt; ../init.d/oracle8i
-   /etc/rc5.d/S20oracle8i -&gt; ../init.d/oracle8i
-</pre>
+   /etc/rc5.d/S20oracle8i -&gt; ../init.d/oracle8i</pre>
 </li><li class="listitem">
 <p>SuSE users:</p><pre class="programlisting">
 [root ~]# cd /etc/rc.d/init.d
@@ -743,8 +695,7 @@
 Executing /sbin/conf.d/SuSEconfig.tetex...
 Executing /sbin/conf.d/SuSEconfig.ypclient...
 Processing index files of all manpages...
-Finished.
-</pre>
+Finished.</pre>
 </li>
 </ul></div>
 </li><li class="listitem">
@@ -764,8 +715,7 @@
 [oracle ~]$ exit
 [root ~]# cp /var/tmp/listener8i.txt /etc/rc.d/init.d/listener8i
 [root ~]# cd /etc/rc.d/init.d
-root:/etc/rc.d/init.d# chmod 755 listener8i
-</pre><p>Test the listener automation by running the following commands
+root:/etc/rc.d/init.d# chmod 755 listener8i</pre><p>Test the listener automation by running the following commands
 and checking the output.</p><pre class="programlisting">
 root:/etc/rc.d/init.d# ./listener8i stop
 Oracle 8i listener start/stop
@@ -808,8 +758,7 @@
 Services Summary...
   PLSExtProc        has 1 service handler(s)
   ora8      has 1 service handler(s)
-The command completed successfully
-</pre><p>This test will verify that the listener is operating normally.
+The command completed successfully</pre><p>This test will verify that the listener is operating normally.
 Login into the database using the listener naming convention.</p><p>
 <code class="computeroutput">sqlplus</code><span class="emphasis"><em><code class="computeroutput">username/password/\@SID</code></em></span>
 </p><pre class="programlisting">
@@ -824,16 +773,14 @@
 
 SQL&gt; exit
 [oracle ~]$ exit
-[root ~]#
-</pre><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
+[root ~]#</pre><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem">
 <p>RedHat users:</p><p>Now run <code class="computeroutput">chkconfig</code> on the
 <code class="computeroutput">listener8i</code> script.</p><pre class="programlisting">
 [root ~]# cd /etc/rc.d/init.d/
 root:/etc/rc.d/init.d# chkconfig --add listener8i
 root:/etc/rc.d/init.d# chkconfig --list listener8i
-listener8i      0:off   1:off   2:off   3:on    4:on    5:on    6:off
-</pre>
+listener8i      0:off   1:off   2:off   3:on    4:on    5:on    6:off</pre>
 </li><li class="listitem">
 <p>Debian users:</p><p>Now run <code class="computeroutput">update-rc.d</code> on the
 <code class="computeroutput">listener8i</code> script.</p><pre class="programlisting">
@@ -845,20 +792,17 @@
    /etc/rc2.d/S21listener8i -&gt; ../init.d/listener8i
    /etc/rc3.d/S21listener8i -&gt; ../init.d/listener8i
    /etc/rc4.d/S21listener8i -&gt; ../init.d/listener8i
-   /etc/rc5.d/S21listener8i -&gt; ../init.d/listener8i
-</pre>
+   /etc/rc5.d/S21listener8i -&gt; ../init.d/listener8i</pre>
 </li>
 </ul></div>
 </li><li class="listitem">
 <p>Test the automation</p><p>As a final test, reboot your computer and make sure Oracle comes
 up. You can do this by typing</p><pre class="programlisting">
-[root ~]# /sbin/shutdown -r -t 0 now
-</pre><p>Log back in and ensure that Oracle started automatically.</p><pre class="programlisting">
+[root ~]# /sbin/shutdown -r -t 0 now</pre><p>Log back in and ensure that Oracle started automatically.</p><pre class="programlisting">
 [joeuser ~]$ su - oracle
 [oracle ~]$ sqlplus system/alexisahunk\@ora8
 
-SQL&gt; exit
-</pre>
+SQL&gt; exit</pre>
 </li>
 </ul></div><p>Congratulations, your installation of Oracle 8.1.7 is
 complete.</p>
@@ -874,17 +818,14 @@
 <code class="computeroutput">'YYYY-MM-DD'</code>.</p><p>To fix this, you should include the following line in
 <code class="computeroutput">$ORACLE_HOME/dbs/init</code><span class="emphasis"><em>SID</em></span><code class="computeroutput">.ora</code> or for the default case, <code class="computeroutput">$ORACLE_HOME/dbs/initora8.ora</code>
 </p><pre class="programlisting">
-nls_date_format = "YYYY-MM-DD"
-</pre><p>You test whether this solved the problem by firing up
+nls_date_format = "YYYY-MM-DD"</pre><p>You test whether this solved the problem by firing up
 <code class="computeroutput">sqlplus</code> and typing:</p><pre class="programlisting">
-SQL&gt; select sysdate from dual;
-</pre><p>You should see back a date like <code class="computeroutput">2000-06-02</code>. If some of the date is chopped
+SQL&gt; select sysdate from dual;</pre><p>You should see back a date like <code class="computeroutput">2000-06-02</code>. If some of the date is chopped
 off, i.e. like <code class="computeroutput">2000-06-0</code>,
 everything is still fine. The problem here is that <code class="computeroutput">sqlplus</code> is simply truncating the output.
 You can fix this by typing:</p><pre class="programlisting">
 SQL&gt; column sysdate format a15
-SQL&gt; select sysdate from dual;
-</pre><p>If the date does not conform to this format, double-check that
+SQL&gt; select sysdate from dual;</pre><p>If the date does not conform to this format, double-check that
 you included the necessary line in the init scripts. If it still
 isn&#39;t working, make sure that you have restarted the database
 since adding the line:</p><pre class="programlisting">
@@ -896,16 +837,13 @@
 Database dismounted.
 ORACLE instance shut down.
 SVRMGR&gt; startup
-ORACLE instance started.
-</pre><p>If you&#39;re sure that you have restarted the database since
+ORACLE instance started.</pre><p>If you&#39;re sure that you have restarted the database since
 adding the line, check your initialization scripts. Make sure that
 the following line is not included:</p><pre class="programlisting">
-export nls_lang = american
-</pre><p>Setting this environment variable will override the date
+export nls_lang = american</pre><p>Setting this environment variable will override the date
 setting. Either delete this line and login again or add the
 following entry to your login scripts <span class="emphasis"><em>after</em></span> the <code class="computeroutput">nls_lang</code> line:</p><pre class="programlisting">
-export nls_date_format = 'YYYY-MM-DD'
-</pre><p>Log back in again. If adding the <code class="computeroutput">nls_date_format</code> line doesn&#39;t help, you
+export nls_date_format = 'YYYY-MM-DD'</pre><p>Log back in again. If adding the <code class="computeroutput">nls_date_format</code> line doesn&#39;t help, you
 can ask for advice in our <a class="ulink" href="http://www.openacs.org/forums/" target="_top">OpenACS
 forums</a>.</p>
 </div><div class="sect2">
@@ -914,28 +852,25 @@
 <p>Dropping a tablespace</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem">
 <p>Run sqlplus as the dba:</p><pre class="programlisting">
-[oracle ~]$ sqlplus system/changeme
-</pre>
+[oracle ~]$ sqlplus system/changeme</pre>
 </li><li class="listitem">
 <p>To drop a user and all of the tables and data owned by that
 user:</p><pre class="programlisting">
-SQL&gt; drop user <span class="emphasis"><em>oracle_user_name</em></span> cascade;
-</pre>
+SQL&gt; drop user <span class="emphasis"><em>oracle_user_name</em></span> cascade;</pre>
 </li><li class="listitem">
 <p>To drop the tablespace: This will delete everything in the
 tablespace overriding any referential integrity constraints. Run
 this command only if you want to clean out your database
 entirely.</p><pre class="programlisting">
-SQL&gt; drop tablespace <span class="emphasis"><em>table_space_name</em></span> including contents cascade constraints;
-</pre>
+SQL&gt; drop tablespace <span class="emphasis"><em>table_space_name</em></span> including contents cascade constraints;</pre>
 </li>
 </ul></div>
 </li></ul></div><p>For more information on Oracle, please consult the <a class="ulink" href="https://docs.oracle.com/en/database/" target="_top">documentation</a>.</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="oracle-next-steps" id="oracle-next-steps"></a>Oracle Next Steps</h3></div></div></div><p><a class="xref" href="maint-performance" title="Creating an appropriate tuning and monitoring environment">the
-section called &ldquo;Creating an appropriate tuning
-and monitoring environment&rdquo;</a></p>
+section called “Creating an appropriate tuning and monitoring
+environment”</a></p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="install-oracle-defaults" id="install-oracle-defaults"></a>Defaults</h3></div></div></div><p>We used the following defaults while installing Oracle.</p><div class="informaltable"><table class="informaltable" cellspacing="0" border="1">
@@ -965,9 +900,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="unix-installation" leftLabel="Prev" leftTitle="Install a Unix-like system and
+			leftLink="unix-installation" leftLabel="Prev" leftTitle="Install a Unix-like system and
 supporting software"
-		    rightLink="postgres" rightLabel="Next" rightTitle="Install PostgreSQL"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="complete-install" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="postgres" rightLabel="Next" rightTitle="Install PostgreSQL"
+			homeLink="index" homeLabel="Home" 
+			upLink="complete-install" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/os-install.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-install.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/os-install.adp	7 Aug 2017 23:47:51 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/os-install.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -3,20 +3,19 @@
 <property name="doc(title)">Linux Install Guides</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-origins" leftLabel="Prev"
-		    title="
-Appendix C. Credits"
-		    rightLink="os-security" rightLabel="Next">
-		<div class="section">
+			leftLink="install-origins" leftLabel="Prev"
+			title="Appendix C. Credits"
+			rightLink="os-security" rightLabel="Next">
+		    <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="os-install" id="os-install"></a>Linux Install Guides</h2></div></div></div><p>Here&#39;s a list of some helpful documentation for <a class="ulink" href="http://openacs.org/xowiki/openacs-system-install" target="_top">installing OpenACS on various operating
 systems</a>
 </p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-origins" leftLabel="Prev" leftTitle="Where did this document come
+			leftLink="install-origins" leftLabel="Prev" leftTitle="Where did this document come
 from?"
-		    rightLink="os-security" rightLabel="Next" rightTitle="Security Information"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="credits" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="os-security" rightLabel="Next" rightTitle="Security Information"
+			homeLink="index" homeLabel="Home" 
+			upLink="credits" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/os-security.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-security.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/os-security.adp	7 Aug 2017 23:47:51 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/os-security.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -3,11 +3,10 @@
 <property name="doc(title)">Security Information</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="os-install" leftLabel="Prev"
-		    title="
-Appendix C. Credits"
-		    rightLink="install-resources" rightLabel="Next">
-		<div class="section">
+			leftLink="os-install" leftLabel="Prev"
+			title="Appendix C. Credits"
+			rightLink="install-resources" rightLabel="Next">
+		    <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="os-security" id="os-security"></a>Security Information</h2></div></div></div><p>Once you get your OS installed, it&#39;s imperative that you
 secure your installation. As Jon Griffin repeatedly warns us,
@@ -24,8 +23,8 @@
 </ul></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="os-install" leftLabel="Prev" leftTitle="Linux Install Guides"
-		    rightLink="install-resources" rightLabel="Next" rightTitle="Resources"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="credits" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="os-install" leftLabel="Prev" leftTitle="Linux Install Guides"
+			rightLink="install-resources" rightLabel="Next" rightTitle="Resources"
+			homeLink="index" homeLabel="Home" 
+			upLink="credits" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/packages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/packages.adp,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/acs-core-docs/www/packages.adp	18 Apr 2018 08:07:33 -0000	1.6
+++ openacs-4/packages/acs-core-docs/www/packages.adp	25 Apr 2018 08:38:28 -0000	1.7
@@ -3,11 +3,11 @@
 <property name="doc(title)">OpenACS Packages</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="dev-guide" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="objects" rightLabel="Next">
-		<div class="sect1">
+			leftLink="dev-guide" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="objects" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="packages" id="packages"></a>OpenACS Packages</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Pete Su and Bryan Quinn</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -22,11 +22,11 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="server-file-layout" id="server-file-layout"></a>Server file layout</h3></div></div></div><p>Here is how an OpenACS 5 server is laid out starting from the
 Server root (ROOT):</p><div class="figure">
-<a name="idp140623177082456" id="idp140623177082456"></a><p class="title"><strong>Figure 11.1. Server file layout
+<a name="idp140682185326152" id="idp140682185326152"></a><p class="title"><strong>Figure 11.1. Server file layout
 diagram</strong></p><div class="figure-contents"><pre class="programlisting">
 ROOT/
     bin/
-        Various executables and scripts for server maintanence.
+        Various executables and scripts for server maintenance.
     content-repository-content-files/
         content repository content stored in the filesystem.
     etc/
@@ -41,8 +41,7 @@
     tcl/
         bootstrap code
     www/
-        Pages not in packages (static content, customized pages)
-</pre></div>
+        Pages not in packages (static content, customized pages)</pre></div>
 </div><br class="figure-break">
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -62,7 +61,7 @@
 <a class="indexterm" name="baby" id="baby"></a> To illustrate
 the general structure of a package, let&#39;s see what the package
 for the "notes" application should look like.</p><div class="figure">
-<a name="idp140623172256280" id="idp140623172256280"></a><p class="title"><strong>Figure 11.2. Package file layout
+<a name="idp140682185307736" id="idp140682185307736"></a><p class="title"><strong>Figure 11.2. Package file layout
 diagram</strong></p><div class="figure-contents"><pre class="programlisting">
 ROOT/
   +-- packages/    APM Root
@@ -120,8 +119,7 @@
         |     |     +-- *.adp                             UI Templates
         |     |     +-- *-oracle.xql                      Oracle-specific Queries
         |     |     +-- *-postgresql.xql                  PostgreSQL-specific Queries
-        +-- Other package directories.
-</pre></div>
+        +-- Other package directories.</pre></div>
 </div><br class="figure-break"><p>All file locations are relative to the package root, which in
 this case is <code class="computeroutput">ROOT/packages/notes</code>. The following table
 describes in detail what each of the files up in the diagram
@@ -133,7 +131,7 @@
 .tcl or .adp files are not sourced in these directories. This makes
 it suitable for storing icons, css files, javascript, and other
 static content which can be treated this way.</p><div class="table">
-<a name="idp140623177767000" id="idp140623177767000"></a><p class="title"><strong>Table 11.1. Package
+<a name="idp140682185313912" id="idp140682185313912"></a><p class="title"><strong>Table 11.1. Package
 files</strong></p><div class="table-contents"><table class="table" summary="Package files" cellspacing="0" border="1">
 <colgroup>
 <col><col><col>
@@ -324,8 +322,7 @@
 this point, you should add your package files to your CVS
 repository. I&#39;ll assume that you have set up your development
 repository according to the standards described in <a class="link" href="cvs-tips" title="Add the Service to CVS - OPTIONAL">this appendix</a>. If so, then
-you just do this:</p><pre class="programlisting">
-% cd ROOT/packages
+you just do this:</p><pre class="programlisting">% cd ROOT/packages
 % cvs add notes
 % cd notes
 % cvs add notes.info
@@ -334,8 +331,7 @@
 % cvs add *.sql
 % cd ROOT/packages/notes
 % cvs commit -m "add new package for notes"
-    
-</pre>
+    </pre>
 </li><li class="listitem"><p>Now you can start developing the package. In addition to writing
 code, you should also consider the tasks outlined in the <a class="link" href="tutorial-newpackage" title="Creating an Application Package">package development
 tutorial</a>.</p></li>
@@ -398,15 +394,15 @@
 <a name="packages-add-reading" id="packages-add-reading"></a>Additional Reading</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p><a class="xref" href="apm-design" title="Package Manager Design">Package Manager Design</a></p></li><li class="listitem"><p><a class="xref" href="apm-requirements" title="Package Manager Requirements">Package Manager Requirements</a></p></li><li class="listitem"><p><a class="link" href="tutorial-newpackage" title="Creating an Application Package">package development
 tutorial</a></p></li>
-</ul></div><p><span class="cvstag">($&zwnj;Id: packages.xml,v 1.10 2017/08/07
-23:47:54 gustafn Exp $)</span></p>
+</ul></div><p><span class="cvstag">($&zwnj;Id: packages.xml,v 1.13 2018/04/22
+19:24:37 gustafn Exp $)</span></p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="dev-guide" leftLabel="Prev" leftTitle="
-Chapter 11. Development Reference"
-		    rightLink="objects" rightLabel="Next" rightTitle="OpenACS Data Models and the Object
+			leftLink="dev-guide" leftLabel="Prev" leftTitle="Chapter 11. Development
+Reference"
+			rightLink="objects" rightLabel="Next" rightTitle="OpenACS Data Models and the Object
 System"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/packages.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/packages.html,v
diff -u -r1.56 -r1.57
--- openacs-4/packages/acs-core-docs/www/packages.html	18 Apr 2018 08:07:33 -0000	1.56
+++ openacs-4/packages/acs-core-docs/www/packages.html	25 Apr 2018 08:38:28 -0000	1.57
@@ -27,12 +27,12 @@
       Here is how an OpenACS 5 server is laid out
       starting from the Server root (ROOT):
     </p>
-    <div class="figure"><a name="idp140623177082456"></a><p class="title"><b>Figure 11.1. Server file layout diagram</b></p><div class="figure-contents">
+    <div class="figure"><a name="idp140682185326152"></a><p class="title"><b>Figure 11.1. Server file layout diagram</b></p><div class="figure-contents">
       
       <pre class="programlisting">
 ROOT/
     bin/
-        Various executables and scripts for server maintanence.
+        Various executables and scripts for server maintenance.
     content-repository-content-files/
         content repository content stored in the filesystem.
     etc/
@@ -81,7 +81,7 @@
       package for the "notes" application should look like.
     </p>
 
-    <div class="figure"><a name="idp140623172256280"></a><p class="title"><b>Figure 11.2. Package file layout diagram</b></p><div class="figure-contents">
+    <div class="figure"><a name="idp140682185307736"></a><p class="title"><b>Figure 11.2. Package file layout diagram</b></p><div class="figure-contents">
       
       <pre class="programlisting">
 ROOT/
@@ -162,7 +162,7 @@
       this way.
     </p>
     
-    <div class="table"><a name="idp140623177767000"></a><p class="title"><b>Table 11.1. Package files</b></p><div class="table-contents">
+    <div class="table"><a name="idp140682185313912"></a><p class="title"><b>Table 11.1. Package files</b></p><div class="table-contents">
       
       <table class="table" summary="Package files" cellspacing="0" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>File Type</th><th>Its Use</th><th>Naming Convention</th></tr></thead><tbody><tr><td>Package Specification File</td><td>The package specification file is an XML file generated and
           maintained by the OpenACS Package Manager (APM).  It specifies
Index: openacs-4/packages/acs-core-docs/www/parties.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/parties.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/parties.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/parties.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Parties in OpenACS</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="subsites" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="permissions-tediously-explained" rightLabel="Next">
-		<div class="sect1">
+			leftLink="subsites" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="permissions-tediously-explained" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="parties" id="parties"></a>Parties in OpenACS</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="http://planitia.org" target="_top">Rafael H.
 Schloming</a>
@@ -326,9 +326,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="subsites" leftLabel="Prev" leftTitle="Writing OpenACS Application Pages"
-		    rightLink="permissions-tediously-explained" rightLabel="Next" rightTitle="OpenACS Permissions Tediously
+			leftLink="subsites" leftLabel="Prev" leftTitle="Writing OpenACS Application Pages"
+			rightLink="permissions-tediously-explained" rightLabel="Next" rightTitle="OpenACS Permissions Tediously
 Explained"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/permissions-design.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-design.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/permissions-design.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/permissions-design.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Permissions Design</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="permissions-requirements" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="groups-requirements" rightLabel="Next">
-		<div class="sect1">
+			leftLink="permissions-requirements" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="groups-requirements" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="permissions-design" id="permissions-design"></a>Permissions Design</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By John Prevost and <a class="ulink" href="http://planitia.org" target="_top">Rafael H.
 Schloming</a>
@@ -273,8 +273,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="permissions-requirements" leftLabel="Prev" leftTitle="Permissions Requirements"
-		    rightLink="groups-requirements" rightLabel="Next" rightTitle="Groups Requirements"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="permissions-requirements" leftLabel="Prev" leftTitle="Permissions Requirements"
+			rightLink="groups-requirements" rightLabel="Next" rightTitle="Groups Requirements"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/permissions-requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-requirements.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/permissions-requirements.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/permissions-requirements.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Permissions Requirements</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="object-system-design" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="permissions-design" rightLabel="Next">
-		<div class="sect1">
+			leftLink="object-system-design" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="permissions-design" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="permissions-requirements" id="permissions-requirements"></a>Permissions Requirements</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By John McClary Prevost</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -188,8 +188,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="object-system-design" leftLabel="Prev" leftTitle="Object Model Design"
-		    rightLink="permissions-design" rightLabel="Next" rightTitle="Permissions Design"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="object-system-design" leftLabel="Prev" leftTitle="Object Model Design"
+			rightLink="permissions-design" rightLabel="Next" rightTitle="Permissions Design"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">OpenACS Permissions Tediously Explained</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="parties" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="object-identity" rightLabel="Next">
-		<div class="sect1">
+			leftLink="parties" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="object-identity" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="permissions-tediously-explained" id="permissions-tediously-explained"></a>OpenACS Permissions Tediously
 Explained</h2></div></div></div><p>by Vadim Nasardinov. Modified and converted to Docbook XML by
@@ -50,8 +50,7 @@
       constraint acs_objects_context_object_un
           unique (context_id, object_id) disable
 );
-    
-</pre><p>This means that items that want to use the features of the
+    </pre><p>This means that items that want to use the features of the
 OpenACS object system needs to have an entry in the <code class="computeroutput">acs_objects</code>. This allows developers to
 define relationships between any two entities <span class="emphasis"><em>A</em></span> and <span class="emphasis"><em>B</em></span> by defining a relationship between
 their corresponding entries in the <code class="computeroutput">acs_objects</code> table. One of the applications
@@ -63,8 +62,7 @@
       pretty_name         varchar2(100),
       pretty_plural       varchar2(100)
   );
-    
-</pre><a name="acs_permissions" id="acs_permissions"></a><pre class="programlisting">
+    </pre><a name="acs_permissions" id="acs_permissions"></a><pre class="programlisting">
   create table <span class="bold"><strong>acs_permissions</strong></span> (
       object_id
           not null
@@ -78,8 +76,7 @@
       constraint acs_permissions_pk
           primary key (object_id, grantee_id, privilege)
   );
-    
-</pre><p>The <code class="computeroutput">acs_privileges</code> table
+    </pre><p>The <code class="computeroutput">acs_privileges</code> table
 stores named privileges like <span class="emphasis"><em>read</em></span>, <span class="emphasis"><em>write</em></span>, <span class="emphasis"><em>delete</em></span>, <span class="emphasis"><em>create</em></span>, and <span class="emphasis"><em>admin</em></span>. The <code class="computeroutput">acs_permissions</code> table stores assertions of
 the form:</p><p>Who (<code class="computeroutput">grantee_id</code>) can do what
 (<code class="computeroutput">privilege</code>) on which object
@@ -130,7 +127,7 @@
 <a name="permissions-tedious-context-hierarchy" id="permissions-tedious-context-hierarchy"></a>Context
 Hierarchy</h3></div></div></div><p>Suppose objects <span class="emphasis"><em>A</em></span>,
 <span class="emphasis"><em>B</em></span>, ..., and <span class="emphasis"><em>F</em></span> form the following hierarchy.</p><div class="table">
-<a name="idp140623163017608" id="idp140623163017608"></a><p class="title"><strong>Table 11.2. Context Hierarchy
+<a name="idp140682187418040" id="idp140682187418040"></a><p class="title"><strong>Table 11.2. Context Hierarchy
 Example</strong></p><div class="table-contents"><table class="table" summary="Context Hierarchy Example" cellspacing="0" border="1">
 <colgroup>
 <col align="center" class="c1"><col align="center" class="c2"><col align="center" class="c3">
@@ -156,7 +153,7 @@
 </table></div>
 </div><br class="table-break"><p>This can be represented in the <a class="xref" href="permissions-tediously-explained">acs_objects</a>
 table by the following entries:</p><div class="table">
-<a name="idp140623167583592" id="idp140623167583592"></a><p class="title"><strong>Table 11.3. acs_objects example
+<a name="idp140682182505032" id="idp140682182505032"></a><p class="title"><strong>Table 11.3. acs_objects example
 data</strong></p><div class="table-contents"><table class="table" summary="acs_objects example data" cellspacing="0" border="1">
 <colgroup>
 <col align="center" class="c1"><col align="center" class="c2">
@@ -257,8 +254,7 @@
       constraint acs_object_context_index_pk
           primary key (object_id, ancestor_id)
   ) organization index;
-    
-</pre><p>A few things to note about this table are these. Number one, it
+    </pre><p>A few things to note about this table are these. Number one, it
 is an <a class="ulink" href="http://www.oradoc.com/ora817/server.817/a85397/statem3e.htm#2061922" target="_top">index-organized table</a>, which means it is
 substantially optimized for access by primary key. Number two, as
 the above computations suggest, the size of the table grows
@@ -304,15 +300,12 @@
 </colgroup><tbody>
 <tr><td colspan="3" align="center"><div class="literallayout"><p>
 <br><span class="bold"><strong>A</strong></span><br><code class="computeroutput">object_id=10</code><br><span class="emphasis"><em>readable by Joe</em></span><br>
-
       </p></div></td></tr><tr>
 <td colspan="2" align="center"><div class="literallayout"><p>
 <br><span class="bold"><strong>B</strong></span><br><code class="computeroutput">object_id=20</code><br><span class="emphasis"><em>readable by Joe</em></span><br>
-
               </p></div></td><td align="center"><div class="literallayout"><p>
 <br><span class="bold"><strong>C</strong></span><br><code class="computeroutput">object_id=30</code><br>
 security_inherit_p = 'f'<br><span class="emphasis"><em>not readable by Joe</em></span><br>
-
       </p></div></td>
 </tr><tr>
 <td align="center"><div class="literallayout"><p>
@@ -322,7 +315,6 @@
       </p></div></td><td align="center"><div class="literallayout"><p>
 <br><span class="bold"><strong>F</strong></span><br><code class="computeroutput">object_id=60</code><br>
 security_inherit_p = 'f'<br><span class="emphasis"><em>not readable by Joe</em></span><br>
-
       </p></div></td>
 </tr>
 </tbody>
@@ -361,8 +353,7 @@
       constraint acs_privilege_hierarchy_pk
           primary key (privilege, child_privilege)
   );
-    
-</pre><p>As in the case of the context hierarchy, it is convenient to
+    </pre><p>As in the case of the context hierarchy, it is convenient to
 have a flattened representation of this hierarchal structure. This
 is accomplished by defining the following view.</p><a name="acs_privilege_descendant_map" id="acs_privilege_descendant_map"></a><pre class="programlisting">
   create or replace view <span class="bold"><strong>acs_privilege_descendant_map</strong></span>
@@ -385,8 +376,7 @@
          prior child_privilege = privilege
       )
     or p2.privilege = p1.privilege;
-    
-</pre><p>As the number of different privileges in the system is expected
+    </pre><p>As the number of different privileges in the system is expected
 to be reasonably small, there is no pressing need to cache the
 flattened ansector-descendant view of the privilege hierarchy in a
 specially maintained table like it is done in the case of the
@@ -412,8 +402,7 @@
           constraint parties_email_un unique,
       url                 varchar2(200)
   );
-    
-</pre><a name="persons" id="persons"></a><pre class="programlisting">
+    </pre><a name="persons" id="persons"></a><pre class="programlisting">
   create table <span class="bold"><strong>persons</strong></span> (
       person_id
           not null
@@ -424,8 +413,7 @@
       last_name            varchar2(100)
           not null
   );
-    
-</pre><a name="users" id="users"></a><pre class="programlisting">
+    </pre><a name="users" id="users"></a><pre class="programlisting">
   create table <span class="bold"><strong>users</strong></span> (
       user_id
           not null
@@ -434,18 +422,15 @@
       password        char(40),
       -- other attributes
   );
-    
-</pre><a name="groups" id="groups"></a><pre class="programlisting">
- 
+    </pre><a name="groups" id="groups"></a><pre class="programlisting"> 
   create table <span class="bold"><strong>groups</strong></span> (
       group_id
           not null
           constraint groups_group_id_fk references <a class="xref" href="permissions-tediously-explained">parties</a> (party_id)
           constraint groups_pk primary key,
       group_name           varchar2(100) not null
   );
-    
-</pre><p>Recall that the <code class="computeroutput">grantee_id</code>
+    </pre><p>Recall that the <code class="computeroutput">grantee_id</code>
 column of the <a class="xref" href="permissions-tediously-explained">acs_permissions</a>
 table references <code class="computeroutput">parties.party_id</code>. This means that you can
 grant a privilege on an object to a party, person, user, or group.
@@ -476,8 +461,7 @@
       constraint acs_object_rels_un
           unique (rel_type, object_id_one, object_id_two)
   );
-    
-</pre><a name="membership_rels" id="membership_rels"></a><pre class="programlisting">
+    </pre><a name="membership_rels" id="membership_rels"></a><pre class="programlisting">
   create table <span class="bold"><strong>membership_rels</strong></span> (
       rel_id
           constraint membership_rel_rel_id_fk references <a class="xref" href="permissions-tediously-explained">acs_rels</a> (rel_id)
@@ -487,8 +471,7 @@
           constraint membership_rel_mem_ck
            check (member_state in ('approved', 'banned', 'rejected', 'deleted'))
   );
-    
-</pre><p>The <a class="xref" href="permissions-tediously-explained">acs_rels</a> table
+    </pre><p>The <a class="xref" href="permissions-tediously-explained">acs_rels</a> table
 entries would look like so:</p><div class="informaltable"><table class="informaltable" cellspacing="0" border="1">
 <colgroup>
 <col align="center" class="c1"><col align="center" class="c2"><col align="center" class="c3">
@@ -515,8 +498,7 @@
         constraint composition_rels_rel_id_fk references <a class="xref" href="permissions-tediously-explained">acs_rels</a> (rel_id)
         constraint composition_rels_rel_id_pk primary key
 );
-    
-</pre><p>The relevant entries in the <a class="xref" href="permissions-tediously-explained">acs_rels</a> look
+    </pre><p>The relevant entries in the <a class="xref" href="permissions-tediously-explained">acs_rels</a> look
 like so.</p><div class="informaltable"><table class="informaltable" cellspacing="0" border="1">
 <colgroup>
 <col align="center" class="c1"><col align="center" class="c2"><col align="center" class="c3">
@@ -537,7 +519,7 @@
 or not a user is member of a group is similar to the one discussed
 above in the case of the context hierarchy. Groups can form
 hierarchies with respect to the composition relationship. The
-compositon relationship is transitive. If <span class="emphasis"><em>G1</em></span> is a subgroup of <span class="emphasis"><em>G2</em></span>, and <span class="emphasis"><em>G2</em></span> is a subgroup of <span class="emphasis"><em>G3</em></span>, then <span class="emphasis"><em>G1</em></span> is a subgroup of <span class="emphasis"><em>G3</em></span>; that is, any member of <span class="emphasis"><em>G1</em></span> is also a member of <span class="emphasis"><em>G3</em></span>.</p><p>Traversing the group composition hierarchy requires running
+composition relationship is transitive. If <span class="emphasis"><em>G1</em></span> is a subgroup of <span class="emphasis"><em>G2</em></span>, and <span class="emphasis"><em>G2</em></span> is a subgroup of <span class="emphasis"><em>G3</em></span>, then <span class="emphasis"><em>G1</em></span> is a subgroup of <span class="emphasis"><em>G3</em></span>; that is, any member of <span class="emphasis"><em>G1</em></span> is also a member of <span class="emphasis"><em>G3</em></span>.</p><p>Traversing the group composition hierarchy requires running
 <a class="ulink" href="http://www.oradoc.com/ora817/server.817/a85397/expressi.htm#1023748" target="_top">hierarchical queries</a>, which are expensive in
 Oracle. As we saw in the <span class="emphasis"><em>Context
 Hierarchy</em></span> section, one way of reducing the performance
@@ -562,8 +544,7 @@
           constraint group_component_index_pk
           primary key (group_id, component_id, rel_id)
   ) organization index;
-    
-</pre><a name="group_member_index" id="group_member_index"></a><pre class="programlisting">
+    </pre><a name="group_member_index" id="group_member_index"></a><pre class="programlisting">
   create table <span class="bold"><strong>group_member_index</strong></span> (
       group_id
           not null
@@ -580,8 +561,7 @@
       constraint group_member_index_pk
           primary key (member_id, group_id, rel_id)
   ) organization index;
-    
-</pre><p>The <code class="computeroutput">group_component_index</code>
+    </pre><p>The <code class="computeroutput">group_component_index</code>
 table stores a flattened representation of the group composition
 hierarchy that is maintained in sync with the <a class="xref" href="permissions-tediously-explained">acs_rels</a> and
 <code class="computeroutput">composition_rels</code> tables through
@@ -616,8 +596,7 @@
 where
   mr.rel_id = r.rel_id
   and r.object_id_one = gci.component_id;
-    
-</pre><p>A heuristic way to verify that <code class="computeroutput">group_member_view</code> is essentially identical
+    </pre><p>A heuristic way to verify that <code class="computeroutput">group_member_view</code> is essentially identical
 to <a class="xref" href="permissions-tediously-explained">group_member_index</a>
 is to compute the symmetric difference between the two:</p><pre class="programlisting">
 select
@@ -637,8 +616,7 @@
    minus
    select group_id, member_id from group_member_view
   )
-    
-</pre><p>The query returns no rows. The important point is, if we have a
+    </pre><p>The query returns no rows. The important point is, if we have a
 flattened view of the composition hierarchy -- like one provided by
 the <a class="xref" href="permissions-tediously-explained">group_component_index</a>
 table -- membership relationship resolution can be computed
@@ -649,8 +627,7 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="permissions-tedious-putting-all-together" id="permissions-tedious-putting-all-together"></a>Putting It All
 Together</h3></div></div></div><p>Security information is queried by calling the <code class="computeroutput">acs_permission.permission_p</code> function in
-OpenACS. This is accessible from Tcl via the <code class="computeroutput">permission::permission_p</code> procedure.</p><pre class="programlisting">
-  
+OpenACS. This is accessible from Tcl via the <code class="computeroutput">permission::permission_p</code> procedure.</p><pre class="programlisting">  
   create or replace package body acs_permission
   as
     -- some stuff removed for the sake of brevity
@@ -673,8 +650,7 @@
     end;
 
   end acs_permission;
-    
-</pre><p><span class="strong"><strong>problem
+    </pre><p><span class="strong"><strong>problem
 avoidance</strong></span></p><p>The function queries <a class="xref" href="permissions-tediously-explained">
 acs_object_party_privilege_map</a>, which is a humongous view that
 joins three flattened hierarchies: the context tree, the privilege
@@ -686,8 +662,7 @@
 would ultimately result in a query error.</p><p>For example, do not try to do things like</p><pre class="programlisting">
 select count(*)
   from <a class="xref" href="permissions-tediously-explained">acs_object_party_privilege_map</a>;
-    
-</pre><p>To give another example of things to avoid, I have seen code
+    </pre><p>To give another example of things to avoid, I have seen code
 like this:</p><pre class="programlisting">
   declare
       cursor cur is
@@ -713,18 +688,15 @@
 
   end;
   /
-    
-</pre><p>The <code class="computeroutput">acs_permission.revoke_permission</code> function
-merely runs a delete statement like so:</p><pre class="programlisting">
-  
+    </pre><p>The <code class="computeroutput">acs_permission.revoke_permission</code> function
+merely runs a delete statement like so:</p><pre class="programlisting">  
   delete from
      acs_permissions
   where
      object_id = revoke_permission.object_id
      and grantee_id = revoke_permission.grantee_id
      and privilege = revoke_permission.privilege;
-    
-</pre><p>Note that in the above example, <code class="computeroutput">acs_permissions</code> had only one entry that
+    </pre><p>Note that in the above example, <code class="computeroutput">acs_permissions</code> had only one entry that
 needed to be deleted:</p><div class="informaltable"><table class="informaltable" cellspacing="0" border="1">
 <colgroup>
 <col align="center" class="c1"><col align="center" class="c2"><col align="center" class="c3">
@@ -759,8 +731,7 @@
   privilege
 from
   <a class="xref" href="permissions-tediously-explained">acs_object_grantee_priv_map</a>;
-    
-</pre><a name="acs_object_grantee_priv_map" id="acs_object_grantee_priv_map"></a><pre class="programlisting">
+    </pre><a name="acs_object_grantee_priv_map" id="acs_object_grantee_priv_map"></a><pre class="programlisting">
 create or replace view <span class="bold"><strong>acs_object_grantee_priv_map</strong></span>
 as
 select
@@ -772,9 +743,7 @@
   <a class="xref" href="permissions-tediously-explained">acs_privilege_descendant_map</a> m
 where
   a.privilege = m.privilege;
-    
-</pre><a name="acs_permissions_all" id="acs_permissions_all"></a><pre class="programlisting">
- 
+    </pre><a name="acs_permissions_all" id="acs_permissions_all"></a><pre class="programlisting"> 
 create or replace view <span class="bold"><strong>acs_permissions_all</strong></span>
 as
 select
@@ -786,8 +755,7 @@
   <a class="xref" href="permissions-tediously-explained">acs_permissions</a> p
 where
   op.ancestor_id = p.object_id;
-    
-</pre><a name="acs_object_paths" id="acs_object_paths"></a><pre class="programlisting">
+    </pre><a name="acs_object_paths" id="acs_object_paths"></a><pre class="programlisting">
 create or replace view <span class="bold"><strong>acs_object_paths</strong></span>
 as
 select
@@ -796,9 +764,7 @@
   n_generations
 from
   <a class="xref" href="permissions-tediously-explained">acs_object_context_index</a>;
-    
-</pre><a name="group_member_map" id="group_member_map"></a><pre class="programlisting">
- 
+    </pre><a name="group_member_map" id="group_member_map"></a><pre class="programlisting"> 
 
 create or replace view <span class="bold"><strong>group_member_map</strong></span>
 as
@@ -809,13 +775,12 @@
   container_id
 from
   <a class="xref" href="permissions-tediously-explained">group_member_index</a>;
-    
-</pre>
+    </pre>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="parties" leftLabel="Prev" leftTitle="Parties in OpenACS"
-		    rightLink="object-identity" rightLabel="Next" rightTitle="Object Identity"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="parties" leftLabel="Prev" leftTitle="Parties in OpenACS"
+			rightLink="object-identity" rightLabel="Next" rightTitle="Object Identity"
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html,v
diff -u -r1.48 -r1.49
--- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html	8 Nov 2017 09:42:11 -0000	1.48
+++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html	25 Apr 2018 08:38:28 -0000	1.49
@@ -149,7 +149,7 @@
       and <span class="emphasis"><em>F</em></span> form the following hierarchy. 
     </p>
 
-    <div class="table"><a name="idp140623163017608"></a><p class="title"><b>Table 11.2. Context Hierarchy Example</b></p><div class="table-contents">
+    <div class="table"><a name="idp140682187418040"></a><p class="title"><b>Table 11.2. Context Hierarchy Example</b></p><div class="table-contents">
       
       <table class="table" summary="Context Hierarchy Example" cellspacing="0" border="1"><colgroup><col align="center" class="c1"><col align="center" class="c2"><col align="center" class="c3"></colgroup><tbody><tr><td colspan="3" align="center">
 	      <span class="bold"><strong>A</strong></span>
@@ -190,7 +190,7 @@
       by the following entries: 
     </p>
 
-    <div class="table"><a name="idp140623167583592"></a><p class="title"><b>Table 11.3. acs_objects example data</b></p><div class="table-contents">
+    <div class="table"><a name="idp140682182505032"></a><p class="title"><b>Table 11.3. acs_objects example data</b></p><div class="table-contents">
       
       <table class="table" summary="acs_objects example data" cellspacing="0" border="1"><colgroup><col align="center" class="c1"><col align="center" class="c2"></colgroup><thead><tr><th align="center">object_id</th><th align="center">context_id</th></tr></thead><tbody><tr><td align="center">20</td><td align="center">10</td></tr><tr><td align="center">30</td><td align="center">10</td></tr><tr><td align="center">40</td><td align="center">20</td></tr><tr><td align="center">50</td><td align="center">20</td></tr><tr><td align="center">60</td><td align="center">30</td></tr></tbody></table>
     </div></div><br class="table-break">
@@ -646,7 +646,7 @@
       The situation we are
       facing in trying to determine whether or not a user is member of a group is similar to the one
       discussed above in the case of the context hierarchy.  Groups can form hierarchies with
-      respect to the composition relationship.  The compositon relationship is transitive.  If
+      respect to the composition relationship.  The composition relationship is transitive.  If
       <span class="emphasis"><em>G1</em></span> is a subgroup of <span class="emphasis"><em>G2</em></span>, and <span class="emphasis"><em>G2</em></span> is a subgroup of <span class="emphasis"><em>G3</em></span>, then
       <span class="emphasis"><em>G1</em></span> is a subgroup of <span class="emphasis"><em>G3</em></span>; that is, any member of <span class="emphasis"><em>G1</em></span> is also a member
       of <span class="emphasis"><em>G3</em></span>. 
Index: openacs-4/packages/acs-core-docs/www/permissions.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/permissions.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/permissions.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Groups, Context, Permissions</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="templates" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="subsites" rightLabel="Next">
-		<div class="sect1">
+			leftLink="templates" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="subsites" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="permissions" id="permissions"></a>Groups, Context, Permissions</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Pete Su</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -198,9 +198,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="templates" leftLabel="Prev" leftTitle="Using Templates in OpenACS"
-		    rightLink="subsites" rightLabel="Next" rightTitle="Writing OpenACS Application
+			leftLink="templates" leftLabel="Prev" leftTitle="Using Templates in OpenACS"
+			rightLink="subsites" rightLabel="Next" rightTitle="Writing OpenACS Application
 Pages"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/postgres.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/postgres.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/postgres.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/postgres.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Install PostgreSQL</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="oracle" leftLabel="Prev"
-		    title="
-Chapter 3. Complete Installation"
-		    rightLink="aolserver4" rightLabel="Next">
-		<div class="sect1">
+			leftLink="oracle" leftLabel="Prev"
+			title="Chapter 3. Complete
+Installation"
+			rightLink="aolserver4" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="postgres" id="postgres"></a>Install PostgreSQL</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:vinod\@kurup.com" target="_top">Vinod Kurup</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>Skip this section if you will run only Oracle.</p><p>OpenACS 5.9.0 will run with <a class="link" href="individual-programs" title="PostgreSQL 7.4.x (Either this or Oracle is REQUIRED)">PostgreSQL</a>
@@ -26,8 +26,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="oracle" leftLabel="Prev" leftTitle="Install Oracle 8.1.7"
-		    rightLink="aolserver4" rightLabel="Next" rightTitle="Install AOLserver 4"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="complete-install" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="oracle" leftLabel="Prev" leftTitle="Install Oracle 8.1.7"
+			rightLink="aolserver4" rightLabel="Next" rightTitle="Install AOLserver 4"
+			homeLink="index" homeLabel="Home" 
+			upLink="complete-install" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/profile-code.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/profile-code.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/profile-code.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/profile-code.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Profile your code</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-categories" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-distribute" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-categories" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-distribute" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="profile-code" id="profile-code"></a>Profile your code</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:jade\@rubick.com" target="_top">Jade Rubick</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>There are several facilities for profiling your code in OpenACS.
@@ -17,9 +17,9 @@
 </p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-categories" leftLabel="Prev" leftTitle="Categories"
-		    rightLink="tutorial-distribute" rightLabel="Next" rightTitle="Prepare the package for
+			leftLink="tutorial-categories" leftLabel="Prev" leftTitle="Categories"
+			rightLink="tutorial-distribute" rightLabel="Next" rightTitle="Prepare the package for
 distribution."
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/programming-with-aolserver.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/programming-with-aolserver.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/programming-with-aolserver.adp	27 Mar 2018 11:18:00 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/programming-with-aolserver.adp	25 Apr 2018 08:38:28 -0000	1.5
@@ -3,11 +3,11 @@
 <property name="doc(title)">Programming with AOLserver</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="object-identity" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="form-builder" rightLabel="Next">
-		<div class="sect1">
+			leftLink="object-identity" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="form-builder" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="programming-with-aolserver" id="programming-with-aolserver"></a>Programming with AOLserver</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Michael Yoon, Jon Salz and Lars
 Pind.</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
@@ -228,14 +228,14 @@
 However, when using <code class="computeroutput">ns_set get</code>
 to perform lookup by name, they perform a linear lookup, whereas
 arrays use a hash table, so <code class="computeroutput">ns_set</code>s are slower than arrays when the
-number of entries is large.</p><p><span class="cvstag">($&zwnj;Id: programming-with-aolserver.xml,v 1.8
-2017/08/07 23:47:54 gustafn Exp $)</span></p>
+number of entries is large.</p><p><span class="cvstag">($&zwnj;Id: programming-with-aolserver.xml,v 1.9
+2017/12/22 13:23:35 gustafn Exp $)</span></p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="object-identity" leftLabel="Prev" leftTitle="Object Identity"
-		    rightLink="form-builder" rightLabel="Next" rightTitle="Using Form Builder: building html
+			leftLink="object-identity" leftLabel="Prev" leftTitle="Object Identity"
+			rightLink="form-builder" rightLabel="Next" rightTitle="Using Form Builder: building html
 forms dynamically"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,24 +3,21 @@
 <property name="doc(title)">Add PSGML commands to emacs init file (OPTIONAL)</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-cvs" leftLabel="Prev"
-		    title="
-Appendix B. Install additional supporting
-software"
-		    rightLink="install-daemontools" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-cvs" leftLabel="Prev"
+			title="Appendix B. Install
+additional supporting software"
+			rightLink="install-daemontools" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="psgml-for-emacs" id="psgml-for-emacs"></a>Add PSGML commands to emacs init file
 (OPTIONAL)</h2></div></div></div><p>
-<a class="indexterm" name="idp140623161896472" id="idp140623161896472"></a> If you plan to write or edit any
+<a class="indexterm" name="idp140682186507336" id="idp140682186507336"></a> If you plan to write or edit any
 documentation with emacs, install a customized emacs configuration
 file with DocBook commands in the skeleton directory, so it will be
 used for all new users. The file also fixes the backspace -&gt;
-help mis-mapping that often occurs in terminals.</p><pre class="screen">
-[root tmp]# <strong class="userinput"><code>cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs</code></strong>
+help mis-mapping that often occurs in terminals.</p><pre class="screen">[root tmp]# <strong class="userinput"><code>cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs</code></strong>
 cp: overwrite `/etc/skel/.emacs'? <strong class="userinput"><code>y</code></strong>
-[root tmp]# 
-</pre><p>Debian users:</p><pre class="screen"><span class="action">apt-get install psgml</span></pre><p>Note: The new nxml mode for emacs, when used in combination with
+[root tmp]# </pre><p>Debian users:</p><pre class="screen"><span class="action">apt-get install psgml</span></pre><p>Note: The new nxml mode for emacs, when used in combination with
 psgml, provides a pretty good set of functionality that makes
 DocBook editing much less painless. In particular, nxml does syntax
 testing in real-time so that you can see syntax errors immediately
@@ -29,8 +26,8 @@
 nxml</code>.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-cvs" leftLabel="Prev" leftTitle="Initialize CVS (OPTIONAL)"
-		    rightLink="install-daemontools" rightLabel="Next" rightTitle="Install Daemontools (OPTIONAL)"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="install-more-software" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="install-cvs" leftLabel="Prev" leftTitle="Initialize CVS (OPTIONAL)"
+			rightLink="install-daemontools" rightLabel="Next" rightTitle="Install Daemontools (OPTIONAL)"
+			homeLink="index" homeLabel="Home" 
+			upLink="install-more-software" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html,v
diff -u -r1.43 -r1.44
--- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html	8 Nov 2017 09:42:11 -0000	1.43
+++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html	25 Apr 2018 08:38:28 -0000	1.44
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 'http://www.w3.org/TR/html4/loose.dtd"'>
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Add PSGML commands to emacs init file (OPTIONAL)</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="install-more-software.html" title="Appendix B. Install additional supporting software"><link rel="previous" href="install-cvs.html" title="Initialize CVS (OPTIONAL)"><link rel="next" href="install-daemontools.html" title="Install Daemontools (OPTIONAL)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="install-cvs.html">Prev</a> </td><th width="60%" align="center">Appendix B. Install additional supporting software</th><td width="20%" align="right"> <a accesskey="n" href="install-daemontools.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="psgml-for-emacs"></a>Add PSGML commands to emacs init file (OPTIONAL)</h2></div></div></div>
       
-      <p><a class="indexterm" name="idp140623161896472"></a>
+      <p><a class="indexterm" name="idp140682186507336"></a>
 If you plan to write or edit any documentation with emacs, install a
       customized emacs configuration file with DocBook commands in the skeleton
       directory, so it will be used for all new users.  The file also
Index: openacs-4/packages/acs-core-docs/www/psgml-mode.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-mode.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/psgml-mode.adp	8 Nov 2017 09:42:11 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/psgml-mode.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Using PSGML mode in Emacs</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="docbook-primer" leftLabel="Prev"
-		    title="
-Chapter 13. Documentation Standards"
-		    rightLink="nxml-mode" rightLabel="Next">
-		<div class="sect1">
+			leftLink="docbook-primer" leftLabel="Prev"
+			title="Chapter 13. Documentation
+Standards"
+			rightLink="nxml-mode" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="psgml-mode" id="psgml-mode"></a>Using PSGML mode in Emacs</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By David Lutterkort</span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>Note: <code class="computeroutput">nxml</code> mode replaces
 and/or complements psgml mode. <a class="ulink" href="http://www.xmlhack.com/read.php?item=2061" target="_top">More
@@ -139,16 +139,15 @@
 </table></div>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="psgml-mode-reading" id="psgml-mode-reading"></a>Further reading</h3></div></div></div><p>Start with the <a class="xref" href="docbook-primer" title="OpenACS Documentation Guide">the section called
-&ldquo;OpenACS Documentation
-Guide&rdquo;</a>
+<a name="psgml-mode-reading" id="psgml-mode-reading"></a>Further reading</h3></div></div></div><p>Start with the <a class="xref" href="docbook-primer" title="OpenACS Documentation Guide">the section called “OpenACS
+Documentation Guide”</a>
 </p><p><span class="cvstag">($&zwnj;Id: psgml-mode.xml,v 1.9 2017/08/07
 23:47:54 gustafn Exp $)</span></p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="docbook-primer" leftLabel="Prev" leftTitle="OpenACS Documentation Guide"
-		    rightLink="nxml-mode" rightLabel="Next" rightTitle="Using nXML mode in Emacs"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="doc-standards" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="docbook-primer" leftLabel="Prev" leftTitle="OpenACS Documentation Guide"
+			rightLink="nxml-mode" rightLabel="Next" rightTitle="Using nXML mode in Emacs"
+			homeLink="index" homeLabel="Home" 
+			upLink="doc-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/release-notes.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/release-notes.adp,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/acs-core-docs/www/release-notes.adp	18 Apr 2018 09:09:12 -0000	1.6
+++ openacs-4/packages/acs-core-docs/www/release-notes.adp	25 Apr 2018 08:38:28 -0000	1.7
@@ -3,12 +3,11 @@
 <property name="doc(title)">OpenACS Release Notes</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="openacs-overview" leftLabel="Prev"
-		    title="
-Chapter 1. High level information: What is
-OpenACS?"
-		    rightLink="acs-admin" rightLabel="Next">
-		<div class="sect1">
+			leftLink="openacs-overview" leftLabel="Prev"
+			title="Chapter 1. High level
+information: What is OpenACS?"
+			rightLink="acs-admin" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="release-notes" id="release-notes"></a>OpenACS Release Notes</h2></div></div></div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -419,13 +418,12 @@
 </ul></div><p>Altogether, OpenACS 5.9.1 differs from OpenACS 5.9.1 by the
 following statistics</p><pre class="programlisting">
        3548 files changed, 113292 insertions(+), 90507 deletions(-)
-    
-</pre><p>contributed by 5 committers (Michael Aram, Gustaf Neumann,
+    </pre><p>contributed by 5 committers (Michael Aram, Gustaf Neumann,
 Antonio Pisano, Hector Romojaro, Thomas Renner) and 8 patch/bugfix
-providers (Frank Bergmann, GÃ&amp;frac14;nter Ernst, Brian
-Fenton, Felix Mödritscher, Marcus Moser, Franz Penz,
-Stefan Sobernig, Michael Steigman). All packages of the release
-were tested with PostgreSQL 9.6.* and Tcl 8.5.*.</p><p>For more details, consult the <a class="ulink" href="" target="_top">raw ChangeLog</a>.</p>
+providers (Frank Bergmann, Günter Ernst, Brian Fenton, Felix
+Mödritscher, Marcus Moser, Franz Penz, Stefan Sobernig, Michael
+Steigman). All packages of the release were tested with PostgreSQL
+9.6.* and Tcl 8.5.*.</p><p>For more details, consult the <a class="ulink" href="" target="_top">raw ChangeLog</a>.</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="release-notes-5-9-0" id="release-notes-5-9-0"></a>Release 5.9.0</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
@@ -523,13 +521,12 @@
 </ul></div><p>Altogether, OpenACS 5.9.0 differs from OpenACS 5.8.1 by the
 following statistics</p><pre class="programlisting">
       3658 files changed, 120800 insertions(+), 97617 deletions(-)
-    
-</pre><p>contributed by 4 committers (Michael Aram, Victor Guerra, Gustaf
+    </pre><p>contributed by 4 committers (Michael Aram, Victor Guerra, Gustaf
 Neumann, Antonio Pisano) and patch/bugfix providers (Frank
-Bergmann, Andrew Helsley, Felix Mödritscher, Marcos
-Moser, Franz Penz, Thomas Renner). These are significantly more
-changes as the differences in the last releases. All packages of
-the release were tested with PostgreSQL 9.4.* and Tcl 8.5.*.</p><p>For more details, consult the <a class="ulink" href="" target="_top">raw ChangeLog</a>.</p>
+Bergmann, Andrew Helsley, Felix Mödritscher, Marcos Moser, Franz
+Penz, Thomas Renner). These are significantly more changes as the
+differences in the last releases. All packages of the release were
+tested with PostgreSQL 9.4.* and Tcl 8.5.*.</p><p>For more details, consult the <a class="ulink" href="" target="_top">raw ChangeLog</a>.</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="release-notes-5-8-1" id="release-notes-5-8-1"></a>Release 5.8.1</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
@@ -709,8 +706,8 @@
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="release-notes-5-1-2" id="release-notes-5-1-2"></a>Release 5.1.2</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
-<li class="listitem"><p>Translations synchronized with the translation server. Basque and
-Catalan added.</p></li><li class="listitem"><p>For a complete change list, see the Change list since 5.1.0 in
+<li class="listitem"><p>Translations synchronized with the translation server. Basque
+and Catalan added.</p></li><li class="listitem"><p>For a complete change list, see the Change list since 5.1.0 in
 <a class="xref" href="">???</a>.</p></li>
 </ul></div>
 </div><div class="sect2">
@@ -766,11 +763,10 @@
 contains work done on the translation server
 http://translate.openacs.org through 7 Nov 2003.</p><p>Please report bugs using our <a class="ulink" href="http://openacs.org/bugtracker/openacs/" target="_top">Bug
 Tracker</a> at the <a class="ulink" href="http://openacs.org/" target="_top">OpenACS website</a>.</p><p>You may want to begin by reading our installation documentation
-for <a class="xref" href="unix-installation" title="a Unix-like system">the section called &ldquo;a
-Unix-like system&rdquo;</a>. Note that the Windows
-documentation is not current for OpenACS 5.9.0, but an alternative
-is to use John Sequeira&#39;s <a class="ulink" href="http://www.jsequeira.com/oasis/about.html" target="_top">Oasis VM
-project</a>.</p><p>After installation, the full documentation set can be found by
+for <a class="xref" href="unix-installation" title="a Unix-like system">the section called “a Unix-like
+system”</a>. Note that the Windows documentation is not current for
+OpenACS 5.9.0, but an alternative is to use John Sequeira&#39;s
+<a class="ulink" href="http://www.jsequeira.com/oasis/about.html" target="_top">Oasis VM project</a>.</p><p>After installation, the full documentation set can be found by
 visiting <code class="filename">http://yourserver/doc</code>.</p><p>New features in this release:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>Internationalization support. A message catalog to store
 translated text, localization of dates, number formatting, timezone
@@ -819,26 +815,26 @@
 turned off by default via the acs-kernel parameter ExcludedFiles in
 section request-processor (The variable provides a string match
 glob list of files and is defaulted to "*/CVS/* *~")</p></li>
-</ul></div><p><span class="cvstag">($&zwnj;Id: release-notes.xml,v 1.31 2017/08/07
-23:47:54 gustafn Exp $)</span></p>
+</ul></div><p><span class="cvstag">($&zwnj;Id: release-notes.xml,v 1.34 2018/04/18
+09:09:12 hectorr Exp $)</span></p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623178188216" id="idp140623178188216"></a>Release 4.6.3</h3></div></div></div><p><a class="ulink" href="release-notes-4-6-3" target="_top">Release Notes for 4.6.3</a></p>
+<a name="idp140682192466872" id="idp140682192466872"></a>Release 4.6.3</h3></div></div></div><p><a class="ulink" href="release-notes-4-6-3" target="_top">Release Notes for 4.6.3</a></p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623178401176" id="idp140623178401176"></a>Release 4.6.2</h3></div></div></div><p><a class="ulink" href="release-notes-4-6-2" target="_top">Release Notes for 4.6.2</a></p>
+<a name="idp140682192489224" id="idp140682192489224"></a>Release 4.6.2</h3></div></div></div><p><a class="ulink" href="release-notes-4-6-2" target="_top">Release Notes for 4.6.2</a></p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623178402712" id="idp140623178402712"></a>Release 4.6</h3></div></div></div><p><a class="ulink" href="release-notes-4-6" target="_top">Release Notes for 4.6</a></p>
+<a name="idp140682192490856" id="idp140682192490856"></a>Release 4.6</h3></div></div></div><p><a class="ulink" href="release-notes-4-6" target="_top">Release Notes for 4.6</a></p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623178404344" id="idp140623178404344"></a>Release 4.5</h3></div></div></div><p><a class="ulink" href="release-notes-4-5" target="_top">Release Notes for 4.5</a></p>
+<a name="idp140682192492552" id="idp140682192492552"></a>Release 4.5</h3></div></div></div><p><a class="ulink" href="release-notes-4-5" target="_top">Release Notes for 4.5</a></p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="openacs-overview" leftLabel="Prev" leftTitle="Overview"
-		    rightLink="acs-admin" rightLabel="Next" rightTitle="
+			leftLink="openacs-overview" leftLabel="Prev" leftTitle="Overview"
+			rightLink="acs-admin" rightLabel="Next" rightTitle="
 Part II. Administrator&#39;s Guide"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="general-documents" upLabel="Up"> 
-		
+			homeLink="index" homeLabel="Home" 
+			upLink="general-documents" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/release-notes.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/release-notes.html,v
diff -u -r1.60 -r1.61
--- openacs-4/packages/acs-core-docs/www/release-notes.html	18 Apr 2018 09:09:12 -0000	1.60
+++ openacs-4/packages/acs-core-docs/www/release-notes.html	25 Apr 2018 08:38:28 -0000	1.61
@@ -1457,23 +1457,23 @@
   </div>
 
 
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623178188216"></a>Release 4.6.3</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682192466872"></a>Release 4.6.3</h3></div></div></div>
     
     <p><a class="ulink" href="release-notes-4-6-3.html" target="_top">Release Notes for 4.6.3</a></p>
   </div>
 
 
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623178401176"></a>Release 4.6.2</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682192489224"></a>Release 4.6.2</h3></div></div></div>
     
     <p><a class="ulink" href="release-notes-4-6-2.html" target="_top">Release Notes for 4.6.2</a></p>
   </div>
 
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623178402712"></a>Release 4.6</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682192490856"></a>Release 4.6</h3></div></div></div>
     
     <p><a class="ulink" href="release-notes-4-6.html" target="_top">Release Notes for 4.6</a></p>
   </div>
 
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623178404344"></a>Release 4.5</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682192492552"></a>Release 4.5</h3></div></div></div>
     
     <p><a class="ulink" href="release-notes-4-5.html" target="_top">Release Notes for 4.5</a></p>
   </div>
Index: openacs-4/packages/acs-core-docs/www/releasing-openacs-core.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-openacs-core.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/releasing-openacs-core.adp	29 Mar 2018 20:23:42 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/releasing-openacs-core.adp	25 Apr 2018 08:38:28 -0000	1.5
@@ -3,18 +3,17 @@
 <property name="doc(title)">OpenACS Core and .LRN</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="releasing-openacs" leftLabel="Prev"
-		    title="
-Chapter 16. Releasing OpenACS"
-		    rightLink="update-repository" rightLabel="Next">
-		<div class="section">
+			leftLink="releasing-openacs" leftLabel="Prev"
+			title="Chapter 16. Releasing
+OpenACS"
+			rightLink="update-repository" rightLabel="Next">
+		    <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="releasing-openacs-core" id="releasing-openacs-core"></a>OpenACS
 Core and .LRN</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>
-<strong>Update Translations. </strong><a class="xref" href="update-translations" title="How to Update the translations">the section called
-&ldquo;How to Update the
-translations&rdquo;</a>
+<strong>Update Translations. </strong><a class="xref" href="update-translations" title="How to Update the translations">the section called “How to Update
+the translations”</a>
 </p></li><li class="listitem">
 <p>
 <strong>Rebuild the Changelog. </strong> Rebuild the
@@ -27,10 +26,9 @@
 cvs2cl -F <em class="replaceable"><code>oacs-5-0</code></em> --delta <em class="replaceable"><code>openacs-5-0-1-final</code></em>:<em class="replaceable"><code>oacs-5-0</code></em> -f ChangeLog-recent</span></pre>
 </li><li class="listitem">
 <p>
-<strong>Update Version Numbers. </strong> The
-version numbers in the documentation and in the packages must be
-updated. This should only happen after a release candidate is
-approved.</p><p class="remark"><em><span class="remark">.LRN: this must be
+<strong>Update Version Numbers. </strong> The version
+numbers in the documentation and in the packages must be updated.
+This should only happen after a release candidate is approved.</p><p class="remark"><em><span class="remark">.LRN: this must be
 repeated for .LRN modules (dotlrn-core in the dotlrn cvs tree) and
 for any modified modules in the .LRN prerequisites (dotlrn-prereq
 in OpenACS cvs tree). My current working model is that I
@@ -46,8 +44,7 @@
 /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml</p></li><li class="listitem">
 <p>Regenerate all HTML docs</p><pre class="screen">
 cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/xml
-make
-</pre>
+make</pre>
 </li><li class="listitem"><p>Update /var/lib/aolserver/$OPENACS_SERVICE_NAME/readme.txt with
 the new version number</p></li><li class="listitem">
 <p>Update version number and release date in all of the core
@@ -63,8 +60,8 @@
 </ol></div>
 </li><li class="listitem">
 <p>
-<strong>Tag the files in CVS. </strong> The steps to
-this point should have ensured that the head of the current branch
+<strong>Tag the files in CVS. </strong> The steps to this
+point should have ensured that the head of the current branch
 contains the full set of code to release. Now we need to tag it as
 the code to be released.</p><div class="orderedlist"><ol class="orderedlist" type="a">
 <li class="listitem">
@@ -96,8 +93,7 @@
 feature freeze. Branching is almost the same as tagging, except for
 the flag and slightly different tag nomenclature. To see the list
 of old branches, <code class="computeroutput">cvs status -v
-somefile</code>.</p><pre class="screen">
-cvs tag -b <em class="replaceable"><code>oacs-5-0</code></em>
+somefile</code>.</p><pre class="screen">cvs tag -b <em class="replaceable"><code>oacs-5-0</code></em>
 </pre>
 </div><p>If doing .LRN: Since the .LRN packages aren&#39;t all in one
 module, we iterate through all of the modules. Log in first (cvs
@@ -164,27 +160,25 @@
 </li>
 </ul></div>
 </li><li class="listitem"><p>
-<strong>Test the new tarball(s). </strong> Download
-the tarballs just created and install them and make sure everything
+<strong>Test the new tarball(s). </strong> Download the
+tarballs just created and install them and make sure everything
 looks okay and that automated tests pass.</p></li><li class="listitem">
 <p>
-<strong>Update Web site. </strong> Update the
-different places on OpenACS.org where we track status.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
+<strong>Update Web site. </strong> Update the different
+places on OpenACS.org where we track status.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>Release Status for the current version - something like
 http://openacs.org/projects/openacs/5.0/milestones</p></li><li class="listitem"><p>Home page of openacs.org</p></li><li class="listitem"><p>Post a new news item</p></li>
 </ul></div>
 </li><li class="listitem">
 <p>
-<strong>Clean Up. </strong> Clean up after
-yourself.</p><pre class="screen"><span class="action">cd /var/tmp
+<strong>Clean Up. </strong> Clean up after yourself.</p><pre class="screen"><span class="action">cd /var/tmp
 rm -rf tarball dotlrn-tarball dotlrn-packages openacs-<em class="replaceable"><code>5.0.0a1</code></em>
 rm -rf /var/tmp/openacs-4</span></pre>
 </li>
 </ol></div><p>Here is a shell script that automates packaging the tarball
 (it&#39;s a bit out of date with the new steps - I&#39;ve been
 doing everything manually or with little throwaway scripts as
-detailed above until the process is stabilized).</p><pre class="programlisting">
-#!/bin/bash
+detailed above until the process is stabilized).</p><pre class="programlisting">#!/bin/bash
 
 # if TAG=1 create the cvs tags otherwise assume they exist.
 TAG=1
@@ -245,7 +239,7 @@
 mkdir tarball
 cd tarball
 cvs -d $OACS_CVSROOT export -r openacs-$OACS_VERSION acs-core
-mv openacs-4 openacs-${OACS_VERSION//-/.}
+mv opeancs-4 openacs-${OACS_VERSION//-/.}
 tar -czf ../openacs-${OACS_VERSION//-/.}.tar.gz openacs-${OACS_VERSION//-/.}
 cd ..
 
@@ -265,14 +259,14 @@
 
 # Clean up after ourselves...
 cd $BASE &amp;&amp; rm -rf dotlrn-tarball tarball openacs-4 dotlrn-packages
-</pre><p><span class="cvstag">($&zwnj;Id: releasing-openacs.xml,v 1.23
-2017/08/07 23:47:54 gustafn Exp $)</span></p>
+</pre><p><span class="cvstag">($&zwnj;Id: releasing-openacs.xml,v 1.24
+2017/12/24 13:15:07 gustafn Exp $)</span></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="releasing-openacs" leftLabel="Prev" leftTitle="
-Chapter 16. Releasing OpenACS"
-		    rightLink="update-repository" rightLabel="Next" rightTitle="How to Update the OpenACS.org
+			leftLink="releasing-openacs" leftLabel="Prev" leftTitle="Chapter 16. Releasing
+OpenACS"
+			rightLink="update-repository" rightLabel="Next" rightTitle="How to Update the OpenACS.org
 repository"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="releasing-openacs" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="releasing-openacs" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html,v
diff -u -r1.23 -r1.24
--- openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html	29 Mar 2018 20:23:43 -0000	1.23
+++ openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html	25 Apr 2018 08:38:28 -0000	1.24
@@ -240,7 +240,7 @@
 mkdir tarball
 cd tarball
 cvs -d $OACS_CVSROOT export -r openacs-$OACS_VERSION acs-core
-mv openacs-4 openacs-${OACS_VERSION//-/.}
+mv opeancs-4 openacs-${OACS_VERSION//-/.}
 tar -czf ../openacs-${OACS_VERSION//-/.}.tar.gz openacs-${OACS_VERSION//-/.}
 cd ..
 
Index: openacs-4/packages/acs-core-docs/www/releasing-openacs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-openacs.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/releasing-openacs.adp	7 Aug 2017 23:47:52 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/releasing-openacs.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -1,15 +1,13 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 16. Releasing
-OpenACS}</property>
-<property name="doc(title)">Chapter 16. Releasing
-OpenACS</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 16. Releasing OpenACS}</property>
+<property name="doc(title)">Chapter 16. Releasing OpenACS</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="ext-auth-requirements" leftLabel="Prev"
-		    title="Part IV. For
-OpenACS Platform Developers"
-		    rightLink="releasing-openacs-core" rightLabel="Next">
-		<div class="chapter">
+			leftLink="ext-auth-requirements" leftLabel="Prev"
+			title="Part IV. For OpenACS
+Platform Developers"
+			rightLink="releasing-openacs-core" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="releasing-openacs" id="releasing-openacs"></a>Chapter 16. Releasing
 OpenACS</h2></div></div></div><div class="toc">
@@ -22,9 +20,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="ext-auth-requirements" leftLabel="Prev" leftTitle="External Authentication
+			leftLink="ext-auth-requirements" leftLabel="Prev" leftTitle="External Authentication
 Requirements"
-		    rightLink="releasing-openacs-core" rightLabel="Next" rightTitle="OpenACS Core and .LRN"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-plat-dev" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="releasing-openacs-core" rightLabel="Next" rightTitle="OpenACS Core and .LRN"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-plat-dev" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/releasing-package.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-package.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/releasing-package.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/releasing-package.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">How to package and release an OpenACS Package</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="update-repository" leftLabel="Prev"
-		    title="
-Chapter 16. Releasing OpenACS"
-		    rightLink="update-translations" rightLabel="Next">
-		<div class="section">
+			leftLink="update-repository" leftLabel="Prev"
+			title="Chapter 16. Releasing
+OpenACS"
+			rightLink="update-translations" rightLabel="Next">
+		    <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="releasing-package" id="releasing-package"></a>How to package and release an OpenACS
 Package</h2></div></div></div><p>In this example, we are packaging and releasing <code class="computeroutput">myfirstpackage</code> as version 1.0.0, which is
@@ -23,9 +23,9 @@
 hours, ask for help on the OpenACS.org development forum.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="update-repository" leftLabel="Prev" leftTitle="How to Update the OpenACS.org
+			leftLink="update-repository" leftLabel="Prev" leftTitle="How to Update the OpenACS.org
 repository"
-		    rightLink="update-translations" rightLabel="Next" rightTitle="How to Update the translations"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="releasing-openacs" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="update-translations" rightLabel="Next" rightTitle="How to Update the translations"
+			homeLink="index" homeLabel="Home" 
+			upLink="releasing-openacs" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/remote-postgres.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/remote-postgres.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/remote-postgres.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/remote-postgres.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Running a PostgreSQL database on another server</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="database-management" leftLabel="Prev"
-		    title="
-Chapter 7. Database Management"
-		    rightLink="install-openacs-delete-tablespace" rightLabel="Next">
-		<div class="sect1">
+			leftLink="database-management" leftLabel="Prev"
+			title="Chapter 7. Database
+Management"
+			rightLink="install-openacs-delete-tablespace" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="remote-postgres" id="remote-postgres"></a>Running a PostgreSQL database on another
 server</h2></div></div></div><p>To run a database on a different machine than the webserver
@@ -17,11 +17,7 @@
 <li class="listitem">
 <p>Edit the database configuration file, which in a Reference
 install is located at <code class="computeroutput">/usr/local/pgsql/data/postgresql.conf</code> and
-change</p><pre class="programlisting">
-#tcpip_socket = false
-</pre><p>to</p><pre class="programlisting">
-tcpip_socket = true
-</pre>
+change</p><pre class="programlisting">#tcpip_socket = false</pre><p>to</p><pre class="programlisting">tcpip_socket = true</pre>
 </li><li class="listitem"><p>Change the access control file for the database to permit
 specific remote clients to access. Access can be controlled ...
 (add notes from forum post)</p></li><li class="listitem">
@@ -32,9 +28,9 @@
 </ul></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="database-management" leftLabel="Prev" leftTitle="
-Chapter 7. Database Management"
-		    rightLink="install-openacs-delete-tablespace" rightLabel="Next" rightTitle="Deleting a tablespace"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="database-management" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="database-management" leftLabel="Prev" leftTitle="Chapter 7. Database
+Management"
+			rightLink="install-openacs-delete-tablespace" rightLabel="Next" rightTitle="Deleting a tablespace"
+			homeLink="index" homeLabel="Home" 
+			upLink="database-management" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/request-processor.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/request-processor.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/request-processor.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/request-processor.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">The Request Processor</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="objects" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="db-api" rightLabel="Next">
-		<div class="sect1">
+			leftLink="objects" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="db-api" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="request-processor" id="request-processor"></a>The Request Processor</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Pete Su</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -108,9 +108,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="objects" leftLabel="Prev" leftTitle="OpenACS Data Models and the Object
+			leftLink="objects" leftLabel="Prev" leftTitle="OpenACS Data Models and the Object
 System"
-		    rightLink="db-api" rightLabel="Next" rightTitle="The OpenACS Database Access API"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="db-api" rightLabel="Next" rightTitle="The OpenACS Database Access API"
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/requirements-template.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/requirements-template.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/requirements-template.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/requirements-template.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">System/Application Requirements Template</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="filename" leftLabel="Prev"
-		    title="
-Chapter 13. Documentation Standards"
-		    rightLink="i18n" rightLabel="Next">
-		<div class="sect1">
+			leftLink="filename" leftLabel="Prev"
+			title="Chapter 13. Documentation
+Standards"
+			rightLink="i18n" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="requirements-template" id="requirements-template"></a>System/Application Requirements
 Template</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:youremail\@example.com" target="_top">You</a>
@@ -129,10 +129,10 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="filename" leftLabel="Prev" leftTitle="Detailed Design Documentation
+			leftLink="filename" leftLabel="Prev" leftTitle="Detailed Design Documentation
 Template"
-		    rightLink="i18n" rightLabel="Next" rightTitle="
+			rightLink="i18n" rightLabel="Next" rightTitle="
 Chapter 14. Internationalization"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="doc-standards" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="doc-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/rp-design.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-design.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/rp-design.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/rp-design.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Request Processor Design</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="rp-requirements" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="tcl-doc" rightLabel="Next">
-		<div class="sect1">
+			leftLink="rp-requirements" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="tcl-doc" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="rp-design" id="rp-design"></a>Request Processor Design</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="http://planitia.org" target="_top">Rafael H.
 Schloming</a>
@@ -235,9 +235,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="rp-requirements" leftLabel="Prev" leftTitle="Request Processor Requirements"
-		    rightLink="tcl-doc" rightLabel="Next" rightTitle="Documenting Tcl Files: Page Contracts
+			leftLink="rp-requirements" leftLabel="Prev" leftTitle="Request Processor Requirements"
+			rightLink="tcl-doc" rightLabel="Next" rightTitle="Documenting Tcl Files: Page Contracts
 and Libraries"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/rp-requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-requirements.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/rp-requirements.adp	11 Apr 2018 21:35:06 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/rp-requirements.adp	25 Apr 2018 08:38:28 -0000	1.5
@@ -3,11 +3,11 @@
 <property name="doc(title)">Request Processor Requirements</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="security-notes" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="rp-design" rightLabel="Next">
-		<div class="sect1">
+			leftLink="security-notes" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="rp-design" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="rp-requirements" id="rp-requirements"></a>Request Processor Requirements</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="http://planitia.org" target="_top">Rafael H.
 Schloming</a>
@@ -63,7 +63,7 @@
 Context</strong></span></p><div class="blockquote"><blockquote class="blockquote"><p>
 <span class="strong"><strong>20.10</strong></span> The request
 processor must be able to determine a primary context or state
-associated with a pageroot based on its location within the
+associated with a pageroot based on it&#39;s location within the
 URL space.</p></blockquote></div><p><span class="strong"><strong>30.0
 Authentication</strong></span></p><div class="blockquote"><blockquote class="blockquote"><p>
 <span class="strong"><strong>30.10</strong></span> The request
@@ -77,8 +77,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="security-notes" leftLabel="Prev" leftTitle="Security Notes"
-		    rightLink="rp-design" rightLabel="Next" rightTitle="Request Processor Design"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
+			leftLink="security-notes" leftLabel="Prev" leftTitle="Security Notes"
+			rightLink="rp-design" rightLabel="Next" rightTitle="Request Processor Design"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/rp-requirements.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-requirements.html,v
diff -u -r1.36 -r1.37
--- openacs-4/packages/acs-core-docs/www/rp-requirements.html	11 Apr 2018 21:35:06 -0000	1.36
+++ openacs-4/packages/acs-core-docs/www/rp-requirements.html	25 Apr 2018 08:38:28 -0000	1.37
@@ -92,7 +92,7 @@
 
 <div class="blockquote"><blockquote class="blockquote">
 <p><span class="strong"><strong>20.10</strong></span> The request processor must be able to determine a primary context
-or state associated with a pageroot based on its location within the URL
+or state associated with a pageroot based on it's location within the URL
 space.</p>
 </blockquote></div>
 
Index: openacs-4/packages/acs-core-docs/www/security-design.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-design.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/security-design.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/security-design.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Security Design</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="security-requirements" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="security-notes" rightLabel="Next">
-		<div class="sect1">
+			leftLink="security-requirements" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="security-notes" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="security-design" id="security-design"></a>Security Design</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Richard Li and Archit
 Shah</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
@@ -562,8 +562,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="security-requirements" leftLabel="Prev" leftTitle="Security Requirements"
-		    rightLink="security-notes" rightLabel="Next" rightTitle="Security Notes"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="security-requirements" leftLabel="Prev" leftTitle="Security Requirements"
+			rightLink="security-notes" rightLabel="Next" rightTitle="Security Notes"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/security-notes.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-notes.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/security-notes.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/security-notes.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Security Notes</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="security-design" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="rp-requirements" rightLabel="Next">
-		<div class="sect1">
+			leftLink="security-design" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="rp-requirements" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="security-notes" id="security-notes"></a>Security Notes</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Richard Li</span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>The security system was designed for security. Thus, decisions
 requiring trade-offs between ease-of-use and security tend to
@@ -70,8 +70,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="security-design" leftLabel="Prev" leftTitle="Security Design"
-		    rightLink="rp-requirements" rightLabel="Next" rightTitle="Request Processor Requirements"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="security-design" leftLabel="Prev" leftTitle="Security Design"
+			rightLink="rp-requirements" rightLabel="Next" rightTitle="Request Processor Requirements"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/security-requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-requirements.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/security-requirements.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/security-requirements.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Security Requirements</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="i18n-requirements" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="security-design" rightLabel="Next">
-		<div class="sect1">
+			leftLink="i18n-requirements" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="security-design" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="security-requirements" id="security-requirements"></a>Security
 Requirements</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Richard Li</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
@@ -81,9 +81,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="i18n-requirements" leftLabel="Prev" leftTitle="OpenACS Internationalization
+			leftLink="i18n-requirements" leftLabel="Prev" leftTitle="OpenACS Internationalization
 Requirements"
-		    rightLink="security-design" rightLabel="Next" rightTitle="Security Design"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="security-design" rightLabel="Next" rightTitle="Security Design"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/snapshot-backup.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/snapshot-backup.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/snapshot-backup.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/snapshot-backup.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Manual backup and recovery</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="install-next-backups" leftLabel="Prev"
-		    title="
-Chapter 8. Backup and Recovery"
-		    rightLink="automated-backup" rightLabel="Next">
-		<div class="sect1">
+			leftLink="install-next-backups" leftLabel="Prev"
+			title="Chapter 8. Backup and
+Recovery"
+			rightLink="automated-backup" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="snapshot-backup" id="snapshot-backup"></a>Manual backup and recovery</h2></div></div></div><p>This section describes how to make a one-time backup and restore
 of the files and database. This is useful for rolling back to
@@ -17,8 +17,7 @@
 the information needed to rebuild the site, including the AOLserver
 config files, is then in tree for regular file system backup.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
-<p><strong>Back up the database to a
-file. </strong></p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
+<p><strong>Back up the database to a file. </strong></p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
 <p>
 <a name="oracle-snapshot-backup" id="oracle-snapshot-backup"></a><strong>Oracle. </strong>
@@ -27,15 +26,13 @@
 <code class="filename">/var/tmp/export-oracle.txt</code>
 </p></li><li class="listitem">
 <p>Login as root. The following commands will install the export
-script:</p><pre class="programlisting">
-[joeuser ~]$ <strong class="userinput"><code>su -</code></strong>
+script:</p><pre class="programlisting">[joeuser ~]$ <strong class="userinput"><code>su -</code></strong>
 [root ~]# <strong class="userinput"><code>cp /var/tmp/export-oracle.txt /usr/sbin/export-oracle</code></strong>
 [root ~]# <strong class="userinput"><code>chmod 700 /usr/sbin/export-oracle</code></strong>
 </pre>
 </li><li class="listitem">
 <p>Setup the export directory; this is the directory where backups
-will be stored. We recommend the directory <code class="filename">/ora8/m02/oracle-exports</code>.</p><pre class="programlisting">
-[root ~]# <strong class="userinput"><code>mkdir <em class="replaceable"><code>/ora8/m02/</code></em>oracle-exports</code></strong>
+will be stored. We recommend the directory <code class="filename">/ora8/m02/oracle-exports</code>.</p><pre class="programlisting">[root ~]# <strong class="userinput"><code>mkdir <em class="replaceable"><code>/ora8/m02/</code></em>oracle-exports</code></strong>
 [root ~]# <strong class="userinput"><code>chown oracle:dba <em class="replaceable"><code>/ora8/m02/</code></em>oracle-exports</code></strong>
 [root ~]# <strong class="userinput"><code>chmod 770 <em class="replaceable"><code>/ora8/m02/</code></em>oracle-exports</code></strong>
 </pre>
@@ -46,8 +43,7 @@
 their correct values. If you want to use a directory other than
 <code class="filename">/ora8/m02/oracle-exports</code>, you also
 need to change the <code class="computeroutput">exportdir</code>
-setting.</p><p>Test the export procedure by running the command:</p><pre class="programlisting">
-[root ~]# <strong class="userinput"><code>/usr/sbin/export-oracle</code></strong>
+setting.</p><p>Test the export procedure by running the command:</p><pre class="programlisting">[root ~]# <strong class="userinput"><code>/usr/sbin/export-oracle</code></strong>
 mv: /ora8/m02/oracle-exports/oraexport-service_name.dmp.gz: No such file or directory
 
 Export: Release 8.1.6.1.0 - Production on Sun Jun 11 18:07:45 2000
@@ -82,16 +78,14 @@
   . exporting dimensions
   . exporting post-schema procedural objects and actions
   . exporting statistics
-Export terminated successfully without warnings.
-</pre>
+Export terminated successfully without warnings.</pre>
 </li>
 </ul></div>
 </li><li class="listitem">
 <p>
-<a name="postgres-snapshot-backup" id="postgres-snapshot-backup"></a><strong>PostgreSQL. </strong> Create a backup file and
-verify that it was created and has a reasonable size (several
-megabytes).</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - $OPENACS_SERVICE_NAME</code></strong>
+<a name="postgres-snapshot-backup" id="postgres-snapshot-backup"></a><strong>PostgreSQL. </strong>
+Create a backup file and verify that it was created and has a
+reasonable size (several megabytes).</p><pre class="screen">[root root]# <strong class="userinput"><code>su - $OPENACS_SERVICE_NAME</code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>pg_dump -f /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/database-backup/before_upgrade_to_4.6.dmp <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>ls -al /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/database-backup/before_upgrade_to_4.6.dmp </code></strong>
@@ -107,9 +101,9 @@
 </ul></div>
 </li><li class="listitem">
 <a name="backup-file-system" id="backup-file-system"></a><p>
-<strong>Back up the file system. </strong> Back up
-all of the files in the service, including the database backup file
-but excluding the auto-generated <code class="filename">supervise</code> directory, which is unnecessary and has
+<strong>Back up the file system. </strong> Back up all of
+the files in the service, including the database backup file but
+excluding the auto-generated <code class="filename">supervise</code> directory, which is unnecessary and has
 complicated permissions.</p><p>In the tar command,</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>
 <code class="computeroutput">c</code> create a new tar
@@ -126,19 +120,16 @@
 correct extensions.</p></li><li class="listitem"><p>The last clause, <code class="filename">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/</code>,
 specifies the starting point for backup. Tar defaults to recursive
 backup.</p></li>
-</ul></div><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+</ul></div><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>tar -cpsz --exclude /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/daemontools/supervise \
    --file /var/tmp/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>-backup.tar.gz /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/</code></strong>
 tar: Removing leading `/' from member names
-[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
-</pre>
+[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$</pre>
 </li><li class="listitem">
 <p>
 <strong>Suffer a catastrophic failure on your production
-system. </strong> (We&#39;ll simulate this step)</p><pre class="screen">
-[root root]# <strong class="userinput"><code>svc -d /service/$OPENACS_SERVICE_NAME</code></strong>
+system. </strong> (We&#39;ll simulate this step)</p><pre class="screen">[root root]# <strong class="userinput"><code>svc -d /service/$OPENACS_SERVICE_NAME</code></strong>
 [root root]# <strong class="userinput"><code>mv /var/lib/aolserver/$OPENACS_SERVICE_NAME/ /var/lib/aolserver/$OPENACS_SERVICE_NAME.lost</code></strong>
 [root root]#<strong class="userinput"><code> rm /service/$OPENACS_SERVICE_NAME</code></strong>
 rm: remove symbolic link `/service/$OPENACS_SERVICE_NAME'? y
@@ -154,8 +145,7 @@
 DROP USER
 [postgres pgsql]$ <strong class="userinput"><code>exit</code></strong>
 logout
-[root root]#
-</pre>
+[root root]#</pre>
 </li><li class="listitem">
 <p>
 <a name="recovery" id="recovery"></a><strong>Recovery. </strong>
@@ -165,8 +155,7 @@
 install material (OS CDs, OpenACS tarball and supporting software)
 and repeating the install guide. Recreate the service user
 (<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>).</p></li><li class="listitem">
-<p>Restore the OpenACS files and database backup file.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+<p>Restore the OpenACS files and database backup file.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cd /var/lib/aolserver</code></strong>
 [$OPENACS_SERVICE_NAME aolserver]$<strong class="userinput"><code> tar xzf /var/tmp/$OPENACS_SERVICE_NAME-backup.tar.gz</code></strong>
@@ -186,9 +175,8 @@
 </ol></div>
 </li><li class="listitem">
 <p>
-<a name="restore-postgres" id="restore-postgres"></a><strong>Postgres. </strong> If the database user does
-not already exist, create it.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - postgres</code></strong>
+<a name="restore-postgres" id="restore-postgres"></a><strong>Postgres. </strong> If the database user does not
+already exist, create it.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - postgres</code></strong>
 [postgres ~]$ <strong class="userinput"><code>createuser <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 Shall the new user be allowed to create databases? (y/n) <strong class="userinput"><code>y</code></strong>
@@ -201,8 +189,7 @@
 create any out-of-order database objects. Next, restore the
 database from the dump file. The restoration will show some error
 messages at the beginning for objects that were pre-created from
-the OpenACS initialization script, which can be ignored.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+the OpenACS initialization script, which can be ignored.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>createdb <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
@@ -213,13 +200,11 @@
 </code></strong><span class="emphasis"><em>(many lines omitted)</em></span>
 [$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>exit</code></strong>
 [postgres ~]$ <strong class="userinput"><code>exit</code></strong>
-logout
-</pre>
+logout</pre>
 </li>
 </ul></div>
 </li><li class="listitem">
-<p>Activate the service</p><pre class="screen">
-[root root]# <strong class="userinput"><code>ln -s /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/daemontools /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+<p>Activate the service</p><pre class="screen">[root root]# <strong class="userinput"><code>ln -s /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/etc/daemontools /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [root root]# <strong class="userinput"><code>sleep 10</code></strong>
 [root root]# <strong class="userinput"><code>svgroup web /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
@@ -231,8 +216,8 @@
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="install-next-backups" leftLabel="Prev" leftTitle="Backup Strategy"
-		    rightLink="automated-backup" rightLabel="Next" rightTitle="Automated Backup"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="backup-recovery" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="install-next-backups" leftLabel="Prev" leftTitle="Backup Strategy"
+			rightLink="automated-backup" rightLabel="Next" rightTitle="Automated Backup"
+			homeLink="index" homeLabel="Home" 
+			upLink="backup-recovery" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/style-guide.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/style-guide.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/style-guide.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/style-guide.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">OpenACS Style Guide</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="eng-standards" leftLabel="Prev"
-		    title="
-Chapter 12. Engineering Standards"
-		    rightLink="cvs-guidelines" rightLabel="Next">
-		<div class="sect1">
+			leftLink="eng-standards" leftLabel="Prev"
+			title="Chapter 12. Engineering
+Standards"
+			rightLink="cvs-guidelines" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="style-guide" id="style-guide"></a>OpenACS Style Guide</h2></div></div></div><p>By Jeff Davis</p><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -41,53 +41,52 @@
 ignored won&#39;t break anything, but if you follow the rules
 people will be able to understand your package much more
 easily.</p></li><li class="listitem"><p>
-<strong>Be literate in your programming. </strong>
-Use ad_proc, ad_library, and ad_page_contract to provide
-documentation for your code, use comments on your datamodel,
-explain what things mean and how they should work.</p></li><li class="listitem"><p>
-<strong>Test. </strong> Write test cases for your
-API and data model; test negative cases as well as positive;
-document your tests. Provide tests for bugs which are not yet
-fixed. Test, Test, Test.</p></li><li class="listitem"><p>
-<strong>Use namespaces. </strong> For new packages
-choose a namespace and place all procedures in it and in oracle
-create packages.</p></li><li class="listitem"><p>
+<strong>Be literate in your programming. </strong> Use
+ad_proc, ad_library, and ad_page_contract to provide documentation
+for your code, use comments on your datamodel, explain what things
+mean and how they should work.</p></li><li class="listitem"><p>
+<strong>Test. </strong> Write test cases for your API and
+data model; test negative cases as well as positive; document your
+tests. Provide tests for bugs which are not yet fixed. Test, Test,
+Test.</p></li><li class="listitem"><p>
+<strong>Use namespaces. </strong> For new packages choose a
+namespace and place all procedures in it and in oracle create
+packages.</p></li><li class="listitem"><p>
 <strong>Follow the constraint naming and the PL/SQL and PL/pgSQL
 rules. </strong> Naming constraints is important for
 upgradability and for consistency. Also, named constraints can be
 immensely helpful in developing good error handling. Following the
 PL/SQL and PL/pgSQL rules ensure that the procedures created can be
 handled similarly across both Oracle and PostgreSQL databases.</p></li><li class="listitem"><p>
-<strong>Follow the code formatting
-guidelines. </strong> The code base is very large and
-if things are formatted consistently it is easier to read. Also, if
-it conforms to the standard it won&#39;t be reformatted (which can
-mask the change history and making tracking down bugs much harder).
-Using spaces rather than tabs makes patches easier to read and
-manage and does not force other programmers to decipher what tab
-settings you had in place in your editor.</p></li><li class="listitem"><p>
-<strong>Use the standard APIs. </strong> Don&#39;t
-reinvent the wheel. Prefer extending an existing core API to
-creating your own. If something in the core does not meet your
-particular needs it probably won&#39;t meet others as well and
-fleshing out the core API&#39;s makes the toolkit more useful for
-everyone and more easily extended.</p></li><li class="listitem"><p>
+<strong>Follow the code formatting guidelines. </strong>
+The code base is very large and if things are formatted
+consistently it is easier to read. Also, if it conforms to the
+standard it won&#39;t be reformatted (which can mask the change
+history and making tracking down bugs much harder). Using spaces
+rather than tabs makes patches easier to read and manage and does
+not force other programmers to decipher what tab settings you had
+in place in your editor.</p></li><li class="listitem"><p>
+<strong>Use the standard APIs. </strong> Don&#39;t reinvent
+the wheel. Prefer extending an existing core API to creating your
+own. If something in the core does not meet your particular needs
+it probably won&#39;t meet others as well and fleshing out the core
+API&#39;s makes the toolkit more useful for everyone and more
+easily extended.</p></li><li class="listitem"><p>
 <strong>Make sure your datamodel create/drop scripts
 work. </strong> Break the table creation out from the
 package/stored procedure creation and use <code class="computeroutput">create or replace</code> where possible so that
 scripts can be sourced more than once. Make sure your drop script
 works if data has been inserted (and permissioned and notifications
 have been attached etc).</p></li><li class="listitem">
 <p>
-<strong>Practice CVS/Bug Tracker Hygiene. </strong>
-Commit your work. commit with sensible messages and include patch
-and bug numbers in your commit messages.</p><p>Create bug tracker tickets for things you are going to work on
+<strong>Practice CVS/Bug Tracker Hygiene. </strong> Commit
+your work. commit with sensible messages and include patch and bug
+numbers in your commit messages.</p><p>Create bug tracker tickets for things you are going to work on
 yourself (just in case you don&#39;t get to it and to act as a
 pointer for others who might encounter the same problem).</p>
 </li><li class="listitem"><p>
-<strong>Solicit code reviews. </strong> Ask others
-to look over your code and provide feedback and do the same for
-others.</p></li>
+<strong>Solicit code reviews. </strong> Ask others to look
+over your code and provide feedback and do the same for others.</p></li>
 </ol></div>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -104,9 +103,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="eng-standards" leftLabel="Prev" leftTitle="
-Chapter 12. Engineering Standards"
-		    rightLink="cvs-guidelines" rightLabel="Next" rightTitle="CVS Guidelines"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="eng-standards" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="eng-standards" leftLabel="Prev" leftTitle="Chapter 12. Engineering
+Standards"
+			rightLink="cvs-guidelines" rightLabel="Next" rightTitle="CVS Guidelines"
+			homeLink="index" homeLabel="Home" 
+			upLink="eng-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/subsites-design.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites-design.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/subsites-design.adp	11 Apr 2018 21:35:07 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/subsites-design.adp	25 Apr 2018 08:38:28 -0000	1.5
@@ -3,11 +3,11 @@
 <property name="doc(title)">Subsites Design Document</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="subsites-requirements" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="apm-requirements" rightLabel="Next">
-		<div class="sect1">
+			leftLink="subsites-requirements" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="apm-requirements" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="subsites-design" id="subsites-design"></a>Subsites Design Document</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="http://planitia.org" target="_top">Rafael H.
 Schloming</a>
@@ -217,7 +217,7 @@
 </code></pre>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="subsites-design-data-model" id="subsites-design-data-model"></a>Data Model Discussion</h3></div></div></div><p>The subsites implementation doesn&#39;t really have its own
+<a name="subsites-design-data-model" id="subsites-design-data-model"></a>Data Model Discussion</h3></div></div></div><p>The subsites implementation doesn&#39;t really have it&#39;s own
 data model, although it depends heavily on the site-nodes data
 model, and the APM data model.</p>
 </div><div class="sect2">
@@ -256,8 +256,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="subsites-requirements" leftLabel="Prev" leftTitle="Subsites Requirements"
-		    rightLink="apm-requirements" rightLabel="Next" rightTitle="Package Manager Requirements"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
+			leftLink="subsites-requirements" leftLabel="Prev" leftTitle="Subsites Requirements"
+			rightLink="apm-requirements" rightLabel="Next" rightTitle="Package Manager Requirements"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/subsites-design.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites-design.html,v
diff -u -r1.38 -r1.39
--- openacs-4/packages/acs-core-docs/www/subsites-design.html	11 Apr 2018 21:35:07 -0000	1.38
+++ openacs-4/packages/acs-core-docs/www/subsites-design.html	25 Apr 2018 08:38:28 -0000	1.39
@@ -303,7 +303,7 @@
 
 
 
-<p>The subsites implementation doesn't really have its own data
+<p>The subsites implementation doesn't really have it's own data
 model, although it depends heavily on the site-nodes data model, and the APM
 data model.</p>
 
Index: openacs-4/packages/acs-core-docs/www/subsites-requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites-requirements.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/subsites-requirements.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/subsites-requirements.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Subsites Requirements</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="groups-design" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="subsites-design" rightLabel="Next">
-		<div class="sect1">
+			leftLink="groups-design" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="subsites-design" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="subsites-requirements" id="subsites-requirements"></a>Subsites
 Requirements</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="http://planitia.org" target="_top">Rafael H. Schloming</a> and
@@ -141,8 +141,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="groups-design" leftLabel="Prev" leftTitle="Groups Design"
-		    rightLink="subsites-design" rightLabel="Next" rightTitle="Subsites Design Document"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="groups-design" leftLabel="Prev" leftTitle="Groups Design"
+			rightLink="subsites-design" rightLabel="Next" rightTitle="Subsites Design Document"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/subsites.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/subsites.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/subsites.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Writing OpenACS Application Pages</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="permissions" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="parties" rightLabel="Next">
-		<div class="sect1">
+			leftLink="permissions" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="parties" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="subsites" id="subsites"></a>Writing OpenACS Application Pages</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Rafael H. Schloming and Pete
 Su</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
@@ -245,8 +245,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="permissions" leftLabel="Prev" leftTitle="Groups, Context, Permissions"
-		    rightLink="parties" rightLabel="Next" rightTitle="Parties in OpenACS"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="permissions" leftLabel="Prev" leftTitle="Groups, Context, Permissions"
+			rightLink="parties" rightLabel="Next" rightTitle="Parties in OpenACS"
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tcl-doc.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tcl-doc.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tcl-doc.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tcl-doc.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Documenting Tcl Files: Page Contracts and Libraries</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="rp-design" leftLabel="Prev"
-		    title="
-Chapter 15. Kernel Documentation"
-		    rightLink="bootstrap-acs" rightLabel="Next">
-		<div class="sect1">
+			leftLink="rp-design" leftLabel="Prev"
+			title="Chapter 15. Kernel
+Documentation"
+			rightLink="bootstrap-acs" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tcl-doc" id="tcl-doc"></a>Documenting Tcl Files: Page Contracts and
 Libraries</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By <a class="ulink" href="mailto:jsalz\@mit.edu" target="_top">Jon Salz</a> on 3 July
@@ -225,8 +225,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="rp-design" leftLabel="Prev" leftTitle="Request Processor Design"
-		    rightLink="bootstrap-acs" rightLabel="Next" rightTitle="Bootstrapping OpenACS"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="kernel-doc" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="rp-design" leftLabel="Prev" leftTitle="Request Processor Design"
+			rightLink="bootstrap-acs" rightLabel="Next" rightTitle="Bootstrapping OpenACS"
+			homeLink="index" homeLabel="Home" 
+			upLink="kernel-doc" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/templates.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/templates.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/templates.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/templates.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Using Templates in OpenACS</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="db-api" leftLabel="Prev"
-		    title="
-Chapter 11. Development Reference"
-		    rightLink="permissions" rightLabel="Next">
-		<div class="sect1">
+			leftLink="db-api" leftLabel="Prev"
+			title="Chapter 11. Development
+Reference"
+			rightLink="permissions" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="templates" id="templates"></a>Using Templates in OpenACS</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">By Pete Su</span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -155,8 +155,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="db-api" leftLabel="Prev" leftTitle="The OpenACS Database Access API"
-		    rightLink="permissions" rightLabel="Next" rightTitle="Groups, Context, Permissions"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="dev-guide" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="db-api" leftLabel="Prev" leftTitle="The OpenACS Database Access API"
+			rightLink="permissions" rightLabel="Next" rightTitle="Groups, Context, Permissions"
+			homeLink="index" homeLabel="Home" 
+			upLink="dev-guide" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Admin Pages</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-comments" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-categories" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-comments" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-categories" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-admin-pages" id="tutorial-admin-pages"></a>Admin
 Pages</h2></div></div></div><p>There are at least two flavors of admin user interface:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
@@ -20,17 +20,14 @@
 that users aren&#39;t interested in or aren&#39;t allowed to see
 you will need dedicated admin pages. The conventional place to put
 those dedicated admin pages is in the <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/www/admin</code>
-directory.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>mkdir admin</code></strong>
-</pre><pre class="screen">
-[$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>cd admin</code></strong>
+directory.</p><pre class="screen">[$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>mkdir admin</code></strong>
+</pre><pre class="screen">[$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>cd admin</code></strong>
 </pre><p>Even if your application doesn&#39;t need any admin pages of its
 own you will usually need at least one simple page with a bunch of
 links to existing administration UI such as Category Management or
 standard Parameters UI. Adding the link to Category Management is
 described in the section on categories. The listing below adds a
-link to the Parameters UI of our package.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME admin]$ <strong class="userinput"><code>vi index.adp</code></strong>
+link to the Parameters UI of our package.</p><pre class="screen">[$OPENACS_SERVICE_NAME admin]$ <strong class="userinput"><code>vi index.adp</code></strong>
 </pre><pre class="programlisting">
 &lt;master&gt;
 &lt;property name="title"&gt;\@title;noquote\@&lt;/property&gt;
@@ -39,8 +36,7 @@
 &lt;ul class="action-links"&gt;
   &lt;li&gt;&lt;a href="\@parameters_url\@" title="Set parameters" class="action_link"&gt;Set parameters&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
-</pre><pre class="screen">
-[$OPENACS_SERVICE_NAME admin]$ <strong class="userinput"><code>vi index.tcl</code></strong>
+</pre><pre class="screen">[$OPENACS_SERVICE_NAME admin]$ <strong class="userinput"><code>vi index.tcl</code></strong>
 </pre><pre class="programlisting">
 ad_page_contract {} {
 } -properties {
@@ -92,8 +88,8 @@
 </ul></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-comments" leftLabel="Prev" leftTitle="Adding Comments"
-		    rightLink="tutorial-categories" rightLabel="Next" rightTitle="Categories"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-comments" leftLabel="Prev" leftTitle="Adding Comments"
+			rightLink="tutorial-categories" rightLabel="Next" rightTitle="Categories"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-advanced.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-advanced.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-advanced.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-advanced.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,15 +3,13 @@
 <property name="doc(title)">Chapter 10. Advanced Topics</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-debug" leftLabel="Prev"
-		    title="
-Part III. For OpenACS Package
-Developers"
-		    rightLink="tutorial-specs" rightLabel="Next">
-		<div class="chapter">
+			leftLink="tutorial-debug" leftLabel="Prev"
+			title="Part III. For OpenACS
+Package Developers"
+			rightLink="tutorial-specs" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="tutorial-advanced" id="tutorial-advanced"></a>Chapter 10. Advanced
-Topics</h2></div></div></div><div class="toc">
+<a name="tutorial-advanced" id="tutorial-advanced"></a>Chapter 10. Advanced Topics</h2></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="sect1"><a href="tutorial-specs">Write the
 Requirements and Design Specs</a></span></dt><dt><span class="sect1"><a href="tutorial-cvs">Add the new
@@ -38,9 +36,9 @@
 the basic tutorial.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-debug" leftLabel="Prev" leftTitle="Debugging and Automated Testing"
-		    rightLink="tutorial-specs" rightLabel="Next" rightTitle="Write the Requirements and Design
+			leftLink="tutorial-debug" leftLabel="Prev" leftTitle="Debugging and Automated Testing"
+			rightLink="tutorial-specs" rightLabel="Next" rightTitle="Write the Requirements and Design
 Specs"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-package-dev" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-package-dev" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-caching.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-caching.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-caching.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-caching.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Basic Caching</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-html-email" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-schedule-procs" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-html-email" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-schedule-procs" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-caching" id="tutorial-caching"></a>Basic Caching</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">Based on <a class="ulink" href="http://openacs.org/forums/message-view?message_id=157448" target="_top">a post by Dave Bauer</a>.</span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>Caching using the database API is described in the database API
 tutorial.</p><p>Caching using util_memoize</p><div class="orderedlist"><ol class="orderedlist" type="1">
@@ -18,13 +18,11 @@
 one argument, -foo, so the wrapper passes that on. The wrapper also
 uses the list command, to ensure that the arguments get passed
 correctly and to prevent commands passed in as arguments from being
-executed.</p><pre class="programlisting">
-ad_proc my_proc {-foo} {
+executed.</p><pre class="programlisting">ad_proc my_proc {-foo} {
         Get a cached version of my_proc.
 } {
     return [util_memoize [list my_proc_not_cached -foo $foo]]
-}
-</pre>
+}</pre>
 </li><li class="listitem"><p>In your code, always call my_proc. There will be a separate
 cache item for each unique call to my_proc_not_cached so that calls
 with different arguments are cached separately. You can flush the
@@ -46,9 +44,9 @@
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-html-email" leftLabel="Prev" leftTitle="Sending HTML email from your
+			leftLink="tutorial-html-email" leftLabel="Prev" leftTitle="Sending HTML email from your
 application"
-		    rightLink="tutorial-schedule-procs" rightLabel="Next" rightTitle="Scheduled Procedures"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="tutorial-schedule-procs" rightLabel="Next" rightTitle="Scheduled Procedures"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-categories.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-categories.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-categories.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-categories.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Categories</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-admin-pages" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="profile-code" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-admin-pages" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="profile-code" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-categories" id="tutorial-categories"></a>Categories</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">extended by <a class="ulink" href="mailto:nima.mazloumi\@gmx.de" target="_top">Nima
 Mazloumi</a>
@@ -30,16 +30,14 @@
 market segments etc. Before users of your application can take
 advantage of the Categories service there needs to be a way for
 administrators of your application to choose which category trees
-are applicable for the application.</p><p>The way to achieve this is is to provide a link to the Category
+are applicable for the application.</p><p>The way to achieve this is to provide a link to the Category
 Management pages. Add the following snippet to your <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/www/admin/index.tcl</code>
 file:</p><pre class="programlisting">
                   set category_map_url [export_vars -base "[site_node::get_package_url -package_key categories]cadmin/one-object" { { object_id $package_id } }]
-          
-</pre><p>and the following snippet to your <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/www/admin/index.adp</code>
+          </pre><p>and the following snippet to your <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/www/admin/index.adp</code>
 file:</p><pre class="programlisting">
                   &lt;a href="\@category_map_url\@"&gt;#­categories.Site_wide_Categories#&lt;/a&gt;
-          
-</pre><p>The link created by the above code (<code class="computeroutput">category_map_url</code>) will take the admin to
+          </pre><p>The link created by the above code (<code class="computeroutput">category_map_url</code>) will take the admin to
 the generic admin UI where he can pick category trees that make
 sense for this application. The same UI also includes facilities to
 build and edit category trees. Notice that the only parameter in
@@ -79,8 +77,7 @@
                                         ad_returnredirect "."
                                         ad_script_abort
                         }
-                        
-</pre><p>While the <code class="computeroutput">category::ad_form::add_widgets</code> proc is
+                        </pre><p>While the <code class="computeroutput">category::ad_form::add_widgets</code> proc is
 taking care to extend your form with associated categories you need
 to ensure that your items are mapped to the corresponding category
 object yourself. Also since the categories package knows nothing
@@ -89,8 +86,7 @@
 listed in the categories browser by title.</p><p>Make sure that you also delete these entries if your item is
 delete. Add this to your corresponding delete page:</p><pre class="programlisting">
                         db_dml delete_named_object "delete from acs_named_objects where object_id = :item_id"
-                        
-</pre><p>
+                        </pre><p>
 <code class="computeroutput">note-edit.tcl</code> requires a
 <code class="computeroutput">note_id</code> to determine which
 record should be deleted. It also looks for a confirmation
@@ -104,8 +100,7 @@
 delete the record, set redirection back to the index, and abort
 script execution.</p><p>The database commands:</p><pre class="screen">
 [$OPENACS_SERVICE_NAME\@yourserver www]$ <strong class="userinput"><code>emacs note-delete.xql</code></strong>
-</pre><pre class="programlisting">
-&lt;?xml version="1.0"?&gt;
+</pre><pre class="programlisting">&lt;?xml version="1.0"?&gt;
 &lt;queryset&gt;
   &lt;fullquery name="do_delete"&gt;
     &lt;querytext&gt;
@@ -117,17 +112,15 @@
       select samplenote__name(:note_id)
     &lt;/querytext&gt;
   &lt;/fullquery&gt;
-&lt;/queryset&gt;
-</pre><p>And the adp page:</p><pre class="screen">
+&lt;/queryset&gt;</pre><p>And the adp page:</p><pre class="screen">
 [$OPENACS_SERVICE_NAME\@yourserver www]$ <strong class="userinput"><code>emacs note-delete.adp</code></strong>
 </pre><pre class="programlisting">
 &lt;master&gt;
 &lt;property name="title"&gt;\@title\@&lt;/property&gt;
 &lt;property name="context"&gt;{\@title\@}&lt;/property&gt;
 &lt;h2&gt;\@title\@&lt;/h2&gt;
 &lt;formtemplate id="note-del-confirm"&gt;&lt;/formtemplate&gt;
-&lt;/form&gt;
-</pre><p>The ADP is very simple. The <code class="computeroutput">formtemplate</code> tag outputs the HTML form
+&lt;/form&gt;</pre><p>The ADP is very simple. The <code class="computeroutput">formtemplate</code> tag outputs the HTML form
 generated by the ad_form command with the matching name. Test it by
 adding the new files in the APM and then deleting a few
 samplenotes.</p>
@@ -139,14 +132,12 @@
 and the default value "<code class="computeroutput">0</code>".</p><p>Add the following lines to your <code class="computeroutput">index.tcl</code>:</p><pre class="programlisting">
           set return_url [ns_conn url]
           set use_categories_p [parameter::get -parameter "EnableCategoriesP"]
-          
-</pre><p>Change your to this:</p><pre class="programlisting">
+          </pre><p>Change your to this:</p><pre class="programlisting">
                         &lt;a href=configure?&lt;%=[export_vars -url {return_url}]%&gt;&gt;Configure&lt;/a&gt;
                         &lt;if \@use_categories_p\@&gt;
                         &lt;a href="\@category_map_url\@"&gt;#­categories.Site_wide_Categories#&lt;/a&gt;
                         &lt;/if&gt;
-          
-</pre><p>Now create a configure page</p><pre class="programlisting">
+          </pre><p>Now create a configure page</p><pre class="programlisting">
                 ad_page_contract {
                         This page allows an admin to change the categories usage mode.
                         } {
@@ -171,31 +162,27 @@
                                 ns_returnredirect $return_url
                         }
                         }
-           
-</pre><p>and add this to its corresponding ADP page</p><pre class="programlisting">
+           </pre><p>and add this to its corresponding ADP page</p><pre class="programlisting">
                 &lt;master&gt;
                         &lt;property name="title"&gt;\@title\@&lt;/property&gt;
                         &lt;property name="context"&gt;\@context\@&lt;/property&gt;
 
                         &lt;formtemplate id="categories_mode"&gt;&lt;/formtemplate&gt;
-              
-</pre><p>Reference this page from your admin page</p><pre class="programlisting">
+              </pre><p>Reference this page from your admin page</p><pre class="programlisting">
                 #TCL:
                 set return_url [ad_conn url]
 
                 #ADP:
                 &lt;a href=configure?&lt;%=[export_vars -url {return_url}]%&gt;&gt;Configure&lt;/a&gt;
-                
-</pre><p>Change the <code class="computeroutput">note-edit.tcl</code>:</p><pre class="programlisting">
+                </pre><p>Change the <code class="computeroutput">note-edit.tcl</code>:</p><pre class="programlisting">
                 # Use Categories?
                 set use_categories_p [parameter::get -parameter "EnableCategoriesP" -default 0]
                 if { $use_categories_p == 1 } {
                         # YOUR NEW FORM DEFINITION
                 } else {
                 # YOUR OLD FORM DEFINITION
                 }
-        
-</pre>
+        </pre>
 </li><li class="listitem">
 <p>You can filter your notes using categories. The below example
 does not support multiple filters and displays a category in a flat
@@ -206,8 +193,7 @@
                         YOURPARAMS
                 {category_id:integer,optional {}}
                 }
-          
-</pre><p>Now you have to check whether categories are enabled or not. If
+          </pre><p>Now you have to check whether categories are enabled or not. If
 this is the case and a category id is passed you need to extend
 your sql select query to support filtering. One way would be to
 extend the <code class="computeroutput">mfp::note::get</code> proc
@@ -234,8 +220,7 @@
                 } else {
                 # OLD STUFF
                 }
-          
-</pre><p>Also you need to make sure that the user can see the
+          </pre><p>Also you need to make sure that the user can see the
 corresponding categories. Add the following snippet to the end of
 your index page:</p><pre class="programlisting">
           # Site-Wide Categories
@@ -269,8 +254,7 @@
                         set tree_name [category_tree::get_name $tree_id]
                 }
                 }
-                
-</pre><p>and to the corresponding index ADP page:</p><pre class="programlisting">
+                </pre><p>and to the corresponding index ADP page:</p><pre class="programlisting">
                 &lt;if \@use_categories_p\@&gt;
                         &lt;multiple name="categories"&gt;
                         &lt;h2&gt;\@categories.tree_name\@
@@ -279,26 +263,23 @@
                         &lt;/group&gt;
                 &lt;/multiple&gt;
                 &lt;a href="\@package_url\@view?\@YOURPARAMS\@"&gt;All Items&lt;/if&gt;
-          
-</pre><p>Finally you need a an <code class="computeroutput">index.vuh</code> in your www folder to rewrite the
-URLs correctly, <a class="xref" href="tutorial-vuh" title="Using .vuh files for pretty urls">the section called
-&ldquo;Using .vuh files for pretty
-urls&rdquo;</a>:</p><pre class="programlisting">
+          </pre><p>Finally you need a an <code class="computeroutput">index.vuh</code> in your www folder to rewrite the
+URLs correctly, <a class="xref" href="tutorial-vuh" title="Using .vuh files for pretty urls">the section called “Using .vuh
+files for pretty urls”</a>:</p><pre class="programlisting">
           set url /[ad_conn extra_url]
 
           if {[regexp {^/+cat/+([^/]+)/*} $url ignore_whole category_id]} {
               rp_form_put category_id $category_id
           }
           rp_internal_redirect "/packages/YOURPACKAGE/www/index"          
-          
-</pre><p>Now when ever the user select a category only notes that belong
+          </pre><p>Now when ever the user select a category only notes that belong
 to this category are displayed.</p>
 </li>
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-admin-pages" leftLabel="Prev" leftTitle="Admin Pages"
-		    rightLink="profile-code" rightLabel="Next" rightTitle="Profile your code"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-admin-pages" leftLabel="Prev" leftTitle="Admin Pages"
+			rightLink="profile-code" rightLabel="Next" rightTitle="Profile your code"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-categories.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-categories.html,v
diff -u -r1.16 -r1.17
--- openacs-4/packages/acs-core-docs/www/tutorial-categories.html	8 Nov 2017 09:42:12 -0000	1.16
+++ openacs-4/packages/acs-core-docs/www/tutorial-categories.html	25 Apr 2018 08:38:28 -0000	1.17
@@ -33,7 +33,7 @@
           category trees are applicable for the application.
           </p>
           <p>
-          The way to achieve this is is to provide a link
+          The way to achieve this is to provide a link
           to the Category Management pages.  Add the following snippet to your
             <code class="computeroutput">/var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/www/admin/index.tcl</code>
           file:
Index: openacs-4/packages/acs-core-docs/www/tutorial-comments.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-comments.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/tutorial-comments.adp	7 Aug 2017 23:47:52 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/tutorial-comments.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -3,11 +3,11 @@
 <property name="doc(title)">Adding Comments</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-etp-templates" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-admin-pages" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-etp-templates" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-admin-pages" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-comments" id="tutorial-comments"></a>Adding Comments</h2></div></div></div><p>You can track comments for any ACS Object. Here we&#39;ll track
 comments for notes. On the note-edit.tcl/adp pair, which is used to
@@ -20,26 +20,23 @@
   { object_name $title } 
   { return_url "[ad_conn url]?[ad_conn query]"} 
  }]
- 
-</pre><p>This calls a global, public Tcl function that the
+ </pre><p>This calls a global, public Tcl function that the
 general_comments package registered, to get its url. You then embed
 in that url the id of the note and its title, and set the
 return_url to the current url so that the user can return after
 adding a comment.</p><p>We need to create html that shows any existing comments. We do
 this with another general_comments function:</p><pre class="programlisting">
 set comments_html [general_comments_get_comments
-     -print_content_p 1 $note_id]
-</pre><p>First, we pass in an optional parameter that that says to
-actually show the contents of the comments, instead of just the
-fact that there are comments. Then you pass the note id, which is
-also the acs_object id.</p><p>We put our two new variables in the note-edit.adp page.</p><pre class="programlisting">
+     -print_content_p 1 $note_id]</pre><p>First, we pass in an optional parameter that says to actually
+show the contents of the comments, instead of just the fact that
+there are comments. Then you pass the note id, which is also the
+acs_object id.</p><p>We put our two new variables in the note-edit.adp page.</p><pre class="programlisting">
 &lt;a href="\@comment_add_url\@"&gt;Add a comment&lt;/a&gt;
- \@comments_html\@
-</pre>
+ \@comments_html\@</pre>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-etp-templates" leftLabel="Prev" leftTitle="OpenACS Edit This Page Templates"
-		    rightLink="tutorial-admin-pages" rightLabel="Next" rightTitle="Admin Pages"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-etp-templates" leftLabel="Prev" leftTitle="OpenACS Edit This Page Templates"
+			rightLink="tutorial-admin-pages" rightLabel="Next" rightTitle="Admin Pages"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-comments.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-comments.html,v
diff -u -r1.17 -r1.18
--- openacs-4/packages/acs-core-docs/www/tutorial-comments.html	8 Nov 2017 09:42:12 -0000	1.17
+++ openacs-4/packages/acs-core-docs/www/tutorial-comments.html	25 Apr 2018 08:38:28 -0000	1.18
@@ -23,7 +23,7 @@
      We do this with another general_comments function:</p>
      <pre class="programlisting">set comments_html [general_comments_get_comments
      -print_content_p 1 $note_id]</pre>
-     <p>First, we pass in an optional parameter that that says to actually
+     <p>First, we pass in an optional parameter that says to actually
      show the contents of the comments, instead of just the fact that
      there are comments. Then you pass the note id, which is also the
      acs_object id.</p>
Index: openacs-4/packages/acs-core-docs/www/tutorial-css-layout.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-css-layout.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-css-layout.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-css-layout.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,16 +3,16 @@
 <property name="doc(title)">Laying out a page with CSS instead of tables</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-vuh" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-html-email" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-vuh" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-html-email" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-css-layout" id="tutorial-css-layout"></a>Laying out a page with CSS instead of
 tables</h2></div></div></div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623161993752" id="idp140623161993752"></a>.LRN home page with table-based
+<a name="idp140682185485368" id="idp140682185485368"></a>.LRN home page with table-based
 layout</h3></div></div></div><div class="mediaobject" align="center"><img src="images/dotlrn-style-1.png" align="middle"></div><p>A sample of the HTML code (<a class="ulink" href="files/dotlrn-style-1" target="_top">full source</a>)</p><pre class="programlisting">
 &lt;table border="0" width="100%"&gt;
   &lt;tr&gt;
@@ -36,28 +36,25 @@
                   &lt;table border="0" bgcolor="white" cellpadding="0" cellspacing="0" width="100%"&gt;
                     &lt;tr&gt;
                       &lt;td class=element-text&gt;
-                        MBA 101
-</pre>
+                        MBA 101</pre>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623163102936" id="idp140623163102936"></a>.LRN Home with CSS-based layout</h3></div></div></div><div class="mediaobject" align="center"><img src="images/dotlrn-style-3.png" align="middle"></div><p>A sample of the HTML code (<a class="ulink" href="files/dotlrn-style-2" target="_top">full source</a>)</p><pre class="programlisting">
-&lt;div class="left"&gt;
+<a name="idp140682185476280" id="idp140682185476280"></a>.LRN Home with CSS-based layout</h3></div></div></div><div class="mediaobject" align="center"><img src="images/dotlrn-style-3.png" align="middle"></div><p>A sample of the HTML code (<a class="ulink" href="files/dotlrn-style-2" target="_top">full source</a>)</p><pre class="programlisting">&lt;div class="left"&gt;
   &lt;div class="portlet-wrap-shadow"&gt;
     &lt;div class="portlet-wrap-bl"&gt;
       &lt;div class="portlet-wrap-tr"&gt;
         &lt;div class="portlet"&gt;
           &lt;h2&gt;Groups&lt;/h2&gt;
           &lt;ul&gt;
             &lt;li&gt;
-              &lt;a href="#"&gt;Class MBA 101&lt;/a&gt;
-</pre><p>If the CSS is removed from the file, it looks somewhat
+              &lt;a href="#"&gt;Class MBA 101&lt;/a&gt;</pre><p>If the CSS is removed from the file, it looks somewhat
 different:</p><div class="mediaobject" align="center"><img src="images/dotlrn-style-2.png" align="middle"></div>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-vuh" leftLabel="Prev" leftTitle="Using .vuh files for pretty urls"
-		    rightLink="tutorial-html-email" rightLabel="Next" rightTitle="Sending HTML email from your
+			leftLink="tutorial-vuh" leftLabel="Prev" leftTitle="Using .vuh files for pretty urls"
+			rightLink="tutorial-html-email" rightLabel="Next" rightTitle="Sending HTML email from your
 application"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-css-layout.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-css-layout.html,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/acs-core-docs/www/tutorial-css-layout.html	8 Nov 2017 09:42:12 -0000	1.14
+++ openacs-4/packages/acs-core-docs/www/tutorial-css-layout.html	25 Apr 2018 08:38:28 -0000	1.15
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 'http://www.w3.org/TR/html4/loose.dtd"'>
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Laying out a page with CSS instead of tables</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="tutorial-advanced.html" title="Chapter 10. Advanced Topics"><link rel="previous" href="tutorial-vuh.html" title="Using .vuh files for pretty urls"><link rel="next" href="tutorial-html-email.html" title="Sending HTML email from your application"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="tutorial-vuh.html">Prev</a> </td><th width="60%" align="center">Chapter 10. Advanced Topics</th><td width="20%" align="right"> <a accesskey="n" href="tutorial-html-email.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tutorial-css-layout"></a>Laying out a page with CSS instead of tables</h2></div></div></div>
     
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623161993752"></a>.LRN home page with table-based layout</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682185485368"></a>.LRN home page with table-based layout</h3></div></div></div>
       
     <div class="mediaobject" align="center"><img src="images/dotlrn-style-1.png" align="middle"></div>
     <p>A sample of the HTML code (<a class="ulink" href="files/dotlrn-style-1.html" target="_top">full source</a>)</p>
@@ -29,7 +29,7 @@
                       &lt;td class=element-text&gt;
                         MBA 101</pre>
     </div>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623163102936"></a>.LRN Home with CSS-based layout</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682185476280"></a>.LRN Home with CSS-based layout</h3></div></div></div>
       
       <div class="mediaobject" align="center"><img src="images/dotlrn-style-3.png" align="middle"></div>
     <p>A sample of the HTML code (<a class="ulink" href="files/dotlrn-style-2.html" target="_top">full source</a>)</p>
Index: openacs-4/packages/acs-core-docs/www/tutorial-cvs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-cvs.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-cvs.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-cvs.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,17 +3,16 @@
 <property name="doc(title)">Add the new package to CVS</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-specs" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-etp-templates" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-specs" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-etp-templates" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-cvs" id="tutorial-cvs"></a>Add the new package to CVS</h2></div></div></div><p>Before you do any more work, make sure that your work is
 protected by putting it all into cvs. The <code class="computeroutput">cvs add</code> command is not recursive, so
 you&#39;ll have to traverse the directory tree manually and add as
-you go. (<a class="ulink" href="http://www.piskorski.com/docs/cvs-conventions.html" target="_top">More on CVS</a>)</p><pre class="screen">
-[$OPENACS_SERVICE_NAME xml]$ <strong class="userinput"><code>cd ..</code></strong>
+you go. (<a class="ulink" href="http://www.piskorski.com/docs/cvs-conventions.html" target="_top">More on CVS</a>)</p><pre class="screen">[$OPENACS_SERVICE_NAME xml]$ <strong class="userinput"><code>cd ..</code></strong>
 [$OPENACS_SERVICE_NAME doc]$ <strong class="userinput"><code>cd ..</code></strong>
 [$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>cd ..</code></strong>
 [$OPENACS_SERVICE_NAME myfirstpackage]$ <strong class="userinput"><code>cd ..</code></strong>
@@ -69,16 +68,15 @@
 initial revision: 1.1
 done
 <span class="emphasis"><em>(many lines omitted)</em></span>
-[$OPENACS_SERVICE_NAME myfirstpackage]$
-</pre><div class="figure">
-<a name="idp140623162867368" id="idp140623162867368"></a><p class="title"><strong>Figure 10.1. Upgrading a local CVS
-repository</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/development-with-cvs.png" align="middle" alt="Upgrading a local CVS repository"></div></div>
+[$OPENACS_SERVICE_NAME myfirstpackage]$</pre><div class="figure">
+<a name="idp140682188703128" id="idp140682188703128"></a><p class="title"><strong>Figure 10.1. Upgrading a local
+CVS repository</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/development-with-cvs.png" align="middle" alt="Upgrading a local CVS repository"></div></div>
 </div><br class="figure-break">
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-specs" leftLabel="Prev" leftTitle="Write the Requirements and Design
+			leftLink="tutorial-specs" leftLabel="Prev" leftTitle="Write the Requirements and Design
 Specs"
-		    rightLink="tutorial-etp-templates" rightLabel="Next" rightTitle="OpenACS Edit This Page Templates"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="tutorial-etp-templates" rightLabel="Next" rightTitle="OpenACS Edit This Page Templates"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-cvs.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-cvs.html,v
diff -u -r1.28 -r1.29
--- openacs-4/packages/acs-core-docs/www/tutorial-cvs.html	8 Nov 2017 09:42:12 -0000	1.28
+++ openacs-4/packages/acs-core-docs/www/tutorial-cvs.html	25 Apr 2018 08:38:28 -0000	1.29
@@ -63,7 +63,7 @@
 done
 <span class="emphasis"><em>(many lines omitted)</em></span>
 [$OPENACS_SERVICE_NAME myfirstpackage]$</pre>
-        <div class="figure"><a name="idp140623162867368"></a><p class="title"><b>Figure 10.1. Upgrading a local CVS repository</b></p><div class="figure-contents">
+        <div class="figure"><a name="idp140682188703128"></a><p class="title"><b>Figure 10.1. Upgrading a local CVS repository</b></p><div class="figure-contents">
           
           <div class="mediaobject" align="center"><img src="images/development-with-cvs.png" align="middle" alt="Upgrading a local CVS repository"></div>
         </div></div><br class="figure-break">
Index: openacs-4/packages/acs-core-docs/www/tutorial-database.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-database.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-database.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-database.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,17 +3,17 @@
 <property name="doc(title)">Setting Up Database Objects</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-newpackage" leftLabel="Prev"
-		    title="
-Chapter 9. Development Tutorial"
-		    rightLink="tutorial-pages" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-newpackage" leftLabel="Prev"
+			title="Chapter 9. Development
+Tutorial"
+			rightLink="tutorial-pages" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-database" id="tutorial-database"></a>Setting Up Database Objects</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel
 Aufrecht</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623172585384" id="idp140623172585384"></a>Code the data model</h3></div></div></div><p>We create all database objects with scripts in the <code class="computeroutput">myfirstpackage/sql/</code> directory. All database
+<a name="idp140682188847784" id="idp140682188847784"></a>Code the data model</h3></div></div></div><p>We create all database objects with scripts in the <code class="computeroutput">myfirstpackage/sql/</code> directory. All database
 scripts are database-specific and are thus in either the
 <code class="computeroutput">myfirstpackage/sql/oracle</code> or
 <code class="computeroutput">myfirstpackage/sql/postgresql</code>
@@ -40,18 +40,16 @@
 simplify our database creation. (<a class="ulink" href="objects" target="_top">More information about ACS
 Objects</a>. <a class="ulink" href="/doc/acs-content-repository" target="_top">More information about the Content
 Repository</a>.)</p><div class="figure">
-<a name="idp140623163033192" id="idp140623163033192"></a><p class="title"><strong>Figure 9.2. Tutorial Data
+<a name="idp140682188466808" id="idp140682188466808"></a><p class="title"><strong>Figure 9.2. Tutorial Data
 Model</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/tutorial-data-model.png" align="middle" alt="Tutorial Data Model"></div></div>
 </div><br class="figure-break"><p>The top of each sql file has some standard comments, including
 doc tags such as <code class="computeroutput">\@author</code> which
 will be picked up by the API browser. The string <code class="computeroutput">$&zwnj;Id:$</code> will automatically be expanded when
-the file is checked in to cvs.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/sql/postgresql</code></strong>
+the file is checked in to cvs.</p><pre class="screen">[$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/sql/postgresql</code></strong>
 [$OPENACS_SERVICE_NAME postgresql]$ <strong class="userinput"><code>emacs myfirstpackage-create.sql</code></strong>
 </pre><p>Paste the text below into the file, save, and close.</p><div class="figure">
-<a name="idp140623161557048" id="idp140623161557048"></a><p class="title"><strong>Figure 9.3. The
-Database Creation Script</strong></p><div class="figure-contents"><pre class="programlisting">
--- creation script
+<a name="idp140682188007208" id="idp140682188007208"></a><p class="title"><strong>Figure 9.3. The Database
+Creation Script</strong></p><div class="figure-contents"><pre class="programlisting">-- creation script
 --
 -- \@author joel\@aufrecht.org
 -- \@cvs-id &amp;Id:$
@@ -79,9 +77,8 @@
 uninstalled.</p><pre class="screen">
 [$OPENACS_SERVICE_NAME postgresql]$ <strong class="userinput"><code>emacs myfirstpackage-drop.sql</code></strong>
 </pre><div class="figure">
-<a name="idp140623165914152" id="idp140623165914152"></a><p class="title"><strong>Figure 9.4. Database Deletion
-Script</strong></p><div class="figure-contents"><pre class="programlisting">
--- drop script
+<a name="idp140682188736280" id="idp140682188736280"></a><p class="title"><strong>Figure 9.4. Database Deletion
+Script</strong></p><div class="figure-contents"><pre class="programlisting">-- drop script
 --
 -- \@author joel\@aufrecht.org
 -- \@cvs-id &amp;Id:$
@@ -106,8 +103,7 @@
                          0
 (1 row)
 
-[$OPENACS_SERVICE_NAME postgresql]$
-</pre><p>If there are errors, use them to debug the sql file and try
+[$OPENACS_SERVICE_NAME postgresql]$</pre><p>If there are errors, use them to debug the sql file and try
 again. If there are errors in the database table creation, you may
 need to run the drop script to drop the table so that you can
 recreate it. The drop script will probably have errors since some
@@ -121,16 +117,15 @@
                        0
 (1 row)
 
-[$OPENACS_SERVICE_NAME postgresql]$
-</pre><p>Once both scripts are working without errors, <span class="emphasis"><em>run the create script one last time</em></span> and
+[$OPENACS_SERVICE_NAME postgresql]$</pre><p>Once both scripts are working without errors, <span class="emphasis"><em>run the create script one last time</em></span> and
 proceed.</p><pre class="screen">
 [$OPENACS_SERVICE_NAME postgresql]$ <strong class="userinput"><code>psql service0 -f myfirstpackage-create.sql</code></strong>
 </pre>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-newpackage" leftLabel="Prev" leftTitle="Creating an Application Package"
-		    rightLink="tutorial-pages" rightLabel="Next" rightTitle="Creating Web Pages"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-newpackage" leftLabel="Prev" leftTitle="Creating an Application Package"
+			rightLink="tutorial-pages" rightLabel="Next" rightTitle="Creating Web Pages"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-database.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-database.html,v
diff -u -r1.46 -r1.47
--- openacs-4/packages/acs-core-docs/www/tutorial-database.html	8 Nov 2017 09:42:12 -0000	1.46
+++ openacs-4/packages/acs-core-docs/www/tutorial-database.html	25 Apr 2018 08:38:28 -0000	1.47
@@ -6,7 +6,7 @@
       <p>by <a class="ulink" href="mailto:joel@aufrecht.org" target="_top">Joel Aufrecht</a></p>
     &lt;/authorblurb&gt;</span>
     
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623172585384"></a>Code the data model</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682188847784"></a>Code the data model</h3></div></div></div>
       
       <p>We create all database objects with scripts in the
       <code class="computeroutput">myfirstpackage/sql/</code> directory.  All
@@ -44,7 +44,7 @@
       information about ACS Objects</a>.  <a class="ulink" href="/doc/acs-content-repository" target="_top">More information about the
       Content Repository</a>.)
 </p>
-    <div class="figure"><a name="idp140623163033192"></a><p class="title"><b>Figure 9.2. Tutorial Data Model</b></p><div class="figure-contents">
+    <div class="figure"><a name="idp140682188466808"></a><p class="title"><b>Figure 9.2. Tutorial Data Model</b></p><div class="figure-contents">
       
       <div class="mediaobject" align="center"><img src="images/tutorial-data-model.png" align="middle" alt="Tutorial Data Model"></div>
 </div></div><br class="figure-break">
@@ -57,7 +57,7 @@
 <pre class="screen">[$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/sql/postgresql</code></strong>
 [$OPENACS_SERVICE_NAME postgresql]$ <strong class="userinput"><code>emacs myfirstpackage-create.sql</code></strong></pre>
       <p>Paste the text below into the file, save, and close.</p>
-      <div class="figure"><a name="idp140623161557048"></a><p class="title"><b>Figure 9.3. The Database Creation Script</b></p><div class="figure-contents">
+      <div class="figure"><a name="idp140682188007208"></a><p class="title"><b>Figure 9.3. The Database Creation Script</b></p><div class="figure-contents">
         
     <pre class="programlisting">-- creation script
 --
@@ -88,7 +88,7 @@
       <p>Create a database file to drop everything if the package is uninstalled.</p>
       <pre class="screen">
 [$OPENACS_SERVICE_NAME postgresql]$ <strong class="userinput"><code>emacs myfirstpackage-drop.sql</code></strong></pre>
-      <div class="figure"><a name="idp140623165914152"></a><p class="title"><b>Figure 9.4. Database Deletion Script</b></p><div class="figure-contents">
+      <div class="figure"><a name="idp140682188736280"></a><p class="title"><b>Figure 9.4. Database Deletion Script</b></p><div class="figure-contents">
         
     <pre class="programlisting">-- drop script
 --
Index: openacs-4/packages/acs-core-docs/www/tutorial-debug.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-debug.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-debug.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-debug.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,47 +3,43 @@
 <property name="doc(title)">Debugging and Automated Testing</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-pages" leftLabel="Prev"
-		    title="
-Chapter 9. Development Tutorial"
-		    rightLink="tutorial-advanced" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-pages" leftLabel="Prev"
+			title="Chapter 9. Development
+Tutorial"
+			rightLink="tutorial-advanced" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-debug" id="tutorial-debug"></a>Debugging and Automated Testing</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel
 Aufrecht</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623170297736" id="idp140623170297736"></a>Debugging</h3></div></div></div><p>
-<strong>Developer Support. </strong> The Developer
-Support package adds several goodies: debug information for every
-page; the ability to log comments to the page instead of the error
-log, and fast user switching so that you can test pages as
-anonymous and as dummy users without logging in and out.</p><p>
-<strong>PostgreSQL. </strong> You can work directly
-with the database to do debugging steps like looking directly at
-tables and testing stored procedures. Start emacs. Type
-<strong class="userinput"><code>M-x sql-postgres</code></strong>.
-Press enter for server name and use <strong class="userinput"><code><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></code></strong>
+<a name="idp140682183507144" id="idp140682183507144"></a>Debugging</h3></div></div></div><p>
+<strong>Developer Support. </strong> The Developer Support
+package adds several goodies: debug information for every page; the
+ability to log comments to the page instead of the error log, and
+fast user switching so that you can test pages as anonymous and as
+dummy users without logging in and out.</p><p>
+<strong>PostgreSQL. </strong> You can work directly with
+the database to do debugging steps like looking directly at tables
+and testing stored procedures. Start emacs. Type <strong class="userinput"><code>M-x sql-postgres</code></strong>. Press enter for
+server name and use <strong class="userinput"><code><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></code></strong>
 for database name. You can use C-(up arrow) and C-(down arrow) for
 command history.</p><p>Hint: "Parse error near *" usually means that an xql
 file wasn&#39;t recognized, because the Tcl file is choking on the
 *SQL* placeholder that it falls back on.</p><p><strong>Watching the server log. </strong></p><p>To set up real-time monitoring of the AOLserver error log,
 <span class="bold"><strong>type</strong></span>
-</p><pre class="screen">
-less /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/log/openacs-dev-error.log
-</pre><div class="literallayout"><p>
+</p><pre class="screen">less /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/log/openacs-dev-error.log</pre><div class="literallayout"><p>
 F to show new log entries in real time (like tail -f)<br>
 
 C-c to stop and F to start it up again. <br>
 
 G goes to the end.<br>
-
 ? searches backward <br>
 / searches forward. <br>
           </p></div>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623166255592" id="idp140623166255592"></a>Manual testing</h3></div></div></div><p>Make a list of basic tests to make sure it works</p><div class="segmentedlist"><table border="0">
+<a name="idp140682183480040" id="idp140682183480040"></a>Manual testing</h3></div></div></div><p>Make a list of basic tests to make sure it works</p><div class="segmentedlist"><table border="0">
 <thead><tr class="segtitle">
 <th>Test Num</th><th>Action</th><th>Expected Result</th>
 </tr></thead><tbody>
@@ -71,21 +67,19 @@
 to delete your own note. Edit your own note. Search for a note.</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623164614664" id="idp140623164614664"></a>Write automated tests</h3></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:simon\@collaboraid.net" target="_top">Simon Carstensen</a>
+<a name="idp140682182897832" id="idp140682182897832"></a>Write automated tests</h3></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:simon\@collaboraid.net" target="_top">Simon Carstensen</a>
 and Joel Aufrecht</span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>
-<a class="indexterm" name="idp140623162159976" id="idp140623162159976"></a> It seems to me that a lot of people have
+<a class="indexterm" name="idp140682188491320" id="idp140682188491320"></a> It seems to me that a lot of people have
 been asking for some guidelines on how to write automated tests.
 I&#39;ve done several tests by now and have found the process to be
 extremely easy and useful. It&#39;s a joy to work with automated
 testing once you get the hang of it.</p><p>Create the directory that will contain the test script and edit
 the script file. The directory location and file name are standards
-which are recognized by the automated testing package:</p><pre class="screen">
-[$OPENACS_SERVICE_NAME www]$<strong class="userinput"><code> mkdir /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/tcl/test</code></strong>
+which are recognized by the automated testing package:</p><pre class="screen">[$OPENACS_SERVICE_NAME www]$<strong class="userinput"><code> mkdir /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/tcl/test</code></strong>
 [$OPENACS_SERVICE_NAME www]$<strong class="userinput"><code> cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/tcl/test</code></strong>
 [$OPENACS_SERVICE_NAME test]$ <strong class="userinput"><code>emacs myfirstpackages-procs.tcl</code></strong>
 </pre><p>Write the tests. This is obviously the big step :) The script
-should first call ad_library like any normal -procs.tcl file:</p><pre class="screen">
-ad_library {
+should first call ad_library like any normal -procs.tcl file:</p><pre class="screen">ad_library {
     ...
 }
 </pre><p>To create a test case you call <code class="computeroutput">
@@ -104,10 +98,8 @@
 back once the test has been executed. A very useful feature.
 Instead of inserting bogus data like: <code class="computeroutput">set name "Simon"</code>, I tend to
 generate a random script in order avoid inserting a value
-that&#39;s already in the database:</p><pre class="screen">
-set name [ad_generate_random_string]
-</pre><p>Here&#39;s how the test case looks so far:</p><pre class="screen">
-aa_register_case mfp_basic_test {
+that&#39;s already in the database:</p><pre class="screen">set name [ad_generate_random_string]
+</pre><p>Here&#39;s how the test case looks so far:</p><pre class="screen">aa_register_case mfp_basic_test {
     My test
 } {
     aa_run_with_teardown \
@@ -123,8 +115,7 @@
 specific word in the title."</p><pre class="programlisting">
       set name [ad_generate_random_string]
       set new_id [mfp::note::add -title $name]
-      aa_true "Note add succeeded" ([info exists new_id] &amp;&amp; $new_id ne "")
-</pre><p>To test our simple case, we must load the test file into the
+      aa_true "Note add succeeded" ([info exists new_id] &amp;&amp; $new_id ne "")</pre><p>To test our simple case, we must load the test file into the
 system (just as with the /tcl file in the basic tutorial, since the
 file didn&#39;t exist when the system started, the system
 doesn&#39;t know about it.) To make this file take effect, go to
@@ -144,7 +135,7 @@
 myfirstpackage. You should see your test case. Run it and examine
 the results.</p><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623166048792" id="idp140623166048792"></a>TCLWebtest tests</h4></div></div></div><p>API testing can only test part of our package - it doesn&#39;t
+<a name="idp140682188378408" id="idp140682188378408"></a>TCLWebtest tests</h4></div></div></div><p>API testing can only test part of our package - it doesn&#39;t
 test the code in our adp/tcl pairs. For this, we can use
 TCLwebtest. TCLwebtest must be <a class="link" href="install-tclwebtest" title="Install tclwebtest.">installed</a>
 for this test to work. This provides a <a class="ulink" href="http://tclwebtest.sourceforge.net/doc/api_public.html" target="_top">library of functions</a> that make it easy to call a page
@@ -154,9 +145,8 @@
 integrating them.</p>
 </div><div class="sect3">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp140623160629800" id="idp140623160629800"></a>Example</h4></div></div></div><p>Now we can add the rest of the API tests, including a test with
-deliberately bad data. The complete test looks like:</p><pre class="programlisting">
-ad_library {
+<a name="idp140682188392072" id="idp140682188392072"></a>Example</h4></div></div></div><p>Now we can add the rest of the API tests, including a test with
+deliberately bad data. The complete test looks like:</p><pre class="programlisting">ad_library {
     Test cases for my first package.
 }
 
@@ -308,15 +298,14 @@
 #    tcl-indent-level: 4
 #    indent-tabs-mode: nil
 # End:
-</pre><p>See also <a class="xref" href="automated-testing-best-practices" title="Automated Testing">the section called
-&ldquo;Automated Testing&rdquo;</a>.</p>
+</pre><p>See also <a class="xref" href="automated-testing-best-practices" title="Automated Testing">the section called “Automated Testing”</a>.</p>
 </div>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-pages" leftLabel="Prev" leftTitle="Creating Web Pages"
-		    rightLink="tutorial-advanced" rightLabel="Next" rightTitle="
-Chapter 10. Advanced Topics"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-pages" leftLabel="Prev" leftTitle="Creating Web Pages"
+			rightLink="tutorial-advanced" rightLabel="Next" rightTitle="Chapter 10. Advanced
+Topics"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-debug.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-debug.html,v
diff -u -r1.45 -r1.46
--- openacs-4/packages/acs-core-docs/www/tutorial-debug.html	8 Nov 2017 09:42:12 -0000	1.45
+++ openacs-4/packages/acs-core-docs/www/tutorial-debug.html	25 Apr 2018 08:38:28 -0000	1.46
@@ -5,7 +5,7 @@
     <p>by <a class="ulink" href="mailto:joel@aufrecht.org" target="_top">Joel Aufrecht</a></p>
   &lt;/authorblurb&gt;</span>
   
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623170297736"></a>Debugging</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682183507144"></a>Debugging</h3></div></div></div>
     <p>
       <b>Developer Support. </b>
       The Developer Support package adds several goodies: debug
@@ -42,7 +42,7 @@
           </p></div><p>
     </p>
   </div>
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623166255592"></a>Manual testing</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682183480040"></a>Manual testing</h3></div></div></div>
     
         <p>Make a list of basic tests to make sure it works</p>
         <div class="segmentedlist"><table border="0"><thead><tr class="segtitle"><th>Test Num</th><th>Action</th><th>Expected Result</th></tr></thead><tbody><tr class="seglistitem">
@@ -75,14 +75,14 @@
         Search for a note.</p>
   </div>
   
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623164614664"></a>Write automated tests</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682182897832"></a>Write automated tests</h3></div></div></div>
     
 
     <span style="color: red">&lt;authorblurb&gt;
       <p>by <a class="ulink" href="mailto:simon@collaboraid.net" target="_top">Simon Carstensen</a> and Joel Aufrecht</p>
     &lt;/authorblurb&gt;</span>
 
-    <p><a class="indexterm" name="idp140623162159976"></a>
+    <p><a class="indexterm" name="idp140682188491320"></a>
     It seems to me that a lot of people have been asking for some guidelines on how to write automated tests. I've done several tests by now and have found the process to be extremely easy and useful. It's a joy to work with automated testing once you get the hang of it.</p>
     <p>Create the directory that will contain the test
     script and edit the script file.  The directory location and file name are standards which are recognized by the automated testing package:</p>
@@ -134,11 +134,11 @@
       aa_true "Note add succeeded" ([info exists new_id] &amp;&amp; $new_id ne "")</pre>
     <p>To test our simple case, we must load the test file into the system (just as with the /tcl file in the basic tutorial, since the file didn't exist when the system started, the system doesn't know about it.)  To make this file take effect, go to the <a class="ulink" href="/acs-admin/apm" target="_top">APM</a> and choose "Reload changed" for "MyFirstPackage".  Since we'll be changing it frequently, select "watch this file" on the next page.  This will cause the system to check this file every time any page is requested, which is bad for production systems but convenient for developing.  We can also add some aa_register_case flags to make it easier to run the test.  The <code class="computeroutput">-procs</code> flag, which indicates which procs are tested by this test case, makes it easier to find procs in your package that aren't tested at all.  The <code class="computeroutput">-cats</code> flag, setting categories, makes it easier to control which tests to run.  The <code class="computeroutput">smoke</code> test setting means that this is a basic test case that can and should be run any time you are doing any test. (<a class="ulink" href="http://www.nedbatchelder.com/blog/20030408T062805.html" target="_top">a definition of "smoke test"</a>)</p>
       <p>Once the file is loaded, go to <a class="ulink" href="/test" target="_top">ACS Automated Testing</a> and click on myfirstpackage.  You should see your test case.  Run it and examine the results.</p>
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623166048792"></a>TCLWebtest tests</h4></div></div></div>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682188378408"></a>TCLWebtest tests</h4></div></div></div>
       
       <p>API testing can only test part of our package - it doesn't test the code in our adp/tcl pairs.  For this, we can use TCLwebtest.  TCLwebtest must be <a class="link" href="install-tclwebtest.html" title="Install tclwebtest.">installed</a> for this test to work.  This provides a <a class="ulink" href="http://tclwebtest.sourceforge.net/doc/api_public.html" target="_top">library of functions</a> that make it easy to call a page through HTTP, examine the results, and drive forms.  TCLwebtest's functions overlap slightly with acs-automated-testing; see the example provided for one approach on integrating them.</p>
     </div>
-    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140623160629800"></a>Example</h4></div></div></div>
+    <div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idp140682188392072"></a>Example</h4></div></div></div>
       
       <p>Now we can add the rest of the API tests, including a test with deliberately bad data.  The complete test looks like:</p>
       <pre class="programlisting">ad_library {
Index: openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,22 +3,22 @@
 <property name="doc(title)">Prepare the package for distribution.</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="profile-code" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-upgrades" rightLabel="Next">
-		<div class="sect1">
+			leftLink="profile-code" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-upgrades" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-distribute" id="tutorial-distribute"></a>Prepare the package for
 distribution.</h2></div></div></div><p>Browse to the package manager. Click on <code class="computeroutput"><span class="guilabel">tutorialapp</span></code>.</p><p>Click on <code class="computeroutput"><span class="guilabel">Generate a distribution file for this package from the
 filesystem</span></code>.</p><p>Click on the file size (<code class="computeroutput"><span class="guilabel">37.1KB</span></code>) after
 the label <code class="computeroutput"><span class="guilabel">Distribution File:</span></code> and save the file to
-/var/tmp.</p><p><a class="indexterm" name="idp140623164525208" id="idp140623164525208"></a></p><p><a class="ulink" href="http://openacs.org/forums/message-view?message_id=192919" target="_top">Package development guidelines</a></p>
+/var/tmp.</p><p><a class="indexterm" name="idp140682185546712" id="idp140682185546712"></a></p><p><a class="ulink" href="http://openacs.org/forums/message-view?message_id=192919" target="_top">Package development guidelines</a></p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="profile-code" leftLabel="Prev" leftTitle="Profile your code"
-		    rightLink="tutorial-upgrades" rightLabel="Next" rightTitle="Distributing upgrades of your
+			leftLink="profile-code" leftLabel="Prev" leftTitle="Profile your code"
+			rightLink="tutorial-upgrades" rightLabel="Next" rightTitle="Distributing upgrades of your
 package"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-distribute.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-distribute.html,v
diff -u -r1.28 -r1.29
--- openacs-4/packages/acs-core-docs/www/tutorial-distribute.html	8 Nov 2017 09:42:12 -0000	1.28
+++ openacs-4/packages/acs-core-docs/www/tutorial-distribute.html	25 Apr 2018 08:38:28 -0000	1.29
@@ -12,7 +12,7 @@
         after the label <code class="computeroutput"><span class="guilabel">Distribution
         File:</span></code> and save the file to
         /var/tmp.</p>
-        <p><a class="indexterm" name="idp140623164525208"></a>
+        <p><a class="indexterm" name="idp140682185546712"></a>
 </p>
 
     <p><a class="ulink" href="http://openacs.org/forums/message-view?message_id=192919" target="_top">Package development guidelines</a></p>
Index: openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">OpenACS Edit This Page Templates</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-cvs" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-comments" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-cvs" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-comments" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-etp-templates"></a>OpenACS Edit This Page Templates</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:ncarroll\@ee.usyd.edu.au" target="_top">Nick
 Carroll</a>
@@ -46,11 +46,9 @@
 <a name="exercise2"></a>Exercise 2: Checkout and
 Install edit-this-page (ETP)</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
-<p>Checkout ETP from CVS:</p><pre class="screen">
-cd ~/openacs/packages
+<p>Checkout ETP from CVS:</p><pre class="screen">cd ~/openacs/packages
             cvs -d:pserver:anonymous\@openacs.org:/cvsroot login
-            cvs -d:pserver:anonymous\@openacs.org:/cvsroot co edit-this-page
-</pre>
+            cvs -d:pserver:anonymous\@openacs.org:/cvsroot co edit-this-page</pre>
 </li><li class="listitem"><p>Go to the package manager at http://yoursite/acs-admin/apm. And
 install the new package: edit-this-page.</p></li><li class="listitem"><p>Or use the "Add Application" form available on the
 Main site.</p></li>
@@ -71,21 +69,18 @@
 ETP Template</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
 <p>Browse the files for each of the above ETP templates at:</p><pre class="screen">
-cd ~/openacs/packages/edit-this-page/templates
-</pre>
+cd ~/openacs/packages/edit-this-page/templates</pre>
 </li><li class="listitem">
 <p>Use the article template as the basis of our new col2
-template.</p><pre class="screen">
-cp article-content.adp col2-content.adp
+template.</p><pre class="screen">cp article-content.adp col2-content.adp
             cp article-content.tcl col2-content.tcl
             cp article-index.adp col2-index.adp
-            cp article-index.tcl col2-index.tcl
-</pre>
+            cp article-index.tcl col2-index.tcl</pre>
 </li><li class="listitem">
 <p>The template should provide us with the following ETP
 layout:</p><div class="table">
-<a name="idp140623170145000"></a><p class="title"><strong>Table 10.1. table
-showing ETP layout</strong></p><div class="table-contents"><table class="table" summary="table showing ETP layout" cellspacing="0" border="1" width="250">
+<a name="idp140682185689992"></a><p class="title"><strong>Table 10.1. table showing ETP
+layout</strong></p><div class="table-contents"><table class="table" summary="table showing ETP layout" cellspacing="0" border="1" width="250">
 <colgroup>
 <col align="left" class="c1"><col width="2" align="left" class="c2">
 </colgroup><tbody>
@@ -106,10 +101,8 @@
 col2 Template with ETP</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
 <p>Need to register your template with ETP so that it appears in
-the drop-down menu that you would have seen in Exercise 3.</p><pre class="screen">
-cd ~/openacs/packages/edit-this-page/tcl
-            emacs etp-custom-init.tcl
-</pre>
+the drop-down menu that you would have seen in Exercise 3.</p><pre class="screen">cd ~/openacs/packages/edit-this-page/tcl
+            emacs etp-custom-init.tcl</pre>
 </li><li class="listitem">
 <p>Use the function etp::define_application to register your
 template with ETP</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
@@ -131,13 +124,13 @@
 <a name="end"></a>Who Wrote This and When</h3></div></div></div><p>This problem set was originally written by Nick Carroll in
 August 2004 for the <a class="ulink" href="http://www.usyd.edu.au" target="_top">University of Sydney</a> Course EBUS5002.</p><p>This material is copyright 2004 by Nick Carroll. It may be
 copied, reused, and modified, provided credit is given to the
-original author.</p><p><span class="cvstag">($&zwnj;Id: tutorial-advanced.xml,v 1.53
-2017/08/07 23:47:54 gustafn Exp $)</span></p>
+original author.</p><p><span class="cvstag">($&zwnj;Id: tutorial-advanced.xml,v 1.54
+2017/12/24 13:15:07 gustafn Exp $)</span></p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-cvs" leftLabel="Prev" leftTitle="Add the new package to CVS"
-		    rightLink="tutorial-comments" rightLabel="Next" rightTitle="Adding Comments"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		<a name="comments"></a>
+			leftLink="tutorial-cvs" leftLabel="Prev" leftTitle="Add the new package to CVS"
+			rightLink="tutorial-comments" rightLabel="Next" rightTitle="Adding Comments"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    <a name="comments"></a>
Index: openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.html,v
diff -u -r1.11 -r1.12
--- openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.html	8 Nov 2017 09:42:12 -0000	1.11
+++ openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.html	25 Apr 2018 08:38:28 -0000	1.12
@@ -79,7 +79,7 @@
             cp article-index.tcl col2-index.tcl</pre>
         </li><li class="listitem">
           <p>The template should provide us with the following ETP layout:</p>
-          <div class="table"><a name="idp140623170145000"></a><p class="title"><b>Table 10.1. table showing ETP layout</b></p><div class="table-contents">
+          <div class="table"><a name="idp140682185689992"></a><p class="title"><b>Table 10.1. table showing ETP layout</b></p><div class="table-contents">
               
             
             
Index: openacs-4/packages/acs-core-docs/www/tutorial-future-topics.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-future-topics.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/tutorial-future-topics.adp	7 Aug 2017 23:47:52 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/tutorial-future-topics.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -3,11 +3,11 @@
 <property name="doc(title)">Future Topics</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-second-database" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="dev-guide" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-second-database" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="dev-guide" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-future-topics" id="tutorial-future-topics"></a>Future
 Topics</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
@@ -21,9 +21,9 @@
 </p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-second-database" leftLabel="Prev" leftTitle="Connect to a second database"
-		    rightLink="dev-guide" rightLabel="Next" rightTitle="
-Chapter 11. Development Reference"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-second-database" leftLabel="Prev" leftTitle="Connect to a second database"
+			rightLink="dev-guide" rightLabel="Next" rightTitle="Chapter 11. Development
+Reference"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-hierarchical.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-hierarchical.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-hierarchical.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-hierarchical.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Hierarchical data</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-notifications" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-vuh" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-notifications" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-vuh" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-hierarchical" id="tutorial-hierarchical"></a>Hierarchical
 data</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="http://rubick.com:8002" target="_top">Jade Rubick</a> with help
@@ -35,8 +35,7 @@
       c.category_id = o.object_id
       ORDER BY
       o.tree_sortkey"
-    
-</pre><p>Note the use of the <code class="computeroutput">tree_level()</code> function, which gives you the
+    </pre><p>Note the use of the <code class="computeroutput">tree_level()</code> function, which gives you the
 level, starting from 1, 2, 3...</p><p>Here&#39;s an example, pulling all of the children for a given
 parent:</p><pre class="programlisting">
       SELECT 
@@ -50,8 +49,7 @@
       children.tree_sortkey between parent.tree_sortkey and tree_right(parent.tree_sortkey)
       and parent.tree_sortkey &lt;&gt; children.tree_sortkey
       and parent.key = :the_parent_key;
-      
-</pre><p>The reason we subtract the parent&#39;s tree_level from the
+      </pre><p>The reason we subtract the parent&#39;s tree_level from the
 child&#39;s tree_level is that the tree_levels are global, so if
 you want the parent&#39;s tree_level to start with 0, you&#39;ll
 want the subtraction in there. This is a reason you&#39;ll commonly
@@ -67,8 +65,7 @@
       WHERE 
       subtree.tree_sortkey between parent.tree_sortkey and tree_right(parent.tree_sortkey)
       and parent.key = :the_parent_key;
-    
-</pre><p>If you are using the Content Repository, you get a similar
+    </pre><p>If you are using the Content Repository, you get a similar
 facility, but the <code class="computeroutput">parent_id</code>
 column is already there. Note you can do joins with <code class="computeroutput">tree_sortkey</code>:</p><pre class="programlisting">
       SELECT
@@ -79,15 +76,14 @@
       FROM pm_projectsx p, cr_items i
       WHERE p.project_id = i.live_revision
       ORDER BY i.tree_sortkey
-    
-</pre><p>This rather long thread explains <a class="ulink" href="http://openacs.org/forums/message-view?message_id=16799" target="_top">How tree_sortkeys work</a> and this paper <a class="ulink" href="http://www.yafla.com/papers/sqlhierarchies/sqlhierarchies2.htm" target="_top">describes the technique for tree_sortkeys</a>,
+    </pre><p>This rather long thread explains <a class="ulink" href="http://openacs.org/forums/message-view?message_id=16799" target="_top">How tree_sortkeys work</a> and this paper <a class="ulink" href="http://www.yafla.com/papers/sqlhierarchies/sqlhierarchies2.htm" target="_top">describes the technique for tree_sortkeys</a>,
 although the <a class="ulink" href="http://openacs.org/forums/message-view?message_id=112943" target="_top">OpenACS implementation has a few differences in the
 implementation</a>, to make it work for many languages and the LIKE
 construct in Postgres.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-notifications" leftLabel="Prev" leftTitle="Notifications"
-		    rightLink="tutorial-vuh" rightLabel="Next" rightTitle="Using .vuh files for pretty urls"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-notifications" leftLabel="Prev" leftTitle="Notifications"
+			rightLink="tutorial-vuh" rightLabel="Next" rightTitle="Using .vuh files for pretty urls"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-html-email.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-html-email.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-html-email.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-html-email.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Sending HTML email from your application</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-css-layout" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-caching" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-css-layout" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-caching" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-html-email" id="tutorial-html-email"></a>Sending HTML email from your
 application</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:jade\@rubick.com" target="_top">Jade Rubick</a>
@@ -43,13 +43,12 @@
         -subject $subject \
         -body $message \
         -extraheaders $extra_headers
-    
-</pre>
+    </pre>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-css-layout" leftLabel="Prev" leftTitle="Laying out a page with CSS instead of
+			leftLink="tutorial-css-layout" leftLabel="Prev" leftTitle="Laying out a page with CSS instead of
 tables"
-		    rightLink="tutorial-caching" rightLabel="Next" rightTitle="Basic Caching"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="tutorial-caching" rightLabel="Next" rightTitle="Basic Caching"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-newpackage.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-newpackage.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Creating an Application Package</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial" leftLabel="Prev"
-		    title="
-Chapter 9. Development Tutorial"
-		    rightLink="tutorial-database" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial" leftLabel="Prev"
+			title="Chapter 9. Development
+Tutorial"
+			rightLink="tutorial-database" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-newpackage" id="tutorial-newpackage"></a>Creating an Application Package</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel
 Aufrecht</a>
@@ -16,8 +16,8 @@
 <a name="tutorial-picture" id="tutorial-picture"></a>The intended page map</h3></div></div></div><div class="mediaobject"><img src="images/openacs-best-practice.png"></div>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623176147848" id="idp140623176147848"></a>Overview</h3></div></div></div><p>To start developing new code in OpenACS, we build a new package.
-A package is a a discrete collection of web pages, Tcl code, and
+<a name="idp140682183652824" id="idp140682183652824"></a>Overview</h3></div></div></div><p>To start developing new code in OpenACS, we build a new package.
+A package is a discrete collection of web pages, Tcl code, and
 database tables and procedures. A package with user interface is
 called an <span class="strong"><strong>application</strong></span>;
 a package which provides functions to other packages and has no
@@ -34,14 +34,14 @@
 displaying a list of text notes.</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623176152424" id="idp140623176152424"></a>Before you begin</h3></div></div></div><p>You will need:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
+<a name="idp140682183611048" id="idp140682183611048"></a>Before you begin</h3></div></div></div><p>You will need:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>A computer with a working installation of OpenACS. If you
 don&#39;t have this, see <a class="xref" href="install-overview" title="Chapter 2. Installation Overview">Chapter 2,
 <em>Installation Overview</em>
 </a>.</p></li><li class="listitem"><p>Example files, which are included in the standard OpenACS 5.9.0
 distribution.</p></li>
 </ul></div><div class="figure">
-<a name="idp140623174045016" id="idp140623174045016"></a><p class="title"><strong>Figure 9.1. Assumptions in this
+<a name="idp140682188007688" id="idp140682188007688"></a><p class="title"><strong>Figure 9.1. Assumptions in this
 section</strong></p><div class="figure-contents"><div class="informaltable"><table class="informaltable" cellspacing="0" border="1">
 <colgroup>
 <col><col>
@@ -60,7 +60,7 @@
 </div><br class="figure-break">
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623174833816" id="idp140623174833816"></a>Use the APM to initialize a new
+<a name="idp140682183351512" id="idp140682183351512"></a>Use the APM to initialize a new
 package</h3></div></div></div><p>We use the <a class="ulink" href="packages" target="_top">ACS Package Manager</a> (APM) to add, remove, and upgrade
 packages. It handles package meta-data, such as lists of files that
 belong in the package. Each package is uniquely identified by a
@@ -99,7 +99,7 @@
 packages</a>).</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623175709240" id="idp140623175709240"></a>Add an Application Instance to the
+<a name="idp140682188284440" id="idp140682188284440"></a>Add an Application Instance to the
 Server</h3></div></div></div><p>In order to see your work in progress, you must create a map
 between the URL space of incoming requests and the package
 application instance. You do this by adding the application in the
@@ -118,26 +118,24 @@
 to be satisfied from the files at <code class="computeroutput">/var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www</code>.</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623171946968" id="idp140623171946968"></a>Quick start</h3></div></div></div><p>The remainder of the tutorial walks you through each file one at
+<a name="idp140682188881800" id="idp140682188881800"></a>Quick start</h3></div></div></div><p>The remainder of the tutorial walks you through each file one at
 a time as you create the package. You can skip all this, and get a
-working package, by doing the following:</p><pre class="screen">
-cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/acs-core-docs/www/files/tutorial
+working package, by doing the following:</p><pre class="screen">cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/acs-core-docs/www/files/tutorial
 psql <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> -f myfirstpackage-create.sql
 cp note-edit.* note-delete.tcl index.* ../../../../myfirstpackage/www/
 mkdir ../../../../myfirstpackage/lib
 cp note-list.* ../../../../myfirstpackage/lib/
 cp myfirstpackage-*sql ../../../../myfirstpackage/sql/postgresql/
 cp myfirstpackage-procs.tcl ../../../../myfirstpackage/tcl/test/
-cp note-procs.tcl ../../../../myfirstpackage/tcl/
-</pre><p>After restarting the server, the tutorial application will be
+cp note-procs.tcl ../../../../myfirstpackage/tcl/</pre><p>After restarting the server, the tutorial application will be
 installed and working at the url you selected in the previous
 step.</p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial" leftLabel="Prev" leftTitle="
-Chapter 9. Development Tutorial"
-		    rightLink="tutorial-database" rightLabel="Next" rightTitle="Setting Up Database Objects"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial" leftLabel="Prev" leftTitle="Chapter 9. Development
+Tutorial"
+			rightLink="tutorial-database" rightLabel="Next" rightTitle="Setting Up Database Objects"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html,v
diff -u -r1.45 -r1.46
--- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html	8 Nov 2017 09:42:12 -0000	1.45
+++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html	25 Apr 2018 08:38:28 -0000	1.46
@@ -11,10 +11,10 @@
   <div class="mediaobject"><img src="images/openacs-best-practice.png"></div>
 </div>
 
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623176147848"></a>Overview</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682183652824"></a>Overview</h3></div></div></div>
       
       <p>To start developing new code in OpenACS, we build a new package. A package 
-      is a a discrete collection of web pages, Tcl code, and database tables and procedures.
+      is a discrete collection of web pages, Tcl code, and database tables and procedures.
       A package with user interface is called an <span class="strong"><strong>application</strong></span>; 
       a package which provides functions to other packages and has no direct interface, a
       <span class="strong"><strong>service</strong></span>.  A package can be installed, upgraded, and 
@@ -36,22 +36,22 @@
 </p>
   </div>
 
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623176152424"></a>Before you begin</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682183611048"></a>Before you begin</h3></div></div></div>
     <p>You will need:</p>
     <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>A computer with a working installation of
 	  OpenACS.  If you don't have this, see <a class="xref" href="install-overview.html" title="Chapter 2. Installation Overview">Chapter 2, <i>Installation Overview</i></a>.
 	  </p></li><li class="listitem"><p>Example files, which are included in the
 standard OpenACS 5.9.0 distribution.
 	  </p></li></ul></div>
-    <div class="figure"><a name="idp140623174045016"></a><p class="title"><b>Figure 9.1. Assumptions in this section</b></p><div class="figure-contents">
+    <div class="figure"><a name="idp140682188007688"></a><p class="title"><b>Figure 9.1. Assumptions in this section</b></p><div class="figure-contents">
       
       <div class="informaltable">
         <table class="informaltable" cellspacing="0" border="1"><colgroup><col><col></colgroup><tbody><tr><td>Fully qualified domain name of your server</td><td><em class="replaceable"><code>yourserver.test</code></em></td></tr><tr><td>URL of your server</td><td><em class="replaceable"><code>http://yourserver.test:8000</code></em></td></tr><tr><td>Name of development account</td><td><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></td></tr><tr><td>New Package key</td><td><em class="replaceable"><code>myfirstpackage</code></em></td></tr></tbody></table>
       </div>
     </div></div><br class="figure-break">
   </div>
 
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623174833816"></a>Use the APM to initialize a new package</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682183351512"></a>Use the APM to initialize a new package</h3></div></div></div>
     
     <p>We use the <a class="ulink" href="packages.html" target="_top">ACS Package Manager</a> (APM) to add, remove, and
     upgrade packages.  It handles package meta-data, such as lists of
@@ -98,7 +98,7 @@
           files in the package will be within this directory. <a class="ulink" href="packages.html" target="_top">More on the structure of
           packages</a>). </p>
     </div>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623175709240"></a>Add an Application Instance to the Server</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682188284440"></a>Add an Application Instance to the Server</h3></div></div></div>
       
       <p>In order to see your work in progress, you must create a
       map between the URL space of incoming requests and the package application instance.
@@ -119,7 +119,7 @@
       <code class="computeroutput">http://yourserver.test:8000/myfirstpackage</code>
       to be satisfied from the files at <code class="computeroutput">/var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www</code>.</p>
     </div>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623171946968"></a>Quick start</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682188881800"></a>Quick start</h3></div></div></div>
       
       <p>The remainder of the tutorial walks you through each file one at a time as you create the package.  You can skip all this, and get a working package, by doing the following:</p>
     <pre class="screen">cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/acs-core-docs/www/files/tutorial
Index: openacs-4/packages/acs-core-docs/www/tutorial-notifications.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-notifications.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-notifications.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-notifications.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Notifications</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-upgrades" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-hierarchical" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-upgrades" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-hierarchical" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-notifications" id="tutorial-notifications"></a>Notifications</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:dave\@student.usyd.edu.au" target="_top">David Bell</a> and
 <a class="ulink" href="mailto:simon\@collaboraid.net" target="_top">Simon Carstensen</a>
@@ -83,8 +83,7 @@
 
     select inline_0();
     drop function inline_0();
-    
-</pre><p>You also need a drop script. This is untested for comptability
+    </pre><p>You also need a drop script. This is untested for compatibility
 with the above script.</p><pre class="programlisting">
       -- \@author gwong\@orchardlabs.com,ben\@openforce.biz
       -- \@creation-date 2002-05-16
@@ -174,8 +173,7 @@
 
 select inline_0();
 drop function inline_0();
-    
-</pre><p>The next step is to setup our notification creation. A new
+    </pre><p>The next step is to setup our notification creation. A new
 notification must be added to the notification table for each blog
 entry added. We do this using the notification::new procedure</p><pre class="programlisting">
         notification::new \
@@ -185,8 +183,7 @@
             -response_id $blog(entry_id) \
             -notif_subject $blog(title) \
             -notif_text $new_content
-    
-</pre><p>This code is placed in the Tcl procedure that creates blog
+    </pre><p>This code is placed in the Tcl procedure that creates blog
 entries, right after the entry gets created in the code. The
 <code class="computeroutput">$blog(package_id)</code> is the
 OpenACS object_id of the Weblogger instance to which the entry has
@@ -208,10 +205,8 @@
         -pretty_name [lars_blog_name] \
         -url [lars_blog_public_package_url] \
     ]
-    
-</pre><p>which will return something like</p><pre class="programlisting">
-    You may &lt;a href="/notifications/request-new?..."&gt;request notification&lt;/a&gt; for Weblogger.
-</pre><p>which can be readily put on the blog index page. The
+    </pre><p>which will return something like</p><pre class="programlisting">
+    You may &lt;a href="/notifications/request-new?..."&gt;request notification&lt;/a&gt; for Weblogger.</pre><p>which can be readily put on the blog index page. The
 <code class="computeroutput">pretty_name</code> parameter is what
 appears at the end of the text returned (i.e. "... request
 notification&lt;/a&gt; for pretty_name"), The <code class="computeroutput">url</code> parameter should be set to the address
@@ -220,9 +215,9 @@
 For more examples look at the forums package.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-upgrades" leftLabel="Prev" leftTitle="Distributing upgrades of your
+			leftLink="tutorial-upgrades" leftLabel="Prev" leftTitle="Distributing upgrades of your
 package"
-		    rightLink="tutorial-hierarchical" rightLabel="Next" rightTitle="Hierarchical data"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="tutorial-hierarchical" rightLabel="Next" rightTitle="Hierarchical data"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-notifications.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-notifications.html,v
diff -u -r1.19 -r1.20
--- openacs-4/packages/acs-core-docs/www/tutorial-notifications.html	8 Nov 2017 09:42:12 -0000	1.19
+++ openacs-4/packages/acs-core-docs/www/tutorial-notifications.html	25 Apr 2018 08:38:28 -0000	1.20
@@ -84,7 +84,7 @@
     </pre>
 
     <p>You also need a drop script. This is untested for
-    comptability with the above script.</p>
+    compatibility with the above script.</p>
     <pre class="programlisting">
       -- @author gwong@orchardlabs.com,ben@openforce.biz
       -- @creation-date 2002-05-16
Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-pages.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-pages.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,33 +3,33 @@
 <property name="doc(title)">Creating Web Pages</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-database" leftLabel="Prev"
-		    title="
-Chapter 9. Development Tutorial"
-		    rightLink="tutorial-debug" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-database" leftLabel="Prev"
+			title="Chapter 9. Development
+Tutorial"
+			rightLink="tutorial-debug" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-pages" id="tutorial-pages"></a>Creating Web Pages</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel
 Aufrecht</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623165919032" id="idp140623165919032"></a>Install some API</h3></div></div></div><p>As a workaround for missing content-repository functionality,
+<a name="idp140682188494968" id="idp140682188494968"></a>Install some API</h3></div></div></div><p>As a workaround for missing content-repository functionality,
 copy a provided file into the directory for Tcl files:</p><pre class="screen"><span class="action">cp /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/acs-core-docs/www/files/tutorial/note-procs.tcl /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/tcl/</span></pre><p>To make this file take effect, go to the <a class="ulink" href="/acs-admin/apm" target="_top">APM</a> and choose "Reload
 changed" for "MyFirstPackage".</p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623162540728" id="idp140623162540728"></a>Page Map</h3></div></div></div><p>Our package will have two visible pages. The first shows a list
+<a name="idp140682183486264" id="idp140682183486264"></a>Page Map</h3></div></div></div><p>Our package will have two visible pages. The first shows a list
 of all objects; the second shows a single object in view or edit
 mode, and can also be used to add an object. The index page will
 display the list, but since we might reuse the list later,
 we&#39;ll put it in a separate file and include it on the index
 page.</p><div class="figure">
-<a name="idp140623165411624" id="idp140623165411624"></a><p class="title"><strong>Figure 9.5. Page
+<a name="idp140682183487208" id="idp140682183487208"></a><p class="title"><strong>Figure 9.5. Page
 Map</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/tutorial-page-map.png" align="middle" alt="Page Map"></div></div>
 </div><br class="figure-break">
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623162336104" id="idp140623162336104"></a>Build the "Index" page</h3></div></div></div><p>Each user-visible page in your package has, typically, three
+<a name="idp140682187991576" id="idp140682187991576"></a>Build the "Index" page</h3></div></div></div><p>Each user-visible page in your package has, typically, three
 parts. The <code class="computeroutput">tcl</code> file holds the
 procedural logic for the page, including Tcl and
 database-independent SQL code, and does things like check
@@ -41,8 +41,7 @@
 first, starting with the Tcl file:</p><pre class="screen">
 [$OPENACS_SERVICE_NAME postgresql]$<strong class="userinput"><code> cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackages/www</code></strong>
 [$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>emacs index.tcl</code></strong>
-</pre><p>Paste this into the file.</p><pre class="programlisting">
-ad_page_contract {
+</pre><p>Paste this into the file.</p><pre class="programlisting">ad_page_contract {
     This is the main page for the package.  It displays all of the Notes and provides links to edit them and to create new Notes.
 
     \@author Your Name (you\@example.com)
@@ -56,19 +55,15 @@
 #    tcl-indent-level: 4
 #    indent-tabs-mode: nil
 # End:
-</pre><p>Now <code class="computeroutput">index.adp</code>:</p><pre class="programlisting">
-&lt;master&gt;
+</pre><p>Now <code class="computeroutput">index.adp</code>:</p><pre class="programlisting">&lt;master&gt;
   &lt;property name="doc(title)"&gt;\@page_title;literal\@&lt;/property&gt;
   &lt;property name="context"&gt;\@context;literal\@&lt;/property&gt;
-&lt;include src="/packages/myfirstpackage/lib/note-list"&gt;
-</pre><p>The index page includes the list page, which we put in /lib
+&lt;include src="/packages/myfirstpackage/lib/note-list"&gt;</pre><p>The index page includes the list page, which we put in /lib
 instead of /www to designate that it&#39;s available for reuse by
-other packages.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME www]$<strong class="userinput"><code> mkdir /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/lib</code></strong>
+other packages.</p><pre class="screen">[$OPENACS_SERVICE_NAME www]$<strong class="userinput"><code> mkdir /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/lib</code></strong>
 [$OPENACS_SERVICE_NAME www]$<strong class="userinput"><code> cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/lib</code></strong>
 [$OPENACS_SERVICE_NAME lib]$ <strong class="userinput"><code>emacs note-list.tcl</code></strong>
-</pre><pre class="programlisting">
-template::list::create \
+</pre><pre class="programlisting">template::list::create \
     -name notes \
     -multirow notes \
     -actions { "Add a Note" note-edit} \
@@ -111,18 +106,14 @@
 #    tcl-indent-level: 4
 #    indent-tabs-mode: nil
 # End:
-</pre><pre class="screen">
-[$OPENACS_SERVICE_NAME lib]$ <strong class="userinput"><code>emacs note-list.adp</code></strong>
+</pre><pre class="screen">[$OPENACS_SERVICE_NAME lib]$ <strong class="userinput"><code>emacs note-list.adp</code></strong>
 </pre><pre class="programlisting">
-&lt;listtemplate name="notes"&gt;&lt;/listtemplate&gt;
-</pre><p>You can test your work by viewing the page /myfirstpackage on
+&lt;listtemplate name="notes"&gt;&lt;/listtemplate&gt;</pre><p>You can test your work by viewing the page /myfirstpackage on
 your installation.</p><p>Create the add/edit page. If note_id is passed in, it display
 that note, and can change to edit mode if appropriate. Otherwise,
-it presents a form for adding notes.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME lib]$<strong class="userinput"><code> cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/www</code></strong>
+it presents a form for adding notes.</p><pre class="screen">[$OPENACS_SERVICE_NAME lib]$<strong class="userinput"><code> cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/www</code></strong>
 [$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>emacs note-edit.tcl</code></strong>
-</pre><pre class="programlisting">
-ad_page_contract {
+</pre><pre class="programlisting">ad_page_contract {
     This is the view-edit page for notes.
 
     \@author Your Name (you\@example.com)
@@ -168,24 +159,19 @@
 #    tcl-indent-level: 4
 #    indent-tabs-mode: nil
 # End:
-</pre><pre class="screen">
-[$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>emacs note-edit.adp</code></strong>
-</pre><pre class="programlisting">
-&lt;master&gt;
+</pre><pre class="screen">[$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>emacs note-edit.adp</code></strong>
+</pre><pre class="programlisting">&lt;master&gt;
   &lt;property name="doc(title)"&gt;\@page_title;literal\@&lt;/property&gt;
   &lt;property name="context"&gt;\@context;literal\@&lt;/property&gt;
   &lt;property name="focus"&gt;note.title&lt;/property&gt;
   
-&lt;formtemplate id="note"&gt;&lt;/formtemplate&gt;
-</pre><p>And the delete page. Since it has no UI, there is only a Tcl
-page, and no adp page.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>emacs note-delete.tcl</code></strong>
-</pre><pre class="programlisting">
-ad_page_contract {
+&lt;formtemplate id="note"&gt;&lt;/formtemplate&gt;</pre><p>And the delete page. Since it has no UI, there is only a Tcl
+page, and no adp page.</p><pre class="screen">[$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>emacs note-delete.tcl</code></strong>
+</pre><pre class="programlisting">ad_page_contract {
     This deletes a note
 
     \@author Your Name (you\@example.com)
-    \@cvs-id $&zwnj;Id: note-delete.tcl,v 1.4 2017/08/07 23:47:54 gustafn Exp $
+    \@cvs-id $&zwnj;Id: note-delete.tcl,v 1.5 2018/01/19 21:23:51 gustafn Exp $
  
     \@param item_id The item_id of the note to delete
 } {
@@ -198,7 +184,7 @@
 
 ad_returnredirect "."
 # stop running this code, since we&#39;re redirecting
-abort
+ad_script_abort
 
 # Local variables:
 #    mode: tcl
@@ -209,8 +195,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-database" leftLabel="Prev" leftTitle="Setting Up Database Objects"
-		    rightLink="tutorial-debug" rightLabel="Next" rightTitle="Debugging and Automated Testing"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-database" leftLabel="Prev" leftTitle="Setting Up Database Objects"
+			rightLink="tutorial-debug" rightLabel="Next" rightTitle="Debugging and Automated Testing"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.html,v
diff -u -r1.46 -r1.47
--- openacs-4/packages/acs-core-docs/www/tutorial-pages.html	8 Nov 2017 09:42:12 -0000	1.46
+++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html	25 Apr 2018 08:38:28 -0000	1.47
@@ -6,22 +6,22 @@
     <p>by <a class="ulink" href="mailto:joel@aufrecht.org" target="_top">Joel Aufrecht</a></p>
   &lt;/authorblurb&gt;</span>
   
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623165919032"></a>Install some API</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682188494968"></a>Install some API</h3></div></div></div>
     
     <p>As a workaround for missing content-repository functionality, copy a provided file into the directory for Tcl files:</p>
     <pre class="screen">
     <span class="action">cp /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/acs-core-docs/www/files/tutorial/note-procs.tcl /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/tcl/</span></pre>
     <p>To make this file take effect, go to the <a class="ulink" href="/acs-admin/apm" target="_top">APM</a> and choose "Reload changed" for "MyFirstPackage".</p>
   </div>
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623162540728"></a>Page Map</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682183486264"></a>Page Map</h3></div></div></div>
     
     <p>Our package will have two visible pages.  The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object.  The index page will display the list, but since we might reuse the list later, we'll put it in a separate file and include it on the index page.</p>
-      <div class="figure"><a name="idp140623165411624"></a><p class="title"><b>Figure 9.5. Page Map</b></p><div class="figure-contents">
+      <div class="figure"><a name="idp140682183487208"></a><p class="title"><b>Figure 9.5. Page Map</b></p><div class="figure-contents">
         
         <div class="mediaobject" align="center"><img src="images/tutorial-page-map.png" align="middle" alt="Page Map"></div>
       </div></div><br class="figure-break">
   </div>
-  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623162336104"></a>Build the "Index" page</h3></div></div></div>
+  <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682187991576"></a>Build the "Index" page</h3></div></div></div>
     
       <p>Each user-visible page in your package has, typically,
       three parts.  The  <code class="computeroutput">tcl</code> file
@@ -186,7 +186,7 @@
 
 ad_returnredirect "."
 # stop running this code, since we're redirecting
-abort
+ad_script_abort
 
 # Local variables:
 #    mode: tcl
Index: openacs-4/packages/acs-core-docs/www/tutorial-parameters.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-parameters.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-parameters.adp	27 Mar 2018 12:22:17 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-parameters.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Adding in parameters for your package</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-wysiwyg-editor" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-upgrade-scripts" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-wysiwyg-editor" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-upgrade-scripts" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-parameters" id="tutorial-parameters"></a>Adding in parameters for your
 package</h2></div></div></div><p>Each instance of a package can have parameters associated with
@@ -19,8 +19,8 @@
 parameter::get procedure.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-wysiwyg-editor" leftLabel="Prev" leftTitle="Enabling WYSIWYG"
-		    rightLink="tutorial-upgrade-scripts" rightLabel="Next" rightTitle="Writing upgrade scripts"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
+			leftLink="tutorial-wysiwyg-editor" leftLabel="Prev" leftTitle="Enabling WYSIWYG"
+			rightLink="tutorial-upgrade-scripts" rightLabel="Next" rightTitle="Writing upgrade scripts"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-schedule-procs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-schedule-procs.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-schedule-procs.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-schedule-procs.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,26 +3,25 @@
 <property name="doc(title)">Scheduled Procedures</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-caching" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-wysiwyg-editor" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-caching" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-wysiwyg-editor" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-schedule-procs" id="tutorial-schedule-procs"></a>Scheduled Procedures</h2></div></div></div><p>Put this proc in a file <code class="computeroutput">/packages/<em class="replaceable"><code>myfirstpackage</code></em>/tcl/scheduled-init.tcl</code>.
 Files in /tcl with the -init.tcl ending are sourced on server
 startup. This one executes my_proc every 60 seconds:</p><pre class="programlisting">
 ad_schedule_proc 60 myfirstpackage::my_proc
-</pre><p>This executes once a day, at midnight:</p><pre class="programlisting">
-ad_schedule_proc \
+</pre><p>This executes once a day, at midnight:</p><pre class="programlisting">ad_schedule_proc \
     -schedule_proc ns_schedule_daily \
     [list 0 0] \
     myfirstpackage::my_proc
 </pre><p>See <a class="ulink" href="/api-doc/proc-view?proc=ad%5fschedule%5fproc" target="_top">ad_schedule_proc</a> for more information.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-caching" leftLabel="Prev" leftTitle="Basic Caching"
-		    rightLink="tutorial-wysiwyg-editor" rightLabel="Next" rightTitle="Enabling WYSIWYG"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-caching" leftLabel="Prev" leftTitle="Basic Caching"
+			rightLink="tutorial-wysiwyg-editor" rightLabel="Next" rightTitle="Enabling WYSIWYG"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-second-database.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-second-database.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/tutorial-second-database.adp	7 Aug 2017 23:47:53 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/tutorial-second-database.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -3,20 +3,19 @@
 <property name="doc(title)">Connect to a second database</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-upgrade-scripts" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-future-topics" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-upgrade-scripts" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-future-topics" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-second-database" id="tutorial-second-database"></a>Connect to a second database</h2></div></div></div><p>It is possible to use the OpenACS Tcl database API with other
 databases. In this example, the OpenACS site uses a PostGre
 database, and accesses another PostGre database called legacy.</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
 <p>Modify config.tcl to accommodate the legacy database, and to
 ensure that the legacy database is not used for standard OpenACS
-queries:</p><pre class="programlisting">
-ns_section ns/db/pools
+queries:</p><pre class="programlisting">ns_section ns/db/pools
 ns_param   pool1              "Pool 1"
 ns_param   pool2              "Pool 2"
 ns_param   pool3              "Pool 3"
@@ -68,26 +67,23 @@
 ns_section ns/server/${server}/acs/database
 ns_param database_names [list main legacy]
 ns_param pools_main [list pool1 pool2 pool3]
-ns_param pools_legacy [list legacy]
-</pre>
+ns_param pools_legacy [list legacy]</pre>
 </li><li class="listitem">
 <p>To use the legacy database, use the <code class="code">-dbn</code> flag for any of the <code class="code">db_</code> API calls. For example, suppose there is a table
 called "foo" in the legacy system, with a field
 "bar". List "bar" for all records with this Tcl
-file:</p><pre class="programlisting">
-db_foreach -dbn legacy get_bar_query {
+file:</p><pre class="programlisting">db_foreach -dbn legacy get_bar_query {
   select bar from foo
   limit 10
 } {
   ns_write "&lt;br/&gt;$bar"
-}
-</pre>
+}</pre>
 </li>
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-upgrade-scripts" leftLabel="Prev" leftTitle="Writing upgrade scripts"
-		    rightLink="tutorial-future-topics" rightLabel="Next" rightTitle="Future Topics"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-upgrade-scripts" leftLabel="Prev" leftTitle="Writing upgrade scripts"
+			rightLink="tutorial-future-topics" rightLabel="Next" rightTitle="Future Topics"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-specs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-specs.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-specs.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-specs.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,17 +3,16 @@
 <property name="doc(title)">Write the Requirements and Design Specs</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-advanced" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-cvs" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-advanced" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-cvs" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-specs" id="tutorial-specs"></a>Write the Requirements and Design Specs</h2></div></div></div><p>Before you get started you should make yourself familiar with
 the tags that are used to write your documentation. For tips on
 editing SGML files in emacs, see <a class="xref" href="docbook-primer" title="OpenACS Documentation Guide">the
-section called &ldquo;OpenACS Documentation
-Guide&rdquo;</a>.</p><p>It&#39;s time to document. For the tutorial we&#39;ll use
+section called “OpenACS Documentation Guide”</a>.</p><p>It&#39;s time to document. For the tutorial we&#39;ll use
 pre-written documentation. When creating a package from scratch,
 start by copying the documentation template from <code class="computeroutput">/var/lib/aolserver/openacs-dev/packages/acs-core-docs/xml/docs/xml/package-documentation-template.xml</code>
 to <code class="computeroutput">myfirstpackage/www/docs/xml/index.xml</code>.</p><p>You then edit that file with emacs to write the requirements and
@@ -27,8 +26,7 @@
 [$OPENACS_SERVICE_NAME myfirstpackage]$ <strong class="userinput"><code>mkdir -p www/doc/xml</code></strong>
 [$OPENACS_SERVICE_NAME myfirstpackage]$ <strong class="userinput"><code>cd www/doc/xml</code></strong>
 [$OPENACS_SERVICE_NAME xml]$ <strong class="userinput"><code>cp /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/acs-core-docs/www/files/myfirstpackage/* .</code></strong>
-[$OPENACS_SERVICE_NAME xml]$
-</pre><p>OpenACS uses DocBook for documentation. DocBook is an XML
+[$OPENACS_SERVICE_NAME xml]$</pre><p>OpenACS uses DocBook for documentation. DocBook is an XML
 standard for semantic markup of documentation. That means that the
 tags you use indicate meaning, not intended appearance. The style
 sheet will determine appearance. You will edit the text in an xml
@@ -41,8 +39,7 @@
 stored in the <code class="computeroutput">www/docs/</code>
 directory. A Makefile is provided to generate html from the xml,
 and copy all of the supporting files. If Docbook is set up
-correctly, all you need to do is:</p><pre class="screen">
-[$OPENACS_SERVICE_NAME xml]$<strong class="userinput"><code> make</code></strong>
+correctly, all you need to do is:</p><pre class="screen">[$OPENACS_SERVICE_NAME xml]$<strong class="userinput"><code> make</code></strong>
 cd .. ; /usr/bin/xsltproc ../../../acs-core-docs/www/xml/openacs.xsl xml/index.xml
 Writing requirements-introduction.html for chapter(requirements-introduction)
 Writing requirements-overview.html for chapter(requirements-overview)
@@ -58,15 +55,14 @@
 Writing admin-guide.html for chapter(admin-guide)
 Writing bi01.html for bibliography
 Writing index.html for book
-[$OPENACS_SERVICE_NAME xml]$
-</pre><p>Verify that the documentation was generated and reflects your
+[$OPENACS_SERVICE_NAME xml]$</pre><p>Verify that the documentation was generated and reflects your
 changes by browsing to <code class="computeroutput">http://<em class="replaceable"><code>yoursite</code></em>:8000/myfirstpackage/doc</code>
 </p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-advanced" leftLabel="Prev" leftTitle="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-cvs" rightLabel="Next" rightTitle="Add the new package to CVS"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="tutorial-advanced" leftLabel="Prev" leftTitle="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-cvs" rightLabel="Next" rightTitle="Add the new package to CVS"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-upgrade-scripts.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-upgrade-scripts.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-upgrade-scripts.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-upgrade-scripts.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Writing upgrade scripts</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-parameters" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-second-database" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-parameters" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-second-database" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-upgrade-scripts" id="tutorial-upgrade-scripts"></a>Writing upgrade scripts</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:jade\@rubick.com" target="_top">Jade Rubick</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>If your package changes its data model, you have to write an
@@ -21,14 +21,13 @@
 more serious and fundamental changes than the program .tcl
 files.</p><p>Now use the APM to create a new package version 1.0b2. Commit
 all your changes, tag the release (<a class="xref" href="tutorial-upgrades" title="Distributing upgrades of your package">the section called
-&ldquo;Distributing upgrades of your
-package&rdquo;</a>), and both new installations and upgrades
-will be taken care of.</p>
+“Distributing upgrades of your package”</a>), and both new
+installations and upgrades will be taken care of.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-parameters" leftLabel="Prev" leftTitle="Adding in parameters for your
+			leftLink="tutorial-parameters" leftLabel="Prev" leftTitle="Adding in parameters for your
 package"
-		    rightLink="tutorial-second-database" rightLabel="Next" rightTitle="Connect to a second database"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="tutorial-second-database" rightLabel="Next" rightTitle="Connect to a second database"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-upgrades.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-upgrades.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-upgrades.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-upgrades.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Distributing upgrades of your package</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-distribute" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-notifications" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-distribute" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-notifications" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-upgrades" id="tutorial-upgrades"></a>Distributing upgrades of your
 package</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by Jade Rubick</span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>The OpenACS Package Repository builds a list of packages that
@@ -17,18 +17,17 @@
 release a new version of your package.</p><p>For the sake of this example, let&#39;s assume you are the
 package owner of the <code class="computeroutput">notes</code>
 package. It is currently at version 1.5, and you are planning on
-releasing version 1.6. It is also located in OpenACS&#39;s CVS.</p><p>To release your package:</p><pre class="screen">
-cd /path/to/notes
+releasing version 1.6. It is also located in OpenACS&#39;s CVS.</p><p>To release your package:</p><pre class="screen">cd /path/to/notes
 cvs commit -m "Update package to version 1.6."
 cvs tag notes-1-6-final
 cvs tag -F openacs-5-1-compat
-</pre><p>Of course, make sure you write upgrade scripts (<a class="xref" href="tutorial-upgrade-scripts" title="Writing upgrade scripts">the section called
-&ldquo;Writing upgrade scripts&rdquo;</a>)</p>
+</pre><p>Of course, make sure you write upgrade scripts (<a class="xref" href="tutorial-upgrade-scripts" title="Writing upgrade scripts">the section called “Writing upgrade
+scripts”</a>)</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-distribute" leftLabel="Prev" leftTitle="Prepare the package for
+			leftLink="tutorial-distribute" leftLabel="Prev" leftTitle="Prepare the package for
 distribution."
-		    rightLink="tutorial-notifications" rightLabel="Next" rightTitle="Notifications"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="tutorial-notifications" rightLabel="Next" rightTitle="Notifications"
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-vuh.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-vuh.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-vuh.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-vuh.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Using .vuh files for pretty urls</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-hierarchical" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-css-layout" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-hierarchical" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-css-layout" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-vuh" id="tutorial-vuh"></a>Using .vuh files for pretty urls</h2></div></div></div><p>.Vuh files are special cases of .tcl files, used for rewriting
 incoming urls. We can use a vuh file to prettify the uri for our
@@ -17,8 +17,7 @@
 referring links in note-list. First, add the vuh:</p><pre class="screen">
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/myfirstpackage/www</code></strong>
 [$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>emacs note.vuh</code></strong>
-</pre><p>Paste this into the file:</p><pre class="programlisting">
-# Transform requests of type: a/b
+</pre><p>Paste this into the file:</p><pre class="programlisting"># Transform requests of type: a/b
 # into this internal request: A?c=b
 # for example, note/495 &gt; note-edit?item_id=496
 # a: base name of this .vuh file
@@ -50,8 +49,7 @@
 able to look up an item based on pretty id.</p><p>We use <code class="computeroutput">rp_form_put</code> to store
 the item id in the internal register that the next page is
 expecting, and then redirects the request in process internally
-(ie, without a browser refresh).</p><p>Next, modify note-list so that its link is of the new form.:</p><pre class="screen">
-[$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>emacs ../lib/note-edit.tcl</code></strong>
+(ie, without a browser refresh).</p><p>Next, modify note-list so that its link is of the new form.:</p><pre class="screen">[$OPENACS_SERVICE_NAME www]$ <strong class="userinput"><code>emacs ../lib/note-edit.tcl</code></strong>
 </pre><pre class="programlisting">
 db_multirow \
     -extend {
@@ -74,9 +72,9 @@
 being served from.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-hierarchical" leftLabel="Prev" leftTitle="Hierarchical data"
-		    rightLink="tutorial-css-layout" rightLabel="Next" rightTitle="Laying out a page with CSS instead of
+			leftLink="tutorial-hierarchical" leftLabel="Prev" leftTitle="Hierarchical data"
+			rightLink="tutorial-css-layout" rightLabel="Next" rightTitle="Laying out a page with CSS instead of
 tables"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-wysiwyg-editor.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-wysiwyg-editor.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/tutorial-wysiwyg-editor.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/tutorial-wysiwyg-editor.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,28 +3,26 @@
 <property name="doc(title)">Enabling WYSIWYG</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="tutorial-schedule-procs" leftLabel="Prev"
-		    title="
-Chapter 10. Advanced Topics"
-		    rightLink="tutorial-parameters" rightLabel="Next">
-		<div class="sect1">
+			leftLink="tutorial-schedule-procs" leftLabel="Prev"
+			title="Chapter 10. Advanced
+Topics"
+			rightLink="tutorial-parameters" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tutorial-wysiwyg-editor" id="tutorial-wysiwyg-editor"></a>Enabling
 WYSIWYG</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:nima.mazloumi\@gmx.de" target="_top">Nima
 Mazloumi</a>
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span><p>Most of the forms in OpenACS are created using the form builder,
 see <a class="xref" href="form-builder" title="Using Form Builder: building html forms dynamically">the section
-called &ldquo;Using Form Builder: building html forms
-dynamically&rdquo;</a>. For detailed information on the API
-take a look <a class="ulink" href="/api-doc/proc-view?proc=ad_form" target="_top">here</a>.</p><p>The following section shows how you can modify your form to
+called “Using Form Builder: building html forms dynamically”</a>.
+For detailed information on the API take a look <a class="ulink" href="/api-doc/proc-view?proc=ad_form" target="_top">here</a>.</p><p>The following section shows how you can modify your form to
 allow WYSIWYG functionalities.</p><p>Convert your page to use <code class="code">ad_form</code> (some
 changes but worth it)</p><p>Here an examples. From:</p><pre class="programlisting">
         template::form create my_form
         template::element create my_form my_form_id -label "The ID" -datatype integer -widget hidden
         template::element create my_form my_input_field_1 -html { size 30 } -label "Label 1" -datatype text -optional
         template::element create my_form my_input_field_2 -label "Label 2" -datatype text -help_text "Some Help" -after_html {&lt;a name="#"&gt;Anchor&lt;/a&gt;}
-        
-</pre><p>To:</p><pre class="programlisting">
+        </pre><p>To:</p><pre class="programlisting">
         ad_form -name my_form -form {
                 my_form_id:key(acs_object_id_seq)
                 {my_input_field_1:text,optional
@@ -36,20 +34,17 @@
                    {after_html
                {&lt;a name="#"&gt;Anchor&lt;/a&gt;}}}
         } ...
-        
-</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3><p>You must not give your your form the same name that your page
-has. Otherwise HTMLArea won&#39;t load.</p>
+        </pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
+<h3 class="title">Warning</h3><p>You must not give your form the same name that your page has.
+Otherwise HTMLArea won&#39;t load.</p>
 </div><p>Convert your textarea widget to a richtext widget and enable
 htmlarea.</p><p>The <code class="code">htmlarea_p</code>-flag can be used to
 prevent WYSIWYG functionality. Defaults to true if left away.</p><p>From:</p><pre class="programlisting">
         {my_input_field_2:text
-        
-</pre><p>To:</p><pre class="programlisting">
+        </pre><p>To:</p><pre class="programlisting">
         {my_input_field_2:richtext(richtext)
                         {htmlarea_p "t"}
-        
-</pre><p>The richtext widget presents a list with two elements: text and
+        </pre><p>The richtext widget presents a list with two elements: text and
 content type. To learn more on existing content types search in
 Google for "MIME-TYPES" or take a look at the
 <code class="code">cr_mime_types</code> table.</p><p>Make sure that both values are passed as a list to your
@@ -63,16 +58,14 @@
 <code class="code">-on_request</code> block. If you have the format
 stored in the database pass this as well else use <code class="code">"text/html"</code>:</p><pre class="programlisting">
         set my_input_field_2 [template::util::richtext::create $my_input_field_2 "text/html"]
-        
-</pre><p>Now make sure that your SQL queries that do the data
+        </pre><p>Now make sure that your SQL queries that do the data
 manipulation retrieve the correct value. If you simply use
 <code class="code">my_input_field_2</code> you will store a list.
 Thus you need to add an <code class="code">-on_submit</code>
 block:</p><pre class="programlisting">
         set my_input_field_2 [ template::util::richtext::get_property contents $my_input_field_2]
         set format [ template::util::richtext::get_property format $my_input_field_2] #This is optional
-        
-</pre><p>Now the correct values for <code class="code">my_input_field_2</code> and <code class="code">format</code>
+        </pre><p>Now the correct values for <code class="code">my_input_field_2</code> and <code class="code">format</code>
 are passed to the <code class="code">-new_data</code> and
 <code class="code">-edit_data</code> blocks which don&#39;t need to
 get touched.</p><p>To make HTMLArea optional per package instance define a string
@@ -84,12 +77,10 @@
         ...
         
         {htmlarea_p $use_wysiwyg_p}
-        
-</pre><p>The <code class="code">-on_request</code> switch should set this
+        </pre><p>The <code class="code">-on_request</code> switch should set this
 value for your form.</p><pre class="programlisting">
         set htmlarea_p $use_wysiwyg_p
-        
-</pre><p>All you need now is a configuration page where the user can
+        </pre><p>All you need now is a configuration page where the user can
 change this setting. Create a <code class="code">configure.tcl</code> file:</p><pre class="programlisting">
 ad_page_contract {
 
@@ -124,20 +115,18 @@
         &lt;property name="context"&gt;\@context\@&lt;/property&gt;
 
         &lt;formtemplate id="categories_mode"&gt;&lt;/formtemplate&gt;
-        
-</pre><p>And finally reference this page from your admin page</p><pre class="programlisting">
+        </pre><p>And finally reference this page from your admin page</p><pre class="programlisting">
         #TCL:
         set return_url [ad_conn url]
 
         #ADP:
         &lt;a href=configure?&lt;%=[export_vars -url {return_url}]%&gt;&gt;Configure&lt;/a&gt;
-        
-</pre>
+        </pre>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="tutorial-schedule-procs" leftLabel="Prev" leftTitle="Scheduled Procedures"
-		    rightLink="tutorial-parameters" rightLabel="Next" rightTitle="Adding in parameters for your
+			leftLink="tutorial-schedule-procs" leftLabel="Prev" leftTitle="Scheduled Procedures"
+			rightLink="tutorial-parameters" rightLabel="Next" rightTitle="Adding in parameters for your
 package"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="tutorial-advanced" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="tutorial-advanced" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/tutorial-wysiwyg-editor.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-wysiwyg-editor.html,v
diff -u -r1.11 -r1.12
--- openacs-4/packages/acs-core-docs/www/tutorial-wysiwyg-editor.html	8 Nov 2017 09:42:12 -0000	1.11
+++ openacs-4/packages/acs-core-docs/www/tutorial-wysiwyg-editor.html	25 Apr 2018 08:38:28 -0000	1.12
@@ -30,7 +30,7 @@
 	} ...
 	</pre>
 	<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3>
-	<p>You must not give your your form the same name that your page has. Otherwise HTMLArea won't load.</p>
+	<p>You must not give your form the same name that your page has. Otherwise HTMLArea won't load.</p>
 	</div>
 	<p>Convert your textarea widget to a richtext widget and enable htmlarea.</p>
 	<p>The <code class="code">htmlarea_p</code>-flag can be used to prevent 
Index: openacs-4/packages/acs-core-docs/www/tutorial.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/tutorial.adp	7 Aug 2017 23:47:53 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/tutorial.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -1,19 +1,15 @@
 
-<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 9. Development
-Tutorial}</property>
-<property name="doc(title)">Chapter 9. Development
-Tutorial</property>
+<property name="context">{/doc/acs-core-docs {ACS Core Documentation}} {Chapter 9. Development Tutorial}</property>
+<property name="doc(title)">Chapter 9. Development Tutorial</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="acs-package-dev" leftLabel="Prev"
-		    title="
-Part III. For OpenACS Package
-Developers"
-		    rightLink="tutorial-newpackage" rightLabel="Next">
-		<div class="chapter">
+			leftLink="acs-package-dev" leftLabel="Prev"
+			title="Part III. For OpenACS
+Package Developers"
+			rightLink="tutorial-newpackage" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
-<a name="tutorial" id="tutorial"></a>Chapter 9. Development
-Tutorial</h2></div></div></div><div class="toc">
+<a name="tutorial" id="tutorial"></a>Chapter 9. Development Tutorial</h2></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
 <dt><span class="sect1"><a href="tutorial-newpackage">Creating
 an Application Package</a></span></dt><dt><span class="sect1"><a href="tutorial-database">Setting Up
@@ -24,9 +20,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="acs-package-dev" leftLabel="Prev" leftTitle="Part III. For
-OpenACS Package Developers"
-		    rightLink="tutorial-newpackage" rightLabel="Next" rightTitle="Creating an Application Package"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-package-dev" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="acs-package-dev" leftLabel="Prev" leftTitle="Part III. For OpenACS
+Package Developers"
+			rightLink="tutorial-newpackage" rightLabel="Next" rightTitle="Creating an Application Package"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-package-dev" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/unix-installation.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/unix-installation.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/unix-installation.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/unix-installation.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Install a Unix-like system and supporting software</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="complete-install" leftLabel="Prev"
-		    title="
-Chapter 3. Complete Installation"
-		    rightLink="oracle" rightLabel="Next">
-		<div class="sect1">
+			leftLink="complete-install" leftLabel="Prev"
+			title="Chapter 3. Complete
+Installation"
+			rightLink="oracle" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="unix-installation" id="unix-installation"></a>Install a Unix-like system and
 supporting software</h2></div></div></div><span style="color: red">&lt;authorblurb&gt;</span><p><span style="color: red">by <a class="ulink" href="mailto:joel\@aufrecht.org" target="_top">Joel
@@ -35,15 +35,15 @@
 </ul></div><p>In order to cut and paste the example code into your shell, you
 must first do <a class="xref" href="install-steps" title="Setting a global shell variable for cut and paste">Setting a
 global shell variable for cut and paste</a>.</p><p>To install a machine to the specifications of the Reference
-Platform, do the <a class="link" href="install-redhat" title="Appendix A. Install Red Hat 8/9">walkthrough
-of the Red Hat 8.0 Install for OpenACS</a>.</p><p><span class="cvstag">($&zwnj;Id: os.xml,v 1.16 2017/08/07 23:47:55
+Platform, do the <a class="link" href="install-redhat" title="Appendix A. Install Red Hat 8/9">walkthrough of the Red
+Hat 8.0 Install for OpenACS</a>.</p><p><span class="cvstag">($&zwnj;Id: os.xml,v 1.16 2017/08/07 23:47:55
 gustafn Exp $)</span></p>
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="complete-install" leftLabel="Prev" leftTitle="
-Chapter 3. Complete Installation"
-		    rightLink="oracle" rightLabel="Next" rightTitle="Install Oracle 8.1.7"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="complete-install" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="complete-install" leftLabel="Prev" leftTitle="Chapter 3. Complete
+Installation"
+			rightLink="oracle" rightLabel="Next" rightTitle="Install Oracle 8.1.7"
+			homeLink="index" homeLabel="Home" 
+			upLink="complete-install" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/update-repository.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/update-repository.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/update-repository.adp	27 Mar 2018 12:22:17 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/update-repository.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">How to Update the OpenACS.org repository</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="releasing-openacs-core" leftLabel="Prev"
-		    title="
-Chapter 16. Releasing OpenACS"
-		    rightLink="releasing-package" rightLabel="Next">
-		<div class="section">
+			leftLink="releasing-openacs-core" leftLabel="Prev"
+			title="Chapter 16. Releasing
+OpenACS"
+			rightLink="releasing-package" rightLabel="Next">
+		    <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="update-repository" id="update-repository"></a>How to Update the OpenACS.org
 repository</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1">
@@ -31,8 +31,7 @@
 for building the repository, invoked with this shell script. Since
 the page circumvents security checks for ease of use, the entire
 site is limited to local requests. The script is called daily with
-a cron job.</p><pre class="programlisting">
-#!/bin/sh
+a cron job.</p><pre class="programlisting">#!/bin/sh
 #set -x
 
 STATUS=`wget --output-document - http://127.0.0.1:8002/build-repository.tcl | grep DONE | wc -l`
@@ -42,15 +41,14 @@
     rm -rf /web/openacs.org/www/repository.old
     mv /web/openacs.org/www/repository /web/openacs.org/www/repository.old
     cp -r /web/repository/www/repository /web/openacs.org/www/repository
-fi
-</pre>
+fi</pre>
 </li>
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="releasing-openacs-core" leftLabel="Prev" leftTitle="OpenACS Core and .LRN"
-		    rightLink="releasing-package" rightLabel="Next" rightTitle="How to package and release an OpenACS
+			leftLink="releasing-openacs-core" leftLabel="Prev" leftTitle="OpenACS Core and .LRN"
+			rightLink="releasing-package" rightLabel="Next" rightTitle="How to package and release an OpenACS
 Package"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="releasing-openacs" upLabel="Up"> 
-		
+			homeLink="index" homeLabel="Home" 
+			upLink="releasing-openacs" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/update-translations.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/update-translations.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/update-translations.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/update-translations.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">How to Update the translations</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="releasing-package" leftLabel="Prev"
-		    title="
-Chapter 16. Releasing OpenACS"
-		    rightLink="ix01" rightLabel="Next">
-		<div class="section">
+			leftLink="releasing-package" leftLabel="Prev"
+			title="Chapter 16. Releasing
+OpenACS"
+			rightLink="ix01" rightLabel="Next">
+		    <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="update-translations" id="update-translations"></a>How to Update the translations</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
@@ -16,13 +16,11 @@
 format <span class="emphasis"><em>[two-letter code for language,
 lower-case]_[TWO-LETTER CODE FOR COUNTRY, UPPER-CASE]</em></span>,
 and create a sql command. A example sql command for creating a
-locale is:</p><pre class="programlisting">
-insert into ad_locales 
+locale is:</p><pre class="programlisting">insert into ad_locales 
        (locale, label, language, country, nls_language, nls_territory, 
         nls_charset, mime_charset, default_p, enabled_p)
        values ('fa_IR', 'Farsi (IR)', 'fa', 'IR', 'FARSI', 'IRAN', 'AL24UTFFSS', 
-        'windows-1256', 't', 'f');
-</pre><p>Put this command into the following four files. For the upgrade
+        'windows-1256', 't', 'f');</pre><p>Put this command into the following four files. For the upgrade
 files, the correct file name will depend on the exact version.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p><code class="computeroutput">/packages/acs-lang/sql/postgresql/ad-locales.sql</code></p></li><li class="listitem"><p><code class="computeroutput">/packages/acs-lang/sql/postgresql/upgrade/upgrade-<em class="replaceable"><code>current-version</code></em>.sql</code></p></li><li class="listitem"><p><code class="computeroutput">/packages/acs-lang/sql/oracle/ad-locales.sql</code></p></li><li class="listitem"><p><code class="computeroutput">/packages/acs-lang/sql/oracle/upgrade/upgrade-<em class="replaceable"><code>current-version</code></em>.sql</code></p></li>
 </ul></div>
@@ -36,10 +34,8 @@
 usually, <code class="computeroutput">/etc/config.tcl</code> and
 <code class="computeroutput">/etc/daemontools/run</code> and modify
 appropriately. Also, copy over several translation-server-only
-files:</p><pre class="programlisting">
-...TBD
-          
-</pre>
+files:</p><pre class="programlisting">...TBD
+          </pre>
 </li><li class="listitem"><p>Shut down the production site and put up a notice (no procedure
 on how to do this yet.)</p></li><li class="listitem"><p>Start the new site, and upgrade it.</p></li><li class="listitem"><p>Go to <a class="ulink" href="/acs-lang/admin" target="_top">ACS
 Lang admin page</a> and click "Import All Messages"</p></li><li class="listitem"><p>Resolve conflicts, if any, on the provided page.</p></li><li class="listitem"><p>Back on the admin page, click the export link. If there are
@@ -54,9 +50,9 @@
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="releasing-package" leftLabel="Prev" leftTitle="How to package and release an OpenACS
+			leftLink="releasing-package" leftLabel="Prev" leftTitle="How to package and release an OpenACS
 Package"
-		    rightLink="ix01" rightLabel="Next" rightTitle="Index"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="releasing-openacs" upLabel="Up"> 
-		
\ No newline at end of file
+			rightLink="ix01" rightLabel="Next" rightTitle="Index"
+			homeLink="index" homeLabel="Home" 
+			upLink="releasing-openacs" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,13 +3,12 @@
 <property name="doc(title)">Upgrading 4.5 or higher to 4.6.3</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="upgrade-overview" leftLabel="Prev"
-		    title="
-Chapter 5. Upgrading"
-		    rightLink="upgrade-4.6.3-to-5" rightLabel="Next">
-		<div class="sect1">
+			leftLink="upgrade-overview" leftLabel="Prev"
+			title="Chapter 5. Upgrading"
+			rightLink="upgrade-4.6.3-to-5" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="upgrade-4.5-to-4.6" id="upgrade-4.5-to-4.6"></a>Upgrading 4.5 or higher to 4.6.3</h2></div></div></div><a class="indexterm" name="idp140623160154424" id="idp140623160154424"></a><p>The required platform for OpenACS 4.6 is the same as 4.5, with
+<a name="upgrade-4.5-to-4.6" id="upgrade-4.5-to-4.6"></a>Upgrading 4.5 or higher to 4.6.3</h2></div></div></div><a class="indexterm" name="idp140682183766008" id="idp140682183766008"></a><p>The required platform for OpenACS 4.6 is the same as 4.5, with
 the exception of OpenFTS. OpenACS 4.6 and later require OpenFTS
 0.3.2 for full text search on PostGreSQL. If you have OpenFTS 0.2,
 you&#39;ll need to upgrade.</p><p>If upgrading from 4.4, you need to manually run
@@ -21,26 +20,21 @@
 </p></li>
 </ul></div><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>
-<strong>Make a Backup. </strong> Back up the
-database and file system (see <a class="xref" href="snapshot-backup" title="Manual backup and recovery">the
-section called &ldquo;Manual backup and
-recovery&rdquo;</a>).</p></li><li class="listitem"><p>
+<strong>Make a Backup. </strong> Back up the database and
+file system (see <a class="xref" href="snapshot-backup" title="Manual backup and recovery">the section called “Manual backup and
+recovery”</a>).</p></li><li class="listitem"><p>
 <strong>OPTIONAL: Upgrade OpenFTS. </strong><a class="xref" href="upgrade-supporting" title="Upgrading OpenFTS from 0.2 to 0.3.2">the section called
-&ldquo;Upgrading OpenFTS from 0.2 to
-0.3.2&rdquo;</a>
+“Upgrading OpenFTS from 0.2 to 0.3.2”</a>
 </p></li><li class="listitem">
-<p>Stop the server</p><pre class="screen">
-[root root]# <strong class="userinput"><code>svc -d /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+<p>Stop the server</p><pre class="screen">[root root]# <strong class="userinput"><code>svc -d /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 </pre>
 </li><li class="listitem"><p>
-<strong>Upgrade the file system. </strong><a class="xref" href="upgrade-openacs-files" title="Upgrading the OpenACS files">the section called
-&ldquo;Upgrading the OpenACS
-files&rdquo;</a>
+<strong>Upgrade the file system. </strong><a class="xref" href="upgrade-openacs-files" title="Upgrading the OpenACS files">the section called “Upgrading the
+OpenACS files”</a>
 </p></li><li class="listitem">
 <p><span class="strong"><strong>Start the
-server</strong></span></p><pre class="screen">
-[root root]# <strong class="userinput"><code>svc -u /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+server</strong></span></p><pre class="screen">[root root]# <strong class="userinput"><code>svc -u /service/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 </pre>
 </li><li class="listitem">
@@ -55,8 +49,7 @@
 desired packages in a second pass.</p></li><li class="listitem"><p>On the next screen, click <code class="computeroutput"><span class="guibutton">Install
 Packages</span></code>
 </p></li><li class="listitem">
-<p>When prompted, restart the server:</p><pre class="screen">
-[root root]# <strong class="userinput"><code>restart-aolserver <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+<p>When prompted, restart the server:</p><pre class="screen">[root root]# <strong class="userinput"><code>restart-aolserver <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 </pre>
 </li><li class="listitem"><p>Wait a minute, then browse to the package manager, <code class="computeroutput">http://<em class="replaceable"><code>yourserver</code></em>/acs-admin/apm</code>.</p></li><li class="listitem"><p>Check that the kernel upgrade worked by clicking <code class="computeroutput"><span class="guilabel">All</span></code> and
@@ -69,8 +62,8 @@
 </ol></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="upgrade-overview" leftLabel="Prev" leftTitle="Overview"
-		    rightLink="upgrade-4.6.3-to-5" rightLabel="Next" rightTitle="Upgrading OpenACS 4.6.3 to 5.0"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="upgrade" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="upgrade-overview" leftLabel="Prev" leftTitle="Overview"
+			rightLink="upgrade-4.6.3-to-5" rightLabel="Next" rightTitle="Upgrading OpenACS 4.6.3 to 5.0"
+			homeLink="index" homeLabel="Home" 
+			upLink="upgrade" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html,v
diff -u -r1.29 -r1.30
--- openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html	8 Nov 2017 09:42:12 -0000	1.29
+++ openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html	25 Apr 2018 08:38:28 -0000	1.30
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 'http://www.w3.org/TR/html4/loose.dtd"'>
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Upgrading 4.5 or higher to 4.6.3</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="upgrade.html" title="Chapter 5. Upgrading"><link rel="previous" href="upgrade-overview.html" title="Overview"><link rel="next" href="upgrade-4.6.3-to-5.html" title="Upgrading OpenACS 4.6.3 to 5.0"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="upgrade-overview.html">Prev</a> </td><th width="60%" align="center">Chapter 5. Upgrading</th><td width="20%" align="right"> <a accesskey="n" href="upgrade-4.6.3-to-5.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="upgrade-4.5-to-4.6"></a>Upgrading 4.5 or higher to 4.6.3</h2></div></div></div>
       
-      <a class="indexterm" name="idp140623160154424"></a>
+      <a class="indexterm" name="idp140682183766008"></a>
       <p>The required platform for OpenACS 4.6 is the same as
       4.5, with the exception of OpenFTS.  OpenACS 4.6 and later require OpenFTS 0.3.2 for full text search on PostGreSQL.  If you have OpenFTS 0.2, you'll need to upgrade.  </p>
       <p>If upgrading from 4.4, you need to manually run acs-kernel/sql/postgres/upgrade-4.4-4.5.sql.  See <a class="ulink" href="http://openacs.org/bugtracker/openacs/bug?bug_number=632" target="_top">Bug #632</a></p>
Index: openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,37 +3,32 @@
 <property name="doc(title)">Upgrading OpenACS 4.6.3 to 5.0</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="upgrade-4.5-to-4.6" leftLabel="Prev"
-		    title="
-Chapter 5. Upgrading"
-		    rightLink="upgrade-5-0-dot" rightLabel="Next">
-		<div class="sect1">
+			leftLink="upgrade-4.5-to-4.6" leftLabel="Prev"
+			title="Chapter 5. Upgrading"
+			rightLink="upgrade-5-0-dot" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="upgrade-4.6.3-to-5" id="upgrade-4.6.3-to-5"></a>Upgrading OpenACS 4.6.3 to 5.0</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>
-<strong>Oracle. </strong> This forum posting
-documents <a class="ulink" href="http://openacs.org/forums/message-view?message_id=201394" target="_top">how to upgrade an Oracle installation from OpenACS 4.6.3 to
+<strong>Oracle. </strong> This forum posting documents
+<a class="ulink" href="http://openacs.org/forums/message-view?message_id=201394" target="_top">how to upgrade an Oracle installation from OpenACS 4.6.3 to
 5</a> .</p></li><li class="listitem">
 <p>
-<strong>PostGreSQL. </strong> You must use
-PostGreSQL 7.3.x or newer to upgrade OpenACS beyond 4.6.3. See
-<a class="link" href="upgrade-supporting" title="Upgrading from PostGreSQL 7.2 to 7.3">Upgrade PostGreSQL to
+<strong>PostGreSQL. </strong> You must use PostGreSQL 7.3.x
+or newer to upgrade OpenACS beyond 4.6.3. See <a class="link" href="upgrade-supporting" title="Upgrading from PostGreSQL 7.2 to 7.3">Upgrade PostGreSQL to
 7.3</a>; <a class="xref" href="individual-programs" title="Table 2.2. Version Compatibility Matrix">Table 2.2,
-&ldquo;Version Compatibility
-Matrix&rdquo;</a>
+“Version Compatibility Matrix”</a>
 </p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p><a class="link" href="snapshot-backup" title="Manual backup and recovery">Back up the database and file
 system.</a></p></li><li class="listitem"><p>
 <strong>Upgrade the file system for
-packages/acs-kernel. </strong><a class="xref" href="upgrade-openacs-files" title="Upgrading the OpenACS files">the section called
-&ldquo;Upgrading the OpenACS
-files&rdquo;</a>
+packages/acs-kernel. </strong><a class="xref" href="upgrade-openacs-files" title="Upgrading the OpenACS files">the section called “Upgrading the
+OpenACS files”</a>
 </p></li><li class="listitem">
 <p>Upgrade the kernel manually. (There is a script to do most of
 the rest: <a class="ulink" href="http://cvs.openacs.org/browse/OpenACS/openacs-4/contrib/misc/upgrade_4.6_to_5.0.sh?r=1.6" target="_top">/contrib/misc/upgrade_4.6_to_5.0.sh on HEAD</a>).
 You&#39;ll still have to do a lot of stuff manually, but automated
-trial and error is much more fun.)</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+trial and error is much more fun.)</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME aolserver]$ <strong class="userinput"><code>cd /var/lib/aolserver/ <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/packages/acs-kernel/sql/postgresql/upgrade</code></strong>
 </pre><p>Manually execute each of the upgrade scripts in sequence, either
@@ -90,8 +85,7 @@
 acs-kernel 0 number \
 security 1 1
 parameter::set_value -package_id [ad_acs_kernel_id] -parameter UsePasswordWidgetForUsername -value 0
-}
-</pre>
+}</pre>
 </li><li class="listitem"><p>If you can login, visit /acs-admin/apm and upgrade acs-kernel
 and acs-service-contract and uncheck the data model scripts.
 Restart. If everything is still working, make another backup of the
@@ -108,9 +102,9 @@
 </ul></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="upgrade-4.5-to-4.6" leftLabel="Prev" leftTitle="Upgrading 4.5 or higher to 4.6.3"
-		    rightLink="upgrade-5-0-dot" rightLabel="Next" rightTitle="Upgrading an OpenACS 5.0.0 or greater
+			leftLink="upgrade-4.5-to-4.6" leftLabel="Prev" leftTitle="Upgrading 4.5 or higher to 4.6.3"
+			rightLink="upgrade-5-0-dot" rightLabel="Next" rightTitle="Upgrading an OpenACS 5.0.0 or greater
 installation"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="upgrade" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="upgrade" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,19 +3,18 @@
 <property name="doc(title)">Upgrading an OpenACS 5.0.0 or greater installation</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="upgrade-4.6.3-to-5" leftLabel="Prev"
-		    title="
-Chapter 5. Upgrading"
-		    rightLink="upgrade-openacs-files" rightLabel="Next">
-		<div class="sect1">
+			leftLink="upgrade-4.6.3-to-5" leftLabel="Prev"
+			title="Chapter 5. Upgrading"
+			rightLink="upgrade-openacs-files" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="upgrade-5-0-dot" id="upgrade-5-0-dot"></a>Upgrading an OpenACS 5.0.0 or greater
 installation</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
 <p>
-<strong>Upgrading a stock site. </strong> If you
-have no custom code, and your site is not in a CVS repository,
-upgrade with these steps:</p><div class="orderedlist"><ol class="orderedlist" type="1">
+<strong>Upgrading a stock site. </strong> If you have no
+custom code, and your site is not in a CVS repository, upgrade with
+these steps:</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>Go to <a class="ulink" href="/acs-admin/install" target="_top">/acs-admin/install/</a> and click "Upgrade Your
 System" in "Install from OpenACS Repository"</p></li><li class="listitem"><p>Select all of the packages you want to upgrade and proceed</p></li><li class="listitem"><p>After upgrade is complete, restart the server as indicated.</p></li><li class="listitem"><p>If you are using locales other than en_US, go to acs-lang/admin
 and "Import all Messages" to load the new translated
@@ -24,14 +23,13 @@
 </ol></div>
 </li><li class="listitem">
 <p>
-<strong>Upgrading a Custom or CVS site. </strong> If
-you have custom code, and your site is in a CVS repository, upgrade
+<strong>Upgrading a Custom or CVS site. </strong> If you
+have custom code, and your site is in a CVS repository, upgrade
 with these steps:</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>
 <strong>Upgrade the file system for all packages in
-use. </strong><a class="xref" href="upgrade-openacs-files" title="Upgrading the OpenACS files">the section called
-&ldquo;Upgrading the OpenACS
-files&rdquo;</a>
+use. </strong><a class="xref" href="upgrade-openacs-files" title="Upgrading the OpenACS files">the section called “Upgrading the
+OpenACS files”</a>
 </p></li><li class="listitem"><p>Go to <a class="ulink" href="/acs-admin/install" target="_top">/acs-admin/install/</a> and click "Upgrade Your
 System" in "Install from local file system"</p></li><li class="listitem"><p>Select all of the packages you want to upgrade and proceed</p></li><li class="listitem"><p>After upgrade is complete, restart the server as indicated.</p></li><li class="listitem"><p>If you are using locales other than en_US, go to acs-lang/admin
 and "Import all Messages" to load the new translated
@@ -42,8 +40,8 @@
 </ul></div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="upgrade-4.6.3-to-5" leftLabel="Prev" leftTitle="Upgrading OpenACS 4.6.3 to 5.0"
-		    rightLink="upgrade-openacs-files" rightLabel="Next" rightTitle="Upgrading the OpenACS files"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="upgrade" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="upgrade-4.6.3-to-5" leftLabel="Prev" leftTitle="Upgrading OpenACS 4.6.3 to 5.0"
+			rightLink="upgrade-openacs-files" rightLabel="Next" rightTitle="Upgrading the OpenACS files"
+			homeLink="index" homeLabel="Home" 
+			upLink="upgrade" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp	24 Mar 2018 00:14:57 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp	25 Apr 2018 08:38:28 -0000	1.5
@@ -3,16 +3,15 @@
 <property name="doc(title)">Upgrading the OpenACS files</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="upgrade-5-0-dot" leftLabel="Prev"
-		    title="
-Chapter 5. Upgrading"
-		    rightLink="upgrade-supporting" rightLabel="Next">
-		<div class="sect1">
+			leftLink="upgrade-5-0-dot" leftLabel="Prev"
+			title="Chapter 5. Upgrading"
+			rightLink="upgrade-supporting" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="upgrade-openacs-files" id="upgrade-openacs-files"></a>Upgrading
 the OpenACS files</h2></div></div></div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623160003576" id="idp140623160003576"></a>Choosing a Method to Upgrade your
+<a name="idp140682192864888" id="idp140682192864888"></a>Choosing a Method to Upgrade your
 Files</h3></div></div></div><p>OpenACS is distributed in many different ways:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem"><p>as a collection of files</p></li><li class="listitem"><p>as one big tarball</p></li><li class="listitem"><p>via CVS</p></li><li class="listitem"><p>via automatic download from within the APM (package manager)</p></li>
 </ul></div><p>Upgrades work by first changing the file system (via any of the
@@ -22,20 +21,19 @@
 system for you. If you are using the last method, you can skip this
 page. This page describes whether or not you need to be upgrading
 using this page or not: <a class="xref" href="upgrade-5-0-dot" title="Upgrading an OpenACS 5.0.0 or greater installation">the
-section called &ldquo;Upgrading an OpenACS 5.0.0 or
-greater installation&rdquo;</a>
+section called “Upgrading an OpenACS 5.0.0 or greater
+installation”</a>
 </p>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623160009080" id="idp140623160009080"></a>Methods of upgrading OpenACS files</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
+<a name="idp140682192870392" id="idp140682192870392"></a>Methods of upgrading OpenACS files</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc;">
 <li class="listitem">
 <p>
 <strong>Upgrading files for a site which is not in a CVS
-repository. </strong> Unpack the tarball into a new
-directory and copy its contents on top of your working directory.
-Or just 'install software', select remote repository, and
-upgrade your files from there.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+repository. </strong> Unpack the tarball into a new directory
+and copy its contents on top of your working directory. Or just
+'install software', select remote repository, and upgrade
+your files from there.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME aolserver]$ <strong class="userinput"><code>cd /var/lib/aolserver</code></strong>
 [$OPENACS_SERVICE_NAME web]$ <strong class="userinput"><code>tar xzf /var/tmp/openacs-5-1.tar.gz</code></strong>
@@ -56,20 +54,20 @@
 version, without overriding your own local customizations.</p><p>This diagram explains the basic idea. However, the labels are
 incorrect. Step 1(a) has been removed, and Step 1(b) should be
 labelled Step 1.</p><div class="figure">
-<a name="idp140623159992456" id="idp140623159992456"></a><p class="title"><strong>Figure 5.2. Upgrading a local CVS
-repository</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/upgrade-cvs.png" align="middle" alt="Upgrading a local CVS repository"></div></div>
+<a name="idp140682192881720" id="idp140682192881720"></a><p class="title"><strong>Figure 5.2. Upgrading a local
+CVS repository</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/upgrade-cvs.png" align="middle" alt="Upgrading a local CVS repository"></div></div>
 </div><br class="figure-break"><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle;">
 <li class="listitem">
 <p>
-<strong>Step 0: Set up a working CVS
-checkout. </strong> To get your OpenACS code into your
-local CVS repository, you will set up a working CVS checkout of
-OpenACS. When you want to update your site, you&#39;ll update the
-working CVS checkout, import those changes into your local CVS
-checkout, create a temporary CVS checkout to merge your local
-changes, fix any conflicts, commit your changes, and then update
-your site. It sounds complicated, but it&#39;s not too bad, and it
-is the best way to work around CVS&#39;s limitations.</p><p>This part describes how to set up your working CVS checkout.
+<strong>Step 0: Set up a working CVS checkout. </strong> To
+get your OpenACS code into your local CVS repository, you will set
+up a working CVS checkout of OpenACS. When you want to update your
+site, you&#39;ll update the working CVS checkout, import those
+changes into your local CVS checkout, create a temporary CVS
+checkout to merge your local changes, fix any conflicts, commit
+your changes, and then update your site. It sounds complicated, but
+it&#39;s not too bad, and it is the best way to work around
+CVS&#39;s limitations.</p><p>This part describes how to set up your working CVS checkout.
 Once it is set up, you&#39;ll be able to update any packages using
 the existing working CVS checkout. We use one dedicated directory
 for each branch of OpenACS - if you are using OpenACS 5.1,x, you
@@ -80,8 +78,7 @@
 5.1.3 or 5.1.4) and the latest compatible version of each package.
 Each minor release of OpenACS since 5.0 has this tagging structure.
 For example, OpenACS 5.1.x has <code class="computeroutput">openacs-5-1-compat</code>.</p><p>You will want to separately check out all the packages you are
-using.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+using.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME aolserver]$ <strong class="userinput"><code>cd /var/lib/aolserver</code></strong>
 [$OPENACS_SERVICE_NAME aolserver]$ <strong class="userinput"><code>cvs -d :pserver:anonymous\@cvs.openacs.org:/cvsroot checkout -r <em class="replaceable"><code>openacs-5-1-compat</code></em> acs-core</code></strong>
@@ -97,13 +94,11 @@
 tree. You might want to start over, remove your working CVS
 checkout, and try again.</p>
 </li><li class="listitem">
-<p><strong>Step 1: Import new OpenACS
-code. </strong></p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: square;">
+<p><strong>Step 1: Import new OpenACS code. </strong></p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: square;">
 <li class="listitem">
 <p>
-<strong>Update CVS. </strong> Update your local CVS
-working checkout (unless you just set it up).</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+<strong>Update CVS. </strong> Update your local CVS working
+checkout (unless you just set it up).</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME aolserver]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>openacs-5-1</code></em>
 </code></strong>
@@ -112,9 +107,8 @@
 </li><li class="listitem">
 <p>
 <strong>Update a single package via cvs working
-checkout. </strong> You can add or upgrade a single
-package at a time, if you already have a cvs working directory.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+checkout. </strong> You can add or upgrade a single package at
+a time, if you already have a cvs working directory.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME aolserver]$ <strong class="userinput"><code>cd /var/lib/aolserver/packages/<em class="replaceable"><code>openacs-5-1</code></em>
 </code></strong>
@@ -126,10 +120,10 @@
 </ul></div>
 </li><li class="listitem">
 <p>
-<strong>Step 2: Merge New OpenACS code. </strong>
-Now that you have a local copy of the new OpenACS code, you need to
-import it into your local CVS repository and resolve any conflicts
-that occur.</p><p>Import the new files into your cvs repository; where they match
+<strong>Step 2: Merge New OpenACS code. </strong> Now that
+you have a local copy of the new OpenACS code, you need to import
+it into your local CVS repository and resolve any conflicts that
+occur.</p><p>Import the new files into your cvs repository; where they match
 existing files, they will become the new version of the file.</p><pre class="screen">
 [$OPENACS_SERVICE_NAME openacs-5-1]$ <strong class="userinput"><code> cd /var/lib/aolserver/<em class="replaceable"><code>openacs-5-1</code></em>
 </code></strong>
@@ -139,8 +133,7 @@
 <h3 class="title">Tip</h3><p>If adding or upgrading a single package, run the cvs import from
 within the base directory of that package, and adjust the cvs
 command accordingly. In this example, we are adding the
-<code class="computeroutput">myfirstpackage</code> package.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+<code class="computeroutput">myfirstpackage</code> package.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME aolserver]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>openacs-5-0</code></em>/package/<em class="replaceable"><code>myfirstpackage</code></em>
 </code></strong>
@@ -156,8 +149,7 @@
 [$OPENACS_SERVICE_NAME tmp]$ <strong class="userinput"><code>rm -rf <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>-upgrade</code></strong>
 [$OPENACS_SERVICE_NAME tmp]$ <strong class="userinput"><code>mkdir <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>-upgrade</code></strong>
 [$OPENACS_SERVICE_NAME tmp]$ <strong class="userinput"><code>cvs checkout -d <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>-upgrade -jOpenACS:yesterday -jOpenACS -kk <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> &gt; cvs.txt 2&gt;&amp;1</code></strong>
-(CVS feedback here)
-</pre><p>The file /var/tmp/openacs-upgrade/cvs.txt contains the results
+(CVS feedback here)</pre><p>The file /var/tmp/openacs-upgrade/cvs.txt contains the results
 of the upgrade. If you changed files that are part of the OpenACS
 tarball and those changes conflict, you&#39;ll have to manually
 reconcile them. Use the emacs command <code class="computeroutput">M-x sort-lines</code> (you may have to click
@@ -166,37 +158,32 @@
 C, open that file and manually resolve the conflict by deleting the
 excess lines. When you&#39;re finished, or if there aren&#39;t any
 conflicts, save and exit.</p><p>Once you&#39;ve fixed any conflicts, commit the new code to your
-local tree.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME tmp]$ <strong class="userinput"><code>cd <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>-upgrade</code></strong>
+local tree.</p><pre class="screen">[$OPENACS_SERVICE_NAME tmp]$ <strong class="userinput"><code>cd <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>-upgrade</code></strong>
 [$OPENACS_SERVICE_NAME <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>-upgrade]$ <strong class="userinput"><code>cvs commit -m "Upgraded to 5.1"</code></strong>
 </pre>
 </li><li class="listitem">
 <p>
-<strong>Step 3: Upgrade your local staging
-site. </strong> Update your working tree with the new
-files. The CVS flags ensure that new directories are created and
-pruned directories destroyed.</p><pre class="screen">
-[$OPENACS_SERVICE_NAME <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>-upgrade]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+<strong>Step 3: Upgrade your local staging site. </strong>
+Update your working tree with the new files. The CVS flags ensure
+that new directories are created and pruned directories
+destroyed.</p><pre class="screen">[$OPENACS_SERVICE_NAME <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>-upgrade]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cvs up -Pd</code></strong>
 (CVS feedback)
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>exit</code></strong>
-[root root]# 
-</pre>
+[root root]# </pre>
 </li>
 </ul></div>
 </li>
 </ul></div><p><span class="strong"><strong>Upgrading files for a site using
-the OpenACS CVS repository (cvs.openacs.org)</strong></span></p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><pre class="screen">
-[$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+the OpenACS CVS repository (cvs.openacs.org)</strong></span></p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><pre class="screen">[$OPENACS_SERVICE_NAME ~]$ <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ <strong class="userinput"><code>cvs up -Pd</code></strong>
 (CVS feedback)
-[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
-</pre></li></ol></div>
+[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$</pre></li></ol></div>
 </div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp140623178368104" id="idp140623178368104"></a>Upgrading a Production Site Safely</h3></div></div></div><p>If you are upgrading a production OpenACS site which is on a
+<a name="idp140682192944072" id="idp140682192944072"></a>Upgrading a Production Site Safely</h3></div></div></div><p>If you are upgrading a production OpenACS site which is on a
 private CVS tree, this process lets you do the upgrade without
 risking extended downtime or an unusable site:</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>Declare a freeze on new cvs updates - ie, you cannot run cvs
@@ -227,9 +214,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="upgrade-5-0-dot" leftLabel="Prev" leftTitle="Upgrading an OpenACS 5.0.0 or greater
+			leftLink="upgrade-5-0-dot" leftLabel="Prev" leftTitle="Upgrading an OpenACS 5.0.0 or greater
 installation"
-		    rightLink="upgrade-supporting" rightLabel="Next" rightTitle="Upgrading Platform components"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="upgrade" upLabel="Up"> 
-		
+			rightLink="upgrade-supporting" rightLabel="Next" rightTitle="Upgrading Platform components"
+			homeLink="index" homeLabel="Home" 
+			upLink="upgrade" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html,v
diff -u -r1.30 -r1.31
--- openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html	24 Mar 2018 00:14:57 -0000	1.30
+++ openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html	25 Apr 2018 08:38:28 -0000	1.31
@@ -2,7 +2,7 @@
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Upgrading the OpenACS files</title><link rel="stylesheet" type="text/css" href="openacs.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.2"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="upgrade.html" title="Chapter 5. Upgrading"><link rel="previous" href="upgrade-5-0-dot.html" title="Upgrading an OpenACS 5.0.0 or greater installation"><link rel="next" href="upgrade-supporting.html" title="Upgrading Platform components"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" style="border:0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="upgrade-5-0-dot.html">Prev</a> </td><th width="60%" align="center">Chapter 5. Upgrading</th><td width="20%" align="right"> <a accesskey="n" href="upgrade-supporting.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="upgrade-openacs-files"></a>Upgrading the OpenACS files</h2></div></div></div>
     
 
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623160003576"></a>Choosing a Method to Upgrade your Files</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682192864888"></a>Choosing a Method to Upgrade your Files</h3></div></div></div>
       
       <p>OpenACS is distributed in many different ways:
         </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>as a collection of files</p></li><li class="listitem"><p> as one big tarball</p></li><li class="listitem"><p> via CVS</p></li><li class="listitem"><p> via automatic download from within the APM
@@ -21,7 +21,7 @@
       </p>
     </div>
 
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623160009080"></a>Methods of upgrading OpenACS files</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682192870392"></a>Methods of upgrading OpenACS files</h3></div></div></div>
     
     <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
         <p>
@@ -57,7 +57,7 @@
         labels are incorrect. Step 1(a) has been removed, and Step
         1(b) should be labelled Step 1.</p>
 
-        <div class="figure"><a name="idp140623159992456"></a><p class="title"><b>Figure 5.2. Upgrading a local CVS repository</b></p><div class="figure-contents">
+        <div class="figure"><a name="idp140682192881720"></a><p class="title"><b>Figure 5.2. Upgrading a local CVS repository</b></p><div class="figure-contents">
           
           <div class="mediaobject" align="center"><img src="images/upgrade-cvs.png" align="middle" alt="Upgrading a local CVS repository"></div>
         </div></div><br class="figure-break">
@@ -192,7 +192,7 @@
 [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$</pre>
           </li></ol></div>
     </div>
-    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140623178368104"></a>Upgrading a Production Site Safely</h3></div></div></div>
+    <div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idp140682192944072"></a>Upgrading a Production Site Safely</h3></div></div></div>
       
       <p>If you are upgrading a production OpenACS site which is on a private CVS tree, this process lets you do the upgrade without risking extended downtime or an unusable site:</p>
       <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
Index: openacs-4/packages/acs-core-docs/www/upgrade-overview.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-overview.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/upgrade-overview.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/upgrade-overview.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,10 @@
 <property name="doc(title)">Overview</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="upgrade" leftLabel="Prev"
-		    title="
-Chapter 5. Upgrading"
-		    rightLink="upgrade-4.5-to-4.6" rightLabel="Next">
-		<div class="sect1">
+			leftLink="upgrade" leftLabel="Prev"
+			title="Chapter 5. Upgrading"
+			rightLink="upgrade-4.5-to-4.6" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="upgrade-overview" id="upgrade-overview"></a>Overview</h2></div></div></div><p>Starting with Version 4.5, all OpenACS core packages support
 automatic upgrade. That means that, if you have OpenACS 4.5 or
@@ -26,11 +25,11 @@
 upgrade scripts, and prompt you to restart the server. After
 restarting the server again, the upgrade is complete.</p></li>
 </ol></div><div class="figure">
-<a name="idp140623159984264" id="idp140623159984264"></a><p class="title"><strong>Figure 5.1. Upgrading with the
+<a name="idp140682188908648" id="idp140682188908648"></a><p class="title"><strong>Figure 5.1. Upgrading with the
 APM</strong></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="images/upgrade-apm.png" align="middle" alt="Upgrading with the APM"></div></div>
 </div><br class="figure-break"><p>It&#39;s always a good idea to precede an upgrade attempt with a
 <a class="link" href="snapshot-backup" title="Manual backup and recovery">snapshot backup</a>.</p><div class="table">
-<a name="idp140623160218856" id="idp140623160218856"></a><p class="title"><strong>Table 5.1. Assumptions in this
+<a name="idp140682183415528" id="idp140682183415528"></a><p class="title"><strong>Table 5.1. Assumptions in this
 section</strong></p><div class="table-contents"><table class="table" summary="Assumptions in this section" cellspacing="0" border="1">
 <colgroup>
 <col><col>
@@ -49,9 +48,8 @@
 </div><br class="table-break">
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="upgrade" leftLabel="Prev" leftTitle="
-Chapter 5. Upgrading"
-		    rightLink="upgrade-4.5-to-4.6" rightLabel="Next" rightTitle="Upgrading 4.5 or higher to 4.6.3"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="upgrade" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="upgrade" leftLabel="Prev" leftTitle="Chapter 5. Upgrading"
+			rightLink="upgrade-4.5-to-4.6" rightLabel="Next" rightTitle="Upgrading 4.5 or higher to 4.6.3"
+			homeLink="index" homeLabel="Home" 
+			upLink="upgrade" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/upgrade-overview.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-overview.html,v
diff -u -r1.29 -r1.30
--- openacs-4/packages/acs-core-docs/www/upgrade-overview.html	8 Nov 2017 09:42:12 -0000	1.29
+++ openacs-4/packages/acs-core-docs/www/upgrade-overview.html	25 Apr 2018 08:38:28 -0000	1.30
@@ -23,13 +23,13 @@
         </li><li class="listitem">
           <p>The APM will download the requested packages from OpenACS.org, install the files on your hard drive, run any appropriate database upgrade scripts, and prompt you to restart the server.  After restarting the server again, the upgrade is complete.</p>
         </li></ol></div>
-      <div class="figure"><a name="idp140623159984264"></a><p class="title"><b>Figure 5.1. Upgrading with the APM</b></p><div class="figure-contents">
+      <div class="figure"><a name="idp140682188908648"></a><p class="title"><b>Figure 5.1. Upgrading with the APM</b></p><div class="figure-contents">
         
         <div class="mediaobject" align="center"><img src="images/upgrade-apm.png" align="middle" alt="Upgrading with the APM"></div>
       </div></div><br class="figure-break">
 
     <p>It's always a good idea to precede an upgrade attempt with a <a class="link" href="snapshot-backup.html" title="Manual backup and recovery">snapshot backup</a>.</p>
-    <div class="table"><a name="idp140623160218856"></a><p class="title"><b>Table 5.1. Assumptions in this section</b></p><div class="table-contents">
+    <div class="table"><a name="idp140682183415528"></a><p class="title"><b>Table 5.1. Assumptions in this section</b></p><div class="table-contents">
       
       <table class="table" summary="Assumptions in this section" cellspacing="0" border="1"><colgroup><col><col></colgroup><tbody><tr><td>name of OpenACS user</td><td><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></td></tr><tr><td>OpenACS server name</td><td><em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em></td></tr><tr><td>Root of OpenACS file tree</td><td><em class="replaceable"><code>/var/lib/aolserver/$OPENACS_SERVICE_NAME</code></em></td></tr><tr><td>Database backup directory</td><td><em class="replaceable"><code>/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup</code></em></td></tr></tbody></table>
     </div></div><br class="table-break">
Index: openacs-4/packages/acs-core-docs/www/upgrade-supporting.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-supporting.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-core-docs/www/upgrade-supporting.adp	27 Mar 2018 12:22:17 -0000	1.4
+++ openacs-4/packages/acs-core-docs/www/upgrade-supporting.adp	25 Apr 2018 08:38:28 -0000	1.5
@@ -3,11 +3,10 @@
 <property name="doc(title)">Upgrading Platform components</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="upgrade-openacs-files" leftLabel="Prev"
-		    title="
-Chapter 5. Upgrading"
-		    rightLink="maintenance-web" rightLabel="Next">
-		<div class="sect1">
+			leftLink="upgrade-openacs-files" leftLabel="Prev"
+			title="Chapter 5. Upgrading"
+			rightLink="maintenance-web" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="upgrade-supporting" id="upgrade-supporting"></a>Upgrading Platform components</h2></div></div></div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -25,32 +24,26 @@
 </li><li class="listitem">
 <p>Build and install the new OpenFTS driver and supporting Tcl
 procedures. (This section of shell code is not fully documented;
-please exercise care.)</p><pre class="screen">
-cd /usr/local/src/
+please exercise care.)</p><pre class="screen">cd /usr/local/src/
           tar xzf /var/tmp/Search-OpenFTS-tcl-0.3.2.tar.gz
           chown -R root.root Search-OpenFTS-tcl-0.3.2/
           cd Search-OpenFTS-tcl-0.3.2/
           ./configure --with-aolserver-src=/usr/local/src/aolserver/aolserver --with-tcl=/usr/lib/
           cd aolserver/
           make
-          
-</pre><p>Back up the old fts driver as a precaution and install the newly
+          </pre><p>Back up the old fts driver as a precaution and install the newly
 compiled one</p><pre class="screen">
 mv /usr/local/aolserver/bin/nsfts.so /usr/local/aolserver/bin/nsfts-0.2.so 
           cp nsfts.so /usr/local/aolserver/bin
-          
-</pre><p>Build and install the OpenFTS code for PostgreSQL</p><pre class="screen">
-cd /usr/local/src/Search-OpenFTS-tcl-0.3.2/
+          </pre><p>Build and install the OpenFTS code for PostgreSQL</p><pre class="screen">cd /usr/local/src/Search-OpenFTS-tcl-0.3.2/
           cp -r pgsql_contrib_openfts /usr/local/src/postgresql-7.2.3/contrib /usr/local/src/postgresql-7.2.3/contrib/pgsql_contrib_openfts
           make
           su - postgres
           cd tsearch/
           make
           make install
-          exit
-</pre><p>In order for the OpenACS 4.6 OpenFTS Engine to use the OpenFTS
-0.3.2 driver, we need some commands added to the database.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+          exit</pre><p>In order for the OpenACS 4.6 OpenFTS Engine to use the OpenFTS
+0.3.2 driver, we need some commands added to the database.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
           [$OPENACS_SERVICE_NAME dev]$ <strong class="userinput"><code>psql <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em> -f /usr/local/pgsql/share/contrib/openfts.sql</code></strong>
           CREATE
@@ -68,19 +61,17 @@
 </pre>
 </li><li class="listitem">
 <p>
-<strong>OPTIONAL: Install the new OpenFTS
-Engine. </strong> If you want to upgrade the OpenFTS
-Engine, do these steps. (You must have already upgraded the OpenFTS
-driver to 0.3.2.)</p><div class="orderedlist"><ol class="orderedlist" type="a">
+<strong>OPTIONAL: Install the new OpenFTS Engine. </strong>
+If you want to upgrade the OpenFTS Engine, do these steps. (You
+must have already upgraded the OpenFTS driver to 0.3.2.)</p><div class="orderedlist"><ol class="orderedlist" type="a">
 <li class="listitem"><p>Browse to <code class="computeroutput">http://<em class="replaceable"><code>yourserver</code></em>/admin/site-map</code>
 </p></li><li class="listitem"><p>On the <code class="computeroutput">openfts</code> line, click
 on <code class="computeroutput"><span class="guilabel">set
 parameters</span></code>.</p></li><li class="listitem"><p>Change the value of <code class="computeroutput">openfts_tcl_src_path</code> from <code class="computeroutput">/usr/local/src/Search-OpenFTS-tcl-0.2/</code> to
 <code class="computeroutput">/usr/local/src/Search-OpenFTS-tcl-0.3.2/</code>
 </p></li><li class="listitem"><p>Click <code class="computeroutput"><span class="guibutton">Set
 Parameters</span></code>
-</p></li><li class="listitem"><pre class="screen">
-[root root]# restart-aolserver <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+</p></li><li class="listitem"><pre class="screen">[root root]# restart-aolserver <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </pre></li><li class="listitem"><p>Browse to <code class="computeroutput">http://<em class="replaceable"><code>yourserver</code></em>/openfts</code>
 </p></li><li class="listitem"><p><span class="bold"><strong>Click <code class="computeroutput"><span class="guilabel">Administration</span></code>.</strong></span></p></li><li class="listitem"><p><span class="bold"><strong>Click <code class="computeroutput"><span class="guibutton">Initialize OpenFTS
 Engine</span></code>
@@ -105,8 +96,7 @@
 on the dump file, and reply the dump. See <a class="ulink" href="http://openacs.org/forums/message-view?message_id=109337" target="_top">Forum OpenACS Q&amp;A: PG 7.2-&gt;7.3 upgrade gotcha?</a>.
 Example:</p><div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem"><p>Back up the database as per <a class="xref" href="snapshot-backup" title="PostgreSQL">PostgreSQL</a>.</p></li><li class="listitem">
-<p>Run the upgrade script on the backup file.</p><pre class="screen">
-[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
+<p>Run the upgrade script on the backup file.</p><pre class="screen">[root root]# <strong class="userinput"><code>su - <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>
 </code></strong>
           [$OPENACS_SERVICE_NAME <em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>]# <strong class="userinput"><code>cd /var/lib/aolserver/<em class="replaceable"><code>$OPENACS_SERVICE_NAME</code></em>/bin</code></strong>
           [$OPENACS_SERVICE_NAME bin]$ <strong class="userinput"><code>./pg_7.2to7.3_upgrade_helper.pl \
@@ -122,8 +112,7 @@
 
           <span class="emphasis"><em>(many lines omitted)</em></span>
           [$OPENACS_SERVICE_NAME bin]$
-          
-</pre>
+          </pre>
 </li><li class="listitem"><p>Use perl to replace <code class="computeroutput">timestamp</code> with <code class="computeroutput">timestamptz</code> in the dump file. See example
 perl code in step two in <a class="ulink" href="http://cvs.openacs.org/browse/OpenACS/openacs-4/contrib/misc/upgrade_4.6_to_5.0.sh?r=1.6" target="_top">/contrib/misc/upgrade_4.6_to_5.0.sh</a>
 </p></li><li class="listitem"><p>Create a new user for PostgreSQL 7.3.x, as per the Postgres
@@ -146,9 +135,9 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="upgrade-openacs-files" leftLabel="Prev" leftTitle="Upgrading the OpenACS files"
-		    rightLink="maintenance-web" rightLabel="Next" rightTitle="
-Chapter 6. Production Environments"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="upgrade" upLabel="Up"> 
-		
+			leftLink="upgrade-openacs-files" leftLabel="Prev" leftTitle="Upgrading the OpenACS files"
+			rightLink="maintenance-web" rightLabel="Next" rightTitle="Chapter 6. Production
+Environments"
+			homeLink="index" homeLabel="Home" 
+			upLink="upgrade" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/upgrade.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/upgrade.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/upgrade.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Chapter 5. Upgrading</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="how-do-I" leftLabel="Prev"
-		    title="
+			leftLink="how-do-I" leftLabel="Prev"
+			title="
 Part II. Administrator&#39;s Guide"
-		    rightLink="upgrade-overview" rightLabel="Next">
-		<div class="chapter">
+			rightLink="upgrade-overview" rightLabel="Next">
+		    <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="upgrade" id="upgrade"></a>Chapter 5. Upgrading</h2></div></div></div><div class="toc">
 <p><strong>Table of Contents</strong></p><dl class="toc">
@@ -23,8 +23,8 @@
 </span></p><span style="color: red">&lt;/authorblurb&gt;</span>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="how-do-I" leftLabel="Prev" leftTitle="How Do I?"
-		    rightLink="upgrade-overview" rightLabel="Next" rightTitle="Overview"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="acs-admin" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="how-do-I" leftLabel="Prev" leftTitle="How Do I?"
+			rightLink="upgrade-overview" rightLabel="Next" rightTitle="Overview"
+			homeLink="index" homeLabel="Home" 
+			upLink="acs-admin" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/uptime.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/uptime.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/uptime.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/uptime.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,20 +3,20 @@
 <property name="doc(title)">External uptime validation</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="analog-setup" leftLabel="Prev"
-		    title="
-Chapter 6. Production Environments"
-		    rightLink="maint-performance" rightLabel="Next">
-		<div class="sect1">
+			leftLink="analog-setup" leftLabel="Prev"
+			title="Chapter 6. Production
+Environments"
+			rightLink="maint-performance" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="uptime" id="uptime"></a>External uptime validation</h2></div></div></div><p>The <a class="ulink" href="http://uptime.openacs.org/uptime/" target="_top">OpenACS uptime site</a> can monitor your site and
 send you an email whenever your site fails to respond. If you test
 the url <code class="computeroutput">http://<em class="replaceable"><code>yourserver.test</code></em>/SYSTEM/dbtest.tcl</code>,
 you should get back the string <code class="computeroutput">success</code>.</p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="analog-setup" leftLabel="Prev" leftTitle="Set up Log Analysis Reports"
-		    rightLink="maint-performance" rightLabel="Next" rightTitle="Diagnosing Performance Problems"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="maintenance-web" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="analog-setup" leftLabel="Prev" leftTitle="Set up Log Analysis Reports"
+			rightLink="maint-performance" rightLabel="Next" rightTitle="Diagnosing Performance Problems"
+			homeLink="index" homeLabel="Home" 
+			upLink="maintenance-web" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/variables.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/variables.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-core-docs/www/variables.adp	8 Nov 2017 09:42:12 -0000	1.3
+++ openacs-4/packages/acs-core-docs/www/variables.adp	25 Apr 2018 08:38:28 -0000	1.4
@@ -3,11 +3,11 @@
 <property name="doc(title)">Variables</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="eng-standards-plsql" leftLabel="Prev"
-		    title="
-Chapter 12. Engineering Standards"
-		    rightLink="automated-testing-best-practices" rightLabel="Next">
-		<div class="sect1">
+			leftLink="eng-standards-plsql" leftLabel="Prev"
+			title="Chapter 12. Engineering
+Standards"
+			rightLink="automated-testing-best-practices" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="variables" id="variables"></a>Variables</h2></div></div></div><div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
@@ -19,9 +19,8 @@
 <p>Starting with OpenACS 5.0 and the introduction of acs-lang, we
 recommend retrieving date/time information from the database in
 ANSI format and then using <a class="ulink" href="/api-doc/proc-view?proc=lc%5ftime%5ffmt" target="_top">lc_time_fmt</a> to format it for display.</p><div class="example">
-<a name="idp140623173823464" id="idp140623173823464"></a><p class="title"><strong>Example 12.1. Getting datetime from
-the database ANSI-style</strong></p><div class="example-contents"><pre class="programlisting">
-db_multirow -extend { mydate_pretty } {
+<a name="idp140682193355096" id="idp140682193355096"></a><p class="title"><strong>Example 12.1. Getting datetime
+from the database ANSI-style</strong></p><div class="example-contents"><pre class="programlisting">db_multirow -extend { mydate_pretty } {
     select to_char(mydate, 'YYYY-MM-DD HH24:MI:SS') as mydate_ansi,
           ...
     ...
@@ -34,8 +33,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="eng-standards-plsql" leftLabel="Prev" leftTitle="PL/SQL Standards"
-		    rightLink="automated-testing-best-practices" rightLabel="Next" rightTitle="Automated Testing"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="eng-standards" upLabel="Up"> 
-		
\ No newline at end of file
+			leftLink="eng-standards-plsql" leftLabel="Prev" leftTitle="PL/SQL Standards"
+			rightLink="automated-testing-best-practices" rightLabel="Next" rightTitle="Automated Testing"
+			homeLink="index" homeLabel="Home" 
+			upLink="eng-standards" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/variables.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/variables.html,v
diff -u -r1.32 -r1.33
--- openacs-4/packages/acs-core-docs/www/variables.html	8 Nov 2017 09:42:12 -0000	1.32
+++ openacs-4/packages/acs-core-docs/www/variables.html	25 Apr 2018 08:38:28 -0000	1.33
@@ -13,7 +13,7 @@
     <p>Starting with OpenACS 5.0 and the introduction of acs-lang,
     we recommend retrieving date/time information from the database in
     ANSI format and then using <a class="ulink" href="/api-doc/proc-view?proc=lc%5ftime%5ffmt" target="_top">lc_time_fmt</a> to format it for display.</p>
-    <div class="example"><a name="idp140623173823464"></a><p class="title"><b>Example 12.1. Getting datetime from the database ANSI-style</b></p><div class="example-contents">
+    <div class="example"><a name="idp140682193355096"></a><p class="title"><b>Example 12.1. Getting datetime from the database ANSI-style</b></p><div class="example-contents">
       
       <pre class="programlisting">db_multirow -extend { mydate_pretty } {
     select to_char(mydate, 'YYYY-MM-DD HH24:MI:SS') as mydate_ansi,
Index: openacs-4/packages/acs-core-docs/www/win2k-installation.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/win2k-installation.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/win2k-installation.adp	7 Aug 2017 23:47:53 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/win2k-installation.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -3,21 +3,21 @@
 <property name="doc(title)">OpenACS Installation Guide for Windows</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="openacs" leftLabel="Prev"
-		    title="
-Chapter 3. Complete Installation"
-		    rightLink="mac-installation" rightLabel="Next">
-		<div class="sect1">
+			leftLink="openacs" leftLabel="Prev"
+			title="Chapter 3. Complete
+Installation"
+			rightLink="mac-installation" rightLabel="Next">
+		    <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="win2k-installation" id="win2k-installation"></a>OpenACS Installation Guide for
 Windows</h2></div></div></div><p>A binary version of OpenACS and NaviServer is maintained by
 Maurizio Martignano and is available from <a class="ulink" href="http://www.spazioit.com/pages_en/sol_inf_en/windows-openacs_en/" target="_top">Spazio IT</a>
 </p>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="openacs" leftLabel="Prev" leftTitle="Install OpenACS 5.9.0"
-		    rightLink="mac-installation" rightLabel="Next" rightTitle="OpenACS Installation Guide for Mac OS
+			leftLink="openacs" leftLabel="Prev" leftTitle="Install OpenACS 5.9.0"
+			rightLink="mac-installation" rightLabel="Next" rightTitle="OpenACS Installation Guide for Mac OS
 X"
-		    homeLink="index" homeLabel="Home" 
-		    upLink="complete-install" upLabel="Up"> 
-		
\ No newline at end of file
+			homeLink="index" homeLabel="Home" 
+			upLink="complete-install" upLabel="Up"> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-core-docs/www/files/acs-start.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/files/acs-start.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/files/acs-start.adp	7 Aug 2017 23:47:54 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/files/acs-start.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -14,5 +14,5 @@
 <p>The next step is to install the ACS kernel data model. Click the
 <em>Next</em> button to proceed.</p>
 <form action="install-data-model" method="get">
-<center><input type="submit" value="Next -&gt;"></center><hr><a href="mailto:acs\@arsdigita.com"></a><address>acs\@arsdigita.com</address>
+<center><input type="submit" value="Next -&gt;"></center><hr><a href="mailto:acs\@arsdigita.com"><address>acs\@arsdigita.com</address></a>
 </form>
Index: openacs-4/packages/acs-core-docs/www/files/openacs-start.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/files/openacs-start.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/files/openacs-start.adp	7 Aug 2017 23:47:54 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/files/openacs-start.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -16,5 +16,5 @@
 <p>The next step is to install the OpenACS kernel data model. Click
 the <em>Next</em> button to proceed.</p>
 <form action="#" method="get">
-<center><input type="submit" value="Next -&gt;"></center><hr><a href="mailto:gatekeepers\@openacs.org"></a><address>gatekeepers\@openacs.org</address>
+<center><input type="submit" value="Next -&gt;"></center><hr><a href="mailto:gatekeepers\@openacs.org"><address>gatekeepers\@openacs.org</address></a>
 </form>
Index: openacs-4/packages/acs-core-docs/www/unit-testing-guide/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/unit-testing-guide/index.adp,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-core-docs/www/unit-testing-guide/index.adp	7 Aug 2017 23:47:54 -0000	1.2
+++ openacs-4/packages/acs-core-docs/www/unit-testing-guide/index.adp	25 Apr 2018 08:38:28 -0000	1.3
@@ -88,5 +88,4 @@
 <hr>
 <em>Last updated - 2000-12-19</em>
 <br>
-<a href="mailto:pmcneill\@arsdigita.com"></a>
-<address>pmcneill\@arsdigita.com</address>
+<a href="mailto:pmcneill\@arsdigita.com"><address>pmcneill\@arsdigita.com</address></a>
Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml,v
diff -u -r1.54 -r1.55
--- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml	24 Dec 2017 13:15:07 -0000	1.54
+++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml	25 Apr 2018 08:38:28 -0000	1.55
@@ -358,7 +358,7 @@
      We do this with another general_comments function:</para>
      <programlisting>set comments_html [general_comments_get_comments
      -print_content_p 1 $note_id]</programlisting>
-     <para>First, we pass in an optional parameter that that says to actually
+     <para>First, we pass in an optional parameter that says to actually
      show the contents of the comments, instead of just the fact that
      there are comments. Then you pass the note id, which is also the
      acs_object id.</para>
@@ -506,7 +506,7 @@
           category trees are applicable for the application.
           </para>
           <para>
-          The way to achieve this is is to provide a link
+          The way to achieve this is to provide a link
           to the Category Management pages.  Add the following snippet to your
             <computeroutput>/var/lib/aolserver/<replaceable>$OPENACS_SERVICE_NAME</replaceable>/packages/myfirstpackage/www/admin/index.tcl</computeroutput>
           file:
@@ -1434,7 +1434,7 @@
 	} ...
 	</programlisting>
 	<warning>
-	<para>You must not give your your form the same name that your page has. Otherwise HTMLArea won&#39;t load.</para>
+	<para>You must not give your form the same name that your page has. Otherwise HTMLArea won&#39;t load.</para>
 	</warning>
 	<para>Convert your textarea widget to a richtext widget and enable htmlarea.</para>
 	<para>The <code>htmlarea_p</code>-flag can be used to prevent 
Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml,v
diff -u -r1.22 -r1.23
--- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml	7 Aug 2017 23:47:54 -0000	1.22
+++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml	25 Apr 2018 08:38:28 -0000	1.23
@@ -25,7 +25,7 @@
     <sect2>
       <title>Overview</title>
       <para>To start developing new code in OpenACS, we build a new package. A package 
-      is a a discrete collection of web pages, Tcl code, and database tables and procedures.
+      is a discrete collection of web pages, Tcl code, and database tables and procedures.
       A package with user interface is called an <emphasis role="strong">application</emphasis>; 
       a package which provides functions to other packages and has no direct interface, a
       <emphasis role="strong">service</emphasis>.  A package can be installed, upgraded, and 
Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml,v
diff -u -r1.34 -r1.35
--- openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml	28 Mar 2018 17:00:40 -0000	1.34
+++ openacs-4/packages/acs-core-docs/www/xml/install-guide/other-software.xml	25 Apr 2018 08:38:28 -0000	1.35
@@ -314,7 +314,7 @@
 chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
 ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
 </action></screen>
-          <para>Wait ten seconds or so, and then verify that that the four qmail processes are running.  If uptimes don&#39;t rise above 1 second, this may indicate broken scripts that are continuously restarting.  In that case, start debugging by checking permissions.</para>
+          <para>Wait ten seconds or so, and then verify that the four qmail processes are running.  If uptimes don&#39;t rise above 1 second, this may indicate broken scripts that are continuously restarting.  In that case, start debugging by checking permissions.</para>
           <screen>[root root]# <userinput>qmailctl stat</userinput>
 /service/qmail-send: up (pid 32700) 430 seconds
 /service/qmail-send/log: up (pid 32701) 430 seconds
Index: openacs-4/packages/acs-core-docs/www/xml/kernel/ext-auth.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/kernel/ext-auth.xml,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/acs-core-docs/www/xml/kernel/ext-auth.xml	28 Mar 2018 21:55:34 -0000	1.7
+++ openacs-4/packages/acs-core-docs/www/xml/kernel/ext-auth.xml	25 Apr 2018 08:38:28 -0000	1.8
@@ -167,7 +167,7 @@
 either already be in the users table through a batch
 synchronization job, or that the relevant authentication
 implementation supports real-time synchronization of user data.
-Specifically, if you want remote users who haven&#39;t yet logged in to
+Specifically, if you want remote users who haven&#39;t yet logged-in to
 OpenACS to show up in user searches, you&#39;ll have to do the batch
 synchronization.</para>
       <para>All in all, the login box will be an includeable template and
@@ -511,19 +511,19 @@
       </segmentedlist>
       <para>I like the idea of having multiple login levels:</para>
       <orderedlist>
-        <listitem><para>Not logged in</para></listitem>
+        <listitem><para>Not logged-in</para></listitem>
         <listitem><para>Untrusted login: We&#39;ll show you un-sensitive personal
           content, but won&#39;t let you modify anything or see personal data. A
           normal login becomes untrusted after a certain amount of time, and
           the user will have to re-enter his/her password in order to gain
           access to personal data. Untrusted login never expires, unless
           explicitly done so through either changing password or clicking a
           special "expire all logins" link.</para></listitem>
-        <listitem><para>Normal login: The user is logged, and has type his
+        <listitem><para>Normal login: The user is logged-in, and has type his
           password sufficiently recently that we trust the login. All normal
           operations are allowed. Will degrade to untrusted login after a
           specified amount of time.</para></listitem>
-        <listitem><para>Secure login: The user is logged in over a secure
+        <listitem><para>Secure login: The user is logged-in over a secure
           connection (HTTPS), potentially even using a special secure
           password. This would be for sensitive actions, such as credit card
           transactions.</para></listitem>
@@ -544,13 +544,13 @@
 even more feasible to have a more secure login expiration
 setting.</para>
       <para>By default, <literal>auth::require_login</literal> would
-bounce to the login page if the user is only logged in at the
+bounce to the login page if the user is only logged-in at the
 untrusted level. Only if you explicitly say
 <literal>auth::require_login -untrusted</literal> will we give you
-the user_id of a user who&#39;s only logged in in untrusted
+the user_id of a user who&#39;s only logged-in in untrusted
 mode.</para>
       <para>Similarly, <literal>ad_conn user_id</literal> will continue
-to return 0 (not logged in) when the user is only logged in
+to return 0 (not logged-in) when the user is only logged-in
 untrusted, and we&#39;ll supply another variable, <literal>ad_conn
 untrusted_user_id</literal>, which wlll be set to the user_id for
 all login levels.</para>
@@ -619,10 +619,10 @@
           </seglistitem>
       </segmentedlist>
       <para>Currently, if you&#39;ve ever left a permanent login cookie on
-someone elses machine, that person will be forever logged in until
+someone elses machine, that person will be forever logged-in until
 he/she explicitly logs out. You can change your password, you can
 do anything you want, but unless a logout is requested from that
-particular browser, that browser will be logged in forever.</para>
+particular browser, that browser will be logged-in forever.</para>
       <para>I want to change our session handling code so that old login
 cookies can be expired. This would be done automatically whenever
 you change your password, and we could also offer a link which does
Index: openacs-4/packages/acs-core-docs/www/xml/kernel/groups-requirements.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/kernel/groups-requirements.xml,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/acs-core-docs/www/xml/kernel/groups-requirements.xml	17 Jul 2006 05:38:38 -0000	1.7
+++ openacs-4/packages/acs-core-docs/www/xml/kernel/groups-requirements.xml	25 Apr 2018 08:38:28 -0000	1.8
@@ -30,7 +30,7 @@
 
 
     <para>A powerful web service that can meet the needs of large enterprises must
-      be able to model the the real world&#39;s very rich organizational structures
+      be able to model the real world&#39;s very rich organizational structures
       and many ways of decomposing the same organization. For example, a
       corporation can be broken into structures (the corporation, its divisions,
       and their departments) or regions (the Boston office, the LA office); a
Index: openacs-4/packages/acs-core-docs/www/xml/kernel/i18n-requirements.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/kernel/i18n-requirements.xml,v
diff -u -r1.10 -r1.11
--- openacs-4/packages/acs-core-docs/www/xml/kernel/i18n-requirements.xml	24 Dec 2017 13:15:07 -0000	1.10
+++ openacs-4/packages/acs-core-docs/www/xml/kernel/i18n-requirements.xml	25 Apr 2018 08:38:28 -0000	1.11
@@ -489,8 +489,11 @@
 <para>Acs-templating does the following.</para>
 <itemizedlist>
         <listitem>
-          <para>When the acs-templating package opens an an ADP or Tcl file, it assumes the file is iso-8859-1.  If the output charset (OutputCharset) in the AOLserver config file is set, then acs-templating assumes it&#39;s that charset.  
-Writing Files</para>
+          <para>When the acs-templating package opens an ADP or Tcl
+	  file, it assumes the file is iso-8859-1.  If the output
+	  charset (OutputCharset) in the AOLserver config file is set,
+	  then acs-templating assumes it&#39;s that charset.  
+	  Writing Files</para>
         </listitem>
         <listitem>
           <para>When the acs-templating package writes an an ADP or
Index: openacs-4/packages/acs-core-docs/www/xml/kernel/object-system-design.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/kernel/object-system-design.xml,v
diff -u -r1.9 -r1.10
--- openacs-4/packages/acs-core-docs/www/xml/kernel/object-system-design.xml	7 Aug 2017 23:47:55 -0000	1.9
+++ openacs-4/packages/acs-core-docs/www/xml/kernel/object-system-design.xml	25 Apr 2018 08:38:28 -0000	1.10
@@ -123,7 +123,7 @@
 </para></listitem>
 </itemizedlist>
 
-<para>The next section will explore these facilities in the context of the the
+<para>The next section will explore these facilities in the context of the
 particular programming idioms that we wish to generalize.</para>
 
 <para><emphasis role="strong">Related Links</emphasis></para>
@@ -277,7 +277,8 @@
 permission to perform action Y on object Z.</para>
 
 <para>The context system forms the basis for the rest of the OpenACS access control
-system, which is described in in two separate documents: one for the <link linkend="permissions-design">permissions system</link> and another for the
+system, which is described in two separate documents: one for the
+<link linkend="permissions-design">permissions system</link> and another for the
 <link linkend="groups-design">party groups</link> system. The context system
 is also used to implement <link linkend="subsites-design">subsites</link>.</para>
 </sect3>
Index: openacs-4/packages/acs-core-docs/www/xml/kernel/object-system-req.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/kernel/object-system-req.xml,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/acs-core-docs/www/xml/kernel/object-system-req.xml	17 Jul 2006 05:38:38 -0000	1.7
+++ openacs-4/packages/acs-core-docs/www/xml/kernel/object-system-req.xml	25 Apr 2018 08:38:28 -0000	1.8
@@ -245,7 +245,7 @@
 done using <emphasis>mapping tables</emphasis>. The user/groups module has the most
 highly developed data model for this purpose, using a single table called
 <computeroutput>user_group_map</computeroutput> that mapped users to groups. In addition, it uses
-the the <computeroutput>user_group_member_fields</computeroutput> and
+the <computeroutput>user_group_member_fields</computeroutput> and
 <computeroutput>user_group_member_fields_map</computeroutput> tables to allow developers to
 attach custom attributes to group members. In fact, these custom attributes
 were not really attached to the users, but to the fact that a user was a
Index: openacs-4/packages/acs-subsite/tcl/party-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/tcl/Attic/party-procs.tcl,v
diff -u -r1.10 -r1.11
--- openacs-4/packages/acs-subsite/tcl/party-procs.tcl	7 Aug 2017 23:47:58 -0000	1.10
+++ openacs-4/packages/acs-subsite/tcl/party-procs.tcl	25 Apr 2018 08:40:23 -0000	1.11
@@ -217,7 +217,7 @@
 	if {$party_id eq "" && $email eq ""} {
 	    error "You need to provide either party_id or email"
 	} elseif {"" ne $party_id && "" ne $email } {
-	    error "Only provide provide party_id OR email, not both"
+	    error "Only provide party_id OR email, not both"
 	}
 	
 	if {$party_id eq ""} {
Index: openacs-4/packages/acs-subsite/www/admin/groups/elements-by-group-type.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/groups/elements-by-group-type.tcl,v
diff -u -r1.2 -r1.3
--- openacs-4/packages/acs-subsite/www/admin/groups/elements-by-group-type.tcl	7 Aug 2017 23:47:58 -0000	1.2
+++ openacs-4/packages/acs-subsite/www/admin/groups/elements-by-group-type.tcl	25 Apr 2018 08:40:23 -0000	1.3
@@ -3,9 +3,10 @@
 # Datasource for elements-by-rel-type.adp 
 # (meant to be included by other templates) 
 #
-# Shows the user a summary of components (NOT members!) of the given 
-# group, provided that the the user has permission to see the component.  
-# The components are summarized by their relationship to the given group.
+# Shows the user a summary of components (NOT members!) of the given
+# group, provided that the user has permission to see the component.
+# The components are summarized by their relationship to the given
+# group.
 #
 # NOTE:
 # There is no scope check done here to ensure that the component "belongs" to
Index: openacs-4/packages/acs-subsite/www/admin/groups/elements-by-rel-type.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/admin/groups/elements-by-rel-type.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/acs-subsite/www/admin/groups/elements-by-rel-type.tcl	7 Aug 2017 23:47:58 -0000	1.7
+++ openacs-4/packages/acs-subsite/www/admin/groups/elements-by-rel-type.tcl	25 Apr 2018 08:40:23 -0000	1.8
@@ -3,9 +3,10 @@
 # Datasource for elements-by-rel-type.adp 
 # (meant to be included by other templates) 
 #
-# Shows the user a summary of elements (components or members) of the given 
-# group, provided that the the user has permission to see the element.  
-# The elements are summarized by their relationship to the given group.
+# Shows the user a summary of elements (components or members) of the
+# given group, provided that the user has permission to see the
+# element.  The elements are summarized by their relationship to the
+# given group.
 #
 # NOTE:
 # There is no scope check done here to ensure that the element "belongs" to
Index: openacs-4/packages/acs-subsite/www/doc/group-admin-pages-acceptance-test.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/doc/group-admin-pages-acceptance-test.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-subsite/www/doc/group-admin-pages-acceptance-test.adp	7 Aug 2017 23:47:59 -0000	1.3
+++ openacs-4/packages/acs-subsite/www/doc/group-admin-pages-acceptance-test.adp	25 Apr 2018 08:40:23 -0000	1.4
@@ -11,7 +11,8 @@
 <font>The first thing we have to test is developer defined group
 types working in conjunction with the user defined ones.</font>
 <p><font>Create the following object type in SQL*Plus.</font></p>
-<pre><font>begin
+<pre><font>
+begin
  acs_object_type.create_type (
    supertype =&gt; 'group',
    object_type =&gt; 'developer_defined_test_type',
@@ -217,7 +218,8 @@
 Relation</font></li><li><font>Delete the employment relation type.</font></li><li><font>Delete the employee, employer, and project_leader
 roles</font></li><li><font>Delete any groups you created for the developer defined
 type</font></li><li>
-<font>Drop the developer defined type (in SQL*Plus):</font><pre><font>exec acs_object_type.drop_type('developer_defined_test_type'); 
+<font>Drop the developer defined type (in SQL*Plus):</font><pre><font>
+exec acs_object_type.drop_type('developer_defined_test_type'); 
 drop table developer_defined_test_types;
 drop package developer_defined_test_type;
 </font></pre>
@@ -227,6 +229,6 @@
 <address><font><a href="mailto:mbryzek\@arsdigita.com">Michael
 Bryzek</a></font></address>
 <font>
-<br><font size="-1">$&zwnj;Id: group-admin-pages-acceptance-test.html,v
-1.3.24.1 2016/07/18 11:40:32 gustafn Exp $</font>
+<br><font size="-1">$&zwnj;Id: group-admin-pages-acceptance-test.html,v 1.4
+2017/08/07 23:47:59 gustafn Exp $</font>
 </font>
Index: openacs-4/packages/acs-subsite/www/doc/group-admin-pages-requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/doc/group-admin-pages-requirements.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-subsite/www/doc/group-admin-pages-requirements.adp	7 Aug 2017 23:47:59 -0000	1.3
+++ openacs-4/packages/acs-subsite/www/doc/group-admin-pages-requirements.adp	25 Apr 2018 08:40:23 -0000	1.4
@@ -88,7 +88,7 @@
 a group type. Removing the attribute removes all values specified
 for that attribute.</font></p></dd><dt><font><strong>40.10 Relationship
 Constraints</strong></font></dt><dd><p><font>The API must support the following types of constraints on
-relationships:</font></p></dd><dt><font><strong>40.10.10 Permissible
+relationships:</font></p></dd><dd></dd><dt><font><strong>40.10.10 Permissible
 relationships</strong></font></dt><dd><p><font>Each group type should maintain a list of all relationship
 types that can be used to add elements to groups of this group
 type.</font></p></dd><dt><font><strong>40.10.20 Constraints on
@@ -129,9 +129,9 @@
 removes all groups of this type.</font></p></dd>
 </dl></blockquote></dd>
 </dl>
-<dl><dt><font>
+<dt><font>
 <strong>150.10</strong> Group instance summary
-page</font></dt></dl>
+page</font></dt>
 <blockquote><dl>
 <dt><font>
 <strong>150.10.10</strong> Display relations</font></dt><dd><p><font>Each group should display all the parties related to it
@@ -165,5 +165,5 @@
 <address><a href="mailto:mbryzek\@arsdigita.com">Michael
 Bryzek</a></address>
 <br>
-<font size="-1">$&zwnj;Id: group-admin-pages-requirements.html,v 1.2.30.1
-2016/07/18 11:40:32 gustafn Exp $</font>
+<font size="-1">$&zwnj;Id: group-admin-pages-requirements.html,v 1.3
+2017/08/07 23:47:59 gustafn Exp $</font>
Index: openacs-4/packages/acs-subsite/www/doc/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/doc/index.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-subsite/www/doc/index.adp	7 Aug 2017 23:47:59 -0000	1.3
+++ openacs-4/packages/acs-subsite/www/doc/index.adp	25 Apr 2018 08:40:23 -0000	1.4
@@ -33,6 +33,6 @@
 <address><a href="mailto:mbryzek\@arsdigita.com">Michael
 Bryzek</a></address>
 <br>
-<font size="-1">$&zwnj;Id: index.html,v 1.3.2.3 2016/11/19 09:10:54
-gustafn Exp $</font>
+<font size="-1">$&zwnj;Id: index.html,v 1.4 2017/08/07 23:47:59 gustafn
+Exp $</font>
 <!-- Created: 1/11/2001 -->
\ No newline at end of file
Index: openacs-4/packages/acs-templating/tcl/list-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/list-procs.tcl,v
diff -u -r1.76 -r1.77
--- openacs-4/packages/acs-templating/tcl/list-procs.tcl	9 Apr 2018 21:16:06 -0000	1.76
+++ openacs-4/packages/acs-templating/tcl/list-procs.tcl	25 Apr 2018 08:42:17 -0000	1.77
@@ -2341,7 +2341,7 @@
     </li>
     <li>
     <b>type</b>: The type of values this filter sets. Also see 'values' below. Valid options are: 'singleval', meaning that the
-    value is a single value of a query variable with the name of the filter; 'multival', meaning the the value is really a Tcl list of values,
+    value is a single value of a query variable with the name of the filter; 'multival', meaning the value is really a Tcl list of values,
     sent to a :multiple page variable; and 'multivar', meaning that the value is a list of (key value) lists, as in { { var1 value1 } { var2 value 2 } }.
     'multival' is useful when you're filtering on, say, a date range, in which case you'd send two values, namely the start and end date.
     'multivar' is useful when you want the selection of one filter to change the value of another filter, for example when selecting groupby, you also
Index: openacs-4/packages/acs-templating/tcl/query-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/query-procs.tcl,v
diff -u -r1.41 -r1.42
--- openacs-4/packages/acs-templating/tcl/query-procs.tcl	24 Apr 2018 21:59:37 -0000	1.41
+++ openacs-4/packages/acs-templating/tcl/query-procs.tcl	25 Apr 2018 08:42:17 -0000	1.42
@@ -180,8 +180,8 @@
 }
 
 ad_proc -private template::query::multirow { statement_name db result_name sql } {
-    Process a multirow query.  Use an array for each row row in the
-    result.  Arrays are named name0, name1, name2 etc.  The variable
+    Process a multirow query.  Use an array for each row in the
+    result.  Arrays are named name0, name1, name2 etc. The variable
     name.rowcount is also defined for checking and iteration.
 
     @param statement_name Standard db_api statement name used to hook
@@ -598,7 +598,7 @@
     <dt> <b>template::multirow columns datasourcename</b></dt>
     <dd> returns the columns in the datasource</dd>
     <dt> <b>template::multirow get datasourcename rownum [column]</b></dt>
-    <dd> returns the row of of data (or the particular row/column if column is provided)</dd>
+    <dd> returns the row of data (or the particular row/column if column is provided)</dd>
     <dt> <b>template::multirow set datasourcename rownum column value</b></dt>
     <dd> set an element value</dd>
     <dt> <b>template::multirow foreach datasource code </b></dt>
@@ -607,8 +607,8 @@
     <dd> upvar the multirow, aliasing to new_name if provided</dd>
     <dt> <b>template::multirow unset datasource</b></dt>
     <dd> unset multirow</dd>
-    <dt> <b>template::multirow sort datasource -lsort-switch -lsort-switch col1 col2</b></dt>
-    <dd> Sort the multirow by the column(s) specified. The value sorted by will be the the values of the columns specified, separated by the space character. Any switches specified before the columns will be passed directly to the lsort command. </dd>
+    <dt> <b>template::multirow sort datasource -lsort-switch col1 col2</b></dt>
+    <dd> Sort the multirow by the column(s) specified. The value sorted by will be the values of the columns specified, separated by the space character. Any switches specified before the columns will be passed directly to the lsort command. </dd>
     <dt> <b>template::multirow exists datasource</b></dt>
     <dd> Return 1 if the multirow datasource exists, 0 if it doesn't.
     </dl>
Index: openacs-4/packages/acs-templating/tcl/richtext-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/richtext-procs.tcl,v
diff -u -r1.61 -r1.62
--- openacs-4/packages/acs-templating/tcl/richtext-procs.tcl	24 Apr 2018 21:19:43 -0000	1.61
+++ openacs-4/packages/acs-templating/tcl/richtext-procs.tcl	25 Apr 2018 08:42:17 -0000	1.62
@@ -275,7 +275,7 @@
 
 ad_proc -public template::util::richtext::render_widgets { } {
 
-    Render all rich-text editors with their their widget specific
+    Render all rich-text editors with their widget specific
     code. Every editor might have multiple instances on the page,
     which are accessible to "render_widgets" via the global variable
     acs_blank_master__htmlareas. This function can be used to perform
Index: openacs-4/packages/acs-templating/tcl/wizard-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/wizard-procs.tcl,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/acs-templating/tcl/wizard-procs.tcl	29 Mar 2018 21:24:01 -0000	1.14
+++ openacs-4/packages/acs-templating/tcl/wizard-procs.tcl	25 Apr 2018 08:42:17 -0000	1.15
@@ -689,7 +689,7 @@
 
     get_reference
     
-    # check the old visited step on the the state manager
+    # check the old visited step on the state manager
     set visited_step [ad_get_client_property -default "" $key ${wizard_name}visited]
     if {$visited_step ne "" } {
         template::wizard::set_visited_step $visited_step
Index: openacs-4/packages/acs-templating/www/doc/design.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/design.adp,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/acs-templating/www/doc/design.adp	11 Apr 2018 20:52:01 -0000	1.7
+++ openacs-4/packages/acs-templating/www/doc/design.adp	25 Apr 2018 08:42:17 -0000	1.8
@@ -287,8 +287,7 @@
       DefaultMaster=/www/default-master
       ; anything other than "never" or "always" means normal operation
       RefreshCache=as necessary
-
-</pre>
+    </pre>
 <h3>X. Future Improvements/Areas of Likely Change</h3>
 <p>Passing datasources by reference is new. The acs-templating
 syntax <code>&amp;formal="actual"</code> is different
@@ -304,21 +303,20 @@
 <li>System creator: <a href="mailto:karl\@arsdigita.com">Karl
 Goldstein</a>
 </li><li>System owners: <a href="mailto:karl\@arsdigita.com">Karl
-Goldstein</a> and <a href="mailto:christian\@arsdigita.com">Christian
-Brechbühler</a>
+Goldstein</a> and <a href="mailto:christian\@arsdigita.com">Christian Brechbühler</a>
 </li><li>Documentation authors: <a href="mailto:karl\@arsdigita.com">Karl
 Goldstein</a>, <a href="mailto:christian\@arsdigita.com">Christian
-Brechbühler</a>, and <a href="mailto:bquinn\@arsdigita.com">Bryan Quinn</a>
+Brechbühler</a>, and <a href="mailto:bquinn\@arsdigita.com">Bryan
+Quinn</a>
 </li>
 </ul>
 <h3>XII. Revision History</h3>
 <table cellpadding="2" cellspacing="2" width="90%" bgcolor="#EFEFEF">
 <tr bgcolor="#E0E0E0">
 <th width="10%">Document Revision #</th><th width="50%">Action Taken, Notes</th><th>When?</th><th>By Whom?</th>
 </tr><tr>
-<td>0.1</td><td>Brought into the form suggested by Finkler,
-McLoghlin and Wu (href="http://dev.arsdigita.com/ad-sepg/process/design-template)
-</td><td>18 Jul 2000</td><td>Christian Brechbühler</td>
+<td>0.1</td><td>Brought into the form suggested by Finkler, McLoghlin and Wu
+(http://dev.arsdigita.com/ad-sepg/process/design-template)</td><td>18 Jul 2000</td><td>Christian Brechbühler</td>
 </tr><tr>
 <td>0.2</td><td>Adapted to acs-templating as distributed with ACS/Tcl 4.01</td><td>22 Nov 2000</td><td>Christian Brechbühler</td>
 </tr>
@@ -327,5 +325,5 @@
 <address><a href="mailto:christian\@arsdigita.com">Christian
 Brechbuehler</a></address>
 <!-- Created: Mon Aug 14 11:53:07 EDT 2000 -->
-Last modified: $&zwnj;Id: design.html,v 1.4.2.3 2017/04/22 18:30:26
-gustafn Exp $
+Last modified: $&zwnj;Id: design.html,v 1.9 2018/04/11 20:52:01 hectorr
+Exp $
Index: openacs-4/packages/acs-templating/www/doc/developer-guide.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/developer-guide.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/developer-guide.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/developer-guide.adp	25 Apr 2018 08:42:17 -0000	1.4
@@ -21,7 +21,8 @@
 datasources defined in the Tcl page.
 <h3>Guide</h3>
 <ol>
-<li>User Guide</li><li style="list-style: none"><ul>
+<li>User Guide
+<ul>
 <li><a href="guide/index">Overview</a></li><li>Establishing data sources
 <ul>
 <li><a href="guide/data">Implementing data sources</a></li><li><a href="guide/document">Documenting data sources</a></li>
@@ -48,7 +49,8 @@
 <ul><li>See the "contract", "error", and
 "state" <a href="demo/">demos</a>.</li></ul>
 </li>
-</ul></li><li>Object and API Reference
+</ul>
+</li><li>Object and API Reference
 <ul>
 <li><a href="api/database">Database Query</a></li><li><a href="api/multirow">Mutirow Data Source</a></li><li><a href="api/request">Request</a></li><li><a href="api/form">Form</a></li><li><a href="api/element">Form Element</a></li><li><a href="widgets">Form Widgets</a></li>
 </ul>
@@ -97,5 +99,5 @@
 <address><a href="mailto:christian\@arsdigita.com">Christian
 Brechbühler</a></address>
 <!-- Created: Mon Aug 14 11:53:07 EDT 2000 -->
-Last modified: $&zwnj;Id: developer-guide.html,v 1.4.2.1 2017/04/22
-18:30:26 gustafn Exp $
+Last modified: $&zwnj;Id: developer-guide.html,v 1.5 2017/08/07 23:48:02
+gustafn Exp $
Index: openacs-4/packages/acs-templating/www/doc/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/index.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/index.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/index.adp	25 Apr 2018 08:42:17 -0000	1.4
@@ -43,5 +43,5 @@
 Original maintainer: Christian Brechbühler
 (christian\@arsdigita.com) 
 <!-- Created: Mon Aug 14 11:53:07 EDT 2000 -->
-Last modified: $&zwnj;Id: index.html,v 1.6.2.5 2017/04/22 18:30:26
-gustafn Exp $
+Last modified: $&zwnj;Id: index.html,v 1.7 2017/08/07 23:48:02 gustafn
+Exp $
Index: openacs-4/packages/acs-templating/www/doc/install.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/install.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/install.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/install.adp	25 Apr 2018 08:42:17 -0000	1.4
@@ -19,11 +19,9 @@
 <h3>Obtaining the distribution</h3>
 <p>To install the templating system, download and unpack the tar
 file under your page root:</p>
-<pre>
-$ wget http://bob.sf.arsdigita.com:8089/ats/ats.tar.gz
+<pre>$ wget http://bob.sf.arsdigita.com:8089/ats/ats.tar.gz
 $ cd /web/myserver/www
-$ gunzip -c ats.tar.gz | tar xvf -
-</pre>
+$ gunzip -c ats.tar.gz | tar xvf -</pre>
 <p>The distribution consists of four subdirectories:</p>
 <ol>
 <li>
@@ -47,23 +45,19 @@
 installation (as indicated by the <kbd>Library</kbd> parameter in
 the <kbd>ns/server/myserver/tcl</kbd> section of the AOLserver
 configuration file):</p>
-<pre>
-$ cd /web/myserver/tcl
-$ ln -s &lt;path_to_distribution&gt;/ats/tcl/ ats
-</pre>
+<pre>$ cd /web/myserver/tcl
+$ ln -s &lt;path_to_distribution&gt;/ats/tcl/ ats</pre>
 <h3>Configuring AOLserver</h3>
 <p>The last step is to modify your AOLserver configuration file.
 You will need to register the templating system as a Tcl-only
 module:</p>
-<pre>
-[ns/server/myserver/modules]
+<pre>[ns/server/myserver/modules]
 nssock=nssock.so
 nslog=nslog.so
 <strong>ats=Tcl</strong>
 </pre>
 <p>or if you are using the new configuration file format:</p>
-<pre>
-ns_section "ns/server/${server}/modules"
+<pre>ns_section "ns/server/${server}/modules"
 ns_param   nssock          nssock.so
 ns_param   nslog           nslog.so
 <strong>ns_param   ats          Tcl</strong>
@@ -73,14 +67,12 @@
 private Tcl library.</p>
 <p>You will also need to ensure that the "fancy" ADP
 parser is the default:</p>
-<pre>
-[ns/server/<em>yourserver</em>/adp]
+<pre>[ns/server/<em>yourserver</em>/adp]
 Map=/*.adp
 DefaultParser=fancy
 
 [ns/server/<em>yourserver</em>/adp/parsers]
-fancy=.adp
-</pre>
+fancy=.adp</pre>
 <h3>Optional Configuration</h3>
 <p>The templating system recognizes two optional parameters in the
 AOLserver configuration file in the
Index: openacs-4/packages/acs-templating/www/doc/migration.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/migration.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/migration.adp	7 Aug 2017 23:48:02 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/migration.adp	25 Apr 2018 08:42:17 -0000	1.5
@@ -33,8 +33,7 @@
 file.</p>
 <pre>
       [ns/server/myserver/adp]
-      DefaultParser=fancy
-</pre>
+      DefaultParser=fancy</pre>
 <p>A few more hints</p>
 <ul>
 <li>Do not write to the connection directly. Avoid
@@ -46,10 +45,8 @@
 that will be <code>&lt;include&gt;</code>d from several pages.
 Prefer this to writing a Tcl proc that returns HTML.</li><li>Remember to remove backslashes where you had to escape special
 characters, as in
-<blockquote><pre>
-Nuts  <font color="red">\</font>$2.70 <font color="red">\</font>[&lt;a href="<font color="red">\</font>"shoppe<font color="red">\</font>"&gt;buy&lt;/a&gt;<font color="red">\</font>]
-          
-</pre></blockquote>
+<blockquote><pre>Nuts  <font color="red">\</font>$2.70 <font color="red">\</font>[&lt;a href="<font color="red">\</font>"shoppe<font color="red">\</font>"&gt;buy&lt;/a&gt;<font color="red">\</font>]
+          </pre></blockquote>
 </li>
 </ul>
 <h3>Forms</h3>
@@ -158,8 +155,7 @@
 
 
 ad_return_template
-          
-</pre></td><td valign="top"><pre>
+          </pre></td><td valign="top"><pre>
 
 
 
@@ -198,8 +194,7 @@
 \@body\@
 &lt;/blockquote&gt;
 
-          
-</pre></td>
+          </pre></td>
 </tr>
 </table>
 <h3>Multi-Row Data Sources</h3>
@@ -287,8 +282,7 @@
     security in place).
 
 &lt;/ul&gt;
-"
-</pre></td><td valign="top"><pre>
+"</pre></td><td valign="top"><pre>
 <font color="green">db_multirow <strong>item</strong>
 </font> news_items_select {
     select news_item_id, title
@@ -298,8 +292,7 @@
     and (   expiration_date is null
          or expiration_date &gt; sysdate)
 }
-          
-</pre></td><td valign="top"><pre>
+          </pre></td><td valign="top"><pre>
 
 &lt;ul&gt;
 
@@ -332,8 +325,7 @@
   security in place).
 
 &lt;/ul&gt;
-          
-</pre></td>
+          </pre></td>
 </tr>
 </table>
 
@@ -362,11 +354,11 @@
 <th><code>packages/acs-core-ui/www/pvt/alerts.tcl</code></th><th><code>packages/acs-core-ui/www/pvt/alerts.adp</code></th>
 </tr><tr>
 <td valign="top"><pre><font color="#999999">ad_page_contract {
-    \@cvs-id $&zwnj;Id: migration.html,v 1.3.2.2 2017/04/22 18:30:26 gustafn Exp $
+    \@cvs-id $&zwnj;Id: migration.html,v 1.4 2017/08/07 23:48:02 gustafn Exp $
 } {
 }</font></pre></td><td valign="top"><pre>
 <font color="#999999">ad_page_contract {
-    \@cvs-id $&zwnj;Id: migration.html,v 1.3.2.2 2017/04/22 18:30:26 gustafn Exp $
+    \@cvs-id $&zwnj;Id: migration.html,v 1.4 2017/08/07 23:48:02 gustafn Exp $
 } {
 } -properties {
     header:onevalue
@@ -460,8 +452,7 @@
    "
  }
 }
-          
-</pre></td><td valign="top"><pre>
+          </pre></td><td valign="top"><pre>
 set discussion_forum_alert_p 0
 
 if { [db_table_exists "bboard_email_alerts"] } {
@@ -506,8 +497,7 @@
 }
 
           
-          
-</pre></td><td valign="top"><pre>
+          </pre></td><td valign="top"><pre>
 
 
 
@@ -560,8 +550,7 @@
 &lt;/blockquote&gt; </font>
 
 &lt;/if&gt;
-          
-</pre></td>
+          </pre></td>
 </tr>
 </table>
 <hr>
@@ -571,5 +560,5 @@
 Iwashima</a>
 </address>
 
-Last modified: $&zwnj;Id: migration.html,v 1.3.2.2 2017/04/22 18:30:26
+Last modified: $&zwnj;Id: migration.html,v 1.4 2017/08/07 23:48:02
 gustafn Exp $
Index: openacs-4/packages/acs-templating/www/doc/no-quote-upgrade.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/no-quote-upgrade.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/no-quote-upgrade.adp	7 Aug 2017 23:48:02 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/no-quote-upgrade.adp	25 Apr 2018 08:42:17 -0000	1.5
@@ -68,8 +68,7 @@
   &lt;input name=var2 value="value2"&gt;
   ... real form stuff ...
 &lt;/form&gt;
-      
-</pre></blockquote>
+      </pre></blockquote>
 
 ACS has a convenience function for creating hidden form variables,
 <kbd>export_form_vars</kbd>
@@ -79,8 +78,7 @@
 In that case, the Tcl code would set the HTML code to a variable:
 <blockquote><pre>
 set form_vars [export_vars -form {var1 var2}]
-      
-</pre></blockquote>
+      </pre></blockquote>
 
 The ADP will simply refer to the <kbd>form_vars</kbd>
  variable:
@@ -89,8 +87,7 @@
   \@form_vars\@              &lt;!-- WRONG!  Needs noquote --&gt;
   ... real form stuff ...
 &lt;/form&gt;
-      
-</pre></blockquote>
+      </pre></blockquote>
 
 This will no longer work as intended because <kbd>form_vars</kbd>
 
@@ -105,8 +102,7 @@
   \@form_vars;noquote\@
   ... real form stuff ...
 &lt;/form&gt;
-      
-</pre></blockquote>
+      </pre></blockquote>
 <p>
 <strong>Snippets of HTML produced by Tcl code, aka
 <em>widgets</em>
@@ -153,14 +149,12 @@
   &lt;h1&gt;\@heading\@&lt;/h1&gt;
   &lt;slave&gt;
 &lt;/body&gt;
-      
-</pre><strong>slave:</strong><pre>
+      </pre><strong>slave:</strong><pre>
 &lt;master&gt;
 &lt;property name="title"&gt;\@title\@&lt;/property&gt;
 &lt;property name="heading"&gt;\@title\@&lt;/property&gt;
 ...
-      
-</pre>
+      </pre>
 </blockquote>
 
 The obvious intention of the master is to allow its slave templates
@@ -215,23 +209,20 @@
 &lt;property name="doc(title)"&gt;\@title;literal\@&lt;/property&gt;
 &lt;property name="heading"&gt;\@title;literal\@&lt;/property&gt;
 ...
-      
-</pre>
+      </pre>
 </blockquote>
 <p>The exact same problems when the <kbd>include</kbd> statement
 passes some text. Here is an example:</p>
 <blockquote>
 <strong>Including template:</strong><pre>
 &lt;include src="user-kick-form" id=\@kicked_id\@ reason=\@default_reason\@&gt;
-      
-</pre><strong>Included template:</strong><pre>
+      </pre><strong>Included template:</strong><pre>
 &lt;form action="do-kick" method=POST&gt;
   Kick user \@name\@.&lt;br&gt;
   Reason: &lt;textarea name=reason&gt;\@reason\@&lt;/textarea&gt;&lt;br&gt;
   &lt;input type="submit" value="Kick"&gt;
 &lt;/form&gt;
-      
-</pre>
+      </pre>
 </blockquote>
 
 Here an include statement is used to include an HTML form widget
@@ -249,8 +240,7 @@
 <blockquote>
 <strong>Including template, sans over-quoting:</strong><pre>
 &lt;include src="user-kick-form" id=\@kicked_id;literal\@ reason=\@default_reason;literal\@&gt;
-      
-</pre>
+      </pre>
 </blockquote>
 <h3>Upgrade Overview.</h3>
 
Index: openacs-4/packages/acs-templating/www/doc/noquote.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/noquote.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/noquote.adp	7 Aug 2017 23:48:02 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/noquote.adp	25 Apr 2018 08:42:17 -0000	1.5
@@ -5,10 +5,10 @@
 Requirements</property>
 <master>
 <include src="/packages/acs-core-docs/lib/navheader"
-		    leftLink="" leftLabel=""
-		    title=""
-		    rightLink="" rightLabel="">
-		<div class="sect1" lang="en">
+			leftLink="" leftLabel=""
+			title=""
+			rightLink="" rightLabel="">
+		    <div class="sect1" lang="en">
 <div class="titlepage">
 <div><h2 class="title" style="clear: both">
 <a name="noquote-requirements" id="noquote-requirements"></a>HTMLQuoting as
@@ -133,8 +133,8 @@
 templating still supports all the ADP features, including embedding
 Tcl code in the template. Thus instead of referring to the multirow
 variable with the \@forums.name\@ variable substitutions, we use
-&lt;%= [ns_quotehtml \@forums.name\@] %&gt;.
-This works correctly, but obviously breaks the abstraction barrier
+&lt;%= [ns_quotehtml \@forums.name\@] %&gt;. This
+works correctly, but obviously breaks the abstraction barrier
 between ADP and Tcl syntaxes. The practical result of breaking the
 abstraction is that every occurrence of Tcl code in an ADP template
 will have to be painstakingly reviewed and converted once ADPs
@@ -148,7 +148,7 @@
 radical but much more robust solution to the problem.</p>
 </div><div class="sect2" lang="en">
 <div class="titlepage"><div><h3 class="title">
-<a name="Quote_Always,_Except_When_Told_Not_to"></a>Quote Always, Except
+<a name="Quote_Always,_Except_When_Told_Not_to" id="Quote_Always,_Except_When_Told_Not_to"></a>Quote Always, Except
 When Told Not to.</h3></div></div><p>At the time when we came to realize how serious the quoting
 deficiencies of ACS 4.0 were, we were about two weeks away from the
 release of a project for the German Bank. There was simply no time
@@ -195,8 +195,8 @@
 </div>
 </div>
 <include src="/packages/acs-core-docs/lib/navfooter"
-		    leftLink="" leftLabel="" leftTitle=""
-		    rightLink="" rightLabel="" rightTitle=""
-		    homeLink="" homeLabel="" 
-		    upLink="" upLabel=""> 
-		
\ No newline at end of file
+			leftLink="" leftLabel="" leftTitle=""
+			rightLink="" rightLabel="" rightTitle=""
+			homeLink="" homeLabel="" 
+			upLink="" upLabel=""> 
+		    
\ No newline at end of file
Index: openacs-4/packages/acs-templating/www/doc/requirements.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/requirements.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/requirements.adp	24 Mar 2018 00:14:57 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/requirements.adp	25 Apr 2018 08:42:17 -0000	1.5
@@ -6,10 +6,9 @@
 
 by <a href="mailto:karlg\@arsdigita.com">Karl Goldstein</a>
 ,
-<a href="mailto:christian\@arsdigita.com">Christian
-Brechbühler</a>
-, <a href="mailto:psu\@arsdigita.com">Peter
-Su</a>
+<a href="mailto:christian\@arsdigita.com">Christian Brechbühler</a>
+,
+<a href="mailto:psu\@arsdigita.com">Peter Su</a>
 , and <a href="mailto:yon\@arsdigita.com">Yonatan Feldman</a>
 <a name="introduction" id="introduction"></a>
 <h3>I. Introduction</h3>
@@ -100,7 +99,8 @@
 <h3>VI.A Functional Requirements</h3>
 <ul>
 <li>
-<a name="10.0"></a><strong>10.0 A Common Solution</strong><p>Programmers and designers should only have to learn a single
+<a name="10.0" id="10.0"></a><strong>10.0 A Common
+Solution</strong><p>Programmers and designers should only have to learn a single
 system that serves as a UI substrate for all the functionally
 specific modules in the toolkit.</p><div style="margin-left: 2em">
 <strong>10.0.1</strong><p>The system should not make any assumptions about how pages
@@ -160,8 +160,8 @@
 </li>
 </ul>
 </li><li>
-<a name="20.0"></a><strong>20.0 Separation of Code and
-Layout</strong><p>Programmers should be able to specify the page properties
+<a name="20.0" id="20.0"></a><strong>20.0 Separation of Code
+and Layout</strong><p>Programmers should be able to specify the page properties
 independently of the markup used to present the data in the
 template. Markup authors should be to able to write templates that
 reference the page properties without further intervention from the
@@ -173,26 +173,26 @@
 be available through the standard ACS documentation facilities.</p>
 </div>
 </li><li>
-<a name="30.0"></a><strong>30.0 Separation of Page
+<a name="30.0" id="30.0"></a><strong>30.0 Separation of Page
 Components</strong><p>There should be provisions so that pages can be broken into
 discrete components to simplify maintenance of the markup code and
 allow for reuse in different contexts. Examples of common page
 components include a navigation bar, a search box, or a section of
 a report or story.</p>
 </li><li>
-<a name="40.0"></a><strong>40.0 Global Control Over
+<a name="40.0" id="40.0"></a><strong>40.0 Global Control Over
 Presentation</strong><p>There should be a way to define one or more standard master
 templates used by most pages on a site, so that changes to the
 overall look and feel of a site can be made in one place.</p>
 </li><li>
-<a name="50.0"></a><strong>50.0 Dynamic Selection of
+<a name="50.0" id="50.0"></a><strong>50.0 Dynamic Selection of
 Presentation Style</strong><p>Given that the same data may be presented in many different
 ways, there should be a general mechanism for selecting a specific
 presentation (including file format, layout, character set and
 language) for each page request, depending on characteristics such
 as user preference, location, browser type and/or device.</p>
 </li><li>
-<a name="60.0"></a><strong>60.0 Usability</strong><p>Programmers should be able to develop template specifications
+<a name="60.0" id="60.0"></a><strong>60.0 Usability</strong><p>Programmers should be able to develop template specifications
 using their standard tools for writing and maintaining code on the
 server. HTML authors should be able to access information about
 template specifications and work on templates remotely without
@@ -203,13 +203,15 @@
 <h3>VI.B Non-functional Requirements</h3>
 <ul>
 <li>
-<a name="100.0"></a><strong>100.0 Distribution</strong><p>The Templating System must be releasable as part of the ACS and
+<a name="100.0" id="100.0"></a><strong>100.0
+Distribution</strong><p>The Templating System must be releasable as part of the ACS and
 as a separate product. When distributed as part of the ACS all
 documentation, examples, and source code must follow ACS standards.
 This includes but is not limited to: using the <code>db_api</code>,
 using <code>ad_page_contract</code> appropriately.</p>
 </li><li>
-<a name="110.0"></a><strong>110.0 Performance</strong><p>The Templating System must not cause any performance problems to
+<a name="110.0" id="110.0"></a><strong>110.0
+Performance</strong><p>The Templating System must not cause any performance problems to
 a site. It must be fast and efficient, and it must not slow down
 page load speed by more than 10% versus a Tcl page with inline
 HTML.</p>
@@ -222,13 +224,13 @@
 </tr><tr>
 <td>0.1</td><td>Creation</td><td>8/23/2000</td><td>Yonatan Feldman</td>
 </tr><tr>
-<td>0.2</td><td>Merge with previous docs</td><td>8/25/2000</td><td>Christian BrechbÃ&amp;frac14;hler</td>
+<td>0.2</td><td>Merge with previous docs</td><td>8/25/2000</td><td>Christian Brechbühler</td>
 </tr><tr>
 <td>0.3</td><td>Edited, reviewed, pending freeze</td><td>8/28/2000</td><td>Kai Wu</td>
 </tr>
 </table>
 <hr>
 <address><a href="mailto:yon\@arsdigita.com">yon\@arsdigita.com</a></address>
 
-Last modified: $&zwnj;Id: requirements.html,v 1.2.2.2 2017/04/21 16:50:30
-gustafn Exp $
+Last modified: $&zwnj;Id: requirements.html,v 1.4 2018/03/24 00:14:57
+hectorr Exp $
Index: openacs-4/packages/acs-templating/www/doc/timing.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/timing.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/timing.adp	18 Apr 2018 09:09:13 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/timing.adp	25 Apr 2018 08:42:17 -0000	1.5
@@ -12,7 +12,8 @@
  for the
 template system asks for efficiency:
 <blockquote><ul><li>
-<a name="110.0"><strong>110.0 Performance</strong></a><p>The Templating System must not cause any performance problems to
+<a name="110.0" id="110.0"><strong>110.0
+Performance</strong></a><p>The Templating System must not cause any performance problems to
 a site. It must be fast and efficient, and it must not slow down
 page load speed by more than 10% versus a Tcl page with inline
 HTML.</p>
@@ -78,8 +79,7 @@
   end
   cut -d" " -f3 $i-1| cut -c2-| tr \? 0            &gt;  $i-2
 end
-        
-</pre>
+        </pre>
 The three resulting files, ending in -2, contain 18000 numbers, for
 2 runs * 200 tries * 3 pages * 15 stages.</li><li>
 <em>Group and sort times</em>. The time one stage of processing
@@ -141,8 +141,7 @@
      (cd $i; gnuplot ../distrib.gplt &gt; $i.gif)
      echo $i done.
    end
-        
-</pre>
+        </pre>
 </li>
 </ul><h3>IV. Results</h3><ul>
 <li>
Index: openacs-4/packages/acs-templating/www/doc/TclDocs/content.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/TclDocs/content.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/TclDocs/content.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/TclDocs/content.adp	25 Apr 2018 08:42:17 -0000	1.4
@@ -1,5 +1,5 @@
 
-<property name="context">{/doc/acs-templating {Templating}} {}</property>
+<property name="context">{/doc/acs-templating {ACS Templating}} {}</property>
 <property name="doc(title)"></property>
 <master>
 <h2>Namespace content</h2>
Index: openacs-4/packages/acs-templating/www/doc/TclDocs/doc__util.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/TclDocs/doc__util.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/TclDocs/doc__util.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/TclDocs/doc__util.adp	25 Apr 2018 08:42:17 -0000	1.4
@@ -15,7 +15,7 @@
 <strong>Private Methods</strong>:<br>
 </p>
 <table width="100%">
-<tr><td width="100%" bgcolor="#CCCCFF"><a name=" set split_name $see_name doc::util::text_divider split_name :: set name_length [llength $split_name] set see_namespace [join [lrange $split_name 0 [expr $name_length - 2]] \" set="" url=""><font size="+1" weight="bold">set split_name
+<tr><td width="100%" bgcolor="#CCCCFF"><a name="set split_name $see_name doc::util::text_divider split_name :: set name_length [llength $split_name] set see_namespace [join [lrange $split_name 0 [expr $name_length - 2]] \" set="" url=""><font size="+1" weight="bold">set split_name
 $see_name doc::util::text_divider split_name :: set name_length
 [llength $split_name] set see_namespace [join [lrange $split_name 0
 [expr $name_length - 2]] \"\"] set url
Index: openacs-4/packages/acs-templating/www/doc/TclDocs/form.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/TclDocs/form.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/TclDocs/form.adp	22 Dec 2017 13:20:23 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/TclDocs/form.adp	25 Apr 2018 08:42:17 -0000	1.5
@@ -1,5 +1,5 @@
 
-<property name="context">{/doc/acs-templating {Templating}} {}</property>
+<property name="context">{/doc/acs-templating {ACS Templating}} {}</property>
 <property name="doc(title)"></property>
 <master>
 <h2>Namespace form</h2>
Index: openacs-4/packages/acs-templating/www/doc/TclDocs/tcl-procs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/TclDocs/tcl-procs.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/TclDocs/tcl-procs.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/TclDocs/tcl-procs.adp	25 Apr 2018 08:42:17 -0000	1.4
@@ -4,3 +4,6 @@
 <property name="doc(title)">ArsDigita Templating System, Content Management Tcl
 Procedure Specifications</property>
 <master>
+<frameset cols="20%,80%">
+<frame src="namespace-list.html" name="namespaceListFrame"><frame src="namespaces.html" name="mainFrame">
+</frameset>
Index: openacs-4/packages/acs-templating/www/doc/api/element.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/api/element.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/api/element.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/api/element.adp	25 Apr 2018 08:42:17 -0000	1.4
@@ -49,6 +49,7 @@
 template::element get_value <em>form_name element_name</em>
 </pre>
 <h3>Example</h3>
+<pre></pre>
 <pre>
 template::element get_values <em>form_name element_name</em>
 </pre>
Index: openacs-4/packages/acs-templating/www/doc/api/form.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/api/form.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/api/form.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/api/form.adp	25 Apr 2018 08:42:17 -0000	1.4
@@ -17,23 +17,22 @@
 must be called before adding elements to the form.</p>
 <ul><li>Additional attributes to include in the HTML form tag may be
 specified with the <kbd>html</kbd> option.</li></ul>
-<pre>
-template::form is_request <em>name</em>
+<pre>template::form is_request <em>name</em>
 </pre>
 <p>Boolean procedure for determining whether a submission is in
 progress. If this procedure returns true, then an initial request
 for the form is underway. The code for insert or add forms may thus
 query for primary key value(s), and the code for update forms may
 query for current data and set the value(s) of form elements
 accordingly.</p>
-<pre>
-template::form is_valid <em>name</em>
+<pre>template::form is_valid <em>name</em>
 </pre>
 <p>Boolean procedure that returns true if a submission is in
 progress <em>and</em> the submission is valid. Database or any
 other transactions based on the form submission should only take
 place after this procedure has been checked.</p>
 <h3>Example</h3>
+<pre></pre>
 <h3>Note(s)</h3>
 <hr>
 <!-- <a href="mailto:templating\@arsdigita.com">templating\@arsdigita.com</a> -->
\ No newline at end of file
Index: openacs-4/packages/acs-templating/www/doc/api/multirow.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/api/multirow.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/api/multirow.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/api/multirow.adp	25 Apr 2018 08:42:17 -0000	1.4
@@ -10,8 +10,7 @@
 <p>Access and modify rows and columns of a multirow data
 source.</p>
 <h3>Methods</h3>
-<pre>
-multirow <strong>get</strong><em>name index column</em>
+<pre>multirow <strong>get</strong><em>name index column</em>
 </pre>
 <blockquote>
 <p>Get a particular column value or a reference to an entire
@@ -25,8 +24,7 @@
 multirow <strong>set</strong><em>name index column value</em>
 </pre>
 <blockquote><p>Set the value of a column in a specified row.</p></blockquote>
-<pre>
-multirow <strong>size</strong><em>name</em>
+<pre>multirow <strong>size</strong><em>name</em>
 </pre>
 <blockquote><p>Get the number of rows in the data source.</p></blockquote>
 <pre>
@@ -39,8 +37,7 @@
 </pre>
 <blockquote><p>Add a row at the end of the data source. Extra values are
 dropped, missing values default to the empty string</p></blockquote>
-<pre>
-multirow <strong>map</strong><em>name body</em>
+<pre>multirow <strong>map</strong><em>name body</em>
 </pre>
 <blockquote><p>Evaluate <em>body</em> for each row of the data source, and
 return a list with all results. Within the body, all columns of the
Index: openacs-4/packages/acs-templating/www/doc/api/request.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/api/request.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/api/request.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/api/request.adp	25 Apr 2018 08:42:17 -0000	1.4
@@ -12,14 +12,11 @@
 <p>This API is an alternative to <code>ad_page_contract</code>
 which should usually be preferred if you have ACS installed.</p>
 <h3>Methods</h3>
-<pre>
-template::request create
-</pre>
+<pre>template::request create</pre>
 <p>Initialize the data structure to store request parameters.
 Should be called at the start of any page that takes request
 parameters.</p>
-<pre>
-template::request set_param <em>name 
+<pre>template::request set_param <em>name 
                             -datatype datatype
                             -multiple
                             -optional
@@ -45,13 +42,11 @@
 <kbd>$label</kbd> may be used in the message to reference the
 parameter value and label (or name if no label is supplied).</li>
 </ul>
-<pre>
-template::request get_param <em>name</em>
+<pre>template::request get_param <em>name</em>
 </pre>
 <p>Returns the value (or values if the <kbd>multiple</kbd> is used)
 of the named parameter.</p>
-<pre>
-template::request is_valid <em>error_url</em>
+<pre>template::request is_valid <em>error_url</em>
 </pre>
 <p>Boolean procedure for determining whether any validation errors
 occurred while setting request parameters.</p>
Index: openacs-4/packages/acs-templating/www/doc/appendices/memory.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/appendices/memory.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/appendices/memory.adp	7 Aug 2017 23:48:02 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/appendices/memory.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -98,5 +98,5 @@
 <!-- <a href="mailto:templating\@arsdigita.com">templating\@arsdigita.com</a> --><br>
 
 
-Last modified: $&zwnj;Id: memory.html,v 1.1.1.1.30.2 2016/12/01 20:43:45
-antoniop Exp $
+Last modified: $&zwnj;Id: memory.html,v 1.2 2017/08/07 23:48:02 gustafn
+Exp $
Index: openacs-4/packages/acs-templating/www/doc/demo/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/demo/index.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/demo/index.adp	7 Aug 2017 23:48:02 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/demo/index.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -97,8 +97,6 @@
 below. <a name="multiple" id="multiple"></a>
 <a name="multirow" id="multirow"></a>
 <a name="multiaccess" id="multiaccess"></a>
-<a name="grid" id="grid"></a>
-<a name="list" id="list"></a>
 <table cellpadding="6" cellspacing="0" border="1" width="95%">
 <tr bgcolor="#CCCCCC">
 <th>Description</th><th width="15%">Data</th><th width="15%">Template</th><th width="15%">Compiled<br>
@@ -110,53 +108,28 @@
 </tr><tr>
 <td>Repeating template chunks for each row of a query result, with
 custom manipulation of data</td><td align="center"><a href="show.tcl?file=multiaccess.tcl">View</a></td><td align="center"><a href="show.tcl?file=multiaccess.adp">View</a></td><td align="center"><a href="compile.tcl?file=multiaccess.adp">View</a></td><td align="center"><a href="multiaccess">View</a></td>
+</tr><tr><td>Repeating template chunks with grouping <a name="group" id="group">ViewViewViewView</a><a name="grid" id="grid"></a>ViewViewViewView<a name="list" id="list"></a>ViewViewViewView
+<table>
+<tr>
+<td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td>Repeating template chunks with grouping <a name="group" id="group"></a>
-</td><td align="center"><a href="show.tcl?file=group.tcl">View</a></td><td align="center"><a href="show.tcl?file=group.adp">View</a></td><td align="center"><a href="compile.tcl?file=group.adp">View</a></td><td align="center"><a href="group">View</a></td>
+<td>Repeating template chunks as cells of a grid</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td>Repeating template chunks as cells of a grid</td><td align="center"><a href="show.tcl?file=grid.tcl">View</a></td><td align="center"><a href="show.tcl?file=grid.adp">View</a></td><td align="center"><a href="compile.tcl?file=grid.adp">View</a></td><td align="center"><a href="grid">View</a></td>
-</tr><tr>
-<td>Repeating template chunks for each element of a list</td><td align="center"><a href="show.tcl?file=list.tcl">View</a></td><td align="center"><a href="show.tcl?file=list.adp">View</a></td><td align="center"><a href="compile.tcl?file=list.adp">View</a></td><td align="center"><a href="list">View</a></td>
+<td>Repeating template chunks for each element of a list</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr>
-</table>
-<h3>Both Iteration and Composition</h3>
-<a name="skin" id="skin"></a>
-<a name="reference" id="reference"></a>
-<a name="string" id="string"></a>
+</table><h3>Both Iteration and Composition</h3><a name="skin" id="skin"></a>ViewPlain<br><a href="show.tcl?file=skin-fancy.adp">Fancy</a>Plain<br><a href="compile.tcl?file=skin-fancy.adp">Fancy</a>Plain<br><a href="skin?skin=fancy">Fancy</a><br><a href="skin?skin=neither">Absolute</a><a name="reference" id="reference"></a>ViewOuter<br><a href="show.tcl?file=reference-inc.adp">Included</a>Outer<br><a href="compile.tcl?file=reference-inc.adp">Included</a>View<a name="string" id="string"></a>ViewViewViewView
 <table cellpadding="6" cellspacing="0" border="1" width="95%">
 <tr bgcolor="#CCCCCC">
 <th>Description</th><th width="15%">Data</th><th width="15%">Template</th><th width="15%">Compiled<br>
 Template</th><th width="15%">Output</th>
 </tr><tr>
-<td>Apply different skins to the same data</td><td align="center"><a href="show.tcl?file=skin.tcl">View</a></td><td align="center">
-<a href="show.tcl?file=skin-plain.adp">Plain</a><br><a href="show.tcl?file=skin-fancy.adp">Fancy</a>
-</td><td align="center">
-<a href="compile.tcl?file=skin-plain.adp">Plain</a><br><a href="compile.tcl?file=skin-fancy.adp">Fancy</a>
-</td><td align="center">
-<a href="skin?skin=plain">Plain</a><br><a href="skin?skin=fancy">Fancy</a><br><a href="skin?skin=neither">Absolute</a>
-</td>
+<td>Apply different skins to the same data</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td>Passing a multirow datasource to an included page</td><td align="center"><a href="show.tcl?file=reference.tcl">View</a></td><td align="center">
-<a href="show.tcl?file=reference.adp">Outer</a><br><a href="show.tcl?file=reference-inc.adp">Included</a>
-</td><td align="center">
-<a href="compile.tcl?file=reference.adp">Outer</a><br><a href="compile.tcl?file=reference-inc.adp">Included</a>
-</td><td align="center"><a href="reference">View</a></td>
+<td>Passing a multirow datasource to an included page</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td>Processing a template from a string (not file)</td><td align="center"><a href="show.tcl?file=string.tcl">View</a></td><td align="center"><a href="show.tcl?file=string.adp">View</a></td><td align="center"><a href="compile.tcl?file=string.adp">View</a></td><td align="center"><a href="string">View</a></td>
+<td>Processing a template from a string (not file)</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr>
-</table>
-<h3>Using ListBuilder</h3>
-<a name="listbuilder" id="listbuilder"></a>
-<a name="string" id="string"></a>
-<a name="string" id="string"></a>
-<a name="string" id="string"></a>
-<a name="string" id="string"></a>
-<a name="string" id="string"></a>
-<a name="string" id="string"></a>
-<a name="string" id="string"></a>
-<a name="string" id="string"></a>
-<a name="string" id="string"></a>
-<table cellpadding="6" cellspacing="0" border="1" width="95%">
+</table><h3>Using ListBuilder</h3><a name="listbuilder" id="listbuilder"></a><a name="string" id="string"></a><a name="string" id="string"></a><a name="string" id="string"></a><a name="string" id="string"></a><a name="string" id="string"></a><a name="string" id="string"></a><a name="string" id="string"></a><a name="string" id="string"></a><a name="string" id="string"></a><table cellpadding="6" cellspacing="0" border="1" width="95%">
 <tr bgcolor="#CCCCCC">
 <th>Description</th><th width="15%">Data</th><th width="15%">Template</th><th width="15%">Compiled<br>
 Template</th><th width="15%">Output</th>
@@ -240,11 +213,7 @@
 <a href="compile.tcl?file=list9/index.adp">index</a><br>
 </td><td align="center"><a href="list9">View</a></td>
 </tr>
-</table>
-<h3>Forms</h3>
-<a name="contract" id="contract"></a>
-<a name="error" id="error"></a>
-<table cellpadding="6" cellspacing="0" border="1" width="95%">
+</table><h3>Forms</h3><a name="contract" id="contract"></a><a name="error" id="error"></a><table cellpadding="6" cellspacing="0" border="1" width="95%">
 <tr bgcolor="#CCCCCC">
 <th>Description</th><th width="15%">Data</th><th width="15%">Template</th><th width="15%">Compiled<br>
 Template</th><th width="15%">Output</th>
@@ -259,54 +228,31 @@
 </tr><tr>
 <td>Report an error related to a request.</td><td align="center"><a href="show.tcl?file=error.tcl">View</a></td><td align="center"><a href="show.tcl?file=error.adp">View</a></td><td align="center"><a href="compile.tcl?file=error.adp">Plain</a></td><td align="center"><a href="error">View</a></td>
 </tr>
-</table>
-<h3>Using the Form Manager.</h3>
-<a name="formmgr" id="formmgr"></a>
-<a name="form" id="form"></a>
-<a name="sandwich" id="sandwich"></a>
-<a name="select" id="select"></a>
-<a name="state" id="state"></a>
-<a name="date-test" id="date-test"></a>
-<a name="user-edit" id="user-edit"></a>
-<a name="pay" id="pay"></a>
-<a name="display-edit-form" id="display-edit-form"></a>
-<a name="submit-test-form" id="submit-test-form"></a>
+</table><h3>Using the Form Manager.</h3><a name="formmgr" id="formmgr"></a><a name="form" id="form"></a>ViewViewViewView<a name="sandwich" id="sandwich"></a>ViewSimple<br><a href="show.tcl?file=sandwich-grid.adp">Gridded</a>Simple<br><a href="compile.tcl?file=sandwich-grid.adp">Gridded</a>Simple<br><a href="sandwich?grid=t">Gridded</a><a name="select" id="select"></a>ViewViewViewView<a name="state" id="state"></a>ViewViewViewInline Error MessageSitewide Error
+PageValid Request<a name="date-test" id="date-test"></a>ViewViewViewView<a name="user-edit" id="user-edit"></a>ViewViewViewView<a name="pay" id="pay"></a>ViewSubmit<br><a href="show.tcl?file=pay-confirm.adp">Confirm</a>Submit<br><a href="compile.tcl?file=pay-confirm.adp">Confirm</a>View<a name="display-edit-form" id="display-edit-form"></a>ViewViewViewView<a name="submit-test-form" id="submit-test-form"></a>ViewViewViewView
 <table cellpadding="6" cellspacing="0" border="1" width="95%">
 <tr bgcolor="#CCCCCC">
 <th>Description</th><th width="15%">Data</th><th width="15%">Template</th><th width="15%">Compiled<br>
 Template</th><th width="15%">Output</th>
 </tr><tr>
-<td>A simple form</td><td align="center"><a href="show.tcl?file=form.tcl">View</a></td><td align="center"><a href="show.tcl?file=form.adp">View</a></td><td align="center"><a href="compile.tcl?file=form.adp">View</a></td><td align="center"><a href="form">View</a></td>
+<td>A simple form</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td>A form with button groups</td><td align="center"><a href="show.tcl?file=sandwich.tcl">View</a></td><td align="center">
-<a href="show.tcl?file=sandwich.adp">Simple</a><br><a href="show.tcl?file=sandwich-grid.adp">Gridded</a>
-</td><td align="center">
-<a href="compile.tcl?file=sandwich.adp">Simple</a><br><a href="compile.tcl?file=sandwich-grid.adp">Gridded</a>
-</td><td align="center">
-<a href="sandwich">Simple</a><br><a href="sandwich?grid=t">Gridded</a>
-</td>
+<td>A form with button groups</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td>A form with Select widgets</td><td align="center"><a href="show.tcl?file=select.tcl">View</a></td><td align="center"><a href="show.tcl?file=select.adp">View</a></td><td align="center"><a href="compile.tcl?file=select.adp">View</a></td><td align="center"><a href="select">View</a></td>
+<td>A form with Select widgets</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td rowspan="3">Custom validation of a request</td><td rowspan="3" align="center"><a href="show.tcl?file=state.tcl">View</a></td><td rowspan="3" align="center"><a href="show.tcl?file=state.adp">View</a></td><td rowspan="3" align="center"><a href="compile.tcl?file=state.adp">View</a></td><td align="center"><a href="state?state_abbrev=UI">Inline Error
-Message</a></td>
-</tr><tr><td align="center"><a href="state?state_abbrev=UI&amp;errorpage">Sitewide Error Page</a></td></tr><tr><td align="center"><a href="state?state_abbrev=CA">Valid
-Request</a></td></tr><tr>
-<td>A form with the Date widget</td><td align="center"><a href="show.tcl?file=date-test.tcl">View</a></td><td align="center"><a href="show.tcl?file=date-test.adp">View</a></td><td align="center"><a href="compile.tcl?file=date-test.adp">View</a></td><td align="center"><a href="date-test">View</a></td>
+<td rowspan="3">Custom validation of a request</td><td rowspan="3" align="center"></td><td rowspan="3" align="center"></td><td rowspan="3" align="center"></td><td align="center"></td>
+</tr><tr><td align="center"></td></tr><tr><td align="center"></td></tr><tr>
+<td>A form with the Date widget</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td>Editing: several pages in one</td><td align="center"><a href="show.tcl?file=user-edit.tcl">View</a></td><td align="center"><a href="show.tcl?file=user-edit.adp">View</a></td><td align="center"><a href="compile.tcl?file=user-edit.adp">View</a></td><td align="center"><a href="user-edit">View</a></td>
+<td>Editing: several pages in one</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td>A form with a custom confirmation page</td><td align="center"><a href="show.tcl?file=pay.tcl">View</a></td><td align="center">
-<a href="show.tcl?file=pay.adp">Submit</a><br><a href="show.tcl?file=pay-confirm.adp">Confirm</a>
-</td><td align="center">
-<a href="compile.tcl?file=pay.adp">Submit</a><br><a href="compile.tcl?file=pay-confirm.adp">Confirm</a>
-</td><td align="center"><a href="pay">View</a></td>
+<td>A form with a custom confirmation page</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td>A form with display/edit modes</td><td align="center"><a href="show.tcl?file=display-edit.tcl">View</a></td><td align="center"><a href="show.tcl?file=display-edit.adp">View</a></td><td align="center"><a href="compile.tcl?file=display-edit.adp">View</a></td><td align="center"><a href="display-edit">View</a></td>
+<td>A form with display/edit modes</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr><tr>
-<td>A form with multiple submit buttons</td><td align="center"><a href="show.tcl?file=submit-test.tcl">View</a></td><td align="center"><a href="show.tcl?file=submit-test.adp">View</a></td><td align="center"><a href="compile.tcl?file=submit-test.adp">View</a></td><td align="center"><a href="submit-test">View</a></td>
+<td>A form with multiple submit buttons</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td>
 </tr>
+</table><br><hr><!-- <a href="mailto:templating\@arsdigita.com">templating\@arsdigita.com</a> -->
+</td></tr>
 </table>
-<br>
-<hr>
-<!-- <a href="mailto:templating\@arsdigita.com">templating\@arsdigita.com</a> -->
\ No newline at end of file
Index: openacs-4/packages/acs-templating/www/doc/exercise/ats-for-designers.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/exercise/ats-for-designers.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/exercise/ats-for-designers.adp	11 Apr 2018 21:35:07 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/exercise/ats-for-designers.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -73,7 +73,8 @@
 appearing once in the .adp file, are cycled repeatedly to show
 multiple sets of information when displayed in
 <code>list-and-var-sample.acs</code>; example:
-<blockquote><pre><code>    &lt;multiple name="<em>your_multirow</em>"&gt;
+<blockquote><pre><code>
+    &lt;multiple name="<em>your_multirow</em>"&gt;
     &lt;tr&gt;&lt;td&gt;\@<em>your_multirow</em>.first_names\@ \@<em>your_multirow</em>.last_name\@ &lt;/td&gt; &lt;/tr&gt;
     &lt;/multiple&gt;
     </code></pre></blockquote>
@@ -280,7 +281,7 @@
 book listing begins at a rownumber determined by the Tcl file code
 (check the .dat page)</li><li>add navigation links to the address book so that users can move
 forward or back between row listings, or jump to the beginning or
-end of their address book</li><li style="list-style: none"><ul>
+end of their address book</li><li style="list-style: none; display: inline"><ul>
 <li>each link should set the url variable that determines the first
 row of the set to be displayed</li><li>the links should only appear when necessary, that is, a link
 pointing towards the next set of rows should not appear if the user
@@ -290,4 +291,4 @@
 <hr>
 <address><a href="mailto:shuynh\@arsdgita.com">shuynh\@arsdigita.com</a></address>
 <!-- hhmts start -->
-Last modified: Fri Nov 17 10:14:44 EST 2000 <!-- hhmts end -->
+Last modified: Fri Nov 17 10:14:44 EST 2000 <!-- hhmts end -->
\ No newline at end of file
Index: openacs-4/packages/acs-templating/www/doc/gen/proc-doc.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/gen/proc-doc.adp,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/acs-templating/www/doc/gen/proc-doc.adp	29 Mar 2018 20:23:43 -0000	1.6
+++ openacs-4/packages/acs-templating/www/doc/gen/proc-doc.adp	25 Apr 2018 08:42:18 -0000	1.7
@@ -12,6 +12,7 @@
 divisions has its own text marker(s). In the end, your Tcl file
 should look something like this:
 <blockquote><pre><code><kbd>
+
 [------------------------------------------------------]
 [------  <em>ignored text at beginning of file</em>  -----------]
 [------------------------------------------------------]
@@ -109,7 +110,8 @@
 will be marked as <em>required</em> if it is a parameter, or
 display no information if it is an option.
 <p>For example: the fictional procedure grant_permission might be
-preceded by these comments:</p><blockquote><pre><code># \@public grant_permission
+preceded by these comments:</p><blockquote><pre><code>
+# \@public grant_permission
 # checks for whether or not a user has the privilege 
 # to manipulate an object in a specific manner
 
@@ -153,4 +155,4 @@
 <strong>completely qualified</strong> name of the namespace or
 procedure.</blockquote>
 <hr>
-<!-- <a href="mailto:templating\@arsdigita.com">templating\@arsdigita.com</a> -->
+<!-- <a href="mailto:templating\@arsdigita.com">templating\@arsdigita.com</a> -->
\ No newline at end of file
Index: openacs-4/packages/acs-templating/www/doc/guide/composite.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/composite.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/guide/composite.adp	27 Mar 2018 11:18:00 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/guide/composite.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -151,4 +151,4 @@
 <p>It is an error to omit both parts; this is a special case
 intended to speed up debugging.</p>
 <hr>
-<!-- <a href="mailto:templating\@arsdigita.com">templating\@arsdigita.com</a> -->
+<!-- <a href="mailto:templating\@arsdigita.com">templating\@arsdigita.com</a> -->
\ No newline at end of file
Index: openacs-4/packages/acs-templating/www/doc/guide/data.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/data.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/guide/data.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/guide/data.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -46,24 +46,21 @@
 <p>The <a href="../api/database"><kbd>query</kbd></a>
 procedure may be used as a convenient way to store the result of a
 one-row database query into an array:</p>
-<pre>
-query name onerow "
+<pre>query name onerow "
   select 
     first_name, last_name 
   from 
     users 
   where  
-    user_id = 123"
-</pre>
+    user_id = 123"</pre>
 <p>You can embed references to column values of a <kbd>onerow</kbd>
 data source in a template with simple <a href="../tagref/variable">variable substitution</a>.</p>
 <h3><kbd>onelist</kbd></h3>
 <p>
 <kbd>onelist</kbd> data sources are implemented by creating a
 Tcl list:</p>
 <pre>
-set names [list "Walter" "Fred" "Susy" "Frieda"]
-</pre>
+set names [list "Walter" "Fred" "Susy" "Frieda"]</pre>
 <p>The <kbd>query</kbd> procedure may be used to set a onelist data
 source based on a one-column database query:</p>
 <code>query name onevalue "select name from users"</code>
@@ -74,22 +71,18 @@
 <kbd>multirow</kbd> data sources are not represented by a single
 Tcl data structure. As such the templating system includes a
 special API for constructing and manipulating them.</p>
-<pre>
-multirow create cars make model year
+<pre>multirow create cars make model year
 multirow append cars "Toyota" "Camry" "1996"
-multirow append cars "Volvo" "960" "1995"
-</pre>
+multirow append cars "Volvo" "960" "1995"</pre>
 <p>The <a href="../api/database"><kbd>query</kbd></a>
 procedure may be used as a convenient way to store the result of a
 multi-row, multi-column database query into a <kbd>multirow</kbd>
 data source:</p>
-<pre>
-query name multirow "
+<pre>query name multirow "
   select 
     make, model, year
   from 
-    cars"
-</pre>
+    cars"</pre>
 <p>You can iterate over a <kbd>multirow</kbd> data source in a
 template with the <a href="../tagref/multiple">multiple</a>
 tag.</p>
Index: openacs-4/packages/acs-templating/www/doc/guide/document.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/document.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/guide/document.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/guide/document.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -35,26 +35,23 @@
   # \@input birthday date birthdate w/ "MONTH DD YYYY" format
   # \@input gender radio
   # either "m" for male or "f" for female
-    
-</pre>
+    </pre>
 <p>A few formatting guidelines:</p>
 <ul>
 <li>all datasources (onevalues, onelists, multilists, multirows)
 are documented with the datasource directive, their name, the type
-of datasource, and then necessary comments:</li><li style="list-style: none"><blockquote><code># \@datasource <em>name</em> &lt;<em>type of
+of datasource, and then necessary comments:</li><blockquote><code># \@datasource <em>name</em> &lt;<em>type of
 datasource</em>&gt; <em>comments</em>
-</code></blockquote></li><li>multirow datasources are followed with a series of column
-directives, column names, and associated explanations:</li><li style="list-style: none"><blockquote><code># \@column <em>name</em><em>comments</em>
-</code></blockquote></li><li>forms are documented with the data_input directive, and are
+</code></blockquote><li>multirow datasources are followed with a series of column
+directives, column names, and associated explanations:</li><blockquote><code># \@column <em>name</em><em>comments</em>
+</code></blockquote><li>forms are documented with the data_input directive, and are
 also followed with a series of input directives with the name and
-type of input widgets, and necessary comments:</li><li style="list-style: none">
-<blockquote><code># \@data_input <em>name</em> form
+type of input widgets, and necessary comments:</li><blockquote><code># \@data_input <em>name</em> form
 <em>comments</em> # \@input <em>name</em> &lt;<em>type of form
 entry</em>&gt; <em>comments</em>
 </code></blockquote>
 Possible form entry types include text (or textentry), date,
-checkbox, radio, select, multiselect and textbox</li>
-</ul>
+checkbox, radio, select, multiselect and textbox</ul>
 <p>Once the templates have been enabled, the designer can simply
 visit the URL from which the page will be served, substituting
 <kbd>acs</kbd> with the <kbd>dat</kbd> extension.</p>
Index: openacs-4/packages/acs-templating/www/doc/guide/forms.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/forms.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/guide/forms.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/guide/forms.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -19,19 +19,15 @@
 use it in the survey package.</p>
 <h3>Create a form</h3>
 <p>Use the <kbd>form create</kbd> command to initialize a form:</p>
-<pre>
-form create add_user
-</pre>
+<pre>form create add_user</pre>
 <p>See the <a href="../api/form">form API</a> for optional
 parameters to this command.</p>
 <h3>Add elements</h3>
 <p>Once the form is created, use the <kbd>element create</kbd>
 command to add elements to it:</p>
-<pre>
-element create add_user first_name -datatype text \ 
+<pre>element create add_user first_name -datatype text \ 
                                    -label "First Name" \
-                                   -html { size 30 }
-</pre>
+                                   -html { size 30 }</pre>
 <p>In auto-generated forms, elements appear in the order they were
 created. See the <a href="../api/element">element API</a> for
 optional parameters to this command.</p>
@@ -40,8 +36,7 @@
 submission is currently being processed. If a request is being
 processed, then form elements may need to be initialized with their
 appropriate values.</p>
-<pre>
-if { [template::form is_request add_user] } {
+<pre>if { [template::form is_request add_user] } {
 
   set db [ns_db gethandle]
 
@@ -51,8 +46,7 @@
   ns_db releasehandle $db
 
   template::element set_properties add_user user_id -value $user_id
-}
-</pre>
+}</pre>
 <p>This may also be done using the <kbd>value</kbd> option to
 <kbd>element create</kbd>. In this case the value is set separately
 to avoid the additional database query during a submission.</p>
Index: openacs-4/packages/acs-templating/www/doc/guide/master.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/master.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/guide/master.adp	7 Aug 2017 23:48:03 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/guide/master.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -65,8 +65,7 @@
 
 &lt;tr&gt;&lt;td colspan="3"&gt;&lt;!-- FOOTER --&gt;&lt;/td&gt;&lt;/tr&gt;
 
-&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;
-</pre></blockquote>
+&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</pre></blockquote>
 <p>The only special feature of this master template is the
 <kbd>slave</kbd> tag, which marks the location of the content area.
 Note that the content is inserted into the master template as a
@@ -78,15 +77,13 @@
 <h3>Write the Page Template(s)</h3>
 <p>A page template must include a <kbd>master</kbd> tag to specify
 that its output should be enclosed in a master template:</p>
-<blockquote><pre>
-&lt;master src="/templates/master"&gt;
+<blockquote><pre>&lt;master src="/templates/master"&gt;
 
 &lt;!--Begin layout of page content--&gt;
 &lt;h3&gt;\@title\@&lt;/h3&gt;
 &lt;p&gt;by \@name\@&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;\@byline\@&lt;/b&gt;: \@text&lt;/p&gt;
-...
-</pre></blockquote>
+...</pre></blockquote>
 <p>The <kbd>master</kbd> tag may be included anywhere in the body
 of the page template, although usually the top of the file is the
 best location for it.</p>
@@ -98,31 +95,26 @@
 personalized. The Tcl script associated with the master template
 would include code like this:</p>
 <blockquote><pre>
-set user_name [your_procedure_to_get_the_current_user_name]
-</pre></blockquote>
+set user_name [your_procedure_to_get_the_current_user_name]</pre></blockquote>
 <p>The template would have a section like this:</p>
-<blockquote><pre>
-&lt;if \@user_name\@ nil&gt;
+<blockquote><pre>&lt;if \@user_name\@ nil&gt;
   &lt;a href="/register.acs"&gt;Register Now!&lt;/a&gt;
 &lt;/if&gt;
 &lt;else&gt;
   \@user_name\@ (&lt;a href="/signout.acs"&gt;Sign Out&lt;/a&gt;)
-&lt;/else&gt;
-</pre></blockquote>
+&lt;/else&gt;</pre></blockquote>
 <h3>Passing Property Values from the Page Template to Master
 Template</h3>
 <p>As mentioned above, in many cases the dynamic elements of the
 master template depend on whatever is appearing in the content area
 for a particular request. The <kbd>property</kbd> tag may be used
 in the page template to specify values that should be passed to the
 master template:</p>
-<blockquote><pre>
-&lt;master src="/templates/master"&gt;
+<blockquote><pre>&lt;master src="/templates/master"&gt;
 &lt;property name="title"&gt;\@title\@&lt;/property&gt;
 
 &lt;!--Begin layout of page content--&gt;
-...
-</pre></blockquote>
+...</pre></blockquote>
 <p>In this case, the <kbd>property</kbd> tag establishes
 <kbd>title</kbd> as a data source for the master template.
 Properties are set as regular Tcl variables prior to executing the
Index: openacs-4/packages/acs-templating/www/doc/guide/wizard-procs-doc.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/wizard-procs-doc.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/guide/wizard-procs-doc.adp	22 Apr 2018 18:11:00 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/guide/wizard-procs-doc.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -6,17 +6,15 @@
 <ol>
 <li>Create a wizard file (ex. wizard.tcl) that contains the
 "template::wizard create" code.
-<pre>
-ex.
+<pre>ex.
        template::wizard create -action "wizard" -name my_wizard -params {
           my_param1 my_param2
        } -steps {
           1 -label "Step 1" -url "step1"
           2 -label "Step 2" -url "step2"        
           3 -label "Step 3" -url "step3"
        }
-    
-</pre><ul>
+    </pre><ul>
 <li>action - the url where the wizard will always submit, normally
 its the same as your current wizard file. Has no effect for
 subwizards.</li><li>name - use to distinguish between the different wizards, since
@@ -35,11 +33,9 @@
 processing the wizard will take over and rewrite the url.</p>
 </li><li>Create the wizard template file (ex. wizard.adp). This file
 will include the file based current step of the wizard
-<pre>
-ex.
+<pre>ex.
        &lt;include src="\@wizard:current_url\@"&gt;
-    
-</pre>
+    </pre>
 </li><li>Create the individual steps, these are just normal Tcl and/or
 adp files. So make a step1.tcl, step1.adp, step2.tcl, step2.adp,
 step3.tcl and step3.adp. Normally these files are self submitting
@@ -49,13 +45,11 @@
 step1.tcl will include
 <pre>
     template::wizard submit myform -buttons {back next}
-    
-</pre>
+    </pre>
 On the last step you may want to use the following on step3.tcl
 <pre>
     template::wizard submit myform -buttons {back next}
-    
-</pre>
+    </pre>
 The following values are acceptable for the buttons: back, next and
 finish. Back buttons are not rendered if the step is the first
 step, like wise next buttons are not displayed if its the last
@@ -77,8 +71,7 @@
              \@wizard.label\@ &lt;br&gt;
           &lt;/else&gt;
        &lt;/multiple&gt;
-    
-</pre>
+    </pre>
 </li><li>
 <h3>How do you set the value of a wizard param?</h3><p>Use "template::wizard set_param myparam_name" to set
 it. Normally you place this in the steps of the wizard where the
@@ -99,27 +92,23 @@
               2 -label "Step 2" -url "step2"    
               3 -label "Step 3" -url "step3"
            }
-    
-</pre>
+    </pre>
 You can access my_param1 and/or my_param2 on any step1.tcl,
 step2.tcl, or step3.tcl by using "ad_page_contract" or
 "template::wizard get_param"
-<pre>
-ex.
+<pre>ex.
     ad_page_contract {
        gets the wizard params
     } {
        my_param1
        my_param2
     }
-    
-</pre>
+    </pre>
 or
 <pre>
     set my_param1 [template::wizard get_param my_param1]
     set my_param2 [template::wizard get_param my_param2]
-    
-</pre>
+    </pre>
 Note: "template::wizard get_param" has the advantage of
 getting the param value during the response time. What does this
 mean? It will properly get the current value of the param which was
@@ -138,8 +127,7 @@
              \@wizard.label\@ &lt;br&gt;
              &lt;/a&gt;
        &lt;/multiple&gt;
-   
-</pre>
+   </pre>
 Note: that this is not a very wise thing to do especially if the
 latter steps will depend on the inputs from the earlier steps. You
 can however do checking on each step.</li><li>
@@ -156,8 +144,7 @@
              \@wizard.label\@ &lt;br&gt;
           &lt;/else&gt;
        &lt;/multiple&gt;
-   
-</pre>
+   </pre>
 Note: that this is not a very wise thing to do especially if the
 latter steps will depend on the inputs from the earlier steps. You
 can however do checking on each step.</li><li>
Index: openacs-4/packages/acs-templating/www/doc/guide/wizards.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/wizards.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/guide/wizards.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/guide/wizards.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -16,17 +16,14 @@
 <p>Use the <kbd>wizard create</kbd> command to initialize a wizard,
 declaring any wizard state variables in the <kbd>-params</kbd>
 option:</p>
-<pre>
-wizard create make_sandwich -params { sandwich_id }
-</pre>
+<pre>wizard create make_sandwich -params { sandwich_id }</pre>
 <p>See the <a href="/api-doc/proc-view?proc=template%3a%3awizard%3a%3acreate">wizard
 API</a> for optional parameters to this command.</p>
 <h3>Add steps</h3>
 <p>Once the wizard is created, use the <kbd>wizard create</kbd>
 command to add steps to it:</p>
 <pre>
-wizard add make_sandwich -label "Add the lettuce" -url "add-lettuce"
-</pre>
+wizard add make_sandwich -label "Add the lettuce" -url "add-lettuce"</pre>
 <p>In auto-generated wizards, the wizard steps appear in the order
 they were created. See the <a href="/api-doc/proc-view?proc=template%3a%3awizard%3a%3acreate">wizard
 API</a> for optional parameters to this command. Alternatively,
@@ -68,22 +65,18 @@
 <ul>
 <li>Adding wizard submit buttons to the form in place of the
 standard form submit button:
-<p>In the .tcl file:</p><pre>
-if { [wizard exists] } {
+<p>In the .tcl file:</p><pre>if { [wizard exists] } {
   wizard submit form_name -buttons { 
     { previous "Back" } repeat { next "Continue" } { finish Save } 
   }
 } else {
   element create form_name submit -datatype keyword -widget submit
 }
-</pre><p>In the .adp file:</p><pre>
-&lt;formtemplate id=\@form_name\@ style=wizard&gt;
-</pre>
+</pre><p>In the .adp file:</p><pre>&lt;formtemplate id=\@form_name\@ style=wizard&gt;</pre>
 </li><li>Advancing the wizard with the <kbd>wizard forward</kbd>
 command. The page the wizard forwards to depends on which wizard
 submit button was pressed (next, repeat, previous, finish):
-<pre>
-if { [wizard exists] } {
+<pre>if { [wizard exists] } {
   # go to the next wizard step
   wizard forward
 } else {
Index: openacs-4/packages/acs-templating/www/doc/tagref/formgroup.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/formgroup.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/tagref/formgroup.adp	7 Aug 2017 23:48:03 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/tagref/formgroup.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -43,8 +43,7 @@
 check box in the group. Although possible, newer browser security
 features such as CSP discourage the use of inline Javascript event
 handlers.</p><pre>
-&lt;formgroup id="services" style="background-color:white;"&gt;
-</pre>
+&lt;formgroup id="services" style="background-color:white;"&gt;</pre>
 </li><li><p>See the <a href="formtemplate"><kbd>formtemplate</kbd></a>
 and <a href="formwidget"><kbd>formwidget</kbd></a> tags for
 more information on writing the body of a dynamic form
Index: openacs-4/packages/acs-templating/www/doc/tagref/formtemplate.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/formtemplate.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/tagref/formtemplate.adp	7 Aug 2017 23:48:03 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/tagref/formtemplate.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -35,8 +35,7 @@
 templating system will generate a form automatically based on the
 list of elements created in the Tcl script associated with the
 template:</p><pre>
-&lt;formtemplate id="add_user" style="standard"&gt;&lt;/formtemplate&gt;
-</pre><p>The <kbd>style</kbd> attribute is optional. It may be used to
+&lt;formtemplate id="add_user" style="standard"&gt;&lt;/formtemplate&gt;</pre><p>The <kbd>style</kbd> attribute is optional. It may be used to
 select a style template from <kbd>/ats/templates/forms</kbd> for
 determining the layout of the auto-generated form. The default
 style is defined in the DefaultFormStyle parameter on the
@@ -48,8 +47,7 @@
 attributes in the <kbd>form</kbd> tag of the rendered HTML form.
 Although possible, newer browser security features such as CSP
 discourage the use of inline Javascript event handlers.</p><pre>
-&lt;formtemplate id="add_user" style="background-color:white;"&gt;
-</pre><p>This will work for both autogenerated and explicitly formatted
+&lt;formtemplate id="add_user" style="background-color:white;"&gt;</pre><p>This will work for both autogenerated and explicitly formatted
 forms.</p>
 </li><li><p>See the <a href="formwidget"><kbd>formwidget</kbd></a> and
 <a href="formgroup"><kbd>formgroup</kbd></a> tags for more
Index: openacs-4/packages/acs-templating/www/doc/tagref/formwidget.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/formwidget.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/tagref/formwidget.adp	7 Aug 2017 23:48:03 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/tagref/formwidget.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -40,8 +40,7 @@
 rendered HTML form. Although possible, newer browser security
 features such as CSP discourage the use of inline Javascript event
 handlers.</p><pre>
-&lt;formwidget id="cc_number" style="background-color:white;"&gt;
-</pre>
+&lt;formwidget id="cc_number" style="background-color:white;"&gt;</pre>
 </li><li><p>See the <a href="formtemplate"><kbd>formtemplate</kbd></a>
 and <a href="formgroup"><kbd>formgroup</kbd></a> tags for more
 information on writing the body of a dynamic form template.</p></li>
Index: openacs-4/packages/acs-templating/www/doc/tagref/group.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/group.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/tagref/group.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/tagref/group.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -28,8 +28,7 @@
 <kbd>group</kbd> tags nested within each other.</li>
 </ul>
 <h3>Usage</h3>
-<pre>
-&lt;table&gt;
+<pre>&lt;table&gt;
 
 &lt;multiple name="shirts"&gt;
 
@@ -60,8 +59,7 @@
 
 &lt;/multiple&gt;
 
-&lt;/table&gt;
-</pre>
+&lt;/table&gt;</pre>
 <p>[Note: Carsten added this feature during the Berlin Hackaton
 2004-02-14]</p>
 <p>The <kbd>delimiter</kbd> attribute will add a string after each
Index: openacs-4/packages/acs-templating/www/doc/tagref/if.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/if.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/tagref/if.adp	7 Aug 2017 23:48:03 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/tagref/if.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -11,8 +11,7 @@
 <p>The <kbd>if</kbd> tag is used to output a template section only
 when certain conditions are met.</p>
 <h3>Usage Examples</h3>
-<pre>
-&lt;if \@x\@ eq 5&gt;True&lt;/if&gt;
+<pre>&lt;if \@x\@ eq 5&gt;True&lt;/if&gt;
 &lt;if \@x\@ eq "Greta"&gt;True&lt;/if&gt;
 
 &lt;if \@x\@ ne 5&gt;True&lt;/if&gt;
@@ -37,8 +36,7 @@
 &lt;if \@s\@ not nil&gt;True&lt;/if&gt;
 
 &lt;if \@z\@ in "Greta" "Fred" "Sam"&gt;True&lt;/if&gt;
-&lt;if \@z\@ not in "Greta" "Fred" "Sam"&gt;True&lt;/if&gt;
-</pre>
+&lt;if \@z\@ not in "Greta" "Fred" "Sam"&gt;True&lt;/if&gt;</pre>
 <h3>Expression Syntax</h3>
 
 The condition of the &lt;if&gt; tag is built from terms of the form
@@ -118,8 +116,7 @@
 grouped correctly:</p><pre>
   &lt;if \@datasource.variable\@ eq "blue sky"&gt;
     &lt;td bgcolor="#0000ff"&gt;
-  &lt;/if&gt;
-</pre>
+  &lt;/if&gt;</pre>
 </li><li>
 <p>The <kbd>elseif</kbd> tag may be used following an <kbd>if</kbd>
 block to specify an alternate conditional template section.</p><pre>
@@ -131,8 +128,7 @@
   &lt;/elseif&gt;
   &lt;else&gt;
     &lt;td bgcolor="#ffffff"&gt;
-  &lt;/else&gt;
-</pre>
+  &lt;/else&gt;</pre>
 </li><li>
 <p>The <kbd>else</kbd> tag may be used following an <kbd>if</kbd>
 block to specify an alternate template section when a condition is
@@ -142,8 +138,7 @@
   &lt;/if&gt;
   &lt;else&gt;
     &lt;td bgcolor="#ffffff"&gt;
-  &lt;/else&gt;
-</pre>
+  &lt;/else&gt;</pre>
 </li><li><p>Compound expressions can be created by combining terms with the
 <kbd>and</kbd> and <kbd>or</kbd> keywords, as illustrated above.
 Any number of statements may be connected in this fashion. There is
Index: openacs-4/packages/acs-templating/www/doc/tagref/include.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/include.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/tagref/include.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/tagref/include.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -14,13 +14,11 @@
 may associate data sources and other properties to them.</p>
 <h3>Usage</h3>
 <pre>
-&lt;include src="subtemplate" attribute="value" ...&gt;
-</pre>
+&lt;include src="subtemplate" attribute="value" ...&gt;</pre>
 
 or
 <pre>
-&lt;include src="/packages/packagename/www/lib/subtemplate" attribute="value" ...&gt;
-</pre>
+&lt;include src="/packages/packagename/www/lib/subtemplate" attribute="value" ...&gt;</pre>
 <h3>Notes</h3>
 <ul>
 <li>Arguments may be passed to the subtemplate by specifying
@@ -30,8 +28,7 @@
 <kbd>var</kbd> tag. To pass a dynamic variable to the subtemplate,
 specify the variable name surrounded by at signs as the value:
 <pre>
-&lt;include src="subtemplate" source_id="\@source_id\@" ...&gt;
-</pre>
+&lt;include src="subtemplate" source_id="\@source_id\@" ...&gt;</pre>
 Note that passing an html string to a subtemplate via
 <code>\@var\@</code> will result in passing an html-escaped and
 internationalized string. To prevent this, use
@@ -42,8 +39,7 @@
 passing a Tcl array like a templating datasource. To pass e.g.
 <code>users</code> by reference, use this notation:
 <pre>
-&lt;include src="subtemplate" &amp;persons="users" ...&gt;
-</pre>
+&lt;include src="subtemplate" &amp;persons="users" ...&gt;</pre>
 This is particularly useful for passing onerow and multirow data
 sourced. Note that in this case, if the subtemplate modifies the
 value this will affect the includer. When the datasource in the
Index: openacs-4/packages/acs-templating/www/doc/tagref/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/index.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/tagref/index.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/tagref/index.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -41,8 +41,7 @@
 crowding the start and end tags like so:</p><pre>
 &lt;td&gt;&lt;if %x% eq 5&gt;&lt;img src="five.gif"&gt;&lt;/if&gt;
 &lt;else&gt;&lt;img src="notfive.gif"&gt;&lt;/else&gt;&lt;/td&gt;
-        
-</pre><p>Note that this should not be done unless necessary, since it
+        </pre><p>Note that this should not be done unless necessary, since it
 reduces the legibility of the template to others who need to edit
 the template later.</p>
 </li>
@@ -51,5 +50,5 @@
 <address><a href="mailto:christian\@arsdigita.com">Christian
 Brechbühler</a></address>
 <!-- Created: Fri Sep 15 15:05:44 EDT 2000 -->
-Last modified: $&zwnj;Id: index.html,v 1.4.24.2 2016/11/08 10:42:20
-gustafn Exp $
+Last modified: $&zwnj;Id: index.html,v 1.5 2017/08/07 23:48:03 gustafn
+Exp $
Index: openacs-4/packages/acs-templating/www/doc/tagref/list.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/list.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/tagref/list.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/tagref/list.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -11,8 +11,7 @@
 <p>The <kbd>list</kbd> tag is used to repeat a template section for
 each item in a list data source.</p>
 <h3>Usage</h3>
-<pre>
-&lt;list name="datasource"&gt;
+<pre>&lt;list name="datasource"&gt;
 
   &lt;if \@datasource:rownum\@ ne \@datasource:rowcount\@&gt;
     \@datasource:item\@ :
@@ -21,8 +20,7 @@
     &lt;b&gt;\@datasource:item\@&lt;/b&gt;
   &lt;/else&gt;
 
-&lt;/list&gt;
-</pre>
+&lt;/list&gt;</pre>
 <h3>Notes</h3>
 <ul>
 <li><p>The special variable
Index: openacs-4/packages/acs-templating/www/doc/tagref/master.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/master.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/tagref/master.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/tagref/master.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -15,8 +15,7 @@
 <a href="slave"><kbd>slave</kbd></a> tag in the master
 template.</p>
 <h3>Usage</h3>
-<pre>
-&lt;master src="master"&gt;
+<pre>&lt;master src="master"&gt;
 
 &lt;property name="title"&gt;My Home Page&lt;/property&gt;
 
Index: openacs-4/packages/acs-templating/www/doc/tagref/multiple.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/multiple.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/tagref/multiple.adp	7 Aug 2017 23:48:03 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/tagref/multiple.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -13,8 +13,7 @@
 with each repetition to the values of the next row of the data
 source.</p>
 <h3>Usage</h3>
-<pre>
-&lt;!-- Begin multiple layout, i.e. &lt;table&gt; --&gt;
+<pre>&lt;!-- Begin multiple layout, i.e. &lt;table&gt; --&gt;
 &lt;table&gt;
 
 &lt;multiple name="users"&gt;
@@ -39,8 +38,7 @@
 &lt;/multiple&gt;
 
 &lt;!-- End multiple layout, i.e. &lt;/table&gt; --&gt;
-&lt;/table&gt;
-</pre>
+&lt;/table&gt;</pre>
 <pre></pre>
 <h3>Notes</h3>
 <ul>
Index: openacs-4/packages/acs-templating/www/doc/tagref/property.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/property.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/tagref/property.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/tagref/property.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -14,8 +14,7 @@
 Properties are most commonly used to pass information to a master
 template, such as a title or logo.</p>
 <h3>Usage</h3>
-<pre>
-&lt;master src="master"&gt;
+<pre>&lt;master src="master"&gt;
 
 &lt;property name="title"&gt;My Home Page&lt;/property&gt;
 
Index: openacs-4/packages/acs-templating/www/doc/tagref/slave.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/slave.adp,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-templating/www/doc/tagref/slave.adp	7 Aug 2017 23:48:03 -0000	1.3
+++ openacs-4/packages/acs-templating/www/doc/tagref/slave.adp	25 Apr 2018 08:42:18 -0000	1.4
@@ -11,17 +11,15 @@
 <p>The <kbd>slave</kbd> tag is used to mark the position in the
 master template where the body template should be inserted.</p>
 <h3>Usage</h3>
-<pre>
-&lt;html&gt;
+<pre>&lt;html&gt;
 &lt;head&gt;&lt;title&gt;\@title\@&lt;/title&gt;&lt;/head&gt;
 &lt;body&gt;
 &lt;h2&gt;\@title\@&lt;/h2&gt;
 &lt;hr&gt;
 &lt;blockquote&gt;
   &lt;slave&gt;
 &lt;/blockquote&gt;
-&lt;hr&gt;
-</pre>
+&lt;hr&gt;</pre>
 <h3>Note(s)</h3>
 <ul><li><p>See <a href="property"><kbd>property</kbd></a> and <a href="master"><kbd>master</kbd></a> for more information related to
 master templates.</p></li></ul>
Index: openacs-4/packages/acs-templating/www/doc/tagref/switch.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/switch.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/tagref/switch.adp	7 Aug 2017 23:48:03 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/tagref/switch.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -68,8 +68,7 @@
 with spaces correctly results in an error.</p><pre>
   &lt;case "{blue sky}"&gt;
     &lt;td bgcolor="#0000ff"&gt;
-  &lt;/case&gt;
-</pre>
+  &lt;/case&gt;</pre>
 </li>
 </ul>
 <hr>
Index: openacs-4/packages/acs-templating/www/doc/tagref/variable.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/variable.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/acs-templating/www/doc/tagref/variable.adp	7 Aug 2017 23:48:03 -0000	1.4
+++ openacs-4/packages/acs-templating/www/doc/tagref/variable.adp	25 Apr 2018 08:42:18 -0000	1.5
@@ -13,22 +13,17 @@
 <h3>Usage</h3>
 <p>Simple variables are referenced by surrounding the variable name
 with "commercial at" (<kbd>\@</kbd>) signs:</p>
-<pre>
-&lt;!-- simple variables --&gt;
-&lt;b&gt;&lt;i&gt;\@first_name\@ \@last_name\@&lt;/b&gt;&lt;/i&gt;
-</pre>
+<pre>&lt;!-- simple variables --&gt;
+&lt;b&gt;&lt;i&gt;\@first_name\@ \@last_name\@&lt;/b&gt;&lt;/i&gt;</pre>
 <p>When processing this template, the server will look for
 variables named <kbd>first_name</kbd> and <kbd>last_name</kbd> and
 substitute their values in the output:</p>
-<pre>
-&lt;b&gt;&lt;i&gt;Fred Finkel&lt;/b&gt;&lt;/i&gt;
-</pre>
+<pre>&lt;b&gt;&lt;i&gt;Fred Finkel&lt;/b&gt;&lt;/i&gt;</pre>
 <p>The columns of a row variable are referenced by separating the
 data source name and column with a period:</p>
 <pre>
 &lt;!-- onerow or multirow data sources --&gt;
-&lt;b&gt;&lt;i&gt;\@user.first_name\@ \@user.last_name\@&lt;/b&gt;&lt;/i&gt;
-</pre>
+&lt;b&gt;&lt;i&gt;\@user.first_name\@ \@user.last_name\@&lt;/b&gt;&lt;/i&gt;</pre>
 <h3>Note(s)</h3>
 <ul><li><p>An attempt to reference a variable that does not exist will
 cause an error message to appear in the browser.</p></li></ul>