Index: openacs-4/packages/acs-core-docs/www/acs-admin.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-admin.html,v diff -u -r1.35 -r1.36 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 5 Jul 2004 14:24:59 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 16 Feb 2005 00:21:02 -0000 1.36 @@ -1 +1 @@ -Part�II.�Administrator's Guide

Administrator's Guide

Table of Contents

2. Installation Overview
Basic Steps
Prerequisite Software
3. Complete Installation
Install a Unix-like system and supporting software
Install Oracle 8.1.7
Install PostgreSQL
Install AOLserver 4
Install OpenACS 5.2.0d1
OpenACS Installation Guide for Windows2000
OpenACS Installation Guide for Mac OS X
4. Configuring a new OpenACS Site
How Do I?
5. Upgrading
Overview
Upgrading 4.5 or higher to 4.6.3
Upgrading OpenACS 4.6.3 to 5.0
Upgrading 5.0.0 to 5.0.x or 5.1.x
Upgrading the OpenACS files
Upgrading Platform components
6. Production Environments
Starting and Stopping an OpenACS instance.
AOLserver keepalive with inittab
Running multiple services on one machine
High Availability/High Performance Configurations
Staged Deployment for Production Networks
Installing SSL Support for an OpenACS service
Set up Log Analysis Reports
External uptime validation
Diagnosing Performance Problems
7. Database Management
Running a PostgreSQL database on another server
Deleting a tablespace
Vacuum Postgres nightly
8. Backup and Recovery
Backup Strategy
Manual backup and recovery
Automated Backup
Using CVS for backup-recovery
A. Install Red Hat 8/9
B. Install additional supporting software
Unpack the OpenACS tarball
Initialize CVS (OPTIONAL)
Add PSGML commands to emacs init file (OPTIONAL)
Install Daemontools (OPTIONAL)
Install qmail (OPTIONAL)
Install Analog web file analyzer
Install nspam
Install Full Text Search
Install nsopenssl
Install tclwebtest.
Install PHP for use in AOLserver
Install Squirrelmail for use as a webmail system for OpenACS
Install AOLserver 3.3oacs1
A. Credits
Where did this document come from?
Linux Install Guides
Security Information
Resources
View comments on this page at openacs.org
+Part�II.�Administrator's Guide

Administrator's Guide

Table of Contents

2. Installation Overview
Basic Steps
Prerequisite Software
3. Complete Installation
Install a Unix-like system and supporting software
Install Oracle 8.1.7
Install PostgreSQL
Install AOLserver 4
Install OpenACS 5.2.0d1
OpenACS Installation Guide for Windows2000
OpenACS Installation Guide for Mac OS X
4. Configuring a new OpenACS Site
Installing OpenACS packages
Mounting OpenACS packages
Configuring an OpenACS package
Setting Permissions on an OpenACS package
How Do I?
5. Upgrading
Overview
Upgrading 4.5 or higher to 4.6.3
Upgrading OpenACS 4.6.3 to 5.0
Upgrading an OpenACS 5.0.0 or greater installation
Upgrading the OpenACS files
Upgrading Platform components
6. Production Environments
Starting and Stopping an OpenACS instance.
AOLserver keepalive with inittab
Running multiple services on one machine
High Availability/High Performance Configurations
Staged Deployment for Production Networks
Installing SSL Support for an OpenACS service
Set up Log Analysis Reports
External uptime validation
Diagnosing Performance Problems
7. Database Management
Running a PostgreSQL database on another server
Deleting a tablespace
Vacuum Postgres nightly
8. Backup and Recovery
Backup Strategy
Manual backup and recovery
Automated Backup
Using CVS for backup-recovery
A. Install Red Hat 8/9
B. Install additional supporting software
Unpack the OpenACS tarball
Initialize CVS (OPTIONAL)
Add PSGML commands to emacs init file (OPTIONAL)
Install Daemontools (OPTIONAL)
Install qmail (OPTIONAL)
Install Analog web file analyzer
Install nspam
Install Full Text Search
Install nsopenssl
Install tclwebtest.
Install PHP for use in AOLserver
Install Squirrelmail for use as a webmail system for OpenACS
Install PAM Radius for use as external authentication
Install LDAP for use as external authentication
Install AOLserver 3.3oacs1
C. Credits
Where did this document come from?
Linux Install Guides
Security Information
Resources
View comments on this page at openacs.org
Index: openacs-4/packages/acs-core-docs/www/acs-package-dev.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-package-dev.html,v diff -u -r1.23 -r1.24 --- openacs-4/packages/acs-core-docs/www/acs-package-dev.html 29 Jun 2004 15:50:14 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/acs-package-dev.html 16 Feb 2005 00:21:02 -0000 1.24 @@ -1,2 +1,4 @@ -Part�III.�For OpenACS Package Developers

For OpenACS Package Developers

Tutorials and reference material for creating new OpenACS packages. -

View comments on this page at openacs.org
+Part�III.�For OpenACS Package Developers

For OpenACS Package Developers

Tutorials and reference material for creating new OpenACS packages. +

Table of Contents

9. Development Tutorial
Creating an Application Package
Setting Up Database Objects
Creating Web Pages
Debugging and Automated Testing
10. Advanced Topics
Write the Requirements and Design Specs
Add the new package to CVS
OpenACS Edit This Page Templates
Adding Comments
Admin Pages
Categories
Profile your code
Prepare the package for distribution.
Distributing upgrades of your package
Notifications
Hierarchical data
Using .vuh files for pretty urls
Laying out a page with CSS instead of tables
Sending HTML email from your application
Basic Caching
Scheduled Procedures
Enabling WYSIWYG
Adding in parameters for your package
Writing upgrade scripts
Connect to a second database
Future Topics
11. Development Reference
OpenACS Packages
OpenACS Data Models and the Object System
The Request Processor
The OpenACS Database Access API
Using Templates in OpenACS
Groups, Context, Permissions
Writing OpenACS Application Pages
Parties in OpenACS
OpenACS Permissions Tediously Explained
Object Identity
Programming with AOLserver
Using HTML Forms
12. Engineering Standards
OpenACS Style Guide
Release Version Numbering
Constraint naming standard
ACS File Naming and Formatting Standards
PL/SQL Standards
Variables
Automated Testing
14. + CVS Guidelines +
Using CVS with OpenACS
OpenACS CVS Concepts
Contributing code back to OpenACS
Additional Resources for CVS
15. Documentation Standards
OpenACS Documentation Guide
Using PSGML mode in Emacs
Using nXML mode in Emacs
Detailed Design Documentation Template
System/Application Requirements Template
16. Internationalization
Internationalization and Localization Overview
How Internationalization/Localization works in OpenACS
How to Internationalize a Package
Design Notes
Translator's Guide
D. Using CVS with an OpenACS Site
View comments on this page at openacs.org
Index: openacs-4/packages/acs-core-docs/www/acs-plat-dev.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-plat-dev.html,v diff -u -r1.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/acs-plat-dev.html 22 Jun 2004 12:53:33 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/acs-plat-dev.html 16 Feb 2005 00:21:02 -0000 1.22 @@ -1 +1 @@ -Part�IV.�For OpenACS Platform Developers

For OpenACS Platform Developers

Table of Contents

15. Kernel Documentation
Overview
Object Model Requirements
Object Model Design
Permissions Requirements
Permissions Design
Groups Requirements
Groups Design
Subsites Requirements
Subsites Design Document
Package Manager Requirements
Package Manager Design
Database Access API
OpenACS Internationalization Requirements
Security Requirements
Security Design
Security Notes
Request Processor Requirements
Request Processor Design
Documenting Tcl Files: Page Contracts and Libraries
Bootstrapping OpenACS
External Authentication Requirements
16. Releasing OpenACS
OpenACS Core and .LRN
How to Update the OpenACS.org repository
How to package and release an OpenACS Package
How to Update the translations
View comments on this page at openacs.org
+Part�IV.�For OpenACS Platform Developers

For OpenACS Platform Developers

Table of Contents

17. Kernel Documentation
Overview
Object Model Requirements
Object Model Design
Permissions Requirements
Permissions Design
Groups Requirements
Groups Design
Subsites Requirements
Subsites Design Document
Package Manager Requirements
Package Manager Design
Database Access API
OpenACS Internationalization Requirements
Security Requirements
Security Design
Security Notes
Request Processor Requirements
Request Processor Design
Documenting Tcl Files: Page Contracts and Libraries
Bootstrapping OpenACS
External Authentication Requirements
18. Releasing OpenACS
OpenACS Core and .LRN
How to Update the OpenACS.org repository
How to package and release an OpenACS Package
How to Update the translations
View comments on this page at openacs.org
Index: openacs-4/packages/acs-core-docs/www/analog-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/analog-install.html,v diff -u -r1.14 -r1.15 --- openacs-4/packages/acs-core-docs/www/analog-install.html 22 Jun 2004 12:53:33 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/analog-install.html 16 Feb 2005 00:21:02 -0000 1.15 @@ -1,6 +1,6 @@ -Install Analog web file analyzer

Install Analog web file analyzer

Download the Analog source tarball in -/tmp. Unpack, compile, and install analog.

[root aolserver]# cd /usr/local/src
-[root src]# tar xzf /tmp/analog-5.32.tar.gz
+Install Analog web file analyzer

Install Analog web file analyzer

Download the Analog source tarball in +/var/tmp. Unpack, compile, and install analog.

[root aolserver]# cd /usr/local/src
+[root src]# tar xzf /var/tmp/analog-5.32.tar.gz
 [root src]# cd analog-5.32
 [root analog-5.32]# make
 cd src && make
@@ -13,7 +13,7 @@
 [root src]# mv analog-5.32 /usr/share/
 [root src]#
 cd /usr/local/src
-tar xzf /tmp/analog-5.32.tar.gz
+tar xzf /var/tmp/analog-5.32.tar.gz
 cd analog-5.32
 make
 cd ..
Index: openacs-4/packages/acs-core-docs/www/analog-setup.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/analog-setup.html,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/acs-core-docs/www/analog-setup.html	22 Jun 2004 12:53:33 -0000	1.6
+++ openacs-4/packages/acs-core-docs/www/analog-setup.html	16 Feb 2005 00:21:02 -0000	1.7
@@ -1,32 +1,31 @@
-Set up Log Analysis Reports

Set up Log Analysis Reports

Analog is a program with processes webserver access logs, +Set up Log Analysis Reports

Set up Log Analysis Reports

Analog is a program with processes webserver access logs, performs DNS lookup, and outputs HTML reports. Analog should already be installed. A modified configuration file is included in the OpenACS tarball.

  1. [root src]# su - $OPENACS_SERVICE_NAME
     [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
    -[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/analog.cfg.txt etc/analog.cfg
     [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ mkdir www/log
    -[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cp -r /usr/share/analog-5.31/images www/log/
    +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cp -r /usr/share/analog-5.32/images www/log/
     [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ 
     su - $OPENACS_SERVICE_NAME
     cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
     cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/analog.cfg.txt etc/analog.cfg
     mkdir www/log
    -cp -r /usr/share/analog-5.31/images www/log/

    Edit +cp -r /usr/share/analog-5.32/images www/log/

Edit /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/analog.cfg and change the variable in HOSTNAME "[my organisation]" to reflect your website title. If you don't want the traffic log to be publicly visible, change OUTFILE /var/lib/aolserver/$OPENACS_SERVICE_NAME/www/log/traffic.html to use a private -directory.

  • Run it.

    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ /usr/share/analog-5.31/analog -G -g/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/analog.cfg
    -/usr/share/analog-5.31/analog: analog version 5.31/Unix
    -/usr/share/analog-5.31/analog: Warning F: Failed to open DNS input file
    +directory. You'll also need to edit all instances of service0 to your $OPENACS_SERVICE_NAME.

  • Run it.

    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ /usr/share/analog-5.32/analog -G -g/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/analog.cfg
    +/usr/share/analog-5.32/analog: analog version 5.32/Unix
    +/usr/share/analog-5.32/analog: Warning F: Failed to open DNS input file
       /home/$OPENACS_SERVICE_NAME/dnscache: ignoring it
       (For help on all errors and warnings, see docs/errors.html)
    -/usr/share/analog-5.31/analog: Warning R: Turning off empty Search Word Report
    +/usr/share/analog-5.32/analog: Warning R: Turning off empty Search Word Report
     [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$

    Verify that it works by browing to http://yourserver.test:8000/log/traffic.html

  • Automate this by creating a file in /etc/cron.daily.

    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ exit
     logout
     
     [root root]# emacs /etc/cron.daily/analog

    Put this into the file:

    #!/bin/sh
     
    -/usr/share/analog-5.31/analog -G -g/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/analog.cfg
    [root root]# chmod 755 /etc/cron.daily/analog

    Test it by running the script.

    [root root]# sh /etc/cron.daily/analog

    Browse to http://yourserver.test/log/traffic.html

  • View comments on this page at openacs.org
    +/usr/share/analog-5.32/analog -G -g/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/analog.cfg
    [root root]# chmod 755 /etc/cron.daily/analog

    Test it by running the script.

    [root root]# sh /etc/cron.daily/analog

    Browse to http://yourserver.test/log/traffic.html

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver.html,v diff -u -r1.42 -r1.43 --- openacs-4/packages/acs-core-docs/www/aolserver.html 5 Jul 2004 14:24:59 -0000 1.42 +++ openacs-4/packages/acs-core-docs/www/aolserver.html 16 Feb 2005 00:21:02 -0000 1.43 @@ -1,4 +1,4 @@ -Install AOLserver 3.3oacs1

    Install AOLserver 3.3oacs1

    by Vinod Kurup

    +Install AOLserver 3.3oacs1

    Install AOLserver 3.3oacs1

    by Vinod Kurup

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    We recommend the use of AOLserver 4.0.1 or later. These instructions are retained as a resource.

    @@ -82,17 +82,17 @@ communicate with the database. There is one script each for Oracle and PostgreSQL. They don't conflict, so if you plan to use both databases, install both.

    • Oracle

      [root aolserver]# cd /usr/local/aolserver/bin
      -[root bin]# cp /tmp//packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
      +[root bin]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
       [root bin]# chmod 750 nsd-oracle
       [root bin]#
       cd /usr/local/aolserver/bin
      -cp /tmp//packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
      +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
       chmod 750 nsd-oracle
    • PostgreSQL

      [root aolserver]# cd /usr/local/aolserver/bin
      -[root bin]# cp /tmp//packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
      +[root bin]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
       [root bin]# chmod 755 nsd-postgres
       [root bin]#
       cd /usr/local/aolserver/bin
      -cp /tmp//packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
      +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
       chmod 755 nsd-postgres
  • Install tDOM.�Download the tDOM tarball, unpack it, adjust the configuration file to match our patched distribution of aolserver, and compile it.

    [root root]# cd /usr/local/src
    @@ -169,7 +169,9 @@
     cd /usr/local/aolserver
     chown -R root.web log servers
     chmod -R g+w log servers
    -ls -l

    Now, we'll run a quick test to ensure AOLserver is running +ls -l

    Note: AOLserver4.x does not include a default start page, so we create one for this test. Type + echo "Welcome to AOLserver" > /usr/local/aolserver40r8/servers/server1/pages/index.html +

    Now, we'll run a quick test to ensure AOLserver is running correctly. We'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 @@ -238,4 +240,4 @@ set hostname [ns_info hostname] #set address [ns_info address] set address 0.0.0.0

  • Install - Analog web file analyzer. (OPTIONAL)

  • ($Id$)
    View comments on this page at openacs.org
    + Analog web file analyzer. (OPTIONAL)

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/aolserver4.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver4.html,v diff -u -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/aolserver4.html 29 Jun 2004 15:50:14 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/aolserver4.html 16 Feb 2005 00:21:02 -0000 1.17 @@ -1,82 +1,112 @@ -Install AOLserver 4

    Install AOLserver 4

    by Malte Sussdorff

    +Install AOLserver 4

    Install AOLserver 4

    by Malte Sussdorff

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
    1. Retrieve TCL 8.4 (or higher).�Download and install TCL 8.4

      If you have not installed TCL already, download the latest TCL version from Sourceforge

      Remember that you have to be root if you want to follow these instructions. On Mac OS X type sudo su - to become root.

      Alternatively use curl -L -O instead of wget (especially on Mac OS X.

      [root root]# cd /usr/local/src
      -[root src]# wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.6-src.tar.gz
      -[root src]# tar xfz tcl8.4.6-src.tar.gz
      -[root src]# cd tcl8.4.6/unix
      +        
    1. Check suitability of previously installed TCL.�Start tcl (type tclsh or find it using which tclsh). +

      [root root]% info exists tcl_platform(threaded)
      +1
      +[root root]% info patchlevel
      +8.4.7
      +[root root]%
      +tclsh
      +info exists tcl_platform(threaded)
      +info patchlevel
      +

      If the first command returns anything other than 1, + then tcl is not threaded. If tcl is threaded and the version is 8.4 or higher, then installing + tcl from source is optional. +

      Retrieve TCL 8.4 (or higher).�Download and install TCL 8.4 from source

      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 + Install Postgres page). You'll + have to use /usr/lib/tcl8.4/ instead of /usr/local/lib when you + try to find the tcl libraries, however.

      If you have not installed TCL already, download the latest TCL version from Sourceforge

      Debian: + apt-get install + tcl8.4 tcl8.4-dev and proceed to + the next step. In that step, replace + --with-tcl=/usr/local/lib/ with + --with-tcl=/usr/lib/tcl8.4.

      Remember that you have to be root if you want to follow these instructions. On Mac OS X type sudo su - to become root.

      Alternatively use curl -L -O instead of wget (especially on Mac OS X).

      [root root]# cd /usr/local/src
      +[root src]# wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.9-src.tar.gz
      +[root src]# tar xfz tcl8.4.9-src.tar.gz
      +[root src]# cd tcl8.4.9/unix
       [root unix]# ./configure --enable-threads
       [root unix]# make install
       [root root]# 
       cd /usr/local/src
      -wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.6-src.tar.gz
      -tar xfz tcl8.4.6-src.tar.gz
      -cd tcl8.4.6/unix
      +wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.9-src.tar.gz
      +tar xfz tcl8.4.9-src.tar.gz
      +cd tcl8.4.9/unix
       ./configure --enable-threads
       make install
             
    2. Retrieve AOLserver.�Download the aolserver from CVS.

      [root root]# cd /usr/local/src
      -[root src]# mkdir aolserver40r5
      -[root src]# cd aolserver40r5
      +[root src]# mkdir aolserver40r10
      +[root src]# cd aolserver40r10
       [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver login
      -[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co  -r aolserver_v40_r5 aolserver
      +[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co  -r aolserver_v40_r10 aolserver
       [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nscache
       [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nspostgres
       [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nssha1
       [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r v2_7 nsoracle
      -[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsxml
       [root aolserver]# wget http://www.tdom.org/tDOM-0.7.8.tar.gz
       [root aolserver]# tar xvfz tDOM-0.7.8.tar.gz
       [root root]# 
       cd /usr/local/src
      -mkdir aolserver40r5
      -cd aolserver40r5
      -cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r aolserver_v40_r5 aolserver
      +mkdir aolserver40r10
      +cd aolserver40r10
      +cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r aolserver_v40_r10 aolserver
       cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nscache
       cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nspostgres
       cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nssha1
       cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r v2_7 nsoracle
      -cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsxml
      -wget http://www.tdom.org/tDOM-0.7.8.tar.gz
      -tar xvfz tDOM-0.7.8.tar.gz
    3. Configure, compile and install AOLserver.�Many people need to run more than one version of AOLserver in parallel. This section accomodates future upgrades by installing AOLserver 4 in /usr/local/aolserver40r5.

      [root aolserver]# cd /usr/local/src/aolserver40r5/aolserver
      -[root aolserver]# ./configure --prefix=/usr/local/aolserver40r5 --with-tcl=/usr/local/lib/
      +wget http://www.tdom.org/files/tDOM-0.8.0.tar.gz
      +tar xvfz tDOM-0.8.0.tar.gz
    4. Configure, compile and install AOLserver.�Many people need to run more than one version of AOLserver in parallel. This section accomodates future upgrades by installing AOLserver 4 in /usr/local/aolserver40r9.

      [root aolserver]# cd /usr/local/src/aolserver40r10/aolserver
      +[root aolserver]# ./configure --prefix=/usr/local/aolserver40r10 --with-tcl=/usr/local/lib/
       [root aolserver]# make install
      -cd /usr/local/src/aolserver40r5/aolserver
      -./configure --prefix=/usr/local/aolserver40r5 --with-tcl=/usr/local/lib/
      +cd /usr/local/src/aolserver40r10/aolserver
      +./configure --prefix=/usr/local/aolserver40r10 --with-tcl=/usr/local/lib/
       make install
      -ln -s /usr/local/aolserver40r5 /usr/local/aolserver

      If this is the only version of AOLserver in use, or is the default version, create a symlink. If not, then be sure to use /usr/local/aolserver40r5 instead of /usr/local/aolserver in future steps.

      [root aolserver]# ln -s /usr/local/aolserver40r5 /usr/local/aolserver
    5. Configure, compile and install the modules.� -

      1. Install nscache

        [root aolserver]# cd /usr/local/src/aolserver40r5/nscache
        -[root nscache]# make install
      2. Install nsoracle (if you want to use Oracle)

        [root nscache]# cd ../nsoracle
        -[root nsoracle]# make install
      3. Install nspostgres (if you want to use Postgres)

        [root nsrewrite]# cd ../nspostgres
        -[root nspostgres]# make install POSTGRES=LSB ACS=1 INST=/usr/local/aolserver40r5 

        If you get errors like:

        nspostgres.c: In function `Ns_PgTableList':
        +

        If this is the only version of AOLserver in use, or is the default version, create a symlink. If not, then be sure to use /usr/local/aolserver40r10 instead of /usr/local/aolserver in future steps and check any scripts and makefiles you run to ensure they use the correct path.

        [root aolserver]# ln -s /usr/local/aolserver40r10 /usr/local/aolserver
      4. Configure, compile and install the modules.� +

        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 (ln -s nsoracle.so ora8.so) to fix it.

        1. Install nscache

          [root aolserver]# cd /usr/local/src/aolserver40r10/nscache
          +[root nscache]# make install AOLSERVER=/usr/local/aolserver40r10
        2. Install nsoracle (if you want to use Oracle)

          [root nscache]# cd ../nsoracle
          +[root nsoracle]# make install AOLSERVER=/usr/local/aolserver40r10
        3. Install nspostgres (if you want to use Postgres)

          [root nscache]# cd ../nspostgres
          +[root nspostgres]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib[root nspostgres]# make install POSTGRES=LSB ACS=1 INST=/usr/local/aolserver40r10  AOLSERVER=/usr/local/aolserver40r10
          +              

          If you get errors like:

          nspostgres.c: In function `Ns_PgTableList':
           nspostgres.c:679: warning: passing arg 3 of `Tcl_DStringAppend' as signed due to prototype

          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 LSB with the path to the path to your PostGreSQL installation. Often this is /usr/local/pgsql.

          Another possibility is that you may need to set the LD_LIBRARY_PATH environmental variable. You may still get warnings, but sometimes this will fix things enough to work.

          [root nspostgres]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib
                         

          You can use the ldd command to verify that all libraries are linked in: - ldd nspostgres.so -

          If you run into problems with libpq.a do the following (and repeat the step above)

          [root nspostgres]# ranlib /usr/local/pgsql/lib/libpq.a

          If you run into problems with the linker, edit the Makefile. Add -lnsdb to the MODLIBS var.

          MODLIBS = -L$(PGLIB) -lpq -lnsdb
        4. Install nssha1

          [root nsrewrite]# cd ../nssha1
          -[root nssha1]# make

          If the make fails you will have to edit nssha1.c. Comment out the following 2 lines (lines 139-140):

          // typedef unsigned int u_int32_t;
          -// typedef unsigned char u_int8_t;

          Now install nssha1:

          [root nssha1]# make install
        5. Install tDOM

          [root nssha1]# cd ../tDOM-0.7.8/unix

          Edit the CONFIG file. Uncomment the instructions meant for AOLserver 4, but edit it to look like this:

          ../configure --enable-threads --disable-tdomalloc
          -          --prefix=/usr/local/aolserver40r5 --with-tcl=/usr/local/lib

          Now you can compile and configure tDOM

          [root unix]# sh CONFIG
          +                ldd /usr/local/src/aolserver40r8/nspostgres/nspostgres.so
          +              

          If you run into problems with libpq.a do the following (and repeat the step above)

          [root nspostgres]# ranlib /usr/local/pgsql/lib/libpq.a

          If you run into problems with the linker, edit the Makefile. Add -lnsdb to the MODLIBS var.

          MODLIBS = -L$(PGLIB) -lpq -lnsdb
        6. Install nssha1

          [root nspostgres]# cd ../nssha1

          Now install nssha1:

          [root nssha1]# make install AOLSERVER=/usr/local/aolserver40r10

          If the make fails you will have to edit nssha1.c. Comment out the following 2 lines (lines 139-140):

          // typedef unsigned int u_int32_t;
          +// typedef unsigned char u_int8_t;
        7. Install tDOM

          [root nssha1]# cd ../tDOM-0.7.8/unix

          Edit the CONFIG file. Uncomment the instructions meant for AOLserver 4, but edit it to look like this:

          ../configure --enable-threads --disable-tdomalloc
          +          --prefix=/usr/local/aolserver40r10 --with-tcl=/usr/local/lib

          Now you can compile and configure tDOM

          [root unix]# sh CONFIG
           [root unix]# make install

      5. Add a database-specific wrapper script.�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't conflict, so if you plan - to use both databases, install both.

        • Oracle

          [root aolserver]# cd /usr/local/aolserver40r5/bin
          +	  to use both databases, install both.
          +      Note that this section requires you to have the OpenACS, 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't forget to come back. (Note to
          +      maintainers: this should be moved to the next page and
          +      integrated into the text there)
          +    

          • Oracle

            [root aolserver]# cd /usr/local/aolserver40r8/bin
             [root bin]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
             [root bin]# chmod 750 nsd-oracle
             [root bin]#
            -cd /usr/local/aolserver40r5/bin
            -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
            -chmod 750 nsd-oracle
          • PostgreSQL

            [root aolserver]# cd /usr/local/aolserver40r5/bin
            -[root bin]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
            +cd /usr/local/aolserver40r10/bin
            +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
            +chmod 750 nsd-oracle
          • PostgreSQL

            [root aolserver]# cd /usr/local/aolserver40r10/bin
            +[root bin]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
             [root bin]# chmod 755 nsd-postgres
             [root bin]#
            -cd /usr/local/aolserver40r5/bin
            -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
            +cd /usr/local/aolserver40r10/bin
            +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
             chmod 755 nsd-postgres

          You may need to edit these scripts if you are not using /usr/local/aolserver as the directory of Aolserver4.

        • Change startup script (optional).�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 /var/lib/aolserver/service0/etc/daemontools/run script according to the documentation found there (namely: Add the -b yourip:yourport switch)

        • Test AOLserver.

      ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/apm-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-design.html,v diff -u -r1.30 -r1.31 --- openacs-4/packages/acs-core-docs/www/apm-design.html 22 Jun 2004 12:53:35 -0000 1.30 +++ openacs-4/packages/acs-core-docs/www/apm-design.html 16 Feb 2005 00:21:02 -0000 1.31 @@ -1,4 +1,4 @@ -Package Manager Design

    Package Manager Design

    By Bryan Quinn

    +Package Manager Design

    Package Manager Design

    By Bryan Quinn

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Essentials

    • OpenACS Administrator directory

    • Package Manager Requirements

    • Packages

    • ER diagram

    • Tcl API

      An installation of the OpenACS includes the OpenACS Kernel, some services that extend the kernel's functionality, and some applications intended for end-users. Packages function as individual pieces of subsites. A subsite can contain multiple Index: openacs-4/packages/acs-core-docs/www/apm-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-requirements.html,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 22 Jun 2004 12:53:36 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 16 Feb 2005 00:21:02 -0000 1.26 @@ -1,4 +1,4 @@ -Package Manager Requirements

      Package Manager Requirements

      By Bryan Quinn and Todd Nightingale

      +Package Manager Requirements

      Package Manager Requirements

      By Bryan Quinn and Todd Nightingale

      OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

      Introduction

      The following is a requirements document for the OpenACS Package Manager Index: openacs-4/packages/acs-core-docs/www/automated-backup.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-backup.html,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/automated-backup.html 22 Jun 2004 12:53:37 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/automated-backup.html 16 Feb 2005 00:21:02 -0000 1.6 @@ -1,3 +1,3 @@ -Automated Backup

      Automated Backup

      The recommended backup strategy for a production sit is to use an automated script which first backs up the database to a file in /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup and then backs up all of /var/lib/aolserver/$OPENACS_SERVICE_NAME to a single zip file, and then copies that zip file to another computer.

      1. Make sure that the manual backup process described above works.

      2. Customize the default backup script. Edit /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh with your specific parameters.

      3. +Automated Backup

        Automated Backup

        The recommended backup strategy for a production sit is to use an automated script which first backs up the database to a file in /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup and then backs up all of /var/lib/aolserver/$OPENACS_SERVICE_NAME to a single zip file, and then copies that zip file to another computer.

        1. Make sure that the manual backup process described above works.

        2. Customize the default backup script. Edit /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh with your specific parameters.

        3. Make sure the file is executable:

          chmod +x backup.sh
        4. - Set this file to run automatically by adding a line to root's crontab. (Typically, with export EDITOR=emacs; crontab -e.) This example runs the backup script at 1:30 am every day.

          30 1 * * * *        sh /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh
        View comments on this page at openacs.org
        + Set this file to run automatically by adding a line to root's crontab. (Typically, with export EDITOR=emacs; crontab -e.) This example runs the backup script at 1:30 am every day.

        30 1 * * *        sh /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html,v diff -u -r1.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 29 Jun 2004 15:50:14 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 16 Feb 2005 00:21:02 -0000 1.19 @@ -1,4 +1,6 @@ -Automated Testing

      Automated Testing

      By Jeff Davis

      +Automated Testing

      Automated Testing

      By Jeff Davis

      OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

      Best practices in writing OpenACS automated tests

      • Special characters in Tcl.� @@ -24,4 +26,6 @@ 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. -

      ($Id$)
      View comments on this page at openacs.org
      +

    ($Id$)
    View comments on this page at openacs.org
    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.35 -r1.36 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 5 Jul 2004 14:24:59 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 16 Feb 2005 00:21:02 -0000 1.36 @@ -1,4 +1,4 @@ -Chapter�8.�Backup and Recovery

    Chapter�8.�Backup and Recovery

    By Don Baccus with additions +Chapter�8.�Backup and Recovery

    Chapter�8.�Backup and Recovery

    By Don Baccus with additions by Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. @@ -7,4 +7,4 @@ probably need to create your own backup strategies (in particular full dumps from oracle, while easy to set up, are far from the best solution).

    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).

    Figure�8.1.�Backup and Recovery Strategy

    Backup and Recovery Strategy
    ($Id$)
    View comments on this page at openacs.org
    + source tree, and the acs-content-repository (which is in the server source tree).

    Figure�8.1.�Backup and Recovery Strategy

    Backup and Recovery Strategy
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/backups-with-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backups-with-cvs.html,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/backups-with-cvs.html 22 Jun 2004 12:53:38 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/backups-with-cvs.html 16 Feb 2005 00:21:02 -0000 1.6 @@ -1,4 +1,4 @@ -Using CVS for backup-recovery

    Using CVS for backup-recovery

    CVS-only backup is often appropriate for development sites. If you are already using CVS and your data is not important, you probably don't +Using CVS for backup-recovery

    Using CVS for backup-recovery

    CVS-only backup is often appropriate for development sites. If you are already using CVS and your data is not important, you probably don't need to do anything to back up your files. Just make sure that your current work is checked into the system. You can then roll back based on date - note the Index: openacs-4/packages/acs-core-docs/www/bootstrap-acs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 29 Jun 2004 15:50:14 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 16 Feb 2005 00:21:02 -0000 1.40 @@ -1,4 +1,4 @@ -Bootstrapping OpenACS

    Bootstrapping OpenACS

    By Jon Salz

    +Bootstrapping OpenACS

    Bootstrapping OpenACS

    By Jon Salz

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
    • Tcl code: /tcl/0-acs-init.tcl and /packages/acs-kernel/bootstrap.tcl

    This document describes the startup (bootstrapping) process for an AOLserver Index: openacs-4/packages/acs-core-docs/www/complete-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/complete-install.html,v diff -u -r1.15 -r1.16 --- openacs-4/packages/acs-core-docs/www/complete-install.html 22 Jun 2004 12:53:38 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/complete-install.html 16 Feb 2005 00:21:02 -0000 1.16 @@ -1 +1 @@ -Chapter�3.�Complete Installation

    View comments on this page at openacs.org
    +Chapter�3.�Complete Installation
    View comments on this page at openacs.org
    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 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html 16 Feb 2005 00:21:02 -0000 1.1 @@ -0,0 +1,9 @@ +Configuring an OpenACS package

    Configuring an OpenACS package

    by Jade Rubick

    + OpenACS docs are written by the named authors, and may be edited + by OpenACS documentation staff. +

    Configuring an OpenACS package

    After you've installed and mounted your package, you can + configure each instance to act as you would like.

    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' + link, you will see a list of parameters that you can change for + this application.

    View comments on this page at openacs.org
    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 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html 16 Feb 2005 00:21:02 -0000 1.1 @@ -0,0 +1,15 @@ +Setting Permissions on an OpenACS package

    Setting Permissions on an OpenACS package

    by Jade Rubick

    + OpenACS docs are written by the named authors, and may be edited + by OpenACS documentation staff. +

    Setting Permission on an OpenACS package

    After you've installed and mounted your package, you can + configure each instance to act as you would like.

    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 'Permissions' + link, you will see and be able to set the permissions for that + application.

    Each application may have different behavior for what Read + Create Write and Admin permissions mean, but generally the + permissions are straightforward. If you find the behavior is not + what you expect after setting permissions, you can post a bug in + the OpenACS bugtracker.

    'The Public' refers to users to the website who are not + logged in. 'Registered Users' are people who have registered for + the site.

    View comments on this page at openacs.org
    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 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-core-docs/www/configuring-install-packages.html 16 Feb 2005 00:21:02 -0000 1.1 @@ -0,0 +1,28 @@ +Installing OpenACS packages

    Installing OpenACS packages

    by Jade Rubick

    + OpenACS docs are written by the named authors, and may be edited + by OpenACS documentation staff. +

    Installing OpenACS packages

    An OpenACS package extends your website and lets it do + things it wasn't able to do before. You can have a weblog, a + forums, a calendar, or even do sophisticated project-management + via your website.

    After you've installed OpenACS, you can congratulate + yourself for a job well done. Then, you'll probably want to + install a couple of packages.

    To install packages, you have to be an administrator on + the OpenACS webserver. Log in, and you'll see a link to Admin or + the Control Panel. Click on that, then click on 'Install + software'. Packages are sometimes also referred to as + applications or software.

    At this point, you'll need to determine whether or not + you're able to install from the repository, or whether you + should install from local files.

    Basically, if you have a local CVS repository, or have + custom code, you need to install from 'Local Files'. Otherwise, + you can install from the OpenACS repository

    If you want to install new packages, click on 'Install + from Repository' or 'Install from Local'. Select the package, + and click 'Install checked applications'. The system will check + to make sure you have all necessary packages that the package + you want depends on. If you're installing from Local Files, and + you are missing any packages, you may have to add the packages + your desired package depends on: + the section called “Upgrading the OpenACS files” +

    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

    Once the package has been installed, then you will need to + 'mount' the package. The next section handles that.

    View comments on this page at openacs.org
    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 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html 16 Feb 2005 00:21:02 -0000 1.1 @@ -0,0 +1,20 @@ +Mounting OpenACS packages

    Mounting OpenACS packages

    by Jade Rubick

    + OpenACS docs are written by the named authors, and may be edited + by OpenACS documentation staff. +

    Mounting OpenACS packages

    After you've installed your packages, you have to 'mount' + them in order to make them appear on your website.

    Make sure you are logged in, and then click on the + 'Admin' or 'Control Panel' link to get to the Site-Wide + Administration page (at /acs-admin). Click on the subsite you'd + like the application to be available at.

    Subsites are a way of dividing your website into logical + chunks. Often they represent different groups of users, or parts + of an organization.

    Now click on 'Applications' (applications are the same + thing as packages). You'll see a list of Applications and the + URLs that each is located at. To mount a new application, you + click on 'Add application', enter the Application, title + (application name), and URL (URL folder name), and you're + done.

    Test it out now. The URL is based on a combination of the + subsite URL and the application URL. So if you installed a + package in the Main Subsite at the URL calendar, it will be + available at http://www.yoursite.com/calendar. If you installed + it at a subsite that has a URL intranet, then it would be + located at http://www.yoursite.com/intranet/calendar.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/configuring-new-site.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-new-site.html,v diff -u -r1.6 -r1.7 --- openacs-4/packages/acs-core-docs/www/configuring-new-site.html 22 Jun 2004 12:53:38 -0000 1.6 +++ openacs-4/packages/acs-core-docs/www/configuring-new-site.html 16 Feb 2005 00:21:02 -0000 1.7 @@ -1,4 +1,4 @@ -Chapter�4.�Configuring a new OpenACS Site

    Chapter�4.�Configuring a new OpenACS Site

    Table of Contents

    How Do I?

    by Joel Aufrecht

    +Chapter�4.�Configuring a new OpenACS Site

    Chapter�4.�Configuring a new OpenACS Site

    by Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    In this chapter, Configuring refers to making changes to a new OpenACS site through the web interface. In crude terms, these changes happen in the database, and are upgrade-safe. Customizing refers to changes that touch the file system, and require some planning if easy upgradability is to be maintained.

    View comments on this page at openacs.org
    +

    In this chapter, Configuring refers to making changes to a new OpenACS site through the web interface. In crude terms, these changes happen in the database, and are upgrade-safe. Customizing refers to changes that touch the file system, and require some planning if easy upgradability is to be maintained.

    View comments on this page at openacs.org
    Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/contributing-code.html'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-core-docs/www/credits.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/credits.html,v diff -u -r1.38 -r1.39 --- openacs-4/packages/acs-core-docs/www/credits.html 29 Jun 2004 15:50:14 -0000 1.38 +++ openacs-4/packages/acs-core-docs/www/credits.html 16 Feb 2005 00:21:02 -0000 1.39 @@ -1,4 +1,4 @@ -Appendix�C.�Credits

    Appendix�C.�Credits

    By Vinod Kurup

    +Appendix�C.�Credits

    Appendix�C.�Credits

    By Vinod Kurup

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Vinod Kurup put Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/cvs-guidelines.html'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/cvs-resources.html'. Fisheye: No comparison available. Pass `N' to diff? 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.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 5 Jul 2004 14:24:59 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 16 Feb 2005 00:21:02 -0000 1.26 @@ -1,7 +1,7 @@ -Appendix�D.�Using CVS with an OpenACS Site

    Appendix�D.�Using CVS with an OpenACS Site

    By Joel Aufrecht

    +Appendix�D.�Using CVS with an OpenACS Site

    Appendix�D.�Using CVS with an OpenACS Site

    By Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    Add the Service to CVS - OPTIONAL.�These steps take an existing OpenACS directory and add +

    Add the Service to CVS - OPTIONAL.�These steps take an existing OpenACS directory and add it to a CVS repository.

    1. Create and set permissions on a subdirectory in the local cvs repository.

      [root root]# mkdir /cvsroot/$OPENACS_SERVICE_NAME
       [root root]# chown $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME /cvsroot/$OPENACS_SERVICE_NAME
      Index: openacs-4/packages/acs-core-docs/www/database-management.html
      ===================================================================
      RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/database-management.html,v
      diff -u -r1.22 -r1.23
      --- openacs-4/packages/acs-core-docs/www/database-management.html	22 Jun 2004 12:53:38 -0000	1.22
      +++ openacs-4/packages/acs-core-docs/www/database-management.html	16 Feb 2005 00:21:02 -0000	1.23
      @@ -1,4 +1,4 @@
      -Chapter�7.�Database Management

      Chapter�7.�Database Management

      By Joel Aufrecht

      +Chapter�7.�Database Management

      Chapter�7.�Database Management

      By Joel Aufrecht

      OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
      View comments on this page at openacs.org
      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.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.html 29 Jun 2004 15:50:15 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html 16 Feb 2005 00:21:02 -0000 1.40 @@ -1,4 +1,4 @@ -Database Access API

      Database Access API

      By Jon Salz. Revised and expanded by Roberto Mello (rmello at fslc dot usu dot edu), July 2002.

      +Database Access API

      Database Access API

      By Jon Salz. Revised and expanded by Roberto Mello (rmello at fslc dot usu dot edu), July 2002.

      OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
      • Tcl procedures: /packages/acs-kernel/10-database-procs.tcl

      • Tcl initialization: /packages/acs-kernel/database-init.tcl

      The Big Picture

      Index: openacs-4/packages/acs-core-docs/www/db-api.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api.html,v diff -u -r1.40 -r1.41 --- openacs-4/packages/acs-core-docs/www/db-api.html 5 Jul 2004 14:24:59 -0000 1.40 +++ openacs-4/packages/acs-core-docs/www/db-api.html 16 Feb 2005 00:21:02 -0000 1.41 @@ -1,4 +1,4 @@ -The OpenACS Database Access API

      The OpenACS Database Access API

      +The OpenACS Database Access API

      The OpenACS Database Access API

      By Pete Su and Jon Salz. Modified by Roberto Mello.

      Overview

      One of OpenACS's great strengths is that code written for it is @@ -359,7 +359,25 @@ } { set user_url [acs_community_member_url -user_id $user_id] } -

      +

      + You can also iterate over a multirow after it has been + created - check the documentation for + template::multirow

      + For example, +

      +db_multirow assets assets {
      +  select asset_id,
      +    from ...
      +}
      +
      +..
      +
      +set asset_id_l [list]
      +multirow foreach assets {
      +  lappend asset_id_l $asset_id
      +}
      +          

      Technically it's equivalent to using a code block on + the end of your db_multirow.

      db_null Index: openacs-4/packages/acs-core-docs/www/dev-guide.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/dev-guide.html,v diff -u -r1.26 -r1.27 --- openacs-4/packages/acs-core-docs/www/dev-guide.html 22 Jun 2004 12:53:39 -0000 1.26 +++ openacs-4/packages/acs-core-docs/www/dev-guide.html 16 Feb 2005 00:21:02 -0000 1.27 @@ -1 +1 @@ -Chapter�11.�Development Reference
      View comments on this page at openacs.org
      +Chapter�11.�Development Reference
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/doc-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/doc-standards.html,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/doc-standards.html 22 Jun 2004 12:53:39 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/doc-standards.html 16 Feb 2005 00:21:02 -0000 1.9 @@ -1 +1 @@ -Chapter�13.�Documentation Standards
      View comments on this page at openacs.org
      +Chapter�15.�Documentation Standards
      View comments on this page at openacs.org
      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.42 -r1.43 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 5 Jul 2004 14:24:59 -0000 1.42 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 16 Feb 2005 00:21:02 -0000 1.43 @@ -1,94 +1,675 @@ -OpenACS Documentation Guide

      OpenACS Documentation Guide

      +OpenACS Documentation Guide

      OpenACS Documentation Guide

      By Claus Rasmussen, with additions by Roberto Mello and the OpenACS Community

      Overview of OpenACS Documentation

      - ArsDigita created a good documentation ground for us to build - upon. Some sections of the documentation, however, lack details - and examples; others are simply nonexistant. Our goal is to give - OpenACS a superb documentation, so that users, developers and - administrators of OpenACS installations can enjoy the system. + OpenACS 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.

      - OpenACS is a powerful system, with - incredible possibilities and applications, but with this power - comes some complexity and a learning curve that will only be - atenuated by good documentation. This is what we are after. + The history of OpenACS documentation: ..began by + building on a good documentation base from ArsDigita's ACS in the + late 1990's. Some sections of the documentation, however, lacked + details and examples; others simply did not exist. The OpenACS + community began meeting the challenge by identifying needs and + writing documentation on an as needed basis.

      - The documentation for OpenACS is - written using DocBook XML. The reasons why we are using - DocBook are explained in more details in the - next section. A few more reasons why - we are using Docbook XML instead of Docbook SGML: + By having documentation dependent on volunteers and code + developers, documentation updates lagged behind the evolving + system software. As significant development changes were made + to the system, existing documentation became dated, and its + value significantly reduced. The valiant efforts that were made + to keep the documentation current proved too difficult as + changes to the system sometimes had far-reaching affects to + pages throughout the documentation. System integration and + optimization quickly rendered documentation obsolete for + developers. The code became the substitute and source for + documentation. +

      + With thousands of lines of code and few developers tracking + changes, features and advances to the OpenACS system went + unnoticed or were not well understood except by the code + authors. Work was duplicated as a consequence of developers + not realizing the significant work completed by others. New + developers had to learn the system through experience with + working with it and discussion in the forums. Informal sharing + of experiential and tacit knowledge has become the OpenACS + community's main method of sharing knowledge. +

      + This document attempts to shape ongoing documentation efforts by + using principles of continual improvement to re-engineer + documentation production. +

      Managing OpenACS Documentation

      + Documentation production shares many of the challenges of + software development, such as managing contributions, revisions + and the (editorial) release cycle. This is yet another + experiment in improving documentation --this time by using + principles of continual improvement to focus the on-going + efforts. These processes are outlined as project management + phases: +

      1. + Requirements phase is about setting goals and + specifications, and includes exploration of scenarios, use cases + etc. As an example, see the + OpenACS Documentation Requirements Template which focuses on + systems requirements for developers. +

      2. + Strategy phase is about creating an approach + to doing work. It sets behavioral guidelines and boundaries + that help keep perspective on how efforts are directed. + OpenACS developers discuss strategy when coordinating + efforts such as code revisioning and new features. +

      3. + Planning phase is about explicitly stating + the way to implement the strategy as a set of methods. + OpenACS system design requires planning. For example, see + OpenACS + documentation template planning relating to package + design. +

      4. + Implementation phase is about performing the + work according to the plan, where decisions on how to handle + unforseen circumstances are guided by the strategy and + requirements. +

      5. + Verification phase measures how well the plan + was implemented. Success is measured by A) verifying if the + project has met the established goals, and B) reviewing for + ongoing problem areas etc. OpenACS follows verification + through different means on different projects, but in all + cases, the OpenACS community verifies the project as a + success through feedback including bug reports, user and + administrator comments, and code changes. +

      + OpenACS forum discussions on documentation requirements and strategies are + summarized in the following sections. Production + phases are mainly organized and fulfilled by Joel Aufrecht. + Hopefully the following sections will help spur greater + direct participation by the OpenACS community. +

      OpenACS General Documentation Requirements

      + By the OpenACS Community. This section is a collection of + documentation requirements that have been expressed in the + OpenACS forums to 4th July 2003. +

      + OpenACS documentation should meet the following requirements. No + significance has been given to the order presented, topic breadth or depth here.

      • - Consistency. We started with a collection - of DcoBook XML files that ArsDigita wrote. Trying to re-write them to - conform to the SGML DTD would be unnecessary work (I tried). -

      • - It does not require extra - effort. Writing in XML is almost identical to - SGML, with a couple extra rules. More details in the - LDP - Author Guide. -

      • - The tool chain has matured. xsltproc and other XML - based tools have improved to the point where they are about as good as - the SGML tools and generation of both html and pdf output is straighforward. -

      Why DocBook?

      - In order to separate content and presentation, all OpenACS documentation will be marked up to conform to the - DocBook XML DTD - - - This enables us to publish in a variety - of formats and relieves each contributor of the burden of presentation, freeing him to focus - on content and sharing knowledge. + clarity in presentation. Life with + qmail is a recommended example of "rated high" online + documentation. +

    2. + Avoid requirements that significantly increase the labor + required to maintain documentation. +

    3. + Use best practices learned from the print world, web, and + other media, about use of gamma, space, writing style etc. +

      • + Consistency in publishing -Establishing and adhering to publishing standards +

      • + Use standardized language -Use international English + (without slang or colloquial terms) for ESL (English as + a second language) readers (and making translation + easier for those interested in translating the + documentation for internationalization efforts). +

      • + All jargon used in documentation needs to be defined. + Use standardized terms when available, avoiding implicit + understanding of specific OpenACS terms. +

      • + Document titles (for example on html pages) should + include whole document title (as in book title): + (chapter title) : (section), so that bookmarks etc. + indicate location in a manner similar to pages in books + (in print publishing world). +

      • + Organize document according to the needs of the reader + (which may be different than the wishes of the writers). +

      • + Do not make informal exclamations about difficulty/ease + for users to complete tasks or understand... for + example, "Simply...". Readers come from many different + backgrounds --remember that the greater audience is + likely as varied as the readers on the internet--- If + important, state pre-conditions or knowledge + requirements etc. if different than the rest of the + context of the document. For example, "requires basic + competency with a text-based editor such as vi or emacs + via telnet" +

    4. + Show where to find current information instead of writing + about current info that becomes obsolete. If the information + is not found elsewhere, then create one place for it, where + others can refer to it. This structure of information will + significantly reduce obsolescence in writing and labor burden + to maintain up-to-date documentation. In other words, state + facts in appropriately focused, designated areas only, then + refer to them by reference (with links). +

      + Note: Sometimes facts should be stated multiple ways, to + accommodate different reading style preferences. The should + still be in 1 area, using a common layout of perhaps + summary, introduction and discussion requiring increasing + expertise, complexity or specificity. +

    5. + Consistency in link descriptions -When link urls refer to + whole documents, make the link (anchor wrapped title) that + points to a document with the same title and/or heading of + the document. +

    6. + Consider OpenACS documentation as a set of books (an + encyclopedic set organized like an atlas) that contains + volumes (books). Each book contains chapters and sections + much like how DocBook examples are shown, where each chapter + is a web page. This designation could help create an OpenACs + book in print, and help new readers visualize how the + documentation is organized. +

    7. + The use licenses between OpenACS and Arsdigita's ACS are not + compatible, thereby creating strict limits on how much + OpenACS developers should have access to Arsdigita code and + resources. The OpenACS documentation has a new legal + requirement: to eliminate any dependency on learning about + the system from Arsdigita ACS examples to minimize any + inference of license noncompliance, while recognizing the + important work accomplished by Philip Greenspun, Arsdigita, + and the early ACS adopters. +

    8. + Use a consistent general outline for each book. +

      • + Introduction (includes purpose/goal), Glossary of terms, + Credits, License, Copyright, Revision History +

      • + Table of Contents (TOC)s for each book: the end-users, content and site + administrators, marketing, developer tutorial, and + developers. +

      • + Priorities of order and content vary based on each of + the different readers mentioned. The developers guide + should be organized to be most useful to the priorities + of developers, while being consistent with the general + documentation requirements including publishing strategy, + style etc. +

      • + Use generic DocBook syntax to maximize reader familiarity with the documents. +

        +                <book><title><part label="Part 1"><etc...>
        +              

        +

      +

    OpenACS Documentation Requirements for End-users

    + By the OpenACS Community. This section is a collection of + documentation requirements that have been expressed in the + OpenACS forums to 4th July 2003.

    - Theoretically any strict DTD would have been sufficient - we could even write our own. But DocBook has been around - for a while (since the early 90's), - it's well-tested, it's complete, it's designed for technical documentation - and best of all, it's open-source. A growing community surrounds DocBook (has + OpenACS end-user documentation should meet the following requirements. No + significance has been given to the order presented, topic breadth or depth here. +

    • + End-users should not have to read docs to use the system. +

    • + Include how to get help. How and where to find answers, + contact others, what to do if one gets an AOLserver or other + error when using the system. Include types of available + support (open-source, private commercial etc.) including + references. +

    • + Explain/foster understanding of the overall structure of the + system. This would be an overview of the system components, + how it works, and how to find out more or dig deeper... To + promote the system by presenting the history of the system, + and writing about some tacit knowledge re: OpenACS.org and + the opensource culture. +

    • + Introduce and inspire readers about the uses, benefits, and + the possibilities this system brings (think customer + solution, customer cost, convenience, value). A + comprehensive community communications system; How this + system is valuable to users; Reasons others use OpenACS + (with quotes in their own words) "...the most important + thing that the ACS does is manage users, i.e. provide a way + to group, view and manipulate members of the web community. + -- Talli Somekh, September 19, 2001" using it to + communicate, cooperate, collaborate... OpenACS offers + directed content functionality with the OpenACS templating + system. ... OpenACS is more than a data collection and + presentation tool. OpenACS has management facilities that + are absent in other portals. ...The beauty of OpenACS is + the simplicity (and scalability) of the platform on which it + is built and the library of tried and tested community + building tools that are waiting to be added. It seems that + most portals just add another layer of complexity to the + cake. See Slides on OACS + features...a set of slides on OACS features that can + be used for beginners who want to know OACS is about and + what they can do with it. Screen captures that highlight + features. Example shows BBoard, calendar, news, file + storage, wimpy point, ticket tracking. An OpenACS tour; an + abbreviated, interactive set of demo pages. +

    • + From a marketing perspective, +

      • + differentiate "product" by highlighting features, + performance quality, conformance to standards, + durability (handling of technological obsolescence), + reliability, repairability, style of use, design + (strategy in design, specifications, integrated, + well-matched systems etc). +

      • + differentiate "service" by highlighting software + availability (licensing and completeness from mature to early + adopters or development versions), community incident + support, project collaborative opportunities, and + contractor support availability +

      • + differentiate price (economic considerations of + opensource and features) +

      • + Discussion and details should rely on meeting criteria + of design, completeness of implementation, and related + system strengths and weaknesses. Marketing should not + rely on comparing to other technologies. Competitive + analysis involves mapping out strengths, weaknesses, + opportunities and threats when compared to other systems + for a specific purpose, and thus is inappropriate (and + becomes stale quickly) for general documentation. +

      • + When identifying subsystems, such as tcl, include links + to their marketing material if available. +

      • + create an example/template comparison table that shows + versions of OpenACS and other systems (commonly + competing against OpenACS) versus a summary feature list + and how well each meets the feature criteria. Each + system should be marked with a date to indicate time + information was gathered, since information is likely + volatile. +

      +

    • + To build awareness about OpenACS, consider product + differentiation: form, features, performance quality, + conformance quality (to standards and requirements), + durability, reliability, repairability, style, design: the + deliberate planning of these product attributes. +

    • + Include jargon definitions, glossary, FAQs, site map/index, + including where to find Instructions for using the packages. + FAQ should refer like answers to the same place for + consistency, brevity and maintainability. +

    • + Explain/tutorial on how the UI works (links do more than go + to places, they are active), Page flow, descriptions of form + elements; browser/interface strengths and limitations (cookies, other) +

    • + Discuss criteria used to decide which features are + important, and the quality of the implementation from a + users perspective. Each project implementation places a + different emphasis on the various criteria, which is why + providing a framework to help decide is probably more useful + than an actual comparison. +

    + Package documentation requirements have additional requirements. +

    • + A list of all packages, their names, their purposes, what + they can and cannot do (strengths, limitations), what + differentiates them from similar packages, minimal + description, current version, implementation status, + author/maintainers, link(s) to more info. Current version + available at the repository. +

    • + Include dependencies/requirements, known conflicts, and + comments from the real world edited into a longer + description to quickly learn if a package is appropriate for + specific projects. +

    • + Create a long bulleted list of features. Feature list should + go deeper than high-level feature lists and look at the + quality of the implementations (from the user's perspective, + not the programmer's). Example issues an end-user may have + questions about: Ticket Tracker and Ticket Tracker Lite, why + would I want one of them vs the other? And, before I specify + to download and install it, what credit card gateways are + supported by the current e-commerce module? There are some + packages where the name is clear enough, but what are the + limitations of the standard package? +

    • + End-user docs should not be duplicative. The package + description information and almost everything about a + package for administrators and developers is already + described in the package itself through two basic + development document templates: a + Requirements Template and Detailed + Design Document. +

    OpenACS Documentation Requirements for Site and Administrators

    + By the OpenACS Community. This section is a collection of + documentation requirements that have been expressed in the + OpenACS forums to 4th July 2003. +

    + OpenACS administrators' documentation should meet the following requirements. No + significance has been given to the order presented, topic breadth or depth here. +

    • + For each requirement below, include links to developer tutorials + and other documentation for more detail. +

    • + Describe a structural overview of a working system and how + the components work together. "The Layered Cake view" a + general network view of system; a table showing system + levels versus roles to help with understanding how the + subsystems are interconnected. +

    • + Provide a comprehensive description of typical + administrative processes for operating an OpenACS system + responsibly, including reading logs and command line views that + describe status of various active processes. +

    • + Create a list of administrative tools that are useful to + administrating OpenACS, including developer support, + schema-browser and api browser. Link to AOLserver's config + file documentation. +

    • + Resources on high level subjects such as web services, + security guidelines +

    • + Describe typical skill sets (and perhaps mapped to + standardized job titles) for administrating an OpenACS + system (human-resources style). For a subsite + admin/moderator attributes might include trustworthy, + sociable, familiarity with the applications and + subsystems, work/group communication skills et cetera +

    • + Describe how to set up typical site moderation and + administration including parameters, permissions, "Hello + World" page +

    • + Show directory structure of a typical package, explanation + of the various file types in a package (tcl,adp,xql) and how + those relate to the previously described subsystems, when + they get refreshed etc. +

    • + Ways to build a "Hello World" page +

    • + Show examples of how the OpenACS templating system is used, + including portal sections of pages. For example, create a + customised auto-refreshing startpage using lars-blogger, a + photo gallery, and latest posts from a forum. This should + rely heavily on documentation existing elsewhere to keep + current. This would essentially be a heavily annotated list + of links. +

    • + Show ways of modifying the look and feel across pages of an + OpenACS website. Refer to the skins package tutorial. +

    • + Describe a methodology for diagnosing problems, finding + error statements and interpreting them --for OpenACS and the + underlying processes. +

    • + FAQs: Administration tasks commonly discussed on boards: + admin page flow, how to change the looks of a subsite with a + new master.adp, options on "user pages" , a quick + introduction to the functions and processes. info about the + user variables, file locations +

    OpenACS Installation Documentation Requirements

    + By the OpenACS Community. This section is a collection of + documentation requirements that have been expressed in the + OpenACS forums to 4th July 2003. +

    + OpenACS installation documentation should meet the following requirements. No + significance has been given to the order presented, topic breadth or depth here. +

    • + state installation prerequisites. For example: "You should + read through the installation process to familiarize + yourself with the installation process, before beginning an + installation." +

    • + list critical decisions (perhaps as questions) that need to + be made before starting: which OS, which DB, which aolserver + version, system name, dependencies et cetera. Maybe summarize + options as tables or decision-trees. For example, "As you + proceed throughout the installation, you will be acting on + decisions that have an impact on how the remaining part of + the system is installed. Here is a list of questions you + should answer before beginning." +

    • + list pre-installation assumptions +

    • + Show chronological overview of the process of installing a + system to full working status: Install operating + system with supporting software, configure with preparations + for OpenACS, RDBMS(s) install and configure, Webserver + install and configure, OpenACS install and configure, + post-install work +

    OpenACS Developer Tutorial Documentation Requirements

    + By the OpenACS Community. This section is a collection of + documentation requirements that have been expressed in the + OpenACS forums to 4th July 2003. +

    + OpenACS developer tutorial documentation should meet the following requirements. No + significance has been given to the order presented, topic breadth or depth here. +

    • + list learning prerequisites to customize, fix, and improve + OACS modules, and create new ones. You are expected to have + read and understand the information [minimum requirements + similar to adept at Using OpenACS Administrating Guide] + before reading this guide. +

    • + Refer to development documentation instead of duplicating here +

    • + List suggestions for installing and setting up a development + environment; these can be annotated links to the + installation documentation +

    • + Provide working examples that highlight the various + subsystems, tcl environment, OpenACS protocols, aolserver + template and ns_* commands, OpenACS templating, sql queries, + db triggers, scheduling protocols, how to use the page contract, + how to get the accessing user_id etc +

    • + Show how to construct basic SQL queries using the db API, +

    • + The life of an http request to a dynamic, templated page +

    • + General rules to follow for stability, scalability +

    • + Show the step by step customizing of an existing package + that meets current recommended coding styles of OpenACS + package development, by referring to developer resources. +

    • + Use the ArsDigita problem sets and "what Lars produced for ACS Java" as inspiration for a + PostgreSQL equivalent tutorial about developing a new + OpenACS package including discussion of the significance of + the package documentation templates +

    • + Include a summary of important links used by developers +

    • + Note any deprecated tools and methods by linking to prior + versions instead of describing them in current docs +

    OpenACS Developer Documentation Requirements

    + By the OpenACS Community. This section is a collection of + documentation requirements that have been expressed in the + OpenACS forums to 4th July 2003. +

    + OpenACS developer documentation should meet the following requirements. No + significance has been given to the order presented, topic breadth or depth here. +

    • + list documentation assumptions, such as familiarity with + modifying OpenACS packages. All kernel docs are here etc. +

    • + This documentation should be written for ongoing use by + developers, not as a tutorial. +

    • + List of practical development and diagnostics tools and + methodologies. +

    • + List of OpenACS development resources, api-doc, + schema-browser, developer-support package etc. +

    • + Identify each OpenACS subsystem, explain why it is used + (instead of other choices). In the case of subsystems that + are developed outside of OpenACS such as tcl, include + external references to development and reference areas. +

    • + Show current engineering standards and indicate where + changes to the standards are in the works. +

    • + Sections should be dedicated to DotLRN standards as well, if + they are not available elsewhere. +

    • + Add overview diagrams showing the core parts of the + datamodel including an updated summary of Greenspun's + Chapter 4: Data Models and the Object System +

    • + package design guidelines and development process templates + including planning, core functions, testing, usability, and + creating case studies +

    • + Standard package conventions, where to see "model" code, and + guidelines (or where to find them) for: +

      • + programming tcl/sql +

      • + using the acs-api +

      • + ad_form +

      • + coding permissions +

      • + OpenACS objects +

      • + scheduled protocols +

      • + call backs +

      • + directory structure +

      • + user interface +

      • + widgets +

      • + package_name and type_extension_table +

      • + adding optional services, including search, general + comments, attachments, notifications, workflow, CR and + the new CR Tcl API +

      +

    • + Document kernel coding requirements, strategy and guidelines + to help code changers make decisions that meet kernel + designers' criteria +

    OpenACS Documentation Strategy

    + OpenACS documentation development is subject to the + constraints of the software project development and release + methods and cycles (the section called “Using CVS with OpenACS”). + 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. +

    + 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. +

    OpenACS Documentation Strategy: Why DocBook?

    + All OpenACS documentation will be marked up to conform to the + DocBook XML + DTD. Theoretically, any strict DTD would have been + sufficient. We could even write our own, or just use the + OpenACS templating system via the Edit-This-Page package. + However, + + is a publishing standard based on XML with + similar goals to the OpenACS Documentation project. Some specific reasons why we are using DocBook: +

    • + It is open-source. +

    • + A growing community surrounds DocBook (has mailing lists) - and a number of free and commercial +

    • + A number of free and commercial tools are available - for editing and publishing DocBook documents. + for editing and publishing DocBook documents. +

    • + It enables us to publish in a variety of formats. +

    • + XML separates content from presentation: It relieves each + contributor of the burden of presentation, freeing each writer + to focus on content and sharing knowledge. +

    • + It is well tested technology. It has been in development + since the early 1990's). +

    + Reasons why we are using Docbook XML instead of Docbook SGML: +

    • + Consistency and history. We started with a collection + of DocBook XML files that ArsDigita wrote. Trying to re-write them to + conform to the SGML DTD would be unnecessary work. +

    • + XML does not require extra + effort. Writing in XML is almost identical to + SGML, with a couple extra rules. More details in the + LDP Author Guide. +

    • + The tool chain has matured. xsltproc and other XML + based tools have improved to the point where they are about as good as + the SGML tools. Both can output html and pdf formats. +

    + Albeit, the road to using DocBook has had some trials. + In 2002, Docbook still was not fully capable of representing + online books as practiced by book publishers and expected from + readers with regards to usability on the web. That meant + DocBook did not entirely meet OpenACS publishing requirements + at that time.

    - This primer walks you through the basics, and should cover the + In 2004, Docbook released version 4.2, which complies with all + the OpenACS publishing requirements. + Producing a web friendly book hierarchy arguably remains DocBooks' + weakest point. For example, a dynamically built document + should be able to extract details of a specific reference from + a bibliographic (table) and present a footnote at the + point where referenced. DocBook 4.2 allows for this with + bibliocoverage, + bibliorelation, and + bibliosource. DocBook: + The Definitive Guide is a good start for learning how + to represent paper-based books online. +

    + The following DocBook primer walks you through the basics, and should cover the needs for 95 percent of the documentation we produce. However, you're always welcome to check out DocBook's - list of elements and use more exotic features in your + list of elements 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 as long as you remember to: - +

    • - Always close your tags with corresponding end-tags and to - not use other tag minimization -

    • - Write all elements and attributes in lowercase -

    • - Quote all attributes -

    Tools

    + Always close your tags with corresponding end-tags and to + not use other tag minimization +

  • + Write all elements and attributes in lowercase +

  • + Quote all attributes +

  • Tools

    You are going to need the following to work with the OpenACS Docbook XML documentation:

    • - Docbook XML - DTD - The document type definition for XML. You can - find an RPM or DEB package or you can download a zip file from - the site linked from here. -

    • - XSL - Stylesheets (docbook-xsl) - The stylesheets to convert - to HTML. We have been using a stylesheet based upon - NWalsh's chunk.xsl. -

    • - xsltproc - The processor that - will take an XML document and, given a xsl stylesheet, convert - it to HTML. It needs libxml2 and libxslt (available in RPM and - DEB formats or from xmlsoft.org. -

    • - Some editing tool. A popular one is Emacs with the psgml - mode. We have a intro to the PSGML - Mode in Emacs as part of our documentation. You can - read about other editing tools in the LDP Author Guide. -

    Writing New Docs

    + Docbook XML + DTD - The document type definition for XML. You can + find an RPM or DEB package or you can download a zip file from + the site linked from here. +

  • + XSL + Stylesheets (docbook-xsl) - The stylesheets to convert + to HTML. We have been using a stylesheet based upon + NWalsh's chunk.xsl. +

  • + xsltproc - The processor that + will take an XML document and, given a xsl stylesheet, convert + it to HTML. It needs libxml2 and libxslt (available in RPM and + DEB formats or from xmlsoft.org. +

  • + Some editing tool. A popular one is Emacs with the psgml + mode. We have a intro to the PSGML + Mode in Emacs as part of our documentation. You can + read about other editing tools in the LDP Author Guide. +

  • Writing New Docs

    After you have the tools mentioned above, you need to define a title for your document. Then start thinking about the possible sections and subsections you will have in your document. Make @@ -106,7 +687,7 @@ The documentation for each package will make up a little "book" that is structured like this - examples are emphasized: - +

         book                        : Docs for one package - templating
    @@ -130,20 +711,20 @@
           sources of these DocBook documents
           to get an idea of how they are tied together.
         

    Headlines, Sections

    - + Given that your job starts at the sect1-level, all your documents should open with a <sect1>-tag and end with the corresponding </sect1>.

    - + You need to feed every <sect1> two attributes. The first attribute, id, 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 the section called “Links”). The value of id has to be unique throughout the book you're making since the id's in your sect1's will turn into filenames when the book is parsed into HTML.

    - + The other attribute is xreflabel. The value of this is the text that will appear as the link when referring to this sect1.

    @@ -158,7 +739,7 @@ </sect1>

    - + Inside this container your document will be split up into <sect2>'s, each with the same requirements - id and xreflabel @@ -167,7 +748,7 @@ When it comes to naming your sect2's and below, prefix them with some abbreviation of the id in the sect1 such as requirements-overview.

    Code

    - + For displaying a snippet of code, a filename or anything else you just want to appear as a part of a sentence, we will use the tag <computeroutput>. @@ -177,57 +758,57 @@ <programlisting> is used. Just wrap your code block in it; mono-spacing, indents and all that stuff is taken care of automatically.

    Links

    - + Linking falls into two different categories: inside the book you're making and outside:

    1. Inside linking, cross-referencing other parts of your book

    - By having unique id's you can cross-reference any part of your book - with a simple tag, regardless of where that part is. -

    Check out how I link to a subsection of the Developer's Guide:

    Put this in your XML:

    +        By having unique id's you can cross-reference any part of your book
    +        with a simple tag, regardless of where that part is.
    +      

    Check out how I link to a subsection of the Developer's Guide:

    Put this in your XML:

     - Find information about creating a package in
     <xref linkend="packages-making-a-package"></xref>.
     

    And the output is:

     - Find information about creating a package in 
     Making a Package.
     

    - Note that even though this is an empty tag, you have to either: -

    1. - Provide the end-tag, </xref>, or -

    2. - Put a slash before the ending-bracket: <xref linkend="blahblah"/> -

    If the section you link to hasn't a specified xreflabel-attribute, - the link is going to look like this:

    Put this in your XML:

    +        Note that even though this is an empty tag, you have to either:
    +      

    1. + Provide the end-tag, </xref>, or +

    2. + Put a slash before the ending-bracket: <xref linkend="blahblah"/> +

    If the section you link to hasn't a specified xreflabel-attribute, + the link is going to look like this:

    Put this in your XML:

     -Find information about what a package looks like in 
     <xref linkend="packages-looks"></xref>.
     

    And the output is:

     - Find information about what a package looks like in 
     the section called “What a Package Looks Like”.
     

    - Note that since I haven't provided an xreflabel for the subsection, - packages-looks, the - parser will try its best to explain where the link takes you. -

    2. Linking outside the documentation

    - - If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just - a little different + Note that since I haven't provided an xreflabel for the subsection, + packages-looks, the + parser will try its best to explain where the link takes you. +

    2. Linking outside the documentation

    + + If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just + a little different - (<ulink>): + (<ulink>): -

    <ulink url="http://www.oracle.com/">Oracle Corporation</ulink>

    +

    <ulink url="http://www.oracle.com/">Oracle Corporation</ulink>

    - ....will create a hyper-link to Oracle in the HTML-version of the documentation. -

    NOTE: Do NOT use ampersands in your hyper links. These are reserved for referencing - entities, which is exactly how you'll make an ampersand: &amp; + ....will create a hyper-link to Oracle in the HTML-version of the documentation. +

    NOTE: Do NOT use ampersands in your hyper links. These are reserved for referencing + entities, which is exactly how you'll make an ampersand: &amp; -

    Graphics

    +

    Graphics

    NOTE: Currently this section currently only takes HTML-output into consideration - - not a printed version + not a printed version

    - Another Note: Also, it's still not a 100 percent sure that this is how we are going to - do it, so if you want to start converting your documents right away, start out with the ones without graphics ;) + Another Note: Also, it's still not a 100 percent sure that this is how we are going to + do it, so if you want to start converting your documents right away, start out with the ones without graphics ;)

    - + To insert a graphic we use the elements <mediaobject>, <imageobject>, @@ -253,37 +834,37 @@ Put your graphics in a separate directory ("images") and link to them only with relative paths.

    Lists

    - + Here's how you make the DocBook equivalent of the three usual HTML-lists:

    1. How to make an <ul>

    - Making an unordered list is pretty much like doing the same thing in HTML - if you close your <li>, that is. The only differences are that each list item has to be wrapped in something more, such as - <para>, and that the tags are called - <itemizedlist> - and - <listitem>: -

    +        Making an unordered list is pretty much like doing the same thing in HTML - if you close your <li>, that is. The only differences are that each list item has to be wrapped in something more, such as
    +        <para>, and that the tags are called
    +        <itemizedlist>
    +        and
    +        <listitem>:
    +      

     <itemizedlist>
     
       <listitem><para>Stuff goes here</para></listitem>
       <listitem><para>More stuff goes here</para></listitem>
     
     </itemizedlist>
     
    2. How to make an <ol>

    - The ordered list is like the preceding, except that you use - <orderedlist> instead:

    +        The ordered list is like the preceding, except that you use 
    +        <orderedlist> instead:

     <orderedlist>
     
       <listitem><para>Stuff goes here</para></listitem>
       <listitem><para>More stuff goes here</para></listitem>
     
     </orderedlist>
     
    3. How to make a <dl>

    - This kind of list is called a variablelist and these are the tags you'll need to - make it happen: - <variablelist>, - <varlistentry>, - <term> and - <listitem>:

    +        This kind of list is called a variablelist and these are the tags you'll need to 
    +        make it happen:
    +        <variablelist>,
    +        <varlistentry>, 
    +        <term> and
    +        <listitem>:

     <variablelist>
     
       <varlistentry>
    @@ -298,7 +879,7 @@
     
     </variablelist>
     

    Tables

    - + DocBook supports several types of tables, but in most cases, the <informaltable> is enough: @@ -335,7 +916,7 @@ <table> for an example.

    Emphasis

    - + Our documentation uses two flavors of emphasis - italics and bold type. DocBook uses one - <emphasis>.

    @@ -377,40 +958,40 @@

     bash$  xsltproc /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/chunk.xsl filename.xml
     

    - You could also look at the acs-core-docs Makefile - for examples of how these documents are generated. + You could also look at the acs-core-docs Makefile + for examples of how these documents are generated.

    Further Reading

    • Using Xinclude

    • - The LDP Author - Guide has a lot of good information, a table of - docbook elements and their "look" in HTML and lots of good links - for tools. -

    • - David Lutterkort - wrote an intro to the PSGML Mode in Emacs -

    • - For checking if your document is well-formed, James Clark's free Java parser, - XP, is recommended. (note that - it is not a validating parser, but as long as you follow the guidelines set forth in this - document, your XML will validate)

    • - DocBook Tool for Linux: - Let's you convert your docbook documents to a number of formats. Sometimes it's nice to see - how you stuff looks. NOTE: I only got these to - work with Docbook SGML, NOT with Docbook XML. If you are - able to make it work with our XML, please let us know. -

    • - AptConvert from PIXware is a Java editor that will produce - DocBook documents and let you transform them into HTML and PDF for a local preview before you submit. -

    • - In the process of transforming your HTML into XML, - HTML tidy - can be a a handy tool to make your HTML "regexp'able". - Brandoch Calef has made a - Perl script - that gets you most of the way. + The LDP Author + Guide has a lot of good information, a table of + docbook elements and their "look" in HTML and lots of good links + for tools. +

    • + David Lutterkort + wrote an intro to the PSGML Mode in Emacs +

    • + For checking if your document is well-formed, James Clark's free Java parser, + XP, is recommended. (note that + it is not a validating parser, but as long as you follow the guidelines set forth in this + document, your XML will validate)

    • + DocBook Tool for Linux: + Let's you convert your docbook documents to a number of formats. Sometimes it's nice to see + how you stuff looks. NOTE: I only got these to + work with Docbook SGML, NOT with Docbook XML. If you are + able to make it work with our XML, please let us know. +

    • + AptConvert from PIXware is a Java editor that will produce + DocBook documents and let you transform them into HTML and PDF for a local preview before you submit. +

    • + In the process of transforming your HTML into XML, + HTML tidy + can be a handy tool to make your HTML "regexp'able". + Brandoch Calef has made a + Perl script + that gets you most of the way. -

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.4 - Fixed some typos. - 8/3/2002Vinod Kurup
    0.3 - Added OpenACS information, updated tools, added - extra links and added info to the Publishing section. - 12/24/2001Roberto Mello
    0.2Changed recommendation from <phrase> to <emphasis role="strong">01/19/2000Claus Rasmussen
    0.1Creation12/2000Claus Rasmussen
    View comments on this page at openacs.org
    +

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.4 + Fixed some typos. + 8/3/2002Vinod Kurup
    0.3 + Added OpenACS information, updated tools, added + extra links and added info to the Publishing section. + 12/24/2001Roberto Mello
    0.2Changed recommendation from <phrase> to <emphasis role="strong">01/19/2000Claus Rasmussen
    0.1Creation12/2000Claus Rasmussen
    View comments on this page at openacs.org
    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.38 -r1.39 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 29 Jun 2004 15:50:15 -0000 1.38 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 16 Feb 2005 00:21:02 -0000 1.39 @@ -1,4 +1,4 @@ -Constraint naming standard

    Constraint naming standard

    By Michael Bryzek

    +Constraint naming standard

    Constraint naming standard

    By Michael Bryzek

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    The Big Picture

    Index: openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html,v diff -u -r1.38 -r1.39 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 29 Jun 2004 15:50:15 -0000 1.38 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 16 Feb 2005 00:21:02 -0000 1.39 @@ -1,4 +1,4 @@ -ACS File Naming and Formatting Standards

    ACS File Naming and Formatting Standards

    By Michael Yoon and Aurelius Prochazka

    +ACS File Naming and Formatting Standards

    ACS File Naming and Formatting Standards

    By Michael Yoon and Aurelius Prochazka

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Index: openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 29 Jun 2004 15:50:15 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 16 Feb 2005 00:21:02 -0000 1.40 @@ -1,4 +1,4 @@ -PL/SQL Standards

    PL/SQL Standards

    +PL/SQL Standards

    PL/SQL Standards

    By Richard Li and Yon Feldman

    OpenACS docs are written by the named authors, and may be edited Index: openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html,v diff -u -r1.41 -r1.42 --- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 5 Jul 2004 14:24:59 -0000 1.41 +++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 16 Feb 2005 00:21:02 -0000 1.42 @@ -1,4 +1,4 @@ -Release Version Numbering

    Release Version Numbering

    By Ron Henderson

    Revised by Joel Aufrecht

    +Release Version Numbering

    Release Version Numbering

    By Ron Henderson

    Revised by Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    @@ -59,8 +59,32 @@

    Transition Rules

    So what distinguishes an alpha release from a beta release? Or from a production release? We follow a specific set of rules for how OpenACS makes the transition from one state of maturity to -the next. These rules are fine-tuned with each release; an example is 5.0.0 Milestones and Milestone Criteria

    Naming Database Upgrade Scripts

    Database upgrade scripts must be named very precisely in order for the Package Manager to run the correct script at the correct time.

    1. Upgrade scripts should be named /packages/myfirstpackage/sql/postgresql/upgrade/upgrade-OLDVERSION-NEWVERSION.sql

    2. If the version you are working on is a later version than the current released version, OLDVERSION should be the current version. The current version is package version in the APM and in /packages/myfirstpackage/myfirstpackage.info. So if forums is at 2.0.1, OLDVERSION should be 2.0.1d1. Note that this means that new version development that includes an upgrade must start at d2, not d1. +the next. These rules are fine-tuned with each release; an example is 5.0.0 Milestones and Milestone Criteria

    Package Maturity

    + Each package has a maturity level. Maturity level is recorded in the .info file for each major-minor release of OpenACS, + and is set to the appropriate value for that release of the package. +

    +    <version ...>
    +        <provides .../>
    +        <requires .../>
    +        <maturity>1</maturity>
    +        <callbacks>
    +            ...
    +    
    • + Level -1: Incompatible. This package is not supported for this platform and should not be expected to work. +

    • + Level 0: New Submission. This is the default for packages that do not have maturity explicitly set, + and for new contributions. The only criterion for level 0 is that at least one person asserts that it works on a given platform. +

    • + Level 1: Immature. Has no open priority 1 or priority 2 bugs. Has been installed by at least + 10? different people, including 1 core developer. Has been available in a stable release for at least 1 month. Has API documentation. +

    • + Level 2: Mature. Same as Level 1, plus has install guide and user documentation; + no serious deviations from general coding practices; no namespace conflicts with existing level 2 packages. +

    • + Level 3: Mature and Standard. Same as level 2, plus meets published coding standards; + is fully internationalized; available on both supported databases. +

    Naming Database Upgrade Scripts

    Database upgrade scripts must be named very precisely in order for the Package Manager to run the correct script at the correct time.

    1. Upgrade scripts should be named /packages/myfirstpackage/sql/postgresql/upgrade/upgrade-OLDVERSION-NEWVERSION.sql

    2. If the version you are working on is a later version than the current released version, OLDVERSION should be the current version. The current version is package version in the APM and in /packages/myfirstpackage/myfirstpackage.info. So if forums is at 2.0.1, OLDVERSION should be 2.0.1d1. Note that this means that new version development that includes an upgrade must start at d2, not d1.

    3. If you are working on a pre-release version of a package, use the current package version as OLDVERSION. Increment the package version as appropriate (see above) and use the new version as NEWVERSION. For example, if you are working on 2.0.1d3, make it 2.0.1d4 and use upgrade-2.0.1d3-2.0.1d4.sql.

    4. Database upgrades should be confined to development releases, not alpha or beta releases.

    5. Never use a final release number as a NEWVERSION. If you do, then it is impossible to add any more database upgrades without incrementing the overall package version.

    6. Use only the d, a, and b letters in OLDVERSION and NEWVERSION. rc is not supported by OpenACS APM.

    7. The distance from OLDVERSION to NEWVERSION should never span a release. For example if we had a bug fix in acs-kernel on 5.1.0 you wouldn't want a file upgrade-5.0.4-5.1.0d1.sql since if you subsequently need to provide a 5.0.4-5.0.5 upgrade you will have to rename the 5.0.4-5.1.0 upgrade since you can't have upgrades which overlap like that. Instead, use upgrade-5.1.0d1-5.1.0d2.sql -

    ($Id$)
    View comments on this page at openacs.org
    +

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/eng-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards.html,v diff -u -r1.22 -r1.23 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 22 Jun 2004 12:53:44 -0000 1.22 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 16 Feb 2005 00:21:02 -0000 1.23 @@ -1 +1 @@ -Chapter�12.�Engineering Standards
    View comments on this page at openacs.org
    +Chapter�12.�Engineering Standards
    View comments on this page at openacs.org
    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.30 -r1.31 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 5 Jul 2004 14:24:59 -0000 1.30 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 16 Feb 2005 00:21:02 -0000 1.31 @@ -1,4 +1,4 @@ -External Authentication Requirements

    External Authentication Requirements

    Vision

    People have plenty of usernames and passwords already, we +External Authentication Requirements

    External Authentication Requirements

    Vision

    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 other system.

    Besides, administrators have better things to do than create @@ -44,7 +44,7 @@ only one implementation of the authentication API, namly the one included in OpenACS Core.

  • Authentication Driver API: The service contract which authentication drivers implement.

  • Conceptual Pictures

    Authentication:

    -

    Account Management (NO PICTURE YET)

    Batch Synchronization (NO PICTURE YET)

    Requirements

    New API

    FeatureStatusDescription
    EXT-AUTH-01AExtend Authentication/Acct Status API
    EXT-AUTH-03AAccount Creation API
    EXT-AUTH-05APassword Management API
    EXT-AUTH-30AAuthority Management API

    Login

    FeatureStatusDescription
    EXT-AUTH-04ARewrite login, register, and admin pages to use APIs
    EXT-AUTH-38Aad_form complain feature
    EXT-AUTH-19ARewrite password recovery to use API
    EXT-AUTH-21ARewrite email verification with API
    EXT-AUTH-28AUsername is email switch

    Users will log in using a username, a authority, and a +

    Account Management (NO PICTURE YET)

    Batch Synchronization (NO PICTURE YET)

    Requirements

    New API

    FeatureStatusDescription
    EXT-AUTH-01AExtend Authentication/Acct Status API
    EXT-AUTH-03AAccount Creation API
    EXT-AUTH-05APassword Management API
    EXT-AUTH-30AAuthority Management API

    Login

    FeatureStatusDescription
    EXT-AUTH-04ARewrite login, register, and admin pages to use APIs
    EXT-AUTH-38Aad_form complain feature
    EXT-AUTH-19ARewrite password recovery to use API
    EXT-AUTH-21ARewrite email verification with API
    EXT-AUTH-28AUsername is email switch

    Users will log in using a username, a authority, and a password. The authority is the source for user/password verification. OpenACS can be an authority itself.

    Each user in OpenACS will belong to exactly one authority, which can either be the "local" OpenACS users table, in which case the @@ -376,4 +376,4 @@ PAM specification

  • Draft Proposal by Andrew Grumet.

  • Yale CAS, a centrl authentication service a' la - Passport.

  • Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    1Updated work-in-progress for consortium-sponsored ext-auth work at Collaboraid.20 Aug 2003Joel Aufrecht
    View comments on this page at openacs.org
    + Passport.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    1Updated work-in-progress for consortium-sponsored ext-auth work at Collaboraid.20 Aug 2003Joel Aufrecht
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/filename.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/filename.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/filename.html 29 Jun 2004 15:50:15 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/filename.html 16 Feb 2005 00:21:02 -0000 1.40 @@ -1,4 +1,4 @@ -Detailed Design Documentation Template

    Detailed Design Documentation Template

    By You

    Start Note

    +Detailed Design Documentation Template

    Detailed Design Documentation Template

    By You

    Start Note

    NOTE: Some of the sections of this template may not apply to your package, e.g. there may be no user-visible UI elements for a component of the OpenACS Core. Furthermore, it may be easier in some circumstances Index: openacs-4/packages/acs-core-docs/www/for-everyone.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/for-everyone.html,v diff -u -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/for-everyone.html 22 Jun 2004 12:53:46 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/for-everyone.html 16 Feb 2005 00:21:02 -0000 1.20 @@ -1 +1 @@ -Part�I.�OpenACS For Everyone

    View comments on this page at openacs.org
    +Part�I.�OpenACS For Everyone
    View comments on this page at openacs.org
    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.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/form-builder.html 5 Jul 2004 14:24:59 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 16 Feb 2005 00:21:02 -0000 1.21 @@ -1,4 +1,4 @@ -Using HTML Forms

    Using HTML Forms

    Overview

    Multi-part Elements

    Some elements have more than one choice, or can submit more than one value.

    SELECT elements

    1. Creating the form element.�Populate a list of lists with values for the option list.

      set foo_options [db_list_of_lists foo_option_list "
      +Using HTML Forms

      Using HTML Forms

      Overview

      Multi-part Elements

      Some elements have more than one choice, or can submit more than one value.

      SELECT elements

      1. Creating the form element.�Populate a list of lists with values for the option list.

        set foo_options [db_list_of_lists foo_option_list "
             select foo,
                    foo_id
               from foos
        @@ -42,6 +42,6 @@
             ns_log notice the following form was submitted on my page
             ns_set print $mypage
         }
        -    

      Common Errors

      Here are some common errors and what to do when you - encounter them:

      Error when selecting values

      This generally happens when there is an error in your +

    Tips for form widgets

    Here are some tips for dealing with some of the form widgets:

    Current widget

    Common Errors

    Here are some common errors and what to do when you + encounter them:

    Error when selecting values

    This generally happens when there is an error in your query.

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/general-documents.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/general-documents.html,v diff -u -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/general-documents.html 22 Jun 2004 12:53:46 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/general-documents.html 16 Feb 2005 00:21:02 -0000 1.20 @@ -1 +1 @@ -Chapter�1.�High level information: What is OpenACS?

    Chapter�1.�High level information: What is OpenACS?

    View comments on this page at openacs.org
    +Chapter�1.�High level information: What is OpenACS?

    Chapter�1.�High level information: What is OpenACS?

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/groups-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-design.html,v diff -u -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/groups-design.html 22 Jun 2004 12:53:46 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 16 Feb 2005 00:21:02 -0000 1.25 @@ -1,4 +1,4 @@ -Groups Design

    Groups Design

    By Rafael H. Schloming and Mark Thomas

    +Groups Design

    Groups Design

    By Rafael H. Schloming and Mark Thomas

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Essentials

    • User directory

    • Sitewide administrator directory

    • Subsite administrator directory

    • TCL script directory

    • OpenACS 4 Groups Requirements

    • Data model

    • PL/SQL 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.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/groups-requirements.html 22 Jun 2004 12:53:46 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 16 Feb 2005 00:21:02 -0000 1.25 @@ -1,4 +1,4 @@ -Groups Requirements

        Groups Requirements

        By Rafael H. Schloming, Mark Thomas

        +Groups Requirements

        Groups Requirements

        By Rafael H. Schloming, Mark Thomas

        OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

        Introduction

        Almost all database-backed websites have users, and need to model the 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.14 -r1.15 --- openacs-4/packages/acs-core-docs/www/high-avail.html 5 Jul 2004 14:24:59 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/high-avail.html 16 Feb 2005 00:21:02 -0000 1.15 @@ -1 +1 @@ -High Availability/High Performance Configurations

        High Availability/High Performance Configurations

        See also the section called “Running a PostgreSQL database on another server”.

        Figure�6.1.�Multiple-server configuration

        Multiple-server configuration
        View comments on this page at openacs.org
        +High Availability/High Performance Configurations

        High Availability/High Performance Configurations

        See also the section called “Running a PostgreSQL database on another server”.

        Figure�6.1.�Multiple-server configuration

        Multiple-server configuration
        View comments on this page at openacs.org
        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.17 -r1.18 --- openacs-4/packages/acs-core-docs/www/how-do-I.html 5 Jul 2004 14:24:59 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/how-do-I.html 16 Feb 2005 00:21:02 -0000 1.18 @@ -1,6 +1,6 @@ -How Do I?

        How Do I?

        How do I edit the front page of a new site through a web interface?

        The easiest way is to install the Edit-This-Page package.

        1. Log in to the web site as an administrator.

        2. Click on Admin > Install Software > Install from OpenACS Repository / Install new application

        3. Choose Edit This Page and install

        4. Follow the instructions within Edit This Page (the link will only work after Edit This Page is installed).

        How do I let anybody who registers post to a weblog?

        Go to /admin/permissions and grant Create to Registered Users

        How do I replace the front page of a new site with the front page of an application on that site

        Suppose you install a new site and install Weblogger, and you want all visitors to see weblogger automatically.

        1. On the front page, click the Admin button.

        2. On the administration page, click Parameters link.

        3. Change the parameter IndexRedirectUrl to be the URI of the desired application. For a default weblogger installation, this would be weblogger/. Note the trailing slash.

        How do I put custom functionality on front page of a new site?

        Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. 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:

        1. cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-subsite/www/index* /var/lib/aolserver/$OPENACS_SERVICE_NAME/www
        2. Edit the new index.adp to change the text; you shouldn't need to edit index.tcl unless you are adding new functionality.

        How do I change the site-wide style?

        Almost all pages on an OpenACS site use ACS Templating, and so their appearance is driven by a layer of different files. Let's examine how this works:

        • +How Do I?

          How Do I?

          How do I edit the front page of a new site through a web interface?

          The easiest way is to install the Edit-This-Page package.

          1. Log in to the web site as an administrator.

          2. Click on Admin > Install Software > Install from OpenACS Repository / Install new application

          3. Choose Edit This Page and install

          4. Follow the instructions within Edit This Page (the link will only work after Edit This Page is installed).

          How do I let anybody who registers post to a weblog?

          Go to /admin/permissions and grant Create to Registered Users

          How do I replace the front page of a new site with the front page of an application on that site

          Suppose you install a new site and install Weblogger, and you want all visitors to see weblogger automatically.

          1. On the front page, click the Admin button.

          2. On the administration page, click Parameters link.

          3. Change the parameter IndexRedirectUrl to be the URI of the desired application. For a default weblogger installation, this would be weblogger/. Note the trailing slash.

          How do I put custom functionality on front page of a new site?

          Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. 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:

          1. cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-subsite/www/index* /var/lib/aolserver/$OPENACS_SERVICE_NAME/www
          2. Edit the new index.adp to change the text; you shouldn't need to edit index.tcl unless you are adding new functionality.

          How do I change the site-wide style?

          Almost all pages on an OpenACS site use ACS Templating, and so their appearance is driven by a layer of different files. Let's examine how this works:

          • A templated page uses an ADP/TCL pair. The first line in the ADP file is usually:

            <master>

            If it appears exactly like this, without any arguments, the template processer uses default-master for that subsite. For pages in /var/lib/aolserver/$OPENACS_SERVICE_NAME/www, this is /var/lib/aolserver/$OPENACS_SERVICE_NAME/www/default-master.adp and the associated .tcl file. -

          • The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/site-master.adp and .tcl)

          • The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/blank-master.adp and .tcl).

          • Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.

          Figure�4.1.�Site Templates

          Site Templates

          How do I diagnose a permissions problem?

          • Steps to Reproduce.�The events package does not allow users to register for new events.

            1. 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.

            2. Select an available event

            3. A link such as Registration: Deadline is 03/15/2004 10:00am. +

            4. The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/site-master.adp and .tcl)

            5. The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/blank-master.adp and .tcl).

            6. Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.

          Figure�4.1.�Site Templates

          Site Templates

          How do I diagnose a permissions problem?

          • Steps to Reproduce.�The events package does not allow users to register for new events.

            1. 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.

            2. Select an available event

            3. A link such as Registration: Deadline is 03/15/2004 10:00am. � Login or sign up to register for this event. is visible. Click on "Login or sign up" -

            4. Complete a new registration. Afterwards, you should be redirected back to the same page.

            Actual Results: The page says "You do not have permission to register for this event."

            Expected results: A link or form to sign up for the event is shown.

          • Finding the problem.�We start with the page that has the error. In the URL it's http://myserver.net/events/event-info.tcl, so open the file /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/events/www/event-info.tcl. It contains this line:

            set can_register_p [events::security::can_register_for_event_p -event_id $event_id]

            We need to know what that procedure does, so go to /api-doc, 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

            return [permission::permission_p -party_id $user_id -object_id $event_id -privilege write]

            This means that a given user must have the write privilige on the event in order to register. Let's assume that the priviliges inherit, so that if a user has the write privilige on the whole package, they will have the write privilege on the event.

          • Setting Permissions.�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 subject is all Registered Users.

            1. To grant permissions on a package, start at the site map. Find the event package and click "Set permissions".

            2. Click "Grant Permission"

            3. Grant the write permission to Registered Users.

              Figure�4.2.�Granting Permissions

              Granting Permissions

            OpenACS 5.0 offers a prettier version at /admin/applications.

            Figure�4.3.�Granting Permissions in 5.0

            Granting Permissions in 5.0
          View comments on this page at openacs.org
          +

        • Complete a new registration. Afterwards, you should be redirected back to the same page.

        Actual Results: The page says "You do not have permission to register for this event."

        Expected results: A link or form to sign up for the event is shown.

      • Finding the problem.�We start with the page that has the error. In the URL it's http://myserver.net/events/event-info.tcl, so open the file /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/events/www/event-info.tcl. It contains this line:

        set can_register_p [events::security::can_register_for_event_p -event_id $event_id]

        We need to know what that procedure does, so go to /api-doc, 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

        return [permission::permission_p -party_id $user_id -object_id $event_id -privilege write]

        This means that a given user must have the write privilige on the event in order to register. Let's assume that the priviliges inherit, so that if a user has the write privilige on the whole package, they will have the write privilege on the event.

      • Setting Permissions.�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 subject is all Registered Users.

        1. To grant permissions on a package, start at the site map. Find the event package and click "Set permissions".

        2. Click "Grant Permission"

        3. Grant the write permission to Registered Users.

          Figure�4.2.�Granting Permissions

          Granting Permissions

        OpenACS 5.0 offers a prettier version at /admin/applications.

        Figure�4.3.�Granting Permissions in 5.0

        Granting Permissions in 5.0
    View comments on this page at openacs.org
    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.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/i18n-convert.html 5 Jul 2004 14:24:59 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/i18n-convert.html 16 Feb 2005 00:21:02 -0000 1.17 @@ -1,4 +1,4 @@ -How to Internationalize a Package

    How to Internationalize a Package

    Tip

    +How to Internationalize a Package

    How to Internationalize a Package

    Tip

    For multilingual websites we recommend using the UTF8 charset. In order for AOLserver to use utf8 you need to set the config parameters OutputCharset and @@ -71,7 +71,7 @@ test. If you don't provide the package_key argument then all packages with catalog files will be checked. The script will run its checks primarily on en_US xml catalog files. -

    Avoiding common i18n mistakes

    • Replace complicated keys with longer, simpler keys.�When writing in one language, it is possible to create clever code to make correct text. In English, for example, you can put an if 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 result in message keys that are both confusing and impossible to set correctly in some languages. While internationalizing, watch out that the automate converter does not create such keys. Also, refactor compound text as you encounter it.

      The automated system can easily get confused by tags within message texts, so that it tries to create two or three message keys 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 class="form-help-text"><b>Invitations</b> are sent,
      +      

    Avoiding common i18n mistakes

    Table�6.1.�How it Works

    ProgramInvoked by this program ...... using this fileWhere to find errorsLog goes toUse these commands to control it
    svscanboot +

    Table�6.1.�How it Works

    ProgramInvoked by this program ...... using this fileWhere to find errorsLog goes toUse these commands to control it
    svscanboot init/etc/inittabps -auxw | grep readproctitlen/a
    aolserversupervise (a child of svscanboot)/service/$OPENACS_SERVICE_NAME/run/var/lib/aolserver/$OPENACS_SERVICE_NAME/log/error.log/var/lib/aolserver/$OPENACS_SERVICE_NAME/log/$OPENACS_SERVICE_NAME.logsvc -k /service/$OPENACS_SERVICE_NAME
    postgresqlRedhat init scripts during boot/etc/init.d/postgresql/usr/local/pgsql/data/server.logservice postgresql start (Red Hat), /etc/init.d/postgresql start (Debian)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-origins.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-origins.html,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/install-origins.html 22 Jun 2004 12:53:52 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/install-origins.html 16 Feb 2005 00:21:03 -0000 1.9 @@ -1,4 +1,4 @@ -Where did this document come from?

    Where did this document come from?

    +Where did this document come from?

    Where did this document come from?

    This document was created by Vinod Kurup, but it's really just plagiarism from a number of documents that came before it. If I've used something that you've written without proper credit, let me Index: openacs-4/packages/acs-core-docs/www/install-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-overview.html,v diff -u -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/install-overview.html 22 Jun 2004 12:53:52 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/install-overview.html 16 Feb 2005 00:21:03 -0000 1.25 @@ -1,4 +1,4 @@ -Chapter�2.�Installation Overview

    Chapter�2.�Installation Overview

    by Vinod Kurup

    +Chapter�2.�Installation Overview

    Chapter�2.�Installation Overview

    by Vinod Kurup

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
    View comments on this page at openacs.org
    Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/install-pam-radius.html'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-core-docs/www/install-php.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-php.html,v diff -u -r1.6 -r1.7 --- openacs-4/packages/acs-core-docs/www/install-php.html 22 Jun 2004 12:53:53 -0000 1.6 +++ openacs-4/packages/acs-core-docs/www/install-php.html 16 Feb 2005 00:21:03 -0000 1.7 @@ -1,11 +1,11 @@ -Install PHP for use in AOLserver

    Install PHP for use in AOLserver

    By Malte Sussdorff

    +Install PHP for use in AOLserver

    Install PHP for use in AOLserver

    By Malte Sussdorff

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    To be able to use PHP software with AOLserver (and OpenACS), you have to install PHP with AOLserver support. Get the latest version from www.php.net. For convenience we get version 4.3.4 from a mirror

    [root root]# cd /usr/local/src
     [root src]# wget http://de3.php.net/distributions/php-4.3.4.tar.gz
     [root src]# tar xfz php-4.3.4.tar.gz
     [root src]# cd php-4.3.4
     [root php-4.3.4]# cd php-4.3.4
    -[root php-4.3.4]#  ./configure --with-aolserver=/usr/local/aolserver/ --with-pgsql=/usr/local/pg74 --without-mysql
    +[root php-4.3.4]#  ./configure --with-aolserver=/usr/local/aolserver/ --with-pgsql=/usr/local/pgsql --without-mysql
     [root php-4.3.4]# make install
           

    Once installed you can enable this by configuring your config file. Make sure your config file supports php (it should have a php section with it). Furthermore add index.php as the last element to your directoryfile directive.

    View comments on this page at openacs.org
    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.31 -r1.32 --- openacs-4/packages/acs-core-docs/www/install-qmail.html 5 Jul 2004 14:24:59 -0000 1.31 +++ openacs-4/packages/acs-core-docs/www/install-qmail.html 16 Feb 2005 00:21:03 -0000 1.32 @@ -1,4 +1,4 @@ -Install qmail (OPTIONAL)

    Install qmail (OPTIONAL)

    Qmail is a Mail Transfer Agent. It handles incoming and +Install qmail (OPTIONAL)

    Install qmail (OPTIONAL)

    Qmail is a 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't want to use an alternate MTA.

    Red Hat 9: all djb tools (qmail, daemontools, ucspi) will @@ -29,7 +29,7 @@ tcpserver: usage: tcpserver [ -1UXpPhHrRoOdDqQv ] [ -c limit ] [ -x rules.cdb ] [ -B banner ] [ -g gid ] [ -u uid ] [ -b backlog ] [ -l localname ] [ -t timeout ] host port program [root ucspi-tcp-0.88]# -

    +

    (I'm not sure if this next step is 100% necessary, but when I skip it I get problems. If you get the error 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) then you need to do this.) AOLserver sends outgoing mail via the ns_sendmail command, which pipes a command to the sendmail executable. Or, in our @@ -40,10 +40,10 @@ Unless this mail is addressed to the same machine, qmail thinks that it's an attempt to relay mail, and rejects it. So these two commands set up an exception so that any mail sent from 127.0.0.1 is allowed to -send outgoing mail.

    [root ucspi-tcp-0.88]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp
    +send outgoing mail.

    [root ucspi-tcp-0.88]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp
     [root ucspi-tcp-0.88]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
    -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp 
    -tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 
  • Install Qmail.�

    Download qmail, +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp +tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

  • Install Qmail.�

    Download qmail, set up the standard supporting users and build the binaries:

    [root root]# cd /usr/local/src
     [root src]# wget http://www.qmail.org/netqmail-1.04.tar.gz
     [root src]# tar xzf netqmail-1.04.tar.gz
    @@ -102,7 +102,7 @@
     cd netqmail-1.04
     ./collate.sh
     cd netqmail-1.04
    -make setup check

    Replace sendmail with qmail's wrapper.

    [root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail
    +make setup check

    Replace sendmail with qmail's wrapper.

    [root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail
     [root qmail-1.03]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
     [root qmail-1.03]#
     rm -f /usr/bin/sendmail /usr/sbin/sendmail
    @@ -124,13 +124,13 @@
     cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root 
     chmod 644 ~alias/.qmail* 
     /var/qmail/bin/maildirmake ~alias/Maildir/ 
    -chown -R alias.nofiles /var/qmail/alias/Maildir

    Configure qmail to use the Maildir delivery format +chown -R alias.nofiles /var/qmail/alias/Maildir

    Configure qmail to use the Maildir delivery format (instead of mbox), and install a version of the qmail startup script modified to use Maildir.

    [root alias]# echo "./Maildir" > /var/qmail/bin/.qmail
    -[root alias]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc
    +[root alias]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc
     [root alias]# chmod 755 /var/qmail/rc
     [root alias]# 
     echo "./Maildir" > /var/qmail/bin/.qmail 
    -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc 
    +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc 
     chmod 755 /var/qmail/rc 
     

    Set up the skeleton directory so that new users will be configured for qmail.

    [root root]# /var/qmail/bin/maildirmake /etc/skel/Maildir
    @@ -142,13 +142,13 @@
     [root root]# mkdir -p /var/qmail/supervise/qmail-smtpd/log
     [root root]# mkdir /var/log/qmail
     [root root]# chown qmaill /var/log/qmail
    -[root root]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl
    +[root root]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl
     [root root]# chmod 755 /var/qmail/bin/qmailctl
     [root root]# ln -s /var/qmail/bin/qmailctl /usr/bin
    -[root root]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run 
    -[root root]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run
    -[root root]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run
    -[root root]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run
    +[root root]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run 
    +[root root]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run
    +[root root]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run
    +[root root]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run
     [root root]# chmod 755 /var/qmail/supervise/qmail-send/run
     [root root]# chmod 755 /var/qmail/supervise/qmail-send/log/run
     [root root]# chmod 755 /var/qmail/supervise/qmail-smtpd/run
    @@ -159,13 +159,13 @@
     mkdir -p /var/qmail/supervise/qmail-smtpd/log
     mkdir /var/log/qmail
     chown qmaill /var/log/qmail
    -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl
    +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl
     chmod 755 /var/qmail/bin/qmailctl
     ln -s /var/qmail/bin/qmailctl /usr/bin
    -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run
    -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run
    -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run
    -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run
    +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run
    +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run
    +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run
    +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run
     chmod 755 /var/qmail/supervise/qmail-send/run
     chmod 755 /var/qmail/supervise/qmail-send/log/run
     chmod 755 /var/qmail/supervise/qmail-smtpd/run
    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.31 -r1.32
    --- openacs-4/packages/acs-core-docs/www/install-redhat.html	5 Jul 2004 14:24:59 -0000	1.31
    +++ openacs-4/packages/acs-core-docs/www/install-redhat.html	16 Feb 2005 00:21:03 -0000	1.32
    @@ -1,4 +1,4 @@
    -Appendix�A.�Install Red Hat 8/9

    Appendix�A.�Install Red Hat 8/9

    by Joel Aufrecht

    +Appendix�A.�Install Red Hat 8/9

    Appendix�A.�Install Red Hat 8/9

    by Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    This section takes a blank PC and sets up some supporting @@ -26,7 +26,7 @@

    1. Unplug the network cable from your computer. We don't want to connect to the network until we're sure the computer is secure. - + (Wherever you see the word secure, you should always read it as, "secure enough for our purposes, given the amount of work we're @@ -54,7 +54,7 @@ Review (and modify if needed) the partitions created and click Next

    2. On the pop-up window asking "Are you sure you want to do this?" click Yes - IF YOU ARE WIPING YOUR HARD DRIVE.

    3. Click Next on the boot loader screen

  • Configure Networking. + IF YOU ARE WIPING YOUR HARD DRIVE.

  • Click Next on the boot loader screen

  • Configure Networking. 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.

    1. DHCP is a system by which a computer that @@ -75,7 +75,7 @@ Mail (SMTP). In the Other ports box, enter 443, 8000, 8443. Click Next. -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.

  • Select any additional languages you want the +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.

  • Select any additional languages you want the computer to support and then click Next

  • Choose your time zone and click Next.

  • Type in a root password, twice.

  • On the Package selection page, we're going to @@ -87,13 +87,13 @@ 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. -

    check Editors (this installs emacs),
    click Details next to Text-based Internet, check lynx, and click OK;
    check Authoring and Publishing (this installs docbook),
    uncheck Server Configuration Tools,
    uncheck Web Server,
    uncheck Windows File Server,
    check SQL Database Server (this installs PostgreSQL),
    check Development Tools (this installs gmake and other build tools),
    uncheck Administration Tools, and
    uncheck Printing Support.

    At the bottom, check Select Individual Packages and click Next

  • We need to fine-tune the exact list of packages. +

    check Editors (this installs emacs),
    click Details next to Text-based Internet, check lynx, and click OK;
    check Authoring and Publishing (this installs docbook),
    uncheck Server Configuration Tools,
    uncheck Web Server,
    uncheck Windows File Server,
    check SQL Database Server (this installs PostgreSQL),
    check Development Tools (this installs gmake and other build tools),
    uncheck Administration Tools, and
    uncheck Printing Support.

    At the bottom, check Select Individual Packages and click Next

  • We need to fine-tune the exact list of packages. The same rules apply as in the last step - you can add more stuff, but you shouldn't remove anything the guide adds. We're going to go through all the packages in one big list, so select Flat View and wait. In a minute, a -list of packages will appear.

    uncheck apmd (monitors power, not very useful for servers),
    check ImageMagick (required for the photo-album packages,
    uncheckisdn4k-utils (unless you are using isdn, this installs a useless daemon),
    check mutt (a mail program that reads Maildir),
    uncheck nfs-utils (nfs is a major security risk),
    uncheck pam-devel (I don't remember why, but we don't want this),
    uncheck portmap,
    uncheck postfix (this is an MTA, but we're going to install qmail later),
    check postgresql-devel,
    uncheck rsh (rsh is a security hole),
    uncheck sendmail (sendmail is an insecure MTA; we're going to install qmail instead later),
    check tcl (we need tcl), and
    uncheck xinetd (xinetd handles incoming tcp connections. We'll install a different, more secure program, ucspi-tcp).
    Click Next
  • Red Hat isn't completely happy with the combination +list of packages will appear.

    uncheck apmd (monitors power, not very useful for servers),
    check ImageMagick (required for the photo-album packages,
    uncheckisdn4k-utils (unless you are using isdn, this installs a useless daemon),
    check mutt (a mail program that reads Maildir),
    uncheck nfs-utils (nfs is a major security risk),
    uncheck pam-devel (I don't remember why, but we don't want this),
    uncheck portmap,
    uncheck postfix (this is an MTA, but we're going to install qmail later),
    check postgresql-devel,
    uncheck rsh (rsh is a security hole),
    uncheck sendmail (sendmail is an insecure MTA; we're going to install qmail instead later),
    check tcl (we need tcl), and
    uncheck xinetd (xinetd handles incoming tcp connections. We'll install a different, more secure program, ucspi-tcp).
    Click Next
  • Red Hat isn't completely happy with the combination of packages we've selected, and wants to satisfy some dependencies. Don't let it. On the next screen, choose Ignore Package @@ -119,7 +119,7 @@ upgrading all of that. Since you are upgrading the kernel, reboot after this step.

  • Lock down SSH

    1. - + 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 @@ -174,7 +174,7 @@ do it for the kernel; you should also check for other critical packages.

      Upgrade the kernel to fix a security hole. The default Red Hat 8.0 system kernel (2.4.18-14, which you can check - with uname -a) has several security problems. Download the new kernel, install it, and reboot.

      [root root]# cd /tmp
      +          with uname -a) has several security problems.  Download the new kernel, install it, and reboot.

      [root root]# cd /var/tmp
       [root tmp]# wget http://updates.redhat.com/7.1/en/os/i686/kernel-2.4.18-27.7.x.i686.rpm
       --20:39:00--  http://updates.redhat.com/7.1/en/os/i686/kernel-2.4.18-27.7.x.i686.rpm
                  => `kernel-2.4.18-27.7.x.i686.rpm'
      @@ -197,7 +197,7 @@
       
       The system is going down for reboot NOW!
       [root tmp]#
      -cd /tmp
      +cd /var/tmp
       wget http://updates.redhat.com/7.1/en/os/i686/kernel-2.4.18-27.7.x.i686.rpm
       rpm -Uvh kernel-2.4.18-27.7.x.i686.rpm
       reboot
  • View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-resources.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-resources.html,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/install-resources.html 22 Jun 2004 12:53:54 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/install-resources.html 16 Feb 2005 00:21:03 -0000 1.9 @@ -1,4 +1,4 @@ -Resources

    Resources

    +Resources

    Resources

    Here are some resources that OpenACS users have found useful.

    Books

    • Index: openacs-4/packages/acs-core-docs/www/install-squirrelmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-squirrelmail.html,v diff -u -r1.7 -r1.8 --- openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 22 Jun 2004 12:53:54 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 16 Feb 2005 00:21:03 -0000 1.8 @@ -1,4 +1,4 @@ -Install Squirrelmail for use as a webmail system for OpenACS

      Install Squirrelmail for use as a webmail system for OpenACS

      By Malte Sussdorff

      +Install Squirrelmail for use as a webmail system for OpenACS

      Install Squirrelmail for use as a webmail system for OpenACS

      By Malte Sussdorff

      OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

      This section is work in progress. It will detail how you can install Squirrelmail as a webmail frontend for OpenACS, thereby neglecting the need to have a seperate webmail package within OpenACS

      [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]# cd www
      @@ -7,4 +7,4 @@
       [$OPENACS_SERVICE_NAME www]# mv squirrelmail-1.4.2 mail
       [$OPENACS_SERVICE_NAME www]# cd mail/config
       [$OPENACS_SERVICE_NAME www]# ./conf.pl
      -      

      Now you are about to configure Squirrelmail. The configuration heavily depends on your setup, so no instructions are given here.

      View comments on this page at openacs.org
      +

      Now you are about to configure Squirrelmail. The configuration heavily depends on your setup, so no instructions are given here.

      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/install-ssl.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-ssl.html,v diff -u -r1.6 -r1.7 --- openacs-4/packages/acs-core-docs/www/install-ssl.html 22 Jun 2004 12:53:54 -0000 1.6 +++ openacs-4/packages/acs-core-docs/www/install-ssl.html 16 Feb 2005 00:21:03 -0000 1.7 @@ -1,9 +1,11 @@ -Installing SSL Support for an OpenACS service

      Installing SSL Support for an OpenACS service

      Debian Users: apt-get install openssl before proceeding.

      1. Make sure nsopenssl.so is installed for AOLserver.

      2. Uncomment this line from config.tcl.

        #ns_param   nsopenssl       ${bindir}/nsopenssl.so
        +Installing SSL Support for an OpenACS service

        Installing SSL Support for an OpenACS service

        Debian Users: apt-get install openssl before proceeding.

        1. Make sure nsopenssl.so is installed for AOLserver.

        2. Uncomment this line from config.tcl.

          #ns_param   nsopenssl       ${bindir}/nsopenssl.so
           
        3. Prepare a certificate directory for the service.

          [$OPENACS_SERVICE_NAME etc]$ mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs
           [$OPENACS_SERVICE_NAME etc]$ chmod 700 /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs
           [$OPENACS_SERVICE_NAME etc]$ 
           mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs
          -chmod 700 /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs
        4. It takes two files to support an SSL connection. The certificate is the public half of the key pair - the server sends the certificate to browser requesting ssl. The key is the private half of the key pair. In addition, the certificate must be signed by Certificate Authority or browsers will protest. Each web browser ships with a built-in list of acceptable Certificate Authorities (CAs) and their keys. Only a site certificate signed by a known and approved CA will work smoothly. Any other certificate will cause browsers to produce some messages or block the site. Unfortunately, getting a site certificate signed by a CA costs money. In this section, we'll generate an unsigned certificate which will work in most browsers, albeit with pop-up messages.

          Use an OpenSSL perl script to generate a certificate and key.

          [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs
          +chmod 700 /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs
        5. It takes two files to support an SSL connection. The certificate is the public half of the key pair - the server sends the certificate to browser requesting ssl. The key is the private half of the key pair. In addition, the certificate must be signed by Certificate Authority or browsers will protest. Each web browser ships with a built-in list of acceptable Certificate Authorities (CAs) and their keys. Only a site certificate signed by a known and approved CA will work smoothly. Any other certificate will cause browsers to produce some messages or block the site. Unfortunately, getting a site certificate signed by a CA costs money. In this section, we'll generate an unsigned certificate which will work in most browsers, albeit with pop-up messages.

          Use an OpenSSL perl script to generate a certificate and key.

          + Debian users: use /usr/lib/ssl/misc/CA.pl instead of /usr/share/ssl/CA +

          [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs
           [$OPENACS_SERVICE_NAME certs]$ perl /usr/share/ssl/misc/CA -newcert
           Using configuration from /usr/share/ssl/openssl.cnf
           Generating a 1024 bit RSA private key
          @@ -22,4 +24,8 @@
           S/Sd2MYA0JVmQuIt5bYowXR1KYKDka1d3DUgtoVTiFepIRUrMkZlCli08mWVjE6T
           (11 lines omitted)
           1MU24SHLgdTfDJprEdxZOnxajnbxL420xNVc5RRXlJA8Xxhx/HBKTw==
          ------END RSA PRIVATE KEY-----
        View comments on this page at openacs.org
        +-----END RSA PRIVATE KEY-----
      3. + 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. +
      View comments on this page at openacs.org
      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.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/install-steps.html 5 Jul 2004 14:24:59 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 16 Feb 2005 00:21:03 -0000 1.26 @@ -1,22 +1,25 @@ -Basic Steps

      Basic Steps

      - The basic steps for getting OpenACS installed are: +Basic Steps

      Basic Steps

      + The basic steps for installing OpenACS are:

      1. Install an OS and supporting software (see Install a Unix-like OS or Appendix�A, Install Red Hat 8/9 for more details). See the Table�2.2, “Version Compatibility Matrix”.

      2. Install a database (see the section called “Install Oracle 8.1.7” or Install PostgreSQL).

      3. Install AOLserver (Install AOLserver 4) .

      4. 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 Install OpenACS 5.2.0d1).

      There are specific instructions available for Mac OS X and - Windows2000 available (see the section called “OpenACS Installation Guide for Mac OS X” or - the section called “OpenACS Installation Guide for Windows2000” for those).

      Binaries and other shortcuts

      1. The patched version of AOLserver we use is not currently + (see Install OpenACS 5.2.0d1).

      Specific instructions are available for Mac OS X and + Windows2000 (see the section called “OpenACS Installation Guide for Mac OS X” or + the section called “OpenACS Installation Guide for Windows2000”).

      Binaries and other shortcuts

      You can try out OpenACS using some binary installers. In + general, they are not yet supported by the community, so they are + mostly for evaluation purposes. Installing + OpenACS

      1. The patched version of AOLserver we use is not currently available in a precompiled binary.

      2. The packaged version of - PostgreSQL in Debian and Red Hat and FreeBSD ports works fine.

      3. Once AOLserver and a database are installed, a bash script automates the OpenACS checkout and + PostgreSQL in Debian, Red Hat, and FreeBSD ports works fine.

      4. Once AOLserver and a database are installed, a bash script automates the OpenACS checkout and installation.

      System Requirements

      You will need a PC (or equivalent) with at least these minimum - requirements: + specifications:

      • 128MB RAM (much more if you want Oracle)

      • 1GB free space on your hard drive (much more if you want Oracle)

      • A Unix-like operating system with Tcl, tDOM, and a mail transport agent like sendmail or qmail. (see the section called “Prerequisite Software”)

      - All of the software mentioned is free and open-source, + 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 Acquire Oracle section.

      How to use this guide

      • This is text you will see on @@ -37,9 +40,9 @@ su - $OPENACS_SERVICE_NAME svc -d /service/$OPENACS_SERVICE_NAME dropdb $OPENACS_SERVICE_NAME -createdb $OPENACS_SERVICE_NAME

        Setting a global shell variable for cut and paste.�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 /etc/profile and add this line:

        export OPENACS_SERVICE_NAME=service0

      Paths and Users

      Table�2.1.�Default directories for a standard install

      Fully qualified domain name of your serveryourserver.test
      name of administrative access accountremadmin
      OpenACS service$OPENACS_SERVICE_NAME (set to service0 in default install)
      OpenACS service account$OPENACS_SERVICE_NAME
      OpenACS database name$OPENACS_SERVICE_NAME
      Root of OpenACS service file tree (SERVERROOT)/var/lib/aolserver/$OPENACS_SERVICE_NAME
      Location of source code tarballs for new software/tmp
      The OpenACS tarball contains some files which +createdb $OPENACS_SERVICE_NAME

      Setting a global shell variable for cut and paste.�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 /etc/profile ( /etc/share/skel/dot.profile for FreeBSD) and add this line:

      export OPENACS_SERVICE_NAME=service0

      Paths and Users

      Table�2.1.�Default directories for a standard install

      Fully qualified domain name of your serveryourserver.test
      name of administrative access accountremadmin
      OpenACS service$OPENACS_SERVICE_NAME (set to service0 in default install)
      OpenACS service account$OPENACS_SERVICE_NAME
      OpenACS database name$OPENACS_SERVICE_NAME
      Root of OpenACS service file tree (SERVERROOT)/var/lib/aolserver/$OPENACS_SERVICE_NAME
      Location of source code tarballs for new software/var/tmp
      The OpenACS tarball contains some files which are useful while setting up other software. Those - files are located at:/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files
      Database backup directory/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup
      Service config files/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc
      Service log files/var/lib/aolserver/$OPENACS_SERVICE_NAME/log
      Compile directory/usr/local/src
      PostgreSQL directory/usr/local/pgsql
      AOLserver directory/usr/local/aolserver

      + files are located at:

      /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files
      Database backup directory/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup
      Service config files/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc
      Service log files/var/lib/aolserver/$OPENACS_SERVICE_NAME/log
      Compile directory/usr/local/src
      PostgreSQL directory/usr/local/pgsql
      AOLserver directory/usr/local/aolserver

      None of these locations are set in stone - they're simply the values that we've chosen. The values that you'll probably want to change, such as service name, are Index: openacs-4/packages/acs-core-docs/www/install-tclwebtest.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-tclwebtest.html,v diff -u -r1.11 -r1.12 --- openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 22 Jun 2004 12:53:54 -0000 1.11 +++ openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 16 Feb 2005 00:21:03 -0000 1.12 @@ -1,6 +1,6 @@ -Install tclwebtest.

      Install tclwebtest.

      Download the tclwebtest +Install tclwebtest.

      Install tclwebtest.

      Download the tclwebtest source, unpack it, and put it an appropriate - place. (tclwebtest 1.0 will be required for auto-tests in OpenACS 5.1. When it exists, the cvs command here will be replaced with http://prdownloads.sourceforge.net/tclwebtest/tclwebtest-0.3.tar.gz?download.) As root:

      cd /tmp
      +      place.  (tclwebtest 1.0 will be required for auto-tests in OpenACS 5.1.  When it exists, the cvs command here will be replaced with http://prdownloads.sourceforge.net/tclwebtest/tclwebtest-0.3.tar.gz?download.) As root:

      cd /var/tmp
       cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tclwebtest co tclwebtest
       #wget http://umn.dl.sourceforge.net/sourceforge/tclwebtest/tclwebtest-1.0.tar.gz
       #tar xvzf tclwebtest-1-0.tar.gz
      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.19 -r1.20
      --- openacs-4/packages/acs-core-docs/www/ix01.html	5 Jul 2004 14:24:59 -0000	1.19
      +++ openacs-4/packages/acs-core-docs/www/ix01.html	16 Feb 2005 00:21:03 -0000	1.20
      @@ -1,2 +1,2 @@
      -Index

      Index

      Symbols

      $OPENACS_SERVICE_NAME, Paths and Users

      C

      computeroutput
      code, Code
      cvs
      initializing, Initialize CVS (OPTIONAL)
      setup, Using CVS with an OpenACS Site

      D

      daemontools
      installation, Install Daemontools (OPTIONAL)
      docbook
      installation, Install Red Hat 8/9
      DocBook
      DTD, Why DocBook?
      emacs configuration for, Add PSGML commands to emacs init file (OPTIONAL)
      Document structure, Document Structure

      E

      emacs
      installation, Install Red Hat 8/9
      emphasis
      bold, italics, Emphasis

      G

      Graphics
      Images, Graphics

      I

      informaltable
      table, Tables

      L

      language
      installation, Install Red Hat 8/9
      Linking, Links
      lists, Lists

      O

      OpenACS Package, What a Package Looks Like

      P

      photo-album
      installation (see ImageMagick)
      Postgres
      Vacuuming, Installation Option 2: Install from tarball

      Q

      qmail
      installation, Install qmail (OPTIONAL)
      Maildir, Install qmail (OPTIONAL)
      rcpthosts error message, Install qmail (OPTIONAL)

      T

      The publish point for new packages should be - fixed., Prepare the package for distribution.

      U

      ulink, Links
      Unicode
      in PostgreSQL, Install PostgreSQL
      upgrade
      OpenACS 4.5 to 4.6.x
      Linux/Unix, Upgrading 4.5 or higher to 4.6.3

      X

      XML guidelines, Why DocBook?
      xref
      linkend, Links
      xreflabel, Headlines, Sections
      View comments on this page at openacs.org
      +Index

      Index

      Symbols

      $OPENACS_SERVICE_NAME, Paths and Users

      C

      computeroutput
      code, Code
      cvs
      initializing, Initialize CVS (OPTIONAL)
      setup, Using CVS with an OpenACS Site

      E

      emacs
      installation, Install Red Hat 8/9
      emphasis
      bold, italics, Emphasis

      G

      Graphics
      Images, Graphics

      I

      informaltable
      table, Tables

      L

      language
      installation, Install Red Hat 8/9
      Linking, Links
      lists, Lists

      O

      OpenACS Package, What a Package Looks Like

      P

      photo-album
      installation (see ImageMagick)
      Postgres
      Vacuuming, Installation Option 2: Install from tarball

      Q

      qmail
      installation, Install qmail (OPTIONAL)
      Maildir, Install qmail (OPTIONAL)
      rcpthosts error message, Install qmail (OPTIONAL)

      T

      The publish point for new packages should be + fixed., Prepare the package for distribution.

      U

      ulink, Links
      upgrade
      OpenACS 4.5 to 4.6.x
      Linux/Unix, Upgrading 4.5 or higher to 4.6.3
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/kernel-doc.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-doc.html,v diff -u -r1.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/kernel-doc.html 22 Jun 2004 12:53:54 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/kernel-doc.html 16 Feb 2005 00:21:03 -0000 1.28 @@ -1 +1 @@ -Chapter�15.�Kernel Documentation
      View comments on this page at openacs.org
      +Chapter�17.�Kernel Documentation
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/kernel-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-overview.html,v diff -u -r1.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/kernel-overview.html 22 Jun 2004 12:53:55 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/kernel-overview.html 16 Feb 2005 00:21:03 -0000 1.22 @@ -1,4 +1,4 @@ -Overview

      Overview

      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/mac-installation.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/mac-installation.html,v diff -u -r1.33 -r1.34 --- openacs-4/packages/acs-core-docs/www/mac-installation.html 29 Jun 2004 15:50:15 -0000 1.33 +++ openacs-4/packages/acs-core-docs/www/mac-installation.html 16 Feb 2005 00:21:03 -0000 1.34 @@ -1,4 +1,4 @@ -OpenACS Installation Guide for Mac OS X

      OpenACS Installation Guide for Mac OS X

      Prerequisites.�Install readline:

      1. Download readline from http://ftp.gnu.org/pub/gnu/readline/readline-4.3.tar.gz into /usr/local/src

      2. Extract readline in /usr/local/src, configure, compile, and install:

        su - root
        +OpenACS Installation Guide for Mac OS X

        OpenACS Installation Guide for Mac OS X

        Prerequisites.�Install readline:

        1. Download readline from http://ftp.gnu.org/pub/gnu/readline/readline-4.3.tar.gz into /usr/local/src

        2. Extract readline in /usr/local/src, configure, compile, and install:

          su - root
           cd /usr/local/src
           tar xvfz readline-4.3.tar.gz
           readline-4.3
          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.19 -r1.20
          --- openacs-4/packages/acs-core-docs/www/maint-performance.html	5 Jul 2004 14:24:59 -0000	1.19
          +++ openacs-4/packages/acs-core-docs/www/maint-performance.html	16 Feb 2005 00:21:03 -0000	1.20
          @@ -1,7 +1,7 @@
          -Diagnosing Performance Problems

          Diagnosing Performance Problems

          • Did performance problems happen overnight, or did they sneak up on +Diagnosing Performance Problems

            Diagnosing Performance Problems

            • Did performance problems happen overnight, or did they sneak up on you? Any clue what caused the performance problems (e.g. loading 20K users into .LRN)

            • Is the file system out of space? Is the machine swapping to disk constantly?

            • Isolating and solving database problems.

              • Without daily internal maintenance, most databases slowly degrade in performance. For PostGreSQL, see the section called “Vacuum Postgres nightly”. For Oracle, use exec dbms_stats.gather_schema_stats('SCHEMA_NAME') (Andrew Piskorski's Oracle notes).

              • You can track the exact amount of time each database query on a page takes:

                1. Go to Main Site : Site-Wide Administration : Install Software

                2. Click on "Install New Application" in "Install from OpenACS Repository"

                3. Choose "ACS Developer Support">

                4. After install is complete, restart the server.

                5. Browse to Developer Support, which is automatically mounted at /ds. -

                6. Turn on Database statistics

                7. Browse directly to a slow page and click "Request Information" at the bottom of the page.

                8. 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.

                  Figure�6.8.�Query Analysis example

                  Query Analysis example
              • Identify a runaway Oracle query: first, use ps aux or top to get the UNIX process ID of a runaway Oracle process.

                Log in to SQL*Plus as the admin:

                [$OPENACS_SERVICE_NAME ~]$ svrmgrl
                +              

              • Turn on Database statistics

              • Browse directly to a slow page and click "Request Information" at the bottom of the page.

              • 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.

                Figure�6.8.�Query Analysis example

                Query Analysis example
      3. Identify a runaway Oracle query: first, use ps aux or top to get the UNIX process ID of a runaway Oracle process.

        Log in to SQL*Plus as the admin:

        [$OPENACS_SERVICE_NAME ~]$ svrmgrl
         
         Oracle Server Manager Release 3.1.7.0.0 - Production
         
        @@ -26,7 +26,22 @@
          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 ;

        To kill a troubled process:

        alter system kill session 'SID,SERIAL#';  --substitute values for SID and SERIAL#

        (See Andrew Piskorski's Oracle notes)

    Creating an appropriate tuning and monitoring environment

    + order by s.username ,s.sid ,s.serial# ,sql.piece ;

    To kill a troubled process:

    alter system kill session 'SID,SERIAL#';  --substitute values for SID and SERIAL#

    (See Andrew Piskorski's Oracle notes)

  • 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.

    Edit the file postgresql.conf - its location depends on the PostGreSQL installation - and change

    #stats_command_string = false

    to

    stats_command_string = true

    Next, connect to postgres (psql service0) and select * from pg_stat_activity;. Typical output should look like:

    +  datid   |   datname   | procpid | usesysid | usename |  current_query
    +----------+-------------+---------+----------+---------+-----------------
    + 64344418 | openacs.org |   14122 |      101 | nsadmin | <IDLE>
    + 64344418 | openacs.org |   14123 |      101 | nsadmin |
    +                                                         delete
    +                                                         from acs_mail_lite_queue
    +                                                         where message_id = '2478608';
    + 64344418 | openacs.org |   14124 |      101 | nsadmin | <IDLE>
    + 64344418 | openacs.org |   14137 |      101 | nsadmin | <IDLE>
    + 64344418 | openacs.org |   14139 |      101 | nsadmin | <IDLE>
    + 64344418 | openacs.org |   14309 |      101 | nsadmin | <IDLE>
    + 64344418 | openacs.org |   14311 |      101 | nsadmin | <IDLE>
    + 64344418 | openacs.org |   14549 |      101 | nsadmin | <IDLE>
    +(8 rows)
    +openacs.org=>
  • Creating an appropriate tuning and monitoring environment

    The first task is to create an appropriate environment for finding out what is going on inside Oracle. Oracle provides Statspack, a package to monitor and save the state of the v$ performance views. These reports @@ -43,7 +58,7 @@

    To be able to get a overview of how Oracle executes a particular query, install "autotrace". I usually follow the instructions here http://asktom.oracle.com/~tkyte/article1/autotrace.html. -

    Make sure, that the Oracle CBO works with adequate statistics

    +

    Make sure, that the Oracle CBO works with adequate statistics

    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 query in a particular way (by default 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.14 -r1.15 --- openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 5 Jul 2004 14:24:59 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 16 Feb 2005 00:21:03 -0000 1.15 @@ -1,7 +1,7 @@ -Staged Deployment for Production Networks

    Staged Deployment for Production Networks

    By Joel Aufrecht

    +Staged Deployment for Production Networks

    Staged Deployment for Production Networks

    By Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    This section describes two minimal-risk methods for deploying changes on a production network. The important characteristics of a safe change deployment include: (THIS SECTION IN DEVELOPMENT)

    • Control: You know for sure that the change you are making is the change that you intend to make and is the change that you tested.

    • Rollback: If anything goes wrong, you can return to the previous working configuration safely and quickly.

    Method 1: Deployment with CVS

    With this method, we control the files on a site via +

    This section describes two minimal-risk methods for deploying changes on a production network. The important characteristics of a safe change deployment include: (THIS SECTION IN DEVELOPMENT)

    • Control: You know for sure that the change you are making is the change that you intend to make and is the change that you tested.

    • Rollback: If anything goes wrong, you can return to the previous working configuration safely and quickly.

    Method 1: Deployment with CVS

    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 @@ -41,7 +41,7 @@ /usr/local/pgsql/bin/psql -f /var/lib/aolserver/service0-dev/packages/acs-kernel/sql/postgresql/postgresql.sql service0 mv /var/lib/aolserver/service0/database-backup/service0-nightly-backup.dmp.gz /var/lib/aolserver/service0-dev/database-backup/service0-nightly-backup-old.dmp.gz /bin/gunzip /var/lib/aolserver/service0-dev/database-backup/service0-nightly-backup.dmp.gz -/usr/bin/perl -pi -e 's/^\\connect service0$/\\connect service0-dev/' /var/lib/aolserver/service0-dev/database-backup/service0-nightly-backup.dmp +/usr/bin/perl -pi -e "s/^\\connect service0$/\\connect service0-dev/" /var/lib/aolserver/service0-dev/database-backup/service0-nightly-backup.dmp /usr/local/pgsql/bin/psql service0-dev < /var/lib/aolserver/service0-dev/database-backup/service0-nightly-backup.dmp /usr/local/bin/svc -u /service/service0-dev /bin/gzip /var/lib/aolserver/service0-dev/database-backup/service0-nightly-backup-old.dmp @@ -66,4 +66,4 @@ cvs up -Pd index.adp

    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've tested them, you then update and - run the upgrade scripts from the package manager.

    The production site can run "HEAD" from cvs.

    The drawback to using HEAD as the live code is that you cannot commit new work on the development server without erasing the definition of 'working production code.' So a better method is to use a tag. This guarantees that, at any time in the future, you can retrieve exactly the same set of code. This is useful for both of the characteristics of safe change deployment. For control, you can use tags to define a body of code, test that code, and then know that what you are deploying is exactly that code. For rollback, you can use return to the last working tag if the new tag (or new, untagged changes) cause problems. .... example of using tags to follow ...

    Method 2: A/B Deployment

    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.

    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.

    Simple A/B Deployment: Database is not changed

    Figure�6.2.�Simple A/B Deployment - Step 1

    Simple A/B Deployment - Step 1

    Figure�6.3.�Simple A/B Deployment - Step 2

    Simple A/B Deployment - Step 2

    Figure�6.4.�Simple A/B Deployment - Step 3

    Simple A/B Deployment - Step 3

    Complex A/B Deployment: Database is changed

    Figure�6.5.�Complex A/B Deployment - Step 1

    Complex A/B Deployment - Step 1

    Figure�6.6.�Complex A/B Deployment - Step 2

    Complex A/B Deployment - Step 2

    Figure�6.7.�Complex A/B Deployment - Step 3

    Complex A/B Deployment - Step 3
    View comments on this page at openacs.org
    + run the upgrade scripts from the package manager.

    The production site can run "HEAD" from cvs.

    The drawback to using HEAD as the live code is that you cannot commit new work on the development server without erasing the definition of 'working production code.' So a better method is to use a tag. This guarantees that, at any time in the future, you can retrieve exactly the same set of code. This is useful for both of the characteristics of safe change deployment. For control, you can use tags to define a body of code, test that code, and then know that what you are deploying is exactly that code. For rollback, you can use return to the last working tag if the new tag (or new, untagged changes) cause problems. .... example of using tags to follow ...

    Method 2: A/B Deployment

    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.

    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.

    Simple A/B Deployment: Database is not changed

    Figure�6.2.�Simple A/B Deployment - Step 1

    Simple A/B Deployment - Step 1

    Figure�6.3.�Simple A/B Deployment - Step 2

    Simple A/B Deployment - Step 2

    Figure�6.4.�Simple A/B Deployment - Step 3

    Simple A/B Deployment - Step 3

    Complex A/B Deployment: Database is changed

    Figure�6.5.�Complex A/B Deployment - Step 1

    Complex A/B Deployment - Step 1

    Figure�6.6.�Complex A/B Deployment - Step 2

    Complex A/B Deployment - Step 2

    Figure�6.7.�Complex A/B Deployment - Step 3

    Complex A/B Deployment - Step 3
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/maintenance-web.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-web.html,v diff -u -r1.31 -r1.32 --- openacs-4/packages/acs-core-docs/www/maintenance-web.html 29 Jun 2004 15:50:15 -0000 1.31 +++ openacs-4/packages/acs-core-docs/www/maintenance-web.html 16 Feb 2005 00:21:03 -0000 1.32 @@ -1,4 +1,4 @@ -Chapter�6.�Production Environments

    Chapter�6.�Production Environments

    By Joel Aufrecht

    +Chapter�6.�Production Environments

    Chapter�6.�Production Environments

    By Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Maintenance tasks, optional software, and alternate configurations for AOLserver.

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/nxml-mode.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/nxml-mode.html,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/nxml-mode.html 22 Jun 2004 12:53:56 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/nxml-mode.html 16 Feb 2005 00:21:03 -0000 1.9 @@ -1,4 +1,4 @@ -Using nXML mode in Emacs

    Using nXML mode in Emacs

    By Jeff Davis

    +Using nXML mode in Emacs

    Using nXML mode in Emacs

    By Jeff Davis

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Index: openacs-4/packages/acs-core-docs/www/object-identity.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-identity.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/object-identity.html 29 Jun 2004 15:50:15 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/object-identity.html 16 Feb 2005 00:21:03 -0000 1.40 @@ -1,4 +1,4 @@ -Object Identity

    Object Identity

    By Rafael H. Schloming

    +Object Identity

    Object Identity

    By Rafael H. Schloming

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    One of the major design features of OpenACS 5.2.0d1 is the explicit representation 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.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/object-system-design.html 22 Jun 2004 12:53:57 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/object-system-design.html 16 Feb 2005 00:21:03 -0000 1.26 @@ -1,4 +1,4 @@ -Object Model Design

    Object Model Design

    By Pete Su, Michael Yoon, Richard Li, Rafael Schloming

    +Object Model Design

    Object Model Design

    By Pete Su, Michael Yoon, Richard Li, Rafael Schloming

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Essentials

    Data Model

    • 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.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 22 Jun 2004 12:53:58 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 16 Feb 2005 00:21:03 -0000 1.25 @@ -1,4 +1,4 @@ -Object Model Requirements

      Object Model Requirements

      By Pete Su

      +Object Model Requirements

      Object Model Requirements

      By Pete Su

      OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

      I. Introduction

      A major goal in OpenACS 4 is to unify and normalize many of the core services 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.42 -r1.43 --- openacs-4/packages/acs-core-docs/www/objects.html 5 Jul 2004 14:24:59 -0000 1.42 +++ openacs-4/packages/acs-core-docs/www/objects.html 16 Feb 2005 00:21:03 -0000 1.43 @@ -1,4 +1,4 @@ -OpenACS Data Models and the Object System

      OpenACS Data Models and the Object System

      By Pete Su

      +OpenACS Data Models and the Object System

      OpenACS Data Models and the Object System

      By Pete Su

      OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

      Overview

      @@ -78,7 +78,7 @@ Fire up your text editor and open the ROOT/packages/notes/sql/oracle/notes-create.sql (ROOT/packages/notes/sql/postgresql/notes-create.sql for the PG version) file created when we created the package. Then, do the following: -

      Describe the new type to the type system

      +

      Describe the new type to the type system

      First, add an entry to the acs_object_types table with the following PL/SQL call:

       begin  
      @@ -138,7 +138,7 @@
       because the new type note is a subtype of
       acs_object, it will inherit these attributes, so there is
       no need for us to define them.
      -

      Define a table in which to store your objects

      +

      Define a table in which to store your objects

      The next thing we do is make a small modification to the data model to reflect the fact that each row in the notes table represents something that is not only an object of type @@ -163,7 +163,7 @@ use the acs_objects table to find objects will transparently find any objects that are instances of any subtype of acs_objects. -

      Define a package for type specific procedures

      +

      Define a package for type specific procedures

      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: @@ -211,7 +211,7 @@ object OBJ was "read only", then any other object that used OBJ as its context would also be "read only" by default. We'll talk about this more later. -

      Define a package body for type specific procedures

      +

      Define a package body for type specific procedures

      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 acs_object.new to insert a row into Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/openacs-cvs-concepts.html'. Fisheye: No comparison available. Pass `N' to diff? 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.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/openacs-overview.html 22 Jun 2004 12:54:00 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/openacs-overview.html 16 Feb 2005 00:21:03 -0000 1.21 @@ -1,4 +1,4 @@ -Overview

      Overview

      +Overview

      Overview

      OpenACS (Open Architecture Community System) is an advanced toolkit for building scalable, community-oriented web applications. If you're thinking of building an Index: openacs-4/packages/acs-core-docs/www/openacs-unpack.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-unpack.html,v diff -u -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/openacs-unpack.html 22 Jun 2004 12:54:00 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/openacs-unpack.html 16 Feb 2005 00:21:03 -0000 1.20 @@ -1,17 +1,17 @@ -Unpack the OpenACS tarball

      Unpack the OpenACS tarball

      The OpenACS tarball contains sample configuration files +Unpack the OpenACS tarball

      Unpack the OpenACS tarball

      The OpenACS tarball contains sample configuration files for some of the packages listed below. In order to access those - files, unpack the tarball now.

      [root root]# cd /tmp
      +      files, unpack the tarball now.

      [root root]# cd /var/tmp
       [root tmp]# tar xzf openacs-5.2.0d1.tgz
      -cd /tmp
      -tar xzf openacs-5.2.0d1.tgz

      If you are installing from a different method and just need the configuration files, you can instead get them from CVS:

      [root root]# cd /tmp
      -[root tmp]# cvs -d :pserver:anonymous@openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/
      +cd /var/tmp
      +tar xzf openacs-5.2.0d1.tgz

      If you are installing from a different method and just need the configuration files, you can instead get them from CVS:

      [root root]# cd /var/tmp
      +[root tmp]# cvs -d :pserver:anonymous@cvs.openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/
       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
       U openacs-4/packages/acs-core-docs/www/files/README.TXT
       (many lines omitted)
       U openacs-4/packages/acs-core-docs/www/files/template-ini.ini
       U openacs-4/packages/acs-core-docs/www/files/winnsd.txt
       [root tmp]# mv openacs-4 openacs-5.2.0d1
      -cd /tmp
      -cvs -d :pserver:anonymous@openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/
      +cd /var/tmp
      +cvs -d :pserver:anonymous@cvs.openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/
       mv openacs-4 openacs-5.0.0a4
      View comments on this page at openacs.org
      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.41 -r1.42 --- openacs-4/packages/acs-core-docs/www/openacs.html 5 Jul 2004 14:24:59 -0000 1.41 +++ openacs-4/packages/acs-core-docs/www/openacs.html 16 Feb 2005 00:21:03 -0000 1.42 @@ -1,18 +1,7 @@ -Install OpenACS 5.2.0d1

      Install OpenACS 5.2.0d1

      by Vinod Kurup

      +Install OpenACS 5.2.0d1

      Install OpenACS 5.2.0d1

      by Vinod Kurup

      OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

      Set up the file system for one or more OpenACS Sites

      For Linux Standard Base compliance and ease of backup, - all of the files in each OpenACS site are stored in a - subdirectory of - /var/lib/aolserver, 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:

      [root root]# mkdir /var/lib/aolserver
      -[root root]# chgrp web /var/lib/aolserver
      -[root root]# chmod 770 /var/lib/aolserver
      -[root root]#
      -mkdir /var/lib/aolserver
      -chgrp web /var/lib/aolserver
      -chmod 770 /var/lib/aolserver

      Set up a user account for each site.

      +

      Set up a user account for each site.

      AOLserver needs to be started as the root user if you want to use port 80. Once it starts, though, it will drop the root privileges and run as another user, which you must specify on the command line. It's @@ -33,15 +22,42 @@ developers for that specific instance. Add this user, and put it in the $OPENACS_SERVICE_NAME group so that it can use database and server commands associated with that group. + (If you don't know how to do this, type + man usermod. You can type + groups to find out which groups a user + is a part of)

       [root root]# useradd $OPENACS_SERVICE_NAME
      -[root root]#

      Installation Option 1: Use automated script

      A bash script is available to automate all of the steps for the rest of this section. It requires tclwebtest. The automated script can greatly accelerate the install process, but is very sensitive to the install environment. We recommend that you run the automated install and, if it does not work the first time, consider switching to a manual installation.

      Get the install script from CVS. It is located within +

      You also need to set up a group called web.

      +[root root]# groupadd web
      +      

      + Then change the user to be a part of this group: +

      +[root root]# usermod -g web $OPENACS_SERVICE_NAME
      +      

      FreeBSD creates the user this way:

      +[root root]# mkdir -p /home/$OPENACS_SERVICE_NAME
      +[root root]# pw useradd -n $OPENACS_SERVICE_NAME -g web -d /home/$OPENACS_SERVICE_NAME -s /bin/bash
      +[root root]#
      +mkdir -p /home/$OPENACS_SERVICE_NAME
      +pw useradd -n $OPENACS_SERVICE_NAME -g web -d /home/$OPENACS_SERVICE_NAME -s /bin/bash
      +

      Set up the file system for one or more OpenACS Sites

      For Linux Standard Base compliance and ease of backup, + all of the files in each OpenACS site are stored in a + subdirectory of + /var/lib/aolserver, 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:

      [root root]# mkdir /var/lib/aolserver
      +[root root]# chgrp web /var/lib/aolserver
      +[root root]# chmod 770 /var/lib/aolserver
      +[root root]#
      +mkdir /var/lib/aolserver
      +chgrp web /var/lib/aolserver
      +chmod 770 /var/lib/aolserver

      Installation Option 1: Use automated script

      A bash script is available to automate all of the steps for the rest of this section. It requires tclwebtest. The automated script can greatly accelerate the install process, but is very sensitive to the install environment. We recommend that you run the automated install and, if it does not work the first time, consider switching to a manual installation.

      Get the install script from CVS. It is located within the main cvs tree, at /etc/install. Use anonymous CVS checkout to get that directory in the home directory of the service's dedicated user. We put it there so that it is not overwritten when we do the main CVS checkout to the target location.

      [root root]# su - $OPENACS_SERVICE_NAME
      -[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs -d :pserver:anonymous@openacs.org:/cvsroot co -d install openacs-4/etc/install
      +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs -d :pserver:anonymous@cvs.openacs.org:/cvsroot co -d install openacs-4/etc/install
       cvs server: Updating install
       U install/README
       U install/TODO
      @@ -64,12 +80,13 @@
       admin password: xxxx
       ######################################################################
       [root root]#

      You can proceed to the section called “Next Steps”.

      Installation Option 2: Install from tarball

      You should already have downloaded the OpenACS tarball - to the /tmp directory. If + to the /var/tmp directory. If not, download the OpenACS tarball and save it in - /tmp and proceed:

      1. Unpack the OpenACS tarball and rename it to $OPENACS_SERVICE_NAME. Secure the directory so that only the owner can access it. Check the permissions by listing the directory.

        [root root]# su - $OPENACS_SERVICE_NAME
        +      /var/tmp and proceed:

        1. Unpack the OpenACS tarball and rename it to $OPENACS_SERVICE_NAME. Secure the directory so that only the owner can access it. Check the permissions by listing the directory.

          FreeBSD note: Change the period in chown -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME to a colon: chown -R $OPENACS_SERVICE_NAME:$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME +

          [root root]# su - $OPENACS_SERVICE_NAME
           [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver
          -[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /tmp/openacs-5.2.0d1.tgz
          +[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /var/tmp/openacs-5.2.0d1.tgz
           [$OPENACS_SERVICE_NAME aolserver]$ mv openacs-5.2.0d1 $OPENACS_SERVICE_NAME
           [$OPENACS_SERVICE_NAME aolserver]$ chmod -R 775 $OPENACS_SERVICE_NAME
           [$OPENACS_SERVICE_NAME aolserver]$ chown -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME
          @@ -83,10 +100,10 @@
           [root root]#
           su - $OPENACS_SERVICE_NAME
           cd /var/lib/aolserver
          -tar xzf /tmp/openacs-5.2.0d1.tgz
          +tar xzf /var/tmp/openacs-5.2.0d1.tgz
           mv openacs-5.2.0d1 $OPENACS_SERVICE_NAME
           chmod -R 755 $OPENACS_SERVICE_NAME
          -chgrp -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME
          +chown -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME
           exit
        2. Add the Service to CVS (OPTIONAL)

        3. Prepare the database

          • Prepare Oracle for OpenACS.�If you won't be using Oracle, skip to Prepare PostgreSQL for an OpenACS Service

            You should be sure that your user account (e.g. $OPENACS_SERVICE_NAME) is in the @@ -220,7 +237,7 @@ CREATE DATABASE [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ su - $OPENACS_SERVICE_NAME -createdb -E UNICODE $OPENACS_SERVICE_NAME

      2. 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: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.

        [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ export EDITOR=emacs;crontab -e

        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 man 5 crontab for more information.

        0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --analyze $OPENACS_SERVICE_NAME
        +createdb -E UNICODE $OPENACS_SERVICE_NAME
      3. 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: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.

        [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ export EDITOR=emacs;crontab -e

        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 man 5 crontab for more information.

        0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --analyze $OPENACS_SERVICE_NAME
         0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze $OPENACS_SERVICE_NAME

        Depending on your distribution, you may receive email when the crontab items are executed. If you don't want to receive email for those crontab items, @@ -233,7 +250,7 @@ need to configure a virtual server. The Reference Platform uses a configuration file included in the OpenACS tarball, /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/config.tcl. - Open it in an editor to adjust the parameters.

        [root root]# su - $OPENACS_SERVICE_NAME
        +	   Open it in an editor to adjust the parameters.

        [root root]# su - $OPENACS_SERVICE_NAME
         [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc
         [$OPENACS_SERVICE_NAME etc]$ emacs config.tcl
         

        @@ -351,13 +368,13 @@ reload the final page above. You should see the front page, with an area to login near the upper right. Congratulations, OpenACS 5.2.0d1 is now up and running! -

    Installation Option 3: Install from CVS

    If you want to track fresh code developments inbetween releases, or you are an OpenACS core developer, you may want to install from CVS. This is identical to Option 2 except that you get the files from CVS instead of the tarball: CVS Checkout Instructions. So, instead of tar xzf /tmp/openacs-5.2.0d1.tgz, cvs -z3 -d :pserver:anonymous@openacs.org:/cvsroot co acs-core.

    Next Steps

    Installation Option 3: Install from CVS

    If you want to track fresh code developments inbetween releases, or you are an OpenACS core developer, you may want to install from CVS. This is identical to Option 2 except that you get the files from CVS instead of the tarball: CVS Checkout Instructions. So, instead of tar xzf /var/tmp/openacs-5.2.0d1.tgz, cvs -z3 -d :pserver:anonymous@openacs.org:/cvsroot co acs-core.

    Next Steps

    • Use daemontools supervise and svc, or inittab, to automate server startup and shutdown.

    • Install Full Text Search (OPTIONAL). If you have installed OpenFTS and enabled OpenFTS, you can now install the OpenFTS Driver package and Full Text Search Engine package in the OpenACS service.

    • This is a good time to make a backup of your service. If this is a production site, you should set up automatic nightly backups.

    • If you want traffic reports, set up analog or another log processing program.

    • Follow the instruction on the home page to change the appearance of your service or add more - packages. (more information)

    • Proceed to the tutorial to learn how to develop your own packages.

    • Set up database environment variables for the site + packages. (more information)

    • Proceed to the tutorial to learn how to develop your own packages.

    • 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's run-time connection with the Index: openacs-4/packages/acs-core-docs/www/oracle.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/oracle.html 29 Jun 2004 15:50:15 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/oracle.html 16 Feb 2005 00:21:03 -0000 1.40 @@ -1,4 +1,4 @@ -Install Oracle 8.1.7

      Install Oracle 8.1.7

      By Vinod Kurup

      +Install Oracle 8.1.7

      Install Oracle 8.1.7

      By Vinod Kurup

      OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

      @@ -655,11 +655,11 @@ Pentium II with 128 MB of RAM.

      Note

      RedHat 7.3 and 8.0 users: Before running dbassist, do the following.

      1. Download the glibc - patch from Oracle Technet into /tmp. + patch from Oracle Technet into /var/tmp.

      2. cd $ORACLE_HOME

      3. - tar xzf /tmp/glibc2.1.3-stubs.tgz + tar xzf /var/tmp/glibc2.1.3-stubs.tgz

      4. ./setup_stubs

      • @@ -822,11 +822,11 @@

        • You need to download the "Oracle Acceptance Test" file. It's available here and at http://philip.greenspun.com/wtr/oracle/acceptance-sql.txt. - Save the file to /tmp + Save the file to /var/tmp

        • In the oracle shell, copy the file.

          -[oracle ~]$ cp /tmp/acceptance-sql.txt /tmp/acceptance.sql
        • +[oracle ~]$ cp /var/tmp/acceptance-sql.txt /var/tmp/acceptance.sql

        • Once you've got the acceptance test file all set, stay in your term and type the following:

          @@ -854,7 +854,7 @@
                     At this point we are going to hammer your database with an
                     intense acceptance test. This usually takes around 30 minutes.
                   

          -SQL> @ /tmp/acceptance.sql
          +SQL> @ /var/tmp/acceptance.sql
           
           ; A bunch of lines will scroll by.  You'll know if the test worked if
           ; you see this at the end:
          @@ -893,10 +893,10 @@
                     shipped in the Linux distribution does not work out of the
                     box. The fix is simple. Follow these directions to apply
                     it. First, save dbstart to
          -          /tmp. Then, as 
          +          /var/tmp. Then, as 
                     oracle, do the following:
                   

          -[oracle ~]$ cp /tmp/dbstart.txt /ora8/m01/app/oracle/product/8.1.7/bin/dbstart 
          +[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
        • While you're logged in as @@ -920,15 +920,15 @@ Save the file & quit the terminal.

      • You need a script to automate startup and shutdown. Save oracle8i.txt in - /tmp. Then login as + /var/tmp. Then login as root and install the script. (Debian users: substitute /etc/init.d for /etc/rc.d/init.d throughout this section)

         [oracle ~]$ su -
        -[root ~]# cp /tmp/oracle8i.txt /etc/rc.d/init.d/oracle8i
        +[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
      • Test the script by typing the following commands and checking the @@ -1042,7 +1042,7 @@ and full site search.

        Download these three scripts into - /tmp + /var/tmp

        • startlsnr.txt

        • @@ -1054,12 +1054,12 @@ root).

           [root ~]# su - oracle
          -[oracle ~]$ cp /tmp/startlsnr.txt /ora8/m01/app/oracle/product/8.1.7/bin/startlsnr
          -[oracle ~]$ cp /tmp/stoplsnr.txt /ora8/m01/app/oracle/product/8.1.7/bin/stoplsnr    
          +[oracle ~]$ cp /var/tmp/startlsnr.txt /ora8/m01/app/oracle/product/8.1.7/bin/startlsnr
          +[oracle ~]$ cp /var/tmp/stoplsnr.txt /ora8/m01/app/oracle/product/8.1.7/bin/stoplsnr    
           [oracle ~]$ chmod 755 /ora8/m01/app/oracle/product/8.1.7/bin/startlsnr
           [oracle ~]$ chmod 755 /ora8/m01/app/oracle/product/8.1.7/bin/stoplsnr
           [oracle ~]$ exit
          -[root ~]# cp /tmp/listener8i.txt /etc/rc.d/init.d/listener8i
          +[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

          Test the listener automation by running the following commands Index: openacs-4/packages/acs-core-docs/www/os-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-install.html,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/os-install.html 22 Jun 2004 12:54:03 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/os-install.html 16 Feb 2005 00:21:03 -0000 1.9 @@ -1,4 +1,4 @@ -Linux Install Guides

          Linux Install Guides

          +Linux Install Guides

          Linux Install Guides

          Here's a list of some helpful documentation for various OS's

          • Painless Debian Index: openacs-4/packages/acs-core-docs/www/os-security.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-security.html,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/os-security.html 22 Jun 2004 12:54:03 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/os-security.html 16 Feb 2005 00:21:03 -0000 1.9 @@ -1,4 +1,4 @@ -Security Information

            Security Information

            +Security Information

            Security Information

            Once you get your OS installed, it's imperative that you secure your installation. As Jon Griffin repeatedly warns us, "No distribution is secure out of the box." The Reference Platform implements 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.41 -r1.42 --- openacs-4/packages/acs-core-docs/www/packages.html 5 Jul 2004 14:24:59 -0000 1.41 +++ openacs-4/packages/acs-core-docs/www/packages.html 16 Feb 2005 00:21:03 -0000 1.42 @@ -1,4 +1,4 @@ -OpenACS Packages

            OpenACS Packages

            By Pete Su and Bryan Quinn

            +OpenACS Packages

            OpenACS Packages

            By Pete Su and Bryan Quinn

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

            Overview

            @@ -12,7 +12,7 @@

            Server file layout

            Here is how an OpenACS 5 server is laid out starting from the Server root (ROOT): -

            Figure�11.1.�Server file layout diagram

            +    

            Figure�11.1.�Server file layout diagram

             ROOT/
                 bin/
                     Various executables and scripts for server maintanence.
            @@ -50,7 +50,7 @@
                   
                   To illustrate the general structure of a package, let's see what the
                   package for the "notes" application should look like.
            -    

            Figure�11.2.�Package file layout diagram

            +    

            Figure�11.2.�Package file layout diagram

             ROOT/
               +-- packages/    APM Root
                     |
            @@ -123,7 +123,7 @@
                   directories.  This makes it suitable for storing icons, css
                   files, javascript, and other static content which can be treated
                   this way.
            -    

            Table�11.1.�Package files

            File TypeIts UseNaming Convention
            Package Specification FileThe package specification file is an XML file generated and +

            Table�11.1.�Package files

            File TypeIts UseNaming Convention
            Package Specification FileThe package specification file is an XML file generated and maintained by the OpenACS Package Manager (APM). It specifies information about the package including its parameters and its files.notes.info
            Data Model Creation Script Index: openacs-4/packages/acs-core-docs/www/parties.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/parties.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/parties.html 29 Jun 2004 15:50:15 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/parties.html 16 Feb 2005 00:21:03 -0000 1.40 @@ -1,4 +1,4 @@ -Parties in OpenACS

            Parties in OpenACS

            By Rafael H. Schloming

            +Parties in OpenACS

            Parties in OpenACS

            By Rafael H. Schloming

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

            Introduction

            While many applications must deal with individuals and many applications Index: openacs-4/packages/acs-core-docs/www/permissions-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-design.html,v diff -u -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/permissions-design.html 22 Jun 2004 12:54:04 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/permissions-design.html 16 Feb 2005 00:21:03 -0000 1.25 @@ -1,4 +1,4 @@ -Permissions Design

            Permissions Design

            By John Prevost and Rafael H. Schloming

            +Permissions Design

            Permissions Design

            By John Prevost and Rafael H. Schloming

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

            Essentials

            • Tcl in packages/acs-kernel

            • OpenACS 4 Permissions Requirements

            • Index: openacs-4/packages/acs-core-docs/www/permissions-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-requirements.html,v diff -u -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/permissions-requirements.html 22 Jun 2004 12:54:05 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/permissions-requirements.html 16 Feb 2005 00:21:03 -0000 1.25 @@ -1,4 +1,4 @@ -Permissions Requirements

              Permissions Requirements

              By John McClary Prevost

              +Permissions Requirements

              Permissions Requirements

              By John McClary Prevost

              OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

              Introduction

              This document records requirements for the OpenACS 4 Permissions system, a 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.35 -r1.36 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 5 Jul 2004 14:24:59 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 16 Feb 2005 00:21:03 -0000 1.36 @@ -1,4 +1,4 @@ -OpenACS Permissions Tediously Explained

              OpenACS Permissions Tediously Explained

              +OpenACS Permissions Tediously Explained

              OpenACS Permissions Tediously Explained

              by Vadim Nasardinov. Modified and converted to Docbook XML by Roberto Mello

              The code has been modified since this document was written so it is now out of date. See this forum thread.

              Overview

              The general permissions system has a relatively complex data model in OpenACS. @@ -100,7 +100,7 @@

              Context Hierarchy

              Suppose objects A, B, ..., and F form the following hierarchy. -

              Table�11.2.�Context Hierarchy Example

              A

              +

              Table�11.2.�Context Hierarchy Example

              A

              object_id=10

              B

              object_id=20 @@ -116,7 +116,7 @@ This can be represented in the acs_objects table by the following entries: -

              Table�11.3.�acs_objects example data

              object_idcontext_id
              2010
              3010
              4020
              5020
              6030

              +

              Table�11.3.�acs_objects example data

              object_idcontext_id
              2010
              3010
              4020
              5020
              6030

              The first entry tells us that object 20 is the descendant of object 10, and the third entry shows that object 40 is the descendant of object 20. By running a CONNECT BY query, @@ -228,19 +228,20 @@ security_inherit_p�=�'f'
              not�readable�by�Joe
              ������

              Privilege Hierarchy

              - Privileges are also organized hierarchically. In addition to the five main system privileges - defined in the ACS Kernel data model, application developers may define their own. For instance, - the Bboard package defines the following privileges: -

              privilege
              create_category
              create_forum
              create_message
              delete_category
              delete_forum
              delete_message
              moderate_forum
              read_category
              read_forum
              read_message
              write_category
              write_forum
              write_message

              - By defining parent-child relationship between privileges, the OpenACS data model - makes it easier for developers to manage permissions. Instead of granting - a user explicit read, write, delete, - and create - privileges on an object, it is sufficient to grant the user the admin - privilege to which the first four privileges are tied. To give - a more detailed example, the Bboard privileges are structured - as follows. -

              admin
              createdeletereadwritemoderate forum
              create categorycreate forumcreate messagedelete categorydelete forumdelete messageread categoryread forumread messagewrite categorywrite forumwrite message

              + Privileges are also organized hierarchically. In addition to + the five main system privileges defined in the ACS Kernel data + model, application developers may define their own. Note, + however, that this is no longer recommended practice. +

              + By defining parent-child relationship between privileges, the + OpenACS data model makes it easier for developers to manage + permissions. Instead of granting a user explicit + read, write, + delete, and create + privileges on an object, it is sufficient to grant the user the + admin privilege to which the first four + privileges are tied. Privileges are structured as follows. +

              admin
              createdeletereadwrite

              The parent-child relationship between privileges is represented in the acs_privilege_hierarchy table:

              @@ -536,7 +537,8 @@
                     table, unless doing so results in substantial performance gains.
                   

              Putting It All Together

              Security information is queried by calling the acs_permission.permission_p - function in OpenACS 4.x. + function in OpenACS 4.x+. This is accessible from Tcl via the + permission::permission_p procedure.

                
                 create or replace package body acs_permission
                 as
              Index: openacs-4/packages/acs-core-docs/www/permissions.html
              ===================================================================
              RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions.html,v
              diff -u -r1.39 -r1.40
              --- openacs-4/packages/acs-core-docs/www/permissions.html	29 Jun 2004 15:50:15 -0000	1.39
              +++ openacs-4/packages/acs-core-docs/www/permissions.html	16 Feb 2005 00:21:03 -0000	1.40
              @@ -1,4 +1,4 @@
              -Groups, Context, Permissions

              Groups, Context, Permissions

              By Pete Su

              +Groups, Context, Permissions

              Groups, Context, Permissions

              By Pete Su

              OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

              Overview

              @@ -230,7 +230,7 @@ "notes". To check it out from CVS, read the these instructions on how to use anonymous checkouts and then checkout the module notes: -

              The notes code has been modified since this document was written so it is now out of date. See this forum thread.

              % export CVSROOT=:pserver:anonymous@openacs.org:/cvsroot
              +

              The notes code has been modified since this document was written so it is now out of date. See this forum thread.

              % export CVSROOT=:pserver:anonymous@cvs.openacs.org:/cvsroot
               % cvs login # just hit enter when prompted for a password
               % cvs co notes
               

              Index: openacs-4/packages/acs-core-docs/www/postgres.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/postgres.html,v diff -u -r1.40 -r1.41 --- openacs-4/packages/acs-core-docs/www/postgres.html 5 Jul 2004 14:24:59 -0000 1.40 +++ openacs-4/packages/acs-core-docs/www/postgres.html 16 Feb 2005 00:21:03 -0000 1.41 @@ -1,11 +1,16 @@ -Install PostgreSQL

              Install PostgreSQL

              by Vinod Kurup

              +Install PostgreSQL

              Install PostgreSQL

              by Vinod Kurup

              OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

              Skip this section if you will run only Oracle.

              OpenACS 5.2.0d1 will run with PostgreSQL 7.3.2, 7.3.3, and 7.3.4. 7.3.4 is the recommended version of PostgreSQL. PostgreSQL 7.4 has been verified.

              • Special notes for Mac OS X.�If you are running Mac OS X prior to 10.3, you should be able to install and use PostGreSQL 7.3.x. Mac OS X 10.3 requires PostGreSQL 7.4.

              • Special Notes for Debian.�

                Debian users, especially Debian stable users, should - install PostGreSQL from source as detailed below. Debian +

              Skip this section if you will run only Oracle.

              OpenACS 5.2.0d1 will run with PostgreSQL 7.3.2, 7.3.3, and 7.3.4 and 7.4.x. 7.4.7 is the recommended version of PostgreSQL.

              • Special notes for Mac OS X.�If you are running Mac OS X prior to 10.3, you should be able to install and use PostGreSQL 7.3.x. Mac OS X 10.3 requires PostGreSQL 7.4.

              • Special Notes for Debian.�

                Debian stable user should install PostGreSQL from source + as detailed below, or they should use the www.backports.org + backport for Postgres to get a more current version. Debian unstable users: the following process has been known to work (but you should double-check that the version of PostGreSQL is - 7.3 or above):

                apt-get install postgresql postgresql-dev postgresql-doc
                +      7.3 or above):

                For Debian stable users, you can use backports, by adding + this line to the /etc/apt/sources.list

                +        deb http://www.backports.org/debian stable bison postgresql openssl openssh tcl8.4 courier debconf spamassassin tla diff patch neon chkrootkit
                +        
                +      
                apt-get install postgresql postgresql-dev postgresql-doc
                 ln -s /usr/include/postgresql/ /usr/include/pgsql
                 ln -s /var/lib/postgres /usr/local/pgsql
                 ln -s /usr/include/pgsql /usr/local/pgsql/include
                @@ -35,25 +40,19 @@
                 echo "export LD_LIBRARY_PATH=/usr/local/pgsql/lib" >> ~postgres/.bash_profile
                 echo "export PATH=$PATH:/usr/local/pgsql/bin" >> ~postgres/.bash_profile
                 groupadd web
                -su - postgres

                ... and then skip to 8. Something similar may work for other binary packages as well.

              • Safe approach: install from source

                1. Unpack PostgreSQL 7.3.4.�If you have not downloaded the postgresql tarball to - /tmp/postgresql-7.3.4.tar.gz, +su - postgres

              ... and then skip to 7. Something similar may work for other binary packages as well.

            • Safe approach: install from source

              1. Unpack PostgreSQL 7.4.7.�If you have not downloaded the postgresql tarball to + /var/tmp/postgresql-7.4.7.tar.gz, get it.

                [root root]# cd /usr/local/src
                -[root src]# tar xzf /tmp/postgresql-7.3.4.tar.gz
                +[root src]# tar xzf /var/tmp/postgresql-7.4.7.tar.gz
                 [root src]# 
                 cd /usr/local/src
                -tar xzf /tmp/postgresql-7.3.4.tar.gz
              2. ALTERNATIVE: Unpack PostgreSQL 7.4.1.�If you have not downloaded the postgresql tarball to - /tmp/postgresql-7.4.1.tar.bz2, +tar xzf /var/tmp/postgresql-7.4.7.tar.gz

            • ALTERNATIVE: Unpack PostgreSQL 7.4.7.�If you have not downloaded the postgresql tarball to + /var/tmp/postgresql-7.4.7.tar.bz2, get it.

              [root root]# cd /usr/local/src
              -[root src]# tar xfj /tmp/postgresql-7.4.1.tar.bz2
              +[root src]# tar xfj /var/tmp/postgresql-7.4.7.tar.bz2
               [root src]# 
               cd /usr/local/src
              -tar xfj /tmp/postgresql-7.4.1.tar.bz2
            • Install Bison.�Only do this if bison --version is smaller than 1.875 and you install PostgreSQL 7.4.

              [root root]# cd /usr/local/src
              -[root src]# wget http://ftp.gnu.org/gnu/bison/bison-1.875.tar.gz
              -[root src]# tar xfz bison-1.875.tar.gz
              -[root src]# cd bison-1.875
              -[root src]# ./configure
              -[root src]# make install
              -      
            • Create the Postgres user.� +tar xfj /var/tmp/postgresql-7.4.7.tar.bz2

            • Create the Postgres user.� Create a user and group (if you haven't done so before) for PostgreSQL. This is the account that PostgreSQL will run as since it will not run as root. Since nobody will log in @@ -64,13 +63,13 @@

              [root src]# groupadd web
               [root src]# useradd -g web -d /usr/local/pgsql postgres
               [root src]# mkdir -p /usr/local/pgsql
              -[root src]# chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.3.4
              +[root src]# chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.4.7
               [root src]# chmod 750 /usr/local/pgsql
               [root src]#
               groupadd web
               useradd -g web -d /usr/local/pgsql postgres
               mkdir -p /usr/local/pgsql
              -chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.3.4
              +chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.4.7
               chmod 750 /usr/local/pgsql
              • Mac OS X: Do instead:�First make sure the gids and uids below are available (change them if they are not).To list taken uids and gids:

                nireport / /groups name gid | grep "[0123456789][0123456789]"
                 nireport / /users name uid | grep "[0123456789][0123456789]"
                @@ -84,8 +83,19 @@
                 sudo niutil -createprop / /users/$OPENACS_SERVICE_NAME gid  201
                 sudo niutil -createprop / /users/$OPENACS_SERVICE_NAME uid 201
                 mkdir -p /usr/local/pgsql
                -chown -R postgres:web /usr/local/pgsql /usr/local/src/postgresql-7.4.1
                -chmod 750 /usr/local/pgsql
            • Set up postgres's environment variables.�They are necessary for the executable to find its supporting +chown -R postgres:web /usr/local/pgsql /usr/local/src/postgresql-7.4.7 +chmod 750 /usr/local/pgsql

            • FreeBSD users:� need to add more parameters. +

              [root src]# mkdir -p /usr/local/pgsql
              +[root src]# pw groupadd -n web
              +[root src]# pw useradd -n postgres -g web -d /usr/local/pgsql -s /bin/bash
              +[root src]# chown -R postgres:web /usr/local/pgsql /usr/local/src/postgresql-7.4.7
              +[root src]# chmod -R 750 /usr/local/pgsql
              +[root src]#
              +mkdir -p /usr/local/pgsql
              +pw groupadd -n web
              +pw useradd -n postgres -g web -d /usr/local/pgsql -s /bin/bash
              +chown -R postgres:web /usr/local/pgsql /usr/local/src/postgresql-7.4.7
              +chmod -R 750 /usr/local/pgsql
            • Set up postgres's environment variables.�They are necessary for the executable to find its supporting libraries. Put the following lines into the postgres user's environment.

              [root src]# su - postgres
               [postgres ~] emacs ~postgres/.bashrc

              Paste this line into .bash_profile:

              source $HOME/.bashrc

              Paste these lines into .bashrc:

              export PATH=/usr/local/bin/:$PATH:/usr/local/pgsql/bin
               export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib

              Test this by logging in as @@ -98,47 +108,45 @@

              Don't continue unless you see correct output from env | grep PATH

            • Compile and install PostgreSQL.� Change to the postgres user and run ./configure to set the compilation options automatically. This is the point at which you can - configure PostgreSQL in various ways. For example, if you want to - enable - Unicode support, add the flags --enable-locale and --enable-multibyte. If you want to see what the other possibilities are, run ./configure --help. + configure PostgreSQL in various ways. For example, if you are installing on "OS X" add the flags --with-includes=/sw/include/ --with-libraries=/sw/lib. If you want to see what the other possibilities are, run ./configure --help.

              On debian woody (stable, 3.0), do ./configure --without-readline --without-zlib.

              [root src]# su - postgres
              -[postgres pgsql]$ cd /usr/local/src/postgresql-7.3.4
              -[postgres postgresql-7.3.4]$ ./configure --with-includes=/sw/include/ --with-libraries=/sw/lib --enable-locale --enable-multibyte \
              -  --enable-syslog --enable-unicode-conversion --enable-recode 
              +[postgres pgsql]$ cd /usr/local/src/postgresql-7.4.7
              +[postgres postgresql-7.4.7]$ ./configure
               creating cache ./config.cache
               checking host system type... i686-pc-linux-gnu
               (many lines omitted>
               linking ./src/makefiles/Makefile.linux to src/Makefile.port
               linking ./src/backend/port/tas/dummy.s to src/backend/port/tas.s
              -[postgres postgresql-7.3.4]$ make all
              +[postgres postgresql-7.4.7]$ make all
               make -C doc all
              -make[1]: Entering directory `/usr/local/src/postgresql-7.3.4/doc'
              +make[1]: Entering directory `/usr/local/src/postgresql-7.4.7/doc'
               (many lines omitted)
              -make[1]: Leaving directory `/usr/local/src/postgresql-7.3.4/src'
              +make[1]: Leaving directory `/usr/local/src/postgresql-7.4.7/src'
               All of PostgreSQL successfully made. Ready to install.
              -[postgres postgresql-7.3.4]$ make install
              +[postgres postgresql-7.4.7]$ make install
               make -C doc install
              -make[1]: Entering directory `/usr/local/src/postgresql-7.3.4/doc'
              +make[1]: Entering directory `/usr/local/src/postgresql-7.4.7/doc'
               (many lines omitted)
               Thank you for choosing PostgreSQL, the most advanced open source database
               engine.
               su - postgres
              -cd /usr/local/src/postgresql-7.3.4
              -./configure
              +cd /usr/local/src/postgresql-7.4.7
              +./configure 
               make all
               make install
            • Start PostgreSQL.� The initdb command initializes the database. pg_ctl is used to start up - PostgreSQL. -

              [postgres postgresql-7.3.4]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
              +	  PostgreSQL. If PostgreSQL is unable to allocate enough memory, see section 11
              +          Tuning PostgreSQL (below).
              +	

              [postgres postgresql-7.4.7]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
               The files belonging to this database system will be owned by user "postgres".
               This user must also own the server process.
               (17 lines omitted)
               or
                   /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
              -[postgres postgresql-7.3.4]$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/server.log start
              +[postgres postgresql-7.4.7]$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/server.log start
               postmaster successfully started
              -[postgres postgresql-7.3.4]$
              +[postgres postgresql-7.4.7]$
               /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
               /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/data/server.log start

              PostgreSQL errors will be logged in @@ -147,15 +155,15 @@ access. Plpgsql is a PL/SQL-like language. We add it to template1, which is the template from which all new databases are created. We can verify that it was created - with the createlang command in list mode.

              [postgres postgresql-7.3.4]$ createlang plpgsql template1
              +	  with the createlang command in list mode.

              [postgres postgresql-7.4.7]$ createlang plpgsql template1
               [postgres pgsql]$ createlang -l template1
               Procedural languages
                 Name   | Trusted?
               ---------+----------
                plpgsql | t
               (1 row)
               
              -[postgres pgsql-7.3.4]$
              +[postgres pgsql-7.4.7]$
               createlang plpgsql template1
               createlang -l template1
            • Test PostgreSQL (OPTIONAL).�Create a database and try some simple commands. The output should be as shown.

              [postgres pgsql]$ createdb mytestdb
              @@ -198,11 +206,11 @@
                       state. Red Hat and Debian and SuSE each work a little
                       differently.  If you haven't  untarred the OpenACS tarball, you will need to do so now to access the postgresql.txt file.
               	

              • Red Hat RPM:

                The init script is already installed; just turn it on for the appropriate run levels.

                [root root]# chkconfig --level 345 postgresql on
                -[root root]# 
              • Red Hat from source:

                [root src]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
                +[root root]# 
              • Red Hat from source:

                [root src]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
                 [root src]# chown root.root /etc/rc.d/init.d/postgresql
                 [root src]# chmod 755 /etc/rc.d/init.d/postgresql
                 [root src]# 
                -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
                +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
                 chown root.root /etc/rc.d/init.d/postgresql
                 chmod 755 /etc/rc.d/init.d/postgresql

                Test the script.

                [root root]# service postgresql stop
                 Stopping PostgreSQL: ok
                @@ -221,11 +229,11 @@
                 chkconfig --add postgresql
                 chkconfig --level 345 postgresql on
                 chkconfig --list postgresql
                -service postgresql start
              • Debian:

                [root ~]# cp /tmp/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
                +service postgresql start
              • Debian:

                [root ~]# cp /var/tmp/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
                 [root ~]# chown root.root /etc/init.d/postgresql
                 [root ~]# chmod 755 /etc/init.d/postgresql
                 [root ~]# 
                -cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
                +cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
                 chown root.root /etc/init.d/postgresql
                 chmod 755 /etc/init.d/postgresql

                Test the script

                [root ~]# /etc/init.d/postgresql stop
                 Stopping PostgreSQL: ok
                @@ -243,7 +251,19 @@
                    /etc/rc5.d/S20postgresql -> ../init.d/postgresql
                 [root ~]# /etc/init.d/postgresql start
                 Starting PostgreSQL: ok
                -[root ~]#
              • SuSE:

                Note

                +[root ~]#

            • FreeBSD:

              [root ~]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /usr/local/etc/rc.d/postgresql.sh
              +[root ~]# chown root:wheel /usr/local/etc/rc.d/postgresql.sh
              +[root ~]# chmod 755 /usr/local/etc/rc.d/postgresql.sh
              +[root ~]# 
              +cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /usr/local/etc/rc.d/postgresql.sh
              +chown root:wheel /usr/local/etc/rc.d/postgresql.sh
              +chmod 755 /usr/local/etc/rc.d/postgresql.sh

              Test the script

              [root ~]# /usr/local/etc/rc.d/postgresql.sh stop
              +Stopping PostgreSQL: ok
              +[root ~]# 

              If PostgreSQL successfully stopped, then turn it back on because we'll use + it later.

              [root root]# /usr/local/etc/rc.d/postgresql.sh start
              +Starting PostgreSQL: ok
              +[root root]#
              +/usr/local/etc/rc.d/postgresql.sh start
            • SuSE:

              Note

              I have received reports that SuSE 8.0 is different from previous versions. Instead of installing the boot scripts in @@ -253,7 +273,7 @@ rc.d/ part in each of the following commands. -

              [root ~]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /etc/rc.d/init.d/postgresql
              +          

              [root ~]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/postgresql.txt /etc/rc.d/init.d/postgresql
               [root ~]# chown root.root /etc/rc.d/init.d/postgresql
               [root ~]# chmod 755 /etc/rc.d/init.d/postgresql

              @@ -317,7 +337,15 @@

              Restart postgres (service postgresql restart) or (/etc/init.d/postgres - restart) so that the changes take effect.

            • more information about PostgreSQL

              • + restart) so that the changes take effect.

              FreeBSD users: See man syctl, man 5 sysctl + and man 5 loader.conf.

              Performance tuning resources:

              more information about PostgreSQL

              ($Id$)
              View comments on this page at openacs.org
              +

              ($Id$)
              View comments on this page at openacs.org
              Index: openacs-4/packages/acs-core-docs/www/profile-code.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/profile-code.html,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/profile-code.html 24 Jun 2004 09:42:26 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/profile-code.html 16 Feb 2005 00:21:03 -0000 1.6 @@ -1,4 +1,4 @@ -Profile your code

              Profile your code

              by Jade Rubick

              +Profile your code

              Profile your code

              by Jade Rubick

              OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

              There are several facilities for profiling your code in Index: openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html 29 Jun 2004 15:50:15 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html 16 Feb 2005 00:21:03 -0000 1.40 @@ -1,4 +1,4 @@ -Programming with AOLserver

              Programming with AOLserver

              By Michael Yoon, Jon Salz and Lars Pind.

              +Programming with AOLserver

              Programming with AOLserver

              By Michael Yoon, Jon Salz and Lars Pind.

              OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

              The global command

              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.31 -r1.32 --- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 5 Jul 2004 14:24:59 -0000 1.31 +++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 16 Feb 2005 00:21:03 -0000 1.32 @@ -1,8 +1,8 @@ -Add PSGML commands to emacs init file (OPTIONAL)

              Add PSGML commands to emacs init file (OPTIONAL)

              +Add PSGML commands to emacs init file (OPTIONAL)

              Add PSGML commands to emacs init file (OPTIONAL)

              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 -> help mis-mapping that often occurs in - terminals.

              [root tmp]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs
              +      terminals.

              [root tmp]# cp /var/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs
               cp: overwrite `/etc/skel/.emacs'? y
               [root tmp]# 

              Debian users:

              apt-get install psgml

              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 instead of in the output of the xsltproc hours or days later. For debian, apt-get install nxml.

              View comments on this page at openacs.org
              Index: openacs-4/packages/acs-core-docs/www/psgml-mode.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-mode.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/psgml-mode.html 29 Jun 2004 15:50:15 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/psgml-mode.html 16 Feb 2005 00:21:03 -0000 1.40 @@ -1,4 +1,4 @@ -Using PSGML mode in Emacs

              Using PSGML mode in Emacs

              By David Lutterkort

              +Using PSGML mode in Emacs

              Using PSGML mode in Emacs

              By David Lutterkort

              OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

              Note: nxml mode replaces and/or complements psgml mode. More information.

              What it is

              PSGML Mode is a mode for editing, umm, SGML and XML documents in emacs. It @@ -82,4 +82,4 @@ element is a sect1.

              How to use it

              Of course, you should read the emacs texinfo pages that come with PSGML mode from start to finish. Barring that, here are some handy commands:

              KeyCommand
              C-c C-eInsert an element. Uses completion and only lets you insert elements that are valid
              C-c C-aEdit attributes of enclosing element.
              C-c C-x C-iShow information about the document's DTD.
              C-c C-x C-eDescribe element. Shows for one element which elements can be parents, -what its contents can be and lists its attributes.

              Further reading

              Start with the OpenACS Documentation Guide

              ($Id$)
              View comments on this page at openacs.org
              +what its contents can be and lists its attributes.

              Further reading

              Start with the the section called “OpenACS Documentation Guide”

              ($Id$)
              View comments on this page at openacs.org
              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.45 -r1.46 --- openacs-4/packages/acs-core-docs/www/release-notes.html 5 Jul 2004 14:24:59 -0000 1.45 +++ openacs-4/packages/acs-core-docs/www/release-notes.html 16 Feb 2005 00:21:03 -0000 1.46 @@ -1,4 +1,20 @@ -OpenACS Release Notes

              OpenACS Release Notes

              Version 5.1.0

              • Lots of little tweaks and fixes

              • Complete Change list since 5.0.0 in Changelog

              • Many Bug fixes

              Version 5.0.4

              • New translations, including for .LRN 2.0.2.

              Version 5.0.1

              • All work on the translation server from 7 Nov 2003 to 7 Feb 2004 is now included in catalogs.

              • One new function in acs-tcl, util::age_pretty

              • Complete Change list since 5.0.0 in Changelog

              • Many documentation updates and doc bug fixes

              Version 5.0.0

              +OpenACS Release Notes

              OpenACS Release Notes

              The ChangeLogs include an annotated list of changes since the last release and in the entire 5.2 release sequence.

              Release 5.1.4

              • Bug fixes.

                The missing CR TCL API has been filled in, thanks to Rocael and + his team and Dave Bauer.

                This release does not include new translations.

              Release 5.1.3

              • Bug fixes, primarily for .LRN compatibility in support of upcoming .LRN 2.1.0 releases. This release does not include new translations since 5.1.2. +

              Release 5.1.2

              • Translations syncronized with the translation server. + Basque and Catalan added. +

              • For a complete change list, see the Change list since + 5.1.0 in Changelog.

              Release 5.1.1

              • This is the first release using the newest adjustment to the versioning convention. The OpenACS 5.1.1 tag will apply to OpenACS core as well as to the most recent released version of every package, including .LRN.

              • Translations syncronized with the translation server. +

              • Bug + 1519 fixed. This involved renaming all catalog + files for ch_ZH, TH_TH, AR_EG, AR_LB, ms_my, RO_RO, FA_IR, + and HR_HR. If you work with any of those locales, you + should do a full catalog export and then import (via + /acs-lang/admin) after + upgrading acs-lang. (And, of course, make a backup of both + the files and database before upgrading.)

              • Other bug fixes since 5.1.0: 1785, + 1793, + and over a dozen additional bug fixes.

              • For a complete change list, see the Change list since + 5.0.0 in Changelog.

              Release 5.1.0

              • Lots of little tweaks and fixes

              • Complete Change list since 5.0.0 in Changelog

              • Many Bug fixes

              Release 5.0.4

              • New translations, including for .LRN 2.0.2.

              Release 5.0.1

              • All work on the translation server from 7 Nov 2003 to 7 Feb 2004 is now included in catalogs.

              • One new function in acs-tcl, util::age_pretty

              • Complete Change list since 5.0.0 in Changelog

              • Many documentation updates and doc bug fixes

              Release 5.0.0

              This is OpenACS 5.0.0. This version contains no known security, data loss, or crashing bugs, nor any bugs judged release blockers. This version has received manual testing. It has passed current automated testing, which is not comprehensive. This release contains work done on the translation server http://translate.openacs.org through 7 Nov 2003.

              Please report bugs using our @@ -95,4 +111,3808 @@

            • Serving backup files and files from the CVS directories is 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/* *~") -

            ($Id$)
            View comments on this page at openacs.org
            +

            ($Id$)

            Changelog (most recent release only)

            2004-11-24 23:16  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/aolserver.xml:
            +	  adding test page for aolserver4, suggested by Aldert Nooitgedagt
            +
            +2004-11-24 04:01  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added documentation strategy section
            +
            +2004-11-24 02:13  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added marketing perspective to end-users docs, corrected spelling
            +	  mistakes
            +
            +2004-11-23 23:53  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added developer documentation requirements
            +
            +2004-11-23 20:28  joel
            +
            +	* packages/acs-core-docs/www/: xml/releasing-openacs.xml,
            +	  releasing-openacs-core.html: fixed typo
            +
            +2004-11-23 12:41  andrewg
            +
            +	* www/site-master.adp: Adding a span around the Site Wide Admin
            +	  link so that .LRN can hide it via dotlrn-master.css.
            +
            +2004-11-23 12:09  vivianh
            +
            +	*
            +	  packages/acs-subsite/sql/postgresql/upgrade/upgrade-5.1.2-5.1.3.sql:
            +	  add support for upgrade
            +
            +2004-11-23 12:07  vivianh
            +
            +	* packages/acs-subsite/sql/postgresql/: acs-subsite-create.sql,
            +	  acs-subsite-drop.sql, site-node-selection-drop.sql,
            +	  site-node-selection.sql: add suppor table for site-map creation
            +
            +2004-11-23 12:05  vivianh
            +
            +	* packages/acs-subsite/sql/oracle/upgrade/upgrade-5.1.2-5.1.3.sql:
            +	  upgrade support
            +
            +2004-11-23 12:04  vivianh
            +
            +	* packages/acs-subsite/sql/oracle/: acs-subsite-drop.sql,
            +	  site-node-selection-drop.sql: drop support
            +
            +2004-11-23 12:01  vivianh
            +
            +	* packages/acs-subsite/sql/oracle/: acs-subsite-create.sql,
            +	  site-node-selection.sql: add table to support site-map creation
            +
            +2004-11-23 10:49  vivianh
            +
            +	* packages/acs-subsite/www/admin/site-map/: allow-for-view.tcl,
            +	  allow-for-view.xql, site-map-oracle.xql, site-map-postgresql.xql,
            +	  site-map.adp, site-map.tcl: add files to support site-map
            +	  creation
            +
            +2004-11-23 10:46  vivianh
            +
            +	* packages/acs-subsite/www/admin/site-map/index.adp: add link for
            +	  build site-map
            +
            +2004-11-23 10:28  vivianh
            +
            +	* packages/acs-subsite/www/resources/default-master.css: add css
            +	  for new calendar widget
            +
            +2004-11-23 10:28  vivianh
            +
            +	* packages/acs-subsite/www/resources/core.js: add Javascript for
            +	  new calendar widget
            +
            +2004-11-22 16:29  enriquec
            +
            +	* www/blank-master.tcl: Adding the option Hide/Show toolbar in
            +	  /dotlrn/admin. Fixing the "Error include" message when the
            +	  installation of .lrn is done.
            +
            +2004-11-22 14:14  enriquec
            +
            +	* www/: blank-master.adp, blank-master.tcl: Adding include and link
            +	  html tags if dotlrn is installed and if the dotlrn toolbar is
            +	  enabled. I followed the same way as acs developper support
            +	  toolbar.
            +
            +2004-11-21 11:32  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added developer tutorial documentation requirements
            +
            +2004-11-20 12:07  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added installation documenation requirements
            +
            +2004-11-19 21:08  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added administration documenation requirements
            +
            +2004-11-19 13:46  jader
            +
            +	* packages/acs-subsite/www/user/portrait/upload-2.tcl: Applying
            +	  patch 617 for bug 2161, courtesy of Carsten Clasohm.
            +
            +2004-11-18 13:48  jader
            +
            +	* packages/acs-admin/www/server-restart.adp: Fix link to APM
            +
            +2004-11-18 13:46  jader
            +
            +	* packages/acs-admin/www/server-restart.adp: Add link to APM
            +
            +2004-11-18 12:27  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  changing package status url to most recent version
            +
            +2004-11-18 11:01  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  fixing typos
            +
            +2004-11-18 10:53  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  adding end-user requirements section
            +
            +2004-11-18 08:17  gerardom
            +
            +	* packages/acs-tcl/tcl/security-procs.tcl: fixing bugs in procs to
            +	  redirect to insecure url
            +
            +2004-11-18 01:00  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  corrected error, converted lt,gt signs to entities within
            +	  programlisting tag
            +
            +2004-11-17 12:32  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  adding some docs about documentation development into existing
            +	  meta docs
            +
            +2004-11-16 09:09  jader
            +
            +	* packages/acs-core-docs/www/xml/:
            +	  developers-guide/permissions.xml,
            +	  developers-guide/submissions.xml, engineering-standards/cvs.xml,
            +	  install-guide/openacs.xml, install-guide/other-software.xml,
            +	  install-guide/upgrade.xml: Updating the CVS references from
            +	  openacs.org to cvs.openacs.org
            +
            +2004-11-15 10:29  jader
            +
            +	* packages/acs-api-browser/lib/search.adp: Add link to core and
            +	  package documentation.
            +
            +2004-11-15 05:25  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/other-software.xml:
            +	  added FreeBSD variant notes for daemontools and nsopenssl
            +
            +2004-11-15 04:55  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/openacs.xml: added
            +	  FreeBSD variant notes.  changed a typo chgrp in action tag to
            +	  match chown in userinput section
            +
            +2004-11-15 04:21  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/: os.xml,
            +	  software.xml: Added note to use fetch instead of wget when
            +	  installing on freebsd
            +
            +2004-11-15 04:19  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/aolserver4.xml:
            +	  Added FreeBSD variant, and a brief section on howto check if an
            +	  existing tcl meets requirements
            +
            +2004-11-15 03:06  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/postgres.xml:
            +	  correcting my earlier use of computeroutput tags to userinput
            +	  tags in tuning section
            +
            +2004-11-15 01:50  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/postgres.xml:
            +	  Freebsd variant additions
            +
            +2004-11-15 00:00  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/os.xml: clarifying
            +	  statements
            +
            +2004-11-14 22:04  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/overview.xml: added
            +	  FreeBSD variant for copy paste convenience
            +
            +2004-11-14 13:48  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/software.xml:
            +	  clarifications to page info
            +
            +2004-11-14 12:55  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/overview.xml:
            +	  language clarifications
            +
            +2004-11-11 14:40  jader
            +
            +	* packages/acs-templating/tcl/date-procs.tcl: Improve robustness of
            +	  template::util::date::set_property proc for dealing with hours
            +	  that begin with a zero.
            +
            +2004-11-11 14:06  jader
            +
            +	* packages/acs-subsite/: lib/login.adp, lib/login.tcl,
            +	  www/register/recover-password.tcl: The registration/login pages
            +	  were not honoring the EmailForgottenPasswordP parameter. This
            +	  enforces that parameter, allowing admins to disable emailing out
            +	  passwords.
            +
            +2004-11-08 11:58  joel
            +
            +	* packages/acs-core-docs/www/: acs-package-dev.html,
            +	  acs-plat-dev.html, aolserver.html, aolserver4.html,
            +	  apm-design.html, apm-requirements.html,
            +	  automated-testing-best-practices.html, backup-recovery.html,
            +	  bootstrap-acs.html, contributing-code.html, credits.html,
            +	  cvs-guidelines.html, cvs-tips.html, db-api-detailed.html,
            +	  db-api.html, doc-standards.html, docbook-primer.html,
            +	  eng-standards-constraint-naming.html,
            +	  eng-standards-filenaming.html, eng-standards-plsql.html,
            +	  eng-standards-versioning.html, eng-standards.html,
            +	  ext-auth-requirements.html, filename.html, form-builder.html,
            +	  groups-design.html, groups-requirements.html, high-avail.html,
            +	  how-do-I.html, i18n-convert.html, i18n-design.html,
            +	  i18n-introduction.html, i18n-overview.html,
            +	  i18n-requirements.html, i18n-translators.html, i18n.html,
            +	  index.html, install-cvs.html, install-daemontools.html,
            +	  install-full-text-search.html, install-next-nightly-vacuum.html,
            +	  install-openacs-keepalive.html, install-qmail.html,
            +	  install-redhat.html, install-steps.html, ix01.html,
            +	  kernel-doc.html, kernel-overview.html, mac-installation.html,
            +	  maint-performance.html, maintenance-deploy.html,
            +	  maintenance-web.html, nxml-mode.html, object-identity.html,
            +	  object-system-design.html, object-system-requirements.html,
            +	  objects.html, openacs-cvs-concepts.html, openacs.html,
            +	  oracle.html, packages.html, parties.html,
            +	  permissions-design.html, permissions-requirements.html,
            +	  permissions-tediously-explained.html, permissions.html,
            +	  postgres.html, programming-with-aolserver.html,
            +	  psgml-for-emacs.html, psgml-mode.html, release-notes-4-5.html,
            +	  release-notes-4-6-2.html, release-notes-4-6-3.html,
            +	  release-notes-4-6.html, release-notes.html,
            +	  releasing-openacs-core.html, releasing-openacs.html,
            +	  releasing-package.html, request-processor.html,
            +	  requirements-template.html, rp-design.html, rp-requirements.html,
            +	  security-design.html, security-notes.html,
            +	  security-requirements.html, style-guide.html,
            +	  subsites-design.html, subsites-requirements.html, subsites.html,
            +	  tcl-doc.html, templates.html, tutorial-css-layout.html,
            +	  tutorial-cvs.html, tutorial-database.html, tutorial-debug.html,
            +	  tutorial-distribute.html, tutorial-newpackage.html,
            +	  tutorial-pages.html, unix-installation.html,
            +	  update-repository.html, update-translations.html,
            +	  upgrade-4.5-to-4.6.html, upgrade-openacs-files.html,
            +	  upgrade-overview.html, using-cvs-with-openacs.html,
            +	  variables.html, win2k-installation.html,
            +	  xml/releasing-openacs.xml, xml/engineering-standards/cvs.xml:
            +	  fixes to cvs, releasing openacs
            +
            +2004-11-04 16:19  jader
            +
            +	* packages/acs-subsite/lib/login.adp: Add a paragraph break to make
            +	  it easier to see how to register.
            +
            +2004-11-04 15:33  jader
            +
            +	* etc/analog.cfg: Fix path in analog configuration file.
            +
            +2004-11-03 08:37  joel
            +
            +	* packages/acs-core-docs/www/: contributing-code.html,
            +	  cvs-resources.html, index.html, openacs-cvs-concepts.html,
            +	  using-cvs-with-openacs.html, xml/engineering-standards/cvs.xml,
            +	  xml/index.xml: changed layout of CVS section
            +
            +2004-11-02 15:16  giancarlol
            +
            +	* packages/: acs-kernel/catalog/acs-kernel.it_IT.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.it_IT.ISO-8859-1.xml: Replaced
            +	  HTML entities for special characters (Latin-1 supplement) with
            +	  ISO-8859-1 encoding.
            +
            +2004-11-01 15:44  joel
            +
            +	* packages/acs-core-docs/www/cvs-guidelines.html: added section on
            +	  using cvs
            +
            +2004-11-01 15:39  joel
            +
            +	* packages/acs-core-docs/www/: acs-admin.html,
            +	  acs-package-dev.html, acs-plat-dev.html, analog-install.html,
            +	  analog-setup.html, aolserver.html, aolserver4.html,
            +	  apm-design.html, apm-requirements.html, automated-backup.html,
            +	  automated-testing-best-practices.html, backup-recovery.html,
            +	  backups-with-cvs.html, bootstrap-acs.html, complete-install.html,
            +	  configuring-new-site.html, credits.html, cvs-tips.html,
            +	  database-management.html, db-api-detailed.html, db-api.html,
            +	  dev-guide.html, doc-standards.html, docbook-primer.html,
            +	  eng-standards-constraint-naming.html,
            +	  eng-standards-filenaming.html, eng-standards-plsql.html,
            +	  eng-standards-versioning.html, eng-standards.html,
            +	  ext-auth-requirements.html, filename.html, for-everyone.html,
            +	  form-builder.html, general-documents.html, groups-design.html,
            +	  groups-requirements.html, high-avail.html, how-do-I.html,
            +	  i18n-convert.html, i18n-design.html, i18n-introduction.html,
            +	  i18n-overview.html, i18n-requirements.html,
            +	  i18n-translators.html, i18n.html, index.html,
            +	  individual-programs.html, install-cvs.html,
            +	  install-daemontools.html, install-full-text-search.html,
            +	  install-more-software.html, install-next-add-server.html,
            +	  install-next-backups.html, install-next-nightly-vacuum.html,
            +	  install-nsopenssl.html, install-nspam.html,
            +	  install-openacs-delete-tablespace.html,
            +	  install-openacs-inittab.html, install-openacs-keepalive.html,
            +	  install-origins.html, install-overview.html,
            +	  install-pam-radius.html, install-php.html, install-qmail.html,
            +	  install-redhat.html, install-resources.html,
            +	  install-squirrelmail.html, install-ssl.html, install-steps.html,
            +	  install-tclwebtest.html, ix01.html, kernel-doc.html,
            +	  kernel-overview.html, mac-installation.html,
            +	  maint-performance.html, maintenance-deploy.html,
            +	  maintenance-web.html, nxml-mode.html, object-identity.html,
            +	  object-system-design.html, object-system-requirements.html,
            +	  objects.html, openacs-overview.html, openacs-unpack.html,
            +	  openacs.html, oracle.html, os-install.html, os-security.html,
            +	  packages.html, parties.html, permissions-design.html,
            +	  permissions-requirements.html,
            +	  permissions-tediously-explained.html, permissions.html,
            +	  postgres.html, profile-code.html,
            +	  programming-with-aolserver.html, psgml-for-emacs.html,
            +	  psgml-mode.html, release-notes-4-5.html,
            +	  release-notes-4-6-2.html, release-notes-4-6-3.html,
            +	  release-notes-4-6.html, release-notes.html,
            +	  releasing-openacs-core.html, releasing-openacs.html,
            +	  releasing-package.html, remote-postgres.html,
            +	  request-processor.html, requirements-template.html,
            +	  rp-design.html, rp-requirements.html, security-design.html,
            +	  security-notes.html, security-requirements.html,
            +	  snapshot-backup.html, style-guide.html, subsites-design.html,
            +	  subsites-requirements.html, subsites.html, tcl-doc.html,
            +	  templates.html, tutorial-admin-pages.html,
            +	  tutorial-advanced.html, tutorial-caching.html,
            +	  tutorial-categories.html, tutorial-comments.html,
            +	  tutorial-css-layout.html, tutorial-cvs.html,
            +	  tutorial-database.html, tutorial-debug.html,
            +	  tutorial-distribute.html, tutorial-future-topics.html,
            +	  tutorial-hierarchical.html, tutorial-html-email.html,
            +	  tutorial-newpackage.html, tutorial-notifications.html,
            +	  tutorial-pages.html, tutorial-schedule-procs.html,
            +	  tutorial-specs.html, tutorial-vuh.html, tutorial.html,
            +	  unix-installation.html, update-repository.html,
            +	  update-translations.html, upgrade-4.5-to-4.6.html,
            +	  upgrade-4.6.3-to-5.html, upgrade-5-0-dot.html,
            +	  upgrade-openacs-files.html, upgrade-overview.html,
            +	  upgrade-supporting.html, upgrade.html, uptime.html,
            +	  variables.html, win2k-installation.html, xml/index.xml,
            +	  xml/variables.ent, xml/engineering-standards/cvs.xml,
            +	  xml/install-guide/other-software.xml: added section on using cvs
            +
            +2004-10-30 13:07  jader
            +
            +	* etc/config.tcl: The ssl contexts were missing from the config.tcl
            +	  file, which will prevent anyone from using ssl on their sites.
            +
            +2004-10-29 14:49  jader
            +
            +	* packages/acs-core-docs/www/files/nsd-postgres.txt: Added a
            +	  comment in the file that the LD_LIBRARY_PATH may need
            +	  /usr/local/aolserver/lib. Comment only, so no functionality
            +	  changed.
            +
            +2004-10-28 17:57  rocaelh
            +
            +	* packages/acs-subsite/www/admin/site-map/index.tcl: fix of the
            +	  direct mounting package, clean up of the new site-map
            +	  w/list-builder must be done
            +
            +2004-10-28 11:40  josee
            +
            +	* packages/acs-subsite/www/admin/site-map/index.tcl: fixing bug
            +	  #2139 (link causing problems)
            +
            +2004-10-28 10:35  enriquec
            +
            +	* packages/acs-authentication/tcl/authentication-procs.tcl: fixing
            +	  typo (ref.bug#2088): datta_error -> data_error
            +
            +2004-10-28 08:39  nimam
            +
            +	* packages/acs-subsite/: www/permissions/grant.tcl,
            +	  www/permissions/perm-include.adp,
            +	  www/permissions/perm-include.tcl,
            +	  catalog/acs-subsite.de_DE.ISO-8859-1.xml,
            +	  catalog/acs-subsite.en_US.ISO-8859-1.xml: Added the grant
            +	  permission action to acs-subsite/www/permissions/perm-include.
            +	  The existing action returns a list of all users in OpenACS which
            +	  can take ages to render. With grant permissions the admin can set
            +	  permissions for a single user that he can search for. To use
            +	  acs-subsite/www/permissions/grant from any other page I added the
            +	  optional return_url parameter that redirects back to that page
            +	  where grant was called
            +
            +2004-10-22 06:44  nimam
            +
            +	* packages/acs-admin/www/auth/: authority-oracle.xql,
            +	  authority-postgresql.xql: Batch jobs are now ordered by start
            +	  time
            +
            +

            Changelog for oacs-5-2

            2005-01-09 16:41  donb
            +
            +	* packages/acs-templating/tcl/parse-procs.tcl: Daveb made a change
            +	  to the noquote regexp used to recognize array vars, but didn't
            +	  make the change to the "normal" version of the proc.	His own
            +	  test case caught it, I assume he must've caught it but forgot to
            +	  commit ...
            +
            +2005-01-09 15:00  daveb
            +
            +	* packages/acs-content-repository/tcl/content-revision-procs.tcl:
            +	  Fix call to content::item::content_type
            +
            +2005-01-09 13:59  daveb
            +
            +	* packages/acs-content-repository/tcl/: content-item-procs.tcl,
            +	  content-item-procs.xql, content-revision-procs.tcl,
            +	  test/content-item-test-procs.tcl: Add content::item::get. Add
            +	  test case support for it.
            +
            +2005-01-09 13:01  joel
            +
            +	*
            +	  packages/acs-content-repository/tcl/test/content-item-test-procs.tcl:
            +	  renamed bad_string to evil_string
            +
            +2005-01-09 12:36  joel
            +
            +	*
            +	  packages/acs-content-repository/tcl/test/content-item-test-procs.tcl:
            +	  extended test case for content items
            +
            +2005-01-07 17:20  donb
            +
            +	* packages/forums/sql/oracle/upgrade/upgrade-1.0.6-1.0.7d.sql:
            +	  Testing revealed a minor error in my upgrade script
            +
            +2005-01-07 16:32  daveb
            +
            +	* packages/acs-content-repository/tcl/content-symlink-procs.tcl:
            +	  Make creation_date optional for content::symlink::new
            +
            +2005-01-07 13:23  donb
            +
            +	* packages/forums/lib/message/thread-chunk.adp: Oops screwed up
            +	  tree nesting!  Fixed now ...
            +
            +2005-01-07 13:02  donb
            +
            +	* packages/forums/lib/message/: row.adp, thread-chunk.adp: Got rid
            +	  of "reply" link in the message display if the presentation style
            +	  is flat.
            +
            +2005-01-07 12:47  donb
            +
            +	* packages/forums/lib/message/: thread-chunk.adp, thread-chunk.tcl:
            +	  Replaced bloody Tcl-in-Adp code that was uglifying the
            +	  thread-chunk template
            +
            +2005-01-07 08:59  donb
            +
            +	* packages/forums/sql/: oracle/forums-messages-package-create.sql,
            +	  oracle/upgrade/upgrade-1.0.6-1.0.7d.sql,
            +	  postgresql/forums-messages-package-create.sql,
            +	  postgresql/upgrade/upgrade-1.0.6-1.0.7d.sql: My changes weren't
            +	  counting threaded deletes correctly ... this still needs
            +	  retesting on Oracle/PG which I'll do in the next day or so by
            +	  writing new test cases...
            +
            +2005-01-07 08:48  donb
            +
            +	* packages/forums/sql/oracle/upgrade/upgrade-1.0.6-1.0.7d.sql:
            +	  Added previous "mutating table" fix to the upgrade script, too
            +	  ...
            +
            +2005-01-07 08:43  donb
            +
            +	* packages/forums/sql/oracle/forums-messages-package-create.sql:
            +	  Fixing "mutating table" problem but on my wrong machine, need to
            +	  go test this on the server with Oracle on it ...
            +
            +2005-01-06 19:03  daveb
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/postgresql/content-item.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.4d6-5.1.4d7.sql: Fix define
            +	  function args for content_item__set_live revision
            +
            +2005-01-06 10:43  daveb
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/postgresql/content-template.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.4d5-5.1.4d6.sql: Fix define
            +	  function args for content_template__new to use the 8 parameter
            +	  version.
            +
            +2005-01-06 10:30  donb
            +
            +	* packages/acs-subsite/tcl/package-procs-oracle.xql: Misspelled the
            +	  query name for calling an Oracle function in
            +	  package_exec_plsql...
            +
            +2005-01-06 10:06  daveb
            +
            +	* packages/acs-content-repository/tcl/content-keyword-procs.tcl:
            +	  Creation_date and object_type are optional with defaults.
            +
            +2005-01-06 09:48  daveb
            +
            +	* packages/acs-content-repository/tcl/content-folder-procs.tcl:
            +	  Don't pass creation_date on new unless its  not null.
            +
            +2005-01-06 08:54  daveb
            +
            +	* packages/acs-content-repository/tcl/content-item-procs.tcl: Fix
            +	  delete command to use plsql "del"
            +
            +2005-01-06 08:38  daveb
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/postgresql/upgrade/upgrade-5.1.4d4-5.1.4d5.sql: Create __del
            +	  functions to match oracle.
            +
            +2005-01-06 08:31  daveb
            +
            +	* packages/acs-content-repository/sql/postgresql/:
            +	  content-item.sql, content-revision.sql, content-template.sql: Add
            +	  __del function to match oracle so package_exec_plsql will work
            +
            +2005-01-05 07:52  jader
            +
            +	* packages/acs-authentication/tcl/authentication-procs.tcl: Fix bug
            +	  2200 and bug 2242 in which there were problems with logging in
            +	  after upgrading if you restarted the server first. The new code
            +	  is less elegant, but it works correctly. It imposes a database
            +	  hit on login, but it is cached, so it only is incurred once.
            +
            +2005-01-04 11:31  andrewg
            +
            +	* packages/forums/sql/oracle/: forums-messages-package-create.sql,
            +	  upgrade/upgrade-1.0.6-1.0.7d.sql: Oracle 8 doesn't support
            +	  current_timestamp, so I've changed it to sysdate
            +
            +2005-01-03 09:26  daveb
            +
            +	* packages/acs-templating/tcl/parse-procs.tcl: Roll back change to
            +	  regular array variable regexp. Only noquote regexp needed to be
            +	  changed.
            +
            +2005-01-03 08:38  daveb
            +
            +	* packages/acs-content-repository/tcl/: content-item-procs.tcl,
            +	  content-type-procs.tcl, test/content-item-test-procs.tcl: Make
            +	  id_column and table_name required for content::type::new.  Fix
            +	  content::item::new to properly create a subtype of content
            +	  revision based on the content_type paramter is attributes, title
            +	  or text is specified.
            +
            +2005-01-02 21:28  jader
            +
            +	* packages/acs-authentication/tcl/authentication-procs.tcl: The
            +	  user-new page called a proc in the authentications package which
            +	  checked to see if a parameter was set or not. However, in
            +	  upgraded sites, or if the user had entered a blank entry for the
            +	  parameter, the proc would bomb.  I made the proc more robust by
            +	  using string is false instead of ![parameter...  and also added
            +	  in a util_user_message to make it more explicit what is happening
            +	  if you aren't able to register (the behavior was very confusing).
            +
            +2005-01-01 10:45  daveb
            +
            +	* packages/acs-templating/tcl/: parse-procs.tcl,
            +	  test/parse-test-procs.tcl: Allow adp array variable regexp to
            +	  work with arrays with . in the key names. This happens when a
            +	  formerror is generated on a form element where the element name
            +	  has an embedded . so it can be interpreted as an array when
            +	  processing the form. Added test cases.
            +
            +2004-12-30 13:01  daveb
            +
            +	* packages/acs-content-repository/tcl/: content-item-procs.tcl,
            +	  test/content-item-test-procs.tcl: Clarify documenation for
            +	  content::item::new and add test cases to ensure a new revision
            +	  can be created.  Fixes bug#2232
            +
            +2004-12-30 05:58  daveb
            +
            +	* packages/search/www/search.tcl: Back out inefficient permission
            +	  checking.
            +
            +2004-12-30 04:01  maltes
            +
            +	* packages/search/www/: advanced-search.adp, advanced-search.tcl,
            +	  index.adp, search.adp, search.tcl: Internationalization of the
            +	  Search Package
            +
            +2004-12-30 03:14  maltes
            +
            +	* packages/search/www/search.tcl: Limit Search results only to
            +	  results a user actually has read permission
            +
            +2004-12-29 12:46  daveb
            +
            +	* packages/acs-content-repository/tcl/content-type-procs.tcl: Add
            +	  documentation for column_spec of content::type::attribute::new
            +
            +2004-12-29 07:35  daveb
            +
            +	* packages/acs-content-repository/tcl/content-template-procs.tcl:
            +	  Only pass creation_date if it is not empty.
            +
            +2004-12-29 07:28  joel
            +
            +	* etc/config.tcl: took my name out
            +
            +2004-12-29 07:26  daveb
            +
            +	*
            +	  packages/acs-content-repository/sql/postgresql/upgrade/upgrade-5.1.4d3-5.1.4d4.sql:
            +	  Set default for creation_date in content_template__new
            +
            +2004-12-29 07:19  daveb
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/postgresql/upgrade/upgrade-5.1.4d3-5.1.4d4.sql: Return new
            +	  folder_id from content_folder__new
            +
            +2004-12-27 12:47  joel
            +
            +	* packages/acs-tcl/tcl/00-database-procs.tcl: removed some obsolete
            +	  comments and added a link
            +
            +2004-12-27 12:40  joel
            +
            +	* etc/config.tcl: added link to documentation for second database
            +
            +2004-12-27 12:38  joel
            +
            +	* packages/acs-core-docs/www/: tutorial-advanced.html,
            +	  tutorial-future-topics.html, tutorial-schedule-procs.html: added
            +	  instructions for 2nd database access
            +
            +2004-12-27 12:29  joel
            +
            +	* packages/acs-core-docs/www/: tutorial-second-database.html,
            +	  xml/developers-guide/tutorial-advanced.xml: added instructions
            +	  for 2nd database access
            +
            +2004-12-25 19:31  joel
            +
            +	* packages/acs-core-docs/www/files/nsd-postgres.txt: moved the
            +	  extra lib link from a comment to the lib path; it shouldn't
            +	  affect performance and it will save others (like me) the time to
            +	  diagnose and find this fix)
            +
            +2004-12-25 13:46  donb
            +
            +	* packages/forums/sql/oracle/: forums-messages-package-create.sql,
            +	  upgrade/upgrade-1.0.6-1.0.7d.sql: last_child_post wasn't being
            +	  initialized in the "new" function...
            +
            +2004-12-25 13:33  donb
            +
            +	* packages/acs-subsite/tcl/: package-procs-oracle.xql,
            +	  package-procs-postgresql.xql, package-procs.tcl: Fixed
            +	  package_exec_plsql so it works with Oracle procedures as well as
            +	  functions (PG only has functions so was working fine for all
            +	  cases)
            +
            +2004-12-24 17:05  donb
            +
            +	* packages/forums/sql/oracle/: forums-forums-create.sql,
            +	  forums-messages-create.sql, forums-messages-package-create.sql,
            +	  upgrade/upgrade-1.0.6-1.0.7d.sql: Added the thread and reply
            +	  counting code previously commited for the PG version to the
            +	  Oracle version.
            +
            +2004-12-23 09:58  donb
            +
            +	* packages/forums/sql/postgresql/upgrade/upgrade-1.0.6-1.0.7d.sql:
            +	  Update query for reply counting was slightly in error ...
            +
            +2004-12-23 01:48  jarkko
            +
            +	* packages/acs-tcl/tcl/utilities-procs.tcl: Importing updated
            +	  Simulation 1.0.1 and fixed ad_returnredirect to accept html
            +	  switch (for not quoting the message relayed).
            +
            +2004-12-22 23:26  maltes
            +
            +	* packages/acs-lang/www/admin/set-system-timezone.tcl: Applied
            +	  patch #619.Fixes timezone problem with timeanddate.com format
            +
            +2004-12-22 18:12  donb
            +
            +	* packages/forums/: forums.info,
            +	  lib/forums/forums-chunk-oracle.xql,
            +	  lib/forums/forums-chunk-postgresql.xql,
            +	  lib/message/threads-chunk-oracle.xql,
            +	  lib/message/threads-chunk-postgresql.xql,
            +	  lib/message/threads-chunk.tcl,
            +	  sql/postgresql/forums-forums-create.sql,
            +	  sql/postgresql/forums-messages-create.sql,
            +	  sql/postgresql/forums-messages-package-create.sql,
            +	  sql/postgresql/upgrade/upgrade-1.0.6-1.0.7d.sql,
            +	  tcl/forums-procs.tcl, tcl/messages-procs-oracle.xql,
            +	  tcl/messages-procs-postgresql.xql, tcl/messages-procs.tcl,
            +	  tcl/messages-procs.xql, tcl/test/forums-procs.tcl: Added tracking
            +	  of threads in a forum and replies to a root post to the
            +	  forums-forums and forums-messages datamodel, and fixed the
            +	  necessary code.  Also cleaned up some stuff and wrote a test case
            +	  for automated testing.  PG only at this point, will add the
            +	  Oracle stuff shortly.
            +
            +2004-12-22 08:13  daveb
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/postgresql/content-folder.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.4d2-5.1.4d3.sql: Set
            +	  package_id from content_folder__new
            +
            +2004-12-21 10:22  daveb
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/postgresql/content-extlink.sql,
            +	  sql/postgresql/content-folder.sql,
            +	  sql/postgresql/content-item.sql,
            +	  sql/postgresql/content-revision.sql,
            +	  sql/postgresql/content-symlink.sql,
            +	  sql/postgresql/content-type.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.4d1-5.1.4d2.sql,
            +	  tcl/content-extlink-procs.tcl, tcl/content-folder-procs.tcl,
            +	  tcl/content-item-procs.tcl, tcl/content-keyword-procs.tcl,
            +	  tcl/content-revision-procs.tcl, tcl/content-symlink-procs.tcl,
            +	  tcl/content-template-procs.tcl, tcl/content-type-procs.tcl,
            +	  tcl/test/content-item-test-procs.tcl,
            +	  tcl/test/content-revision-test-procs.tcl: Add CR Tcl API from
            +	  HEAD.
            +
            +2004-12-19 17:58  daveb
            +
            +	* packages/acs-templating/resources/forms/inline.adp: Inline form
            +	  with widget and button on the same line for really simple forms
            +	  such as filters for listbuilder.
            +
            +2004-12-18 16:10  donb
            +
            +	* packages/acs-templating/tcl/list-procs.tcl: Oops, a tiny blunder
            +	  in my previous update, returned an illegal SQL snippet if there
            +	  were no IDs selected.  The list builder should cleverly refuse to
            +	  do the query in this case, but we'll settle for it doing a SELECT
            +	  that returns nothing for now.
            +
            +2004-12-17 16:42  joel
            +
            +	* packages/acs-admin/tcl/: apm-admin-init.tcl, apm-admin-procs.tcl:
            +	  converted build-repository.tcl to a proc and init
            +
            +2004-12-17 14:49  vivianh
            +
            +	* packages/acs-subsite/www/admin/site-map/allow-for-view.tcl:
            +	  Adding child to parent select in checkbox list
            +
            +2004-12-17 11:19  jader
            +
            +	* packages/acs-subsite/www/doc/images.html: Add in new up and down
            +	  images to images documentation page.
            +
            +2004-12-17 09:54  vivianh
            +
            +	* packages/acs-subsite/www/shared/community-member.tcl: bringing
            +	  back previous tcl version :)
            +
            +2004-12-17 09:49  vivianh
            +
            +	* packages/acs-subsite/www/shared/: community-member.tcl,
            +	  community-member-oracle.xql, community-member-postgresql.xql:
            +	  bringing back previous version
            +
            +2004-12-17 09:40  vivianh
            +
            +	* packages/acs-subsite/www/shared/community-member.adp: bringing
            +	  back previous version
            +
            +2004-12-17 09:35  vivianh
            +
            +	* packages/acs-subsite/www/pvt/home.xql: bringing back previous
            +	  version
            +
            +2004-12-17 09:24  vivianh
            +
            +	* packages/acs-subsite/www/pvt/: home.adp, home.tcl: bringing back
            +	  previous version
            +
            +2004-12-17 08:53  vivianh
            +
            +	* packages/acs-subsite/www/index.adp: adding users site map button
            +
            +2004-12-17 08:49  vivianh
            +
            +	* packages/acs-subsite/www/admin/site-map/site-map.tcl: adding
            +	  bold, images and spaces
            +
            +2004-12-17 08:31  vivianh
            +
            +	* packages/acs-subsite/catalog/: acs-subsite.en_US.ISO-8859-1.xml,
            +	  acs-subsite.es_ES.ISO-8859-1.xml: Adding users site map message
            +
            +2004-12-17 08:23  vivianh
            +
            +	* packages/acs-subsite/www/resources/: down.gif, up.gif: UP/DOWN
            +	  images for users site map
            +
            +2004-12-17 08:14  vivianh
            +
            +	* packages/acs-subsite/www/shared/: community-member.adp,
            +	  community-member.tcl: Check if parameter ShowEmailP is set to 1
            +	  to allow users to show or hide their email
            +
            +2004-12-17 08:13  vivianh
            +
            +	* packages/acs-subsite/www/shared/: community-member-oracle.xql,
            +	  community-member-postgresql.xql: query to show-email field in
            +	  users table added
            +
            +2004-12-17 08:07  vivianh
            +
            +	* packages/acs-subsite/www/pvt/: home.adp, home.tcl, home.xql:
            +	  Allows the user to choice if they want to show or hide their
            +	  e-mail and ShowEmailP parameter check
            +
            +2004-12-17 08:06  vivianh
            +
            +	* packages/acs-subsite/www/pvt/: hide-email.tcl, hide-email.xql:
            +	  Allows the user to choice if they want to show or hide their
            +	  e-mail
            +
            +2004-12-15 14:40  jader
            +
            +	* packages/acs-subsite/www/doc/images.html: Add in xml.gif to doc
            +	  page which shows all the images.
            +
            +2004-12-14 07:51  eduardop
            +
            +	* packages/acs-content-repository/tcl/content-type-procs.tcl: the
            +	  former commit left the code broken
            +
            +2004-12-13 08:44  andrewg
            +
            +	* packages/acs-subsite/www/resources/xml.gif: Adding.
            +
            +2004-12-12 16:45  daveb
            +
            +	* packages/forums/lib/message/post.tcl: Fix preview hidden
            +	  variables to support richtext
            +
            +2004-12-12 16:19  daveb
            +
            +	* packages/forums/: lib/message/post.tcl, lib/message/row.tcl,
            +	  tcl/form-procs.tcl: Use richtext widget
            +
            +2004-12-12 12:15  daveb
            +
            +	* packages/acs-templating/tcl/spellcheck-procs.tcl: Skip validation
            +	  when a widget is in spellcheck mode.
            +
            +2004-12-12 04:15  maltes
            +
            +	* etc/backup.sh: Added backing up the database on another server
            +
            +2004-12-09 12:11  tracya
            +
            +	* packages/forums/forums.info: upping version numbers for release
            +
            +2004-12-08 19:58  donb
            +
            +	* packages/acs-templating/tcl/list-procs-oracle.xql: Oracle testing
            +	  uncovered a missing parenthesis.  Don't you wish EVERYONE tested
            +	  their changes under Oracle as well as PG?
            +
            +2004-12-08 19:52  donb
            +
            +	* packages/acs-templating/tcl/: list-procs-oracle.xql,
            +	  list-procs-postgresql.xql: Oops forgot the ever-so-important .xql
            +	  files!
            +
            +2004-12-08 19:48  donb
            +
            +	* packages/acs-templating/tcl/: acs-templating-init.tcl,
            +	  list-procs.tcl, paginator-procs.tcl: Greatly sped up pagination
            +	  in the list builder.
            +
            +	  1. The list builder builds a separate (optionally cached)
            +	  paginator for each page group, rather than each list.  No more
            +	  filling of the Tcl cache with (say) 5500 forum entries when we
            +	  know that users rarely march through the entire list of forums.
            +
            +	  2. Since the list builder builds an "in (list of ids)" query
            +	  clause to select just those rows needed for this display page,
            +	  there's no reason to sort the list of ids so I'm building the
            +	  list within the list builder rather than using the more
            +	  generalized paginator code.  Minor speedup ...
            +
            +	  This could probably be sped up more by simply caching the list of
            +	  keys within the list builder and replicating some other paginator
            +	  functionality in lightweight form specific to the list builder,
            +	  but this will do for now.  And maybe forever.
            +
            +2004-12-08 15:27  richardh
            +
            +	* packages/acs-subsite/www/permissions/perm-include.tcl: Reverse
            +	  previous commit - fix was actually in catalog. There was a
            +	  duplicate value for 'Remove' and no 'Remove_All'.
            +
            +2004-12-08 15:20  richardh
            +
            +	* packages/acs-subsite/catalog/acs-subsite.en_US.ISO-8859-1.xml:
            +	  The key 'Remove' had two values 'Remove' and 'Remove_All'. Have
            +	  now changed the second 'Remove' key to 'Remove_All' and have
            +	  removed the underscore from the value.
            +
            +2004-12-08 14:49  richardh
            +
            +	* packages/acs-subsite/www/permissions/perm-include.tcl: Correct
            +	  message key 'acs-subsite.Remove_All' to acs-subsite.Remove' to
            +	  eliminate MISSING KEY message.
            +
            +2004-12-07 09:43  alfredw
            +
            +	* packages/acs-content-repository/tcl/content-type-procs.tcl:
            +	  Changed content::type::create_attribute and drop_attribute to the
            +	  content::type::attribute::new and ::delete style.
            +
            +2004-12-07 00:28  alfredw
            +
            +	* packages/acs-content-repository/tcl/content-symlink-procs.tcl:
            +	  renamed ::del to ::delete
            +
            +2004-12-07 00:24  alfredw
            +
            +	* packages/acs-content-repository/tcl/content-item-procs.tcl:
            +	  updated a return type
            +
            +2004-12-07 00:09  alfredw
            +
            +	* packages/acs-content-repository/tcl/content-revision-procs.tcl:
            +	  renamed ::del to ::delete
            +
            +2004-12-07 00:07  alfredw
            +
            +	* packages/acs-content-repository/tcl/content-extlink-procs.tcl:
            +	  Copied ::new logic to content::extlink, added deprecated tags.
            +
            +2004-12-06 23:53  alfredw
            +
            +	* packages/acs-content-repository/tcl/content-extlink-procs.tcl:
            +	  renamed ::del to ::delete
            +
            +2004-12-06 23:50  alfredw
            +
            +	* packages/acs-content-repository/tcl/content-type-procs.tcl:
            +	  changed create_type to ::new and drop_type to ::delete made
            +	  use_context default to "public" rather than be required in all
            +	  cases.  added return values, and @see tags
            +
            +2004-12-06 23:13  alfredw
            +
            +	* packages/acs-content-repository/tcl/content-template-procs.tcl:
            +	  Added return values and a @throws value.
            +
            +2004-12-06 22:58  alfredw
            +
            +	* packages/acs-content-repository/tcl/content-keyword-procs.tcl:
            +	  Added return values, changed content::keyword::del to ::delete
            +
            +2004-12-06 22:23  alfredw
            +
            +	* packages/acs-content-repository/tcl/content-folder-procs.tcl:
            +	  Added return values and other general cleanup.  .
            +
            +2004-12-06 04:02  timoh
            +
            +	* packages/acs-content-repository/tcl/content-template-procs.tcl:
            +	  added parameter package_id to template::new
            +
            +2004-12-06 04:02  timoh
            +
            +	* packages/acs-content-repository/tcl/content-type-procs.tcl: added
            +	  translation of database specific column-specs to other database
            +	  format
            +
            +2004-12-05 01:49  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/eng-standards-versioning.xml:
            +	  added package maturity standards section per
            +	  http://openacs.org/forums/message-view?message_id=160957 using
            +	  tag conventions found in existing packages
            +
            +2004-12-04 22:24  torbenb
            +
            +	* etc/config.tcl: re-arranged sections according to Configuration
            +	  File Hierarchy http://aolserver.com/docs/admin/config.html#3 and
            +	  http://aolserver.com/docs/admin/config-reference.tcl.txt and
            +	  reformatted spacing for readibility. No parameter changes made
            +
            +2004-12-04 18:03  torbenb
            +
            +	* etc/config.tcl: adding missing params, more annotation
            +
            +2004-12-04 17:21  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/openacs.xml: typo
            +	  correction
            +
            +2004-12-04 17:20  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/maintenance.xml:
            +	  adding absolute pathname to svgroup since /usr/local/bin is not
            +	  necessarily in the default root pathnames
            +
            +2004-12-04 12:44  donb
            +
            +	* packages/forums/lib/message/: post.tcl, threads-chunk.tcl: Got
            +	  paginator caching to work, coherently
            +
            +2004-12-04 09:54  donb
            +
            +	* packages/forums/lib/message/: threads-chunk-oracle.xql,
            +	  threads-chunk-postgresql.xql, threads-chunk.xql: My pagination
            +	  queries weren't complete.  Now they are ... but slower, sigh, at
            +	  least until I rewrite pagination in the list builder.
            +
            +2004-12-03 19:27  donb
            +
            +	* packages/forums/lib/message/threads-chunk.tcl: Argh, gotta flush
            +	  the paginator cache because we don't know if there's been a
            +	  posting or not ...
            +
            +2004-12-03 19:19  donb
            +
            +	* packages/forums/www/: forum-view.adp, forum-view.tcl: Added
            +	  pagination ...
            +
            +2004-12-03 19:06  donb
            +
            +	* packages/forums/lib/message/: threads-chunk-oracle.xql,
            +	  threads-chunk-postgresql.xql, threads-chunk.tcl,
            +	  threads-chunk.xql: Add pagination to the forums thread view page.
            +
            +2004-12-02 15:22  jader
            +
            +	* packages/acs-core-docs/www/xml/engineering-standards/cvs.xml:
            +	  Changed tag for releasing from oacs-5-1-compat to
            +	  openacs-5-1-compat
            +
            +2004-12-01 17:58  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  fixing broken links
            +
            +2004-12-01 02:42  maltes
            +
            +	* www/robots.txt: initial import of the openacs.org files to the
            +	  openacs-org branch.
            +
            +2004-11-30 13:43  joel
            +
            +	* packages/acs-core-docs/www/: contributing-code.html,
            +	  releasing-package.html, xml/releasing-openacs.xml,
            +	  xml/engineering-standards/cvs.xml: more fixes to adding packages
            +
            +2004-11-30 12:58  joel
            +
            +	* packages/acs-core-docs/www/: xml/engineering-standards/cvs.xml,
            +	  contributing-code.html: fixing typos and tidying up
            +
            +2004-11-29 11:25  joel
            +
            +	* packages/acs-core-docs/www/xml/releasing-openacs.xml: making
            +	  harmless white-space change to help Branimir test new mailing
            +	  list
            +
            +2004-11-29 09:38  jader
            +
            +	* packages/acs-templating/tcl/list-procs.tcl: Add reference to how
            +	  to sort hierarchical queries with list-builder.
            +
            +2004-11-26 17:32  joel
            +
            +	* ChangeLog, readme.txt, packages/acs-admin/acs-admin.info,
            +	  packages/acs-api-browser/acs-api-browser.info,
            +	  packages/acs-authentication/acs-authentication.info,
            +	  packages/acs-automated-testing/acs-automated-testing.info,
            +	  packages/acs-bootstrap-installer/acs-bootstrap-installer.info,
            +	  packages/acs-content-repository/acs-content-repository.info,
            +	  packages/acs-core-docs/acs-core-docs.info,
            +	  packages/acs-core-docs/www/acs-admin.html,
            +	  packages/acs-core-docs/www/aolserver.html,
            +	  packages/acs-core-docs/www/aolserver4.html,
            +	  packages/acs-core-docs/www/automated-testing-best-practices.html,
            +	  packages/acs-core-docs/www/backup-recovery.html,
            +	  packages/acs-core-docs/www/bootstrap-acs.html,
            +	  packages/acs-core-docs/www/complete-install.html,
            +	  packages/acs-core-docs/www/contributing-code.html,
            +	  packages/acs-core-docs/www/credits.html,
            +	  packages/acs-core-docs/www/cvs-guidelines.html,
            +	  packages/acs-core-docs/www/cvs-tips.html,
            +	  packages/acs-core-docs/www/db-api-detailed.html,
            +	  packages/acs-core-docs/www/db-api.html,
            +	  packages/acs-core-docs/www/docbook-primer.html,
            +	  packages/acs-core-docs/www/eng-standards-constraint-naming.html,
            +	  packages/acs-core-docs/www/eng-standards-filenaming.html,
            +	  packages/acs-core-docs/www/eng-standards-plsql.html,
            +	  packages/acs-core-docs/www/eng-standards-versioning.html,
            +	  packages/acs-core-docs/www/ext-auth-requirements.html,
            +	  packages/acs-core-docs/www/filename.html,
            +	  packages/acs-core-docs/www/form-builder.html,
            +	  packages/acs-core-docs/www/high-avail.html,
            +	  packages/acs-core-docs/www/how-do-I.html,
            +	  packages/acs-core-docs/www/i18n-convert.html,
            +	  packages/acs-core-docs/www/index.html,
            +	  packages/acs-core-docs/www/individual-programs.html,
            +	  packages/acs-core-docs/www/install-cvs.html,
            +	  packages/acs-core-docs/www/install-daemontools.html,
            +	  packages/acs-core-docs/www/install-full-text-search.html,
            +	  packages/acs-core-docs/www/install-ldap-radius.html,
            +	  packages/acs-core-docs/www/install-next-add-server.html,
            +	  packages/acs-core-docs/www/install-next-nightly-vacuum.html,
            +	  packages/acs-core-docs/www/install-nsopenssl.html,
            +	  packages/acs-core-docs/www/install-openacs-keepalive.html,
            +	  packages/acs-core-docs/www/install-qmail.html,
            +	  packages/acs-core-docs/www/install-redhat.html,
            +	  packages/acs-core-docs/www/install-steps.html,
            +	  packages/acs-core-docs/www/ix01.html,
            +	  packages/acs-core-docs/www/mac-installation.html,
            +	  packages/acs-core-docs/www/maint-performance.html,
            +	  packages/acs-core-docs/www/maintenance-deploy.html,
            +	  packages/acs-core-docs/www/maintenance-web.html,
            +	  packages/acs-core-docs/www/object-identity.html,
            +	  packages/acs-core-docs/www/objects.html,
            +	  packages/acs-core-docs/www/openacs-cvs-concepts.html,
            +	  packages/acs-core-docs/www/openacs-unpack.html,
            +	  packages/acs-core-docs/www/openacs.html,
            +	  packages/acs-core-docs/www/oracle.html,
            +	  packages/acs-core-docs/www/packages.html,
            +	  packages/acs-core-docs/www/parties.html,
            +	  packages/acs-core-docs/www/permissions-tediously-explained.html,
            +	  packages/acs-core-docs/www/permissions.html,
            +	  packages/acs-core-docs/www/postgres.html,
            +	  packages/acs-core-docs/www/programming-with-aolserver.html,
            +	  packages/acs-core-docs/www/psgml-for-emacs.html,
            +	  packages/acs-core-docs/www/psgml-mode.html,
            +	  packages/acs-core-docs/www/release-notes-4-5.html,
            +	  packages/acs-core-docs/www/release-notes-4-6-2.html,
            +	  packages/acs-core-docs/www/release-notes-4-6-3.html,
            +	  packages/acs-core-docs/www/release-notes-4-6.html,
            +	  packages/acs-core-docs/www/release-notes.html,
            +	  packages/acs-core-docs/www/releasing-openacs-core.html,
            +	  packages/acs-core-docs/www/request-processor.html,
            +	  packages/acs-core-docs/www/requirements-template.html,
            +	  packages/acs-core-docs/www/security-notes.html,
            +	  packages/acs-core-docs/www/style-guide.html,
            +	  packages/acs-core-docs/www/subsites.html,
            +	  packages/acs-core-docs/www/tcl-doc.html,
            +	  packages/acs-core-docs/www/templates.html,
            +	  packages/acs-core-docs/www/tutorial-css-layout.html,
            +	  packages/acs-core-docs/www/tutorial-cvs.html,
            +	  packages/acs-core-docs/www/tutorial-database.html,
            +	  packages/acs-core-docs/www/tutorial-debug.html,
            +	  packages/acs-core-docs/www/tutorial-distribute.html,
            +	  packages/acs-core-docs/www/tutorial-newpackage.html,
            +	  packages/acs-core-docs/www/tutorial-pages.html,
            +	  packages/acs-core-docs/www/tutorial-specs.html,
            +	  packages/acs-core-docs/www/unix-installation.html,
            +	  packages/acs-core-docs/www/upgrade-4.5-to-4.6.html,
            +	  packages/acs-core-docs/www/upgrade-openacs-files.html,
            +	  packages/acs-core-docs/www/upgrade-overview.html,
            +	  packages/acs-core-docs/www/using-cvs-with-openacs.html,
            +	  packages/acs-core-docs/www/variables.html,
            +	  packages/acs-core-docs/www/win2k-installation.html,
            +	  packages/acs-core-docs/www/xml/releasing-openacs.xml,
            +	  packages/acs-core-docs/www/xml/variables.ent,
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml,
            +	  packages/acs-core-docs/www/xml/for-everyone/release-notes.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/maintenance.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/openacs.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/other-software.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/postgres.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/software.xml,
            +	  packages/acs-kernel/acs-kernel.info,
            +	  packages/acs-lang/acs-lang.info, packages/acs-mail/acs-mail.info,
            +	  packages/acs-messaging/acs-messaging.info,
            +	  packages/acs-reference/acs-reference.info,
            +	  packages/acs-service-contract/acs-service-contract.info,
            +	  packages/acs-subsite/acs-subsite.info,
            +	  packages/acs-tcl/acs-tcl.info,
            +	  packages/acs-templating/acs-templating.info,
            +	  packages/ref-timezones/ref-timezones.info,
            +	  packages/search/search.info: doc updates and versioning for
            +	  openacs 5.1.3
            +
            +2004-11-24 23:16  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/aolserver.xml:
            +	  adding test page for aolserver4, suggested by Aldert Nooitgedagt
            +
            +2004-11-24 04:01  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added documentation strategy section
            +
            +2004-11-24 02:13  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added marketing perspective to end-users docs, corrected spelling
            +	  mistakes
            +
            +2004-11-23 23:53  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added developer documentation requirements
            +
            +2004-11-23 20:28  joel
            +
            +	* packages/acs-core-docs/www/: xml/releasing-openacs.xml,
            +	  releasing-openacs-core.html: fixed typo
            +
            +2004-11-23 12:41  andrewg
            +
            +	* www/site-master.adp: Adding a span around the Site Wide Admin
            +	  link so that .LRN can hide it via dotlrn-master.css.
            +
            +2004-11-23 12:09  vivianh
            +
            +	*
            +	  packages/acs-subsite/sql/postgresql/upgrade/upgrade-5.1.2-5.1.3.sql:
            +	  add support for upgrade
            +
            +2004-11-23 12:07  vivianh
            +
            +	* packages/acs-subsite/sql/postgresql/: acs-subsite-create.sql,
            +	  acs-subsite-drop.sql, site-node-selection-drop.sql,
            +	  site-node-selection.sql: add suppor table for site-map creation
            +
            +2004-11-23 12:05  vivianh
            +
            +	* packages/acs-subsite/sql/oracle/upgrade/upgrade-5.1.2-5.1.3.sql:
            +	  upgrade support
            +
            +2004-11-23 12:04  vivianh
            +
            +	* packages/acs-subsite/sql/oracle/: acs-subsite-drop.sql,
            +	  site-node-selection-drop.sql: drop support
            +
            +2004-11-23 12:01  vivianh
            +
            +	* packages/acs-subsite/sql/oracle/: acs-subsite-create.sql,
            +	  site-node-selection.sql: add table to support site-map creation
            +
            +2004-11-23 10:49  vivianh
            +
            +	* packages/acs-subsite/www/admin/site-map/: allow-for-view.tcl,
            +	  allow-for-view.xql, site-map-oracle.xql, site-map-postgresql.xql,
            +	  site-map.adp, site-map.tcl: add files to support site-map
            +	  creation
            +
            +2004-11-23 10:46  vivianh
            +
            +	* packages/acs-subsite/www/admin/site-map/index.adp: add link for
            +	  build site-map
            +
            +2004-11-23 10:28  vivianh
            +
            +	* packages/acs-subsite/www/resources/default-master.css: add css
            +	  for new calendar widget
            +
            +2004-11-23 10:28  vivianh
            +
            +	* packages/acs-subsite/www/resources/core.js: add Javascript for
            +	  new calendar widget
            +
            +2004-11-22 16:29  enriquec
            +
            +	* www/blank-master.tcl: Adding the option Hide/Show toolbar in
            +	  /dotlrn/admin. Fixing the "Error include" message when the
            +	  installation of .lrn is done.
            +
            +2004-11-22 14:14  enriquec
            +
            +	* www/: blank-master.adp, blank-master.tcl: Adding include and link
            +	  html tags if dotlrn is installed and if the dotlrn toolbar is
            +	  enabled. I followed the same way as acs developper support
            +	  toolbar.
            +
            +2004-11-21 11:32  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added developer tutorial documentation requirements
            +
            +2004-11-20 12:07  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added installation documenation requirements
            +
            +2004-11-19 21:08  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  added administration documenation requirements
            +
            +2004-11-19 13:46  jader
            +
            +	* packages/acs-subsite/www/user/portrait/upload-2.tcl: Applying
            +	  patch 617 for bug 2161, courtesy of Carsten Clasohm.
            +
            +2004-11-18 13:48  jader
            +
            +	* packages/acs-admin/www/server-restart.adp: Fix link to APM
            +
            +2004-11-18 13:46  jader
            +
            +	* packages/acs-admin/www/server-restart.adp: Add link to APM
            +
            +2004-11-18 12:27  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  changing package status url to most recent version
            +
            +2004-11-18 11:01  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  fixing typos
            +
            +2004-11-18 10:53  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  adding end-user requirements section
            +
            +2004-11-18 08:17  gerardom
            +
            +	* packages/acs-tcl/tcl/security-procs.tcl: fixing bugs in procs to
            +	  redirect to insecure url
            +
            +2004-11-18 01:00  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  corrected error, converted lt,gt signs to entities within
            +	  programlisting tag
            +
            +2004-11-17 12:32  torbenb
            +
            +	*
            +	  packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml:
            +	  adding some docs about documentation development into existing
            +	  meta docs
            +
            +2004-11-16 09:09  jader
            +
            +	* packages/acs-core-docs/www/xml/:
            +	  developers-guide/permissions.xml,
            +	  developers-guide/submissions.xml, engineering-standards/cvs.xml,
            +	  install-guide/openacs.xml, install-guide/other-software.xml,
            +	  install-guide/upgrade.xml: Updating the CVS references from
            +	  openacs.org to cvs.openacs.org
            +
            +2004-11-15 10:29  jader
            +
            +	* packages/acs-api-browser/lib/search.adp: Add link to core and
            +	  package documentation.
            +
            +2004-11-15 05:25  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/other-software.xml:
            +	  added FreeBSD variant notes for daemontools and nsopenssl
            +
            +2004-11-15 04:55  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/openacs.xml: added
            +	  FreeBSD variant notes.  changed a typo chgrp in action tag to
            +	  match chown in userinput section
            +
            +2004-11-15 04:21  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/: os.xml,
            +	  software.xml: Added note to use fetch instead of wget when
            +	  installing on freebsd
            +
            +2004-11-15 04:19  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/aolserver4.xml:
            +	  Added FreeBSD variant, and a brief section on howto check if an
            +	  existing tcl meets requirements
            +
            +2004-11-15 03:06  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/postgres.xml:
            +	  correcting my earlier use of computeroutput tags to userinput
            +	  tags in tuning section
            +
            +2004-11-15 01:50  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/postgres.xml:
            +	  Freebsd variant additions
            +
            +2004-11-15 00:00  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/os.xml: clarifying
            +	  statements
            +
            +2004-11-14 22:04  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/overview.xml: added
            +	  FreeBSD variant for copy paste convenience
            +
            +2004-11-14 13:48  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/software.xml:
            +	  clarifications to page info
            +
            +2004-11-14 12:55  torbenb
            +
            +	* packages/acs-core-docs/www/xml/install-guide/overview.xml:
            +	  language clarifications
            +
            +2004-11-11 14:40  jader
            +
            +	* packages/acs-templating/tcl/date-procs.tcl: Improve robustness of
            +	  template::util::date::set_property proc for dealing with hours
            +	  that begin with a zero.
            +
            +2004-11-11 14:06  jader
            +
            +	* packages/acs-subsite/: lib/login.adp, lib/login.tcl,
            +	  www/register/recover-password.tcl: The registration/login pages
            +	  were not honoring the EmailForgottenPasswordP parameter. This
            +	  enforces that parameter, allowing admins to disable emailing out
            +	  passwords.
            +
            +2004-11-08 11:58  joel
            +
            +	* packages/acs-core-docs/www/: acs-package-dev.html,
            +	  acs-plat-dev.html, aolserver.html, aolserver4.html,
            +	  apm-design.html, apm-requirements.html,
            +	  automated-testing-best-practices.html, backup-recovery.html,
            +	  bootstrap-acs.html, contributing-code.html, credits.html,
            +	  cvs-guidelines.html, cvs-tips.html, db-api-detailed.html,
            +	  db-api.html, doc-standards.html, docbook-primer.html,
            +	  eng-standards-constraint-naming.html,
            +	  eng-standards-filenaming.html, eng-standards-plsql.html,
            +	  eng-standards-versioning.html, eng-standards.html,
            +	  ext-auth-requirements.html, filename.html, form-builder.html,
            +	  groups-design.html, groups-requirements.html, high-avail.html,
            +	  how-do-I.html, i18n-convert.html, i18n-design.html,
            +	  i18n-introduction.html, i18n-overview.html,
            +	  i18n-requirements.html, i18n-translators.html, i18n.html,
            +	  index.html, install-cvs.html, install-daemontools.html,
            +	  install-full-text-search.html, install-next-nightly-vacuum.html,
            +	  install-openacs-keepalive.html, install-qmail.html,
            +	  install-redhat.html, install-steps.html, ix01.html,
            +	  kernel-doc.html, kernel-overview.html, mac-installation.html,
            +	  maint-performance.html, maintenance-deploy.html,
            +	  maintenance-web.html, nxml-mode.html, object-identity.html,
            +	  object-system-design.html, object-system-requirements.html,
            +	  objects.html, openacs-cvs-concepts.html, openacs.html,
            +	  oracle.html, packages.html, parties.html,
            +	  permissions-design.html, permissions-requirements.html,
            +	  permissions-tediously-explained.html, permissions.html,
            +	  postgres.html, programming-with-aolserver.html,
            +	  psgml-for-emacs.html, psgml-mode.html, release-notes-4-5.html,
            +	  release-notes-4-6-2.html, release-notes-4-6-3.html,
            +	  release-notes-4-6.html, release-notes.html,
            +	  releasing-openacs-core.html, releasing-openacs.html,
            +	  releasing-package.html, request-processor.html,
            +	  requirements-template.html, rp-design.html, rp-requirements.html,
            +	  security-design.html, security-notes.html,
            +	  security-requirements.html, style-guide.html,
            +	  subsites-design.html, subsites-requirements.html, subsites.html,
            +	  tcl-doc.html, templates.html, tutorial-css-layout.html,
            +	  tutorial-cvs.html, tutorial-database.html, tutorial-debug.html,
            +	  tutorial-distribute.html, tutorial-newpackage.html,
            +	  tutorial-pages.html, unix-installation.html,
            +	  update-repository.html, update-translations.html,
            +	  upgrade-4.5-to-4.6.html, upgrade-openacs-files.html,
            +	  upgrade-overview.html, using-cvs-with-openacs.html,
            +	  variables.html, win2k-installation.html,
            +	  xml/releasing-openacs.xml, xml/engineering-standards/cvs.xml:
            +	  fixes to cvs, releasing openacs
            +
            +2004-11-04 16:19  jader
            +
            +	* packages/acs-subsite/lib/login.adp: Add a paragraph break to make
            +	  it easier to see how to register.
            +
            +2004-11-04 15:33  jader
            +
            +	* etc/analog.cfg: Fix path in analog configuration file.
            +
            +2004-11-03 08:37  joel
            +
            +	* packages/acs-core-docs/www/: contributing-code.html,
            +	  cvs-resources.html, index.html, openacs-cvs-concepts.html,
            +	  using-cvs-with-openacs.html, xml/engineering-standards/cvs.xml,
            +	  xml/index.xml: changed layout of CVS section
            +
            +2004-11-02 15:24  giancarlol
            +
            +	* packages/forums/catalog/forums.it_IT.ISO-8859-1.xml: Replaced
            +	  HTML entities for special characters (Latin-1 supplement) with
            +	  ISO-8859-1 encoding.
            +
            +2004-11-02 15:16  giancarlol
            +
            +	* packages/: acs-kernel/catalog/acs-kernel.it_IT.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.it_IT.ISO-8859-1.xml: Replaced
            +	  HTML entities for special characters (Latin-1 supplement) with
            +	  ISO-8859-1 encoding.
            +
            +2004-11-01 15:44  joel
            +
            +	* packages/acs-core-docs/www/cvs-guidelines.html: added section on
            +	  using cvs
            +
            +2004-11-01 15:39  joel
            +
            +	* packages/acs-core-docs/www/: acs-admin.html,
            +	  acs-package-dev.html, acs-plat-dev.html, analog-install.html,
            +	  analog-setup.html, aolserver.html, aolserver4.html,
            +	  apm-design.html, apm-requirements.html, automated-backup.html,
            +	  automated-testing-best-practices.html, backup-recovery.html,
            +	  backups-with-cvs.html, bootstrap-acs.html, complete-install.html,
            +	  configuring-new-site.html, credits.html, cvs-tips.html,
            +	  database-management.html, db-api-detailed.html, db-api.html,
            +	  dev-guide.html, doc-standards.html, docbook-primer.html,
            +	  eng-standards-constraint-naming.html,
            +	  eng-standards-filenaming.html, eng-standards-plsql.html,
            +	  eng-standards-versioning.html, eng-standards.html,
            +	  ext-auth-requirements.html, filename.html, for-everyone.html,
            +	  form-builder.html, general-documents.html, groups-design.html,
            +	  groups-requirements.html, high-avail.html, how-do-I.html,
            +	  i18n-convert.html, i18n-design.html, i18n-introduction.html,
            +	  i18n-overview.html, i18n-requirements.html,
            +	  i18n-translators.html, i18n.html, index.html,
            +	  individual-programs.html, install-cvs.html,
            +	  install-daemontools.html, install-full-text-search.html,
            +	  install-more-software.html, install-next-add-server.html,
            +	  install-next-backups.html, install-next-nightly-vacuum.html,
            +	  install-nsopenssl.html, install-nspam.html,
            +	  install-openacs-delete-tablespace.html,
            +	  install-openacs-inittab.html, install-openacs-keepalive.html,
            +	  install-origins.html, install-overview.html,
            +	  install-pam-radius.html, install-php.html, install-qmail.html,
            +	  install-redhat.html, install-resources.html,
            +	  install-squirrelmail.html, install-ssl.html, install-steps.html,
            +	  install-tclwebtest.html, ix01.html, kernel-doc.html,
            +	  kernel-overview.html, mac-installation.html,
            +	  maint-performance.html, maintenance-deploy.html,
            +	  maintenance-web.html, nxml-mode.html, object-identity.html,
            +	  object-system-design.html, object-system-requirements.html,
            +	  objects.html, openacs-overview.html, openacs-unpack.html,
            +	  openacs.html, oracle.html, os-install.html, os-security.html,
            +	  packages.html, parties.html, permissions-design.html,
            +	  permissions-requirements.html,
            +	  permissions-tediously-explained.html, permissions.html,
            +	  postgres.html, profile-code.html,
            +	  programming-with-aolserver.html, psgml-for-emacs.html,
            +	  psgml-mode.html, release-notes-4-5.html,
            +	  release-notes-4-6-2.html, release-notes-4-6-3.html,
            +	  release-notes-4-6.html, release-notes.html,
            +	  releasing-openacs-core.html, releasing-openacs.html,
            +	  releasing-package.html, remote-postgres.html,
            +	  request-processor.html, requirements-template.html,
            +	  rp-design.html, rp-requirements.html, security-design.html,
            +	  security-notes.html, security-requirements.html,
            +	  snapshot-backup.html, style-guide.html, subsites-design.html,
            +	  subsites-requirements.html, subsites.html, tcl-doc.html,
            +	  templates.html, tutorial-admin-pages.html,
            +	  tutorial-advanced.html, tutorial-caching.html,
            +	  tutorial-categories.html, tutorial-comments.html,
            +	  tutorial-css-layout.html, tutorial-cvs.html,
            +	  tutorial-database.html, tutorial-debug.html,
            +	  tutorial-distribute.html, tutorial-future-topics.html,
            +	  tutorial-hierarchical.html, tutorial-html-email.html,
            +	  tutorial-newpackage.html, tutorial-notifications.html,
            +	  tutorial-pages.html, tutorial-schedule-procs.html,
            +	  tutorial-specs.html, tutorial-vuh.html, tutorial.html,
            +	  unix-installation.html, update-repository.html,
            +	  update-translations.html, upgrade-4.5-to-4.6.html,
            +	  upgrade-4.6.3-to-5.html, upgrade-5-0-dot.html,
            +	  upgrade-openacs-files.html, upgrade-overview.html,
            +	  upgrade-supporting.html, upgrade.html, uptime.html,
            +	  variables.html, win2k-installation.html, xml/index.xml,
            +	  xml/variables.ent, xml/engineering-standards/cvs.xml,
            +	  xml/install-guide/other-software.xml: added section on using cvs
            +
            +2004-10-30 13:07  jader
            +
            +	* etc/config.tcl: The ssl contexts were missing from the config.tcl
            +	  file, which will prevent anyone from using ssl on their sites.
            +
            +2004-10-29 14:49  jader
            +
            +	* packages/acs-core-docs/www/files/nsd-postgres.txt: Added a
            +	  comment in the file that the LD_LIBRARY_PATH may need
            +	  /usr/local/aolserver/lib. Comment only, so no functionality
            +	  changed.
            +
            +2004-10-28 17:57  rocaelh
            +
            +	* packages/acs-subsite/www/admin/site-map/index.tcl: fix of the
            +	  direct mounting package, clean up of the new site-map
            +	  w/list-builder must be done
            +
            +2004-10-28 11:40  josee
            +
            +	* packages/acs-subsite/www/admin/site-map/index.tcl: fixing bug
            +	  #2139 (link causing problems)
            +
            +2004-10-28 10:35  enriquec
            +
            +	* packages/acs-authentication/tcl/authentication-procs.tcl: fixing
            +	  typo (ref.bug#2088): datta_error -> data_error
            +
            +2004-10-28 08:39  nimam
            +
            +	* packages/acs-subsite/: www/permissions/grant.tcl,
            +	  www/permissions/perm-include.adp,
            +	  www/permissions/perm-include.tcl,
            +	  catalog/acs-subsite.de_DE.ISO-8859-1.xml,
            +	  catalog/acs-subsite.en_US.ISO-8859-1.xml: Added the grant
            +	  permission action to acs-subsite/www/permissions/perm-include.
            +	  The existing action returns a list of all users in OpenACS which
            +	  can take ages to render. With grant permissions the admin can set
            +	  permissions for a single user that he can search for. To use
            +	  acs-subsite/www/permissions/grant from any other page I added the
            +	  optional return_url parameter that redirects back to that page
            +	  where grant was called
            +
            +2004-10-22 06:44  nimam
            +
            +	* packages/acs-admin/www/auth/: authority-oracle.xql,
            +	  authority-postgresql.xql: Batch jobs are now ordered by start
            +	  time
            +
            +2004-10-21 19:38  joel
            +
            +	* ChangeLog, packages/acs-admin/acs-admin.info,
            +	  packages/acs-api-browser/acs-api-browser.info,
            +	  packages/acs-authentication/acs-authentication.info,
            +	  packages/acs-automated-testing/acs-automated-testing.info,
            +	  packages/acs-bootstrap-installer/acs-bootstrap-installer.info,
            +	  packages/acs-content-repository/acs-content-repository.info,
            +	  packages/acs-core-docs/acs-core-docs.info,
            +	  packages/acs-core-docs/www/acs-admin.html,
            +	  packages/acs-core-docs/www/aolserver.html,
            +	  packages/acs-core-docs/www/aolserver4.html,
            +	  packages/acs-core-docs/www/automated-testing-best-practices.html,
            +	  packages/acs-core-docs/www/backup-recovery.html,
            +	  packages/acs-core-docs/www/bootstrap-acs.html,
            +	  packages/acs-core-docs/www/complete-install.html,
            +	  packages/acs-core-docs/www/credits.html,
            +	  packages/acs-core-docs/www/cvs-tips.html,
            +	  packages/acs-core-docs/www/db-api-detailed.html,
            +	  packages/acs-core-docs/www/db-api.html,
            +	  packages/acs-core-docs/www/docbook-primer.html,
            +	  packages/acs-core-docs/www/eng-standards-constraint-naming.html,
            +	  packages/acs-core-docs/www/eng-standards-filenaming.html,
            +	  packages/acs-core-docs/www/eng-standards-plsql.html,
            +	  packages/acs-core-docs/www/eng-standards-versioning.html,
            +	  packages/acs-core-docs/www/ext-auth-requirements.html,
            +	  packages/acs-core-docs/www/filename.html,
            +	  packages/acs-core-docs/www/form-builder.html,
            +	  packages/acs-core-docs/www/high-avail.html,
            +	  packages/acs-core-docs/www/how-do-I.html,
            +	  packages/acs-core-docs/www/i18n-convert.html,
            +	  packages/acs-core-docs/www/index.html,
            +	  packages/acs-core-docs/www/individual-programs.html,
            +	  packages/acs-core-docs/www/install-cvs.html,
            +	  packages/acs-core-docs/www/install-daemontools.html,
            +	  packages/acs-core-docs/www/install-full-text-search.html,
            +	  packages/acs-core-docs/www/install-more-software.html,
            +	  packages/acs-core-docs/www/install-next-add-server.html,
            +	  packages/acs-core-docs/www/install-next-nightly-vacuum.html,
            +	  packages/acs-core-docs/www/install-openacs-keepalive.html,
            +	  packages/acs-core-docs/www/install-pam-radius.html,
            +	  packages/acs-core-docs/www/install-php.html,
            +	  packages/acs-core-docs/www/install-qmail.html,
            +	  packages/acs-core-docs/www/install-redhat.html,
            +	  packages/acs-core-docs/www/install-squirrelmail.html,
            +	  packages/acs-core-docs/www/install-steps.html,
            +	  packages/acs-core-docs/www/ix01.html,
            +	  packages/acs-core-docs/www/mac-installation.html,
            +	  packages/acs-core-docs/www/maint-performance.html,
            +	  packages/acs-core-docs/www/maintenance-deploy.html,
            +	  packages/acs-core-docs/www/maintenance-web.html,
            +	  packages/acs-core-docs/www/object-identity.html,
            +	  packages/acs-core-docs/www/objects.html,
            +	  packages/acs-core-docs/www/openacs-unpack.html,
            +	  packages/acs-core-docs/www/openacs.html,
            +	  packages/acs-core-docs/www/oracle.html,
            +	  packages/acs-core-docs/www/packages.html,
            +	  packages/acs-core-docs/www/parties.html,
            +	  packages/acs-core-docs/www/permissions-tediously-explained.html,
            +	  packages/acs-core-docs/www/permissions.html,
            +	  packages/acs-core-docs/www/postgres.html,
            +	  packages/acs-core-docs/www/programming-with-aolserver.html,
            +	  packages/acs-core-docs/www/psgml-for-emacs.html,
            +	  packages/acs-core-docs/www/psgml-mode.html,
            +	  packages/acs-core-docs/www/release-notes-4-5.html,
            +	  packages/acs-core-docs/www/release-notes-4-6-2.html,
            +	  packages/acs-core-docs/www/release-notes-4-6-3.html,
            +	  packages/acs-core-docs/www/release-notes-4-6.html,
            +	  packages/acs-core-docs/www/release-notes.html,
            +	  packages/acs-core-docs/www/releasing-openacs-core.html,
            +	  packages/acs-core-docs/www/request-processor.html,
            +	  packages/acs-core-docs/www/requirements-template.html,
            +	  packages/acs-core-docs/www/security-notes.html,
            +	  packages/acs-core-docs/www/style-guide.html,
            +	  packages/acs-core-docs/www/subsites.html,
            +	  packages/acs-core-docs/www/tcl-doc.html,
            +	  packages/acs-core-docs/www/templates.html,
            +	  packages/acs-core-docs/www/tutorial-css-layout.html,
            +	  packages/acs-core-docs/www/tutorial-cvs.html,
            +	  packages/acs-core-docs/www/tutorial-database.html,
            +	  packages/acs-core-docs/www/tutorial-debug.html,
            +	  packages/acs-core-docs/www/tutorial-distribute.html,
            +	  packages/acs-core-docs/www/tutorial-newpackage.html,
            +	  packages/acs-core-docs/www/tutorial-pages.html,
            +	  packages/acs-core-docs/www/unix-installation.html,
            +	  packages/acs-core-docs/www/update-repository.html,
            +	  packages/acs-core-docs/www/upgrade-4.5-to-4.6.html,
            +	  packages/acs-core-docs/www/upgrade-openacs-files.html,
            +	  packages/acs-core-docs/www/upgrade-overview.html,
            +	  packages/acs-core-docs/www/variables.html,
            +	  packages/acs-core-docs/www/win2k-installation.html,
            +	  packages/acs-core-docs/www/xml/variables.ent,
            +	  packages/acs-core-docs/www/xml/for-everyone/release-notes.xml,
            +	  packages/acs-kernel/acs-kernel.info,
            +	  packages/acs-lang/acs-lang.info, packages/acs-mail/acs-mail.info,
            +	  packages/acs-messaging/acs-messaging.info,
            +	  packages/acs-reference/acs-reference.info,
            +	  packages/acs-service-contract/acs-service-contract.info,
            +	  packages/acs-subsite/acs-subsite.info,
            +	  packages/acs-tcl/acs-tcl.info,
            +	  packages/acs-templating/acs-templating.info,
            +	  packages/ref-timezones/ref-timezones.info,
            +	  packages/search/search.info: upped version numbers to 5.1.2 and
            +	  updated documentation
            +
            +2004-10-20 10:56  joel
            +
            +	* packages/acs-core-docs/www/: update-translations.html,
            +	  xml/releasing-openacs.xml: updated translation server
            +	  instructions
            +
            +2004-10-20 07:15  daveb
            +
            +	* packages/acs-bootstrap-installer/acs-bootstrap-installer.info:
            +	  Fix stupid typos. Thanks Jeff!
            +
            +2004-10-20 06:46  daveb
            +
            +	* packages/acs-bootstrap-installer/acs-bootstrap-installer.info:
            +	  Fix apm URL version numbers.
            +
            +2004-10-18 17:57  josee
            +
            +	* packages/acs-admin/lib/become.tcl: restricting dotlrn-admin users
            +	  to become in any other user except site-wide-admins
            +
            +2004-10-15 18:13  rocaelh
            +
            +	* packages/acs-admin/www/users/: password-update.adp,
            +	  password-update.tcl: fixing password change for acs-admin to work
            +	  with the /lib by quio@galileo.edu
            +
            +2004-10-15 07:15  maltes
            +
            +	* packages/acs-core-docs/www/: xml/install-guide/postgres.xml,
            +	  postgres.html: According to Jeff no flags are needed for 7.4.5,
            +	  therefore I changed the documentation accordingly
            +
            +2004-10-15 05:09  maltes
            +
            +	* packages/acs-core-docs/www/: xml/install-guide/postgres.xml,
            +	  postgres.html: Copied the postgres ./configure statement
            +
            +2004-10-15 01:49  maltes
            +
            +	*
            +	  packages/acs-content-repository/sql/postgresql/upgrade/upgrade-4.5-4.6.sql:
            +	  Change needed due to dependecies
            +
            +2004-10-15 01:48  maltes
            +
            +	* packages/static-pages/sql/postgresql/: static-page-pb.sql,
            +	  upgrade/upgrade-4.2a-4.3.sql: typos in the scripts
            +
            +2004-10-15 00:46  maltes
            +
            +	* packages/acs-core-docs/www/: xml/install-guide/aolserver4.xml,
            +	  aolserver4.html: Improved the tdom install.
            +
            +2004-10-15 00:35  maltes
            +
            +	* packages/acs-core-docs/www/: xml/install-guide/aolserver4.xml,
            +	  xml/install-guide/postgres.xml, aolserver4.html, postgres.html:
            +	  New versions for aolserver & postgresql
            +
            +2004-10-14 09:49  maltes
            +
            +	* etc/backup.sh: Added automatic delete of old backup files.
            +
            +2004-10-13 20:21  joel
            +
            +	* packages/:
            +	  acs-authentication/catalog/acs-authentication.ar_LB.utf-8.xml,
            +	  acs-authentication/catalog/acs-authentication.ca_ES.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.da_DK.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.de_DE.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.en_US.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.es_ES.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.es_GT.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.eu_ES.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.fa_IR.utf-8.xml,
            +	  acs-authentication/catalog/acs-authentication.fr_FR.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.hu_HU.utf-8.xml,
            +	  acs-authentication/catalog/acs-authentication.it_IT.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.ms_MY.utf-8.xml,
            +	  acs-authentication/catalog/acs-authentication.nl_NL.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.pl_PL.utf-8.xml,
            +	  acs-authentication/catalog/acs-authentication.pt_BR.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.zh_CN.utf-8.xml,
            +	  acs-authentication/catalog/acs-authentication.zh_TW.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ar_EG.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ar_LB.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ast_ES.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.ca_ES.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.da_DK.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.de_DE.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.en_US.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.es_ES.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.es_GT.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.eu_ES.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.fi_FI.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.fr_FR.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.gl_ES.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.hu_HU.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.it_IT.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.ja_JP.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ko_KR.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ms_MY.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.nl_NL.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.nn_NO.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.no_NO.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.pl_PL.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.pt_BR.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.pt_PT.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.ro_RO.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ru_RU.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.sv_SE.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.tr_TR.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.zh_CN.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.zh_TW.utf-8.xml,
            +	  acs-lang/acs-lang.info,
            +	  acs-lang/catalog/acs-lang.ar_EG.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.ar_LB.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.ast_ES.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.ca_ES.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.da_DK.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.de_DE.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.el_GR.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.en_GB.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.en_US.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.es_ES.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.es_GT.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.eu_ES.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.fa_IR.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.fi_FI.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.fr_FR.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.gl_ES.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.hu_HU.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.it_IT.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.ja_JP.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.ko_KR.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.ms_MY.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.nl_NL.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.nn_NO.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.no_NO.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.pl_PL.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.pt_BR.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.pt_PT.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.ro_RO.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.ru_RU.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.sh_HR.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.sv_SE.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.th_TH.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.tr_TR.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.zh_CN.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.zh_TW.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ar_EG.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ar_LB.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ast_ES.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.ca_ES.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.da_DK.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.de_DE.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.el_GR.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.en_US.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.es_ES.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.es_GT.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.eu_ES.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.fi_FI.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.fr_FR.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.gl_ES.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.hu_HU.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.it_IT.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.ja_JP.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ko_KR.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ms_MY.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.nl_NL.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.nn_NO.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.no_NO.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.pl_PL.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.pt_BR.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.pt_PT.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.ro_RO.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ru_RU.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.sh_HR.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.sv_SE.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.tr_TR.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.zh_CN.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.zh_TW.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ar_EG.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ar_LB.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ast_ES.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.ca_ES.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.da_DK.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.de_DE.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.en_US.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.es_ES.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.es_GT.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.eu_ES.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.fa_IR.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.fi_FI.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.fr_FR.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.gl_ES.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.hu_HU.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.it_IT.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.ja_JP.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ko_KR.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ms_MY.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.nl_NL.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.nn_NO.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.no_NO.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.pl_PL.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.pt_BR.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.pt_PT.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.ro_RO.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ru_RU.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.sh_HR.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.sv_SE.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.tr_TR.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.zh_CN.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.zh_TW.utf-8.xml,
            +	  acs-tcl/tcl/00-database-procs.tcl,
            +	  acs-templating/catalog/acs-templating.ar_LB.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.ca_ES.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.da_DK.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.de_DE.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.en_US.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.es_ES.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.es_GT.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.eu_ES.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.fi_FI.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.fr_FR.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.hu_HU.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.it_IT.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.ko_KR.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.ms_MY.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.nl_NL.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.nn_NO.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.no_NO.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.pt_BR.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.pt_PT.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.ro_RO.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.sv_SE.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.zh_CN.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.zh_TW.utf-8.xml,
            +	  forums/catalog/forums.ar_EG.utf-8.xml,
            +	  forums/catalog/forums.ar_LB.utf-8.xml,
            +	  forums/catalog/forums.ca_ES.ISO-8859-1.xml,
            +	  forums/catalog/forums.da_DK.ISO-8859-1.xml,
            +	  forums/catalog/forums.de_DE.ISO-8859-1.xml,
            +	  forums/catalog/forums.en_US.ISO-8859-1.xml,
            +	  forums/catalog/forums.es_ES.ISO-8859-1.xml,
            +	  forums/catalog/forums.es_GT.ISO-8859-1.xml,
            +	  forums/catalog/forums.fi_FI.utf-8.xml,
            +	  forums/catalog/forums.gl_ES.ISO-8859-1.xml,
            +	  forums/catalog/forums.hu_HU.utf-8.xml,
            +	  forums/catalog/forums.it_IT.ISO-8859-1.xml,
            +	  forums/catalog/forums.ja_JP.utf-8.xml,
            +	  forums/catalog/forums.ko_KR.utf-8.xml,
            +	  forums/catalog/forums.ms_MY.utf-8.xml,
            +	  forums/catalog/forums.nl_NL.ISO-8859-1.xml,
            +	  forums/catalog/forums.nn_NO.ISO-8859-1.xml,
            +	  forums/catalog/forums.no_NO.ISO-8859-1.xml,
            +	  forums/catalog/forums.pl_PL.utf-8.xml,
            +	  forums/catalog/forums.pt_BR.ISO-8859-1.xml,
            +	  forums/catalog/forums.pt_PT.ISO-8859-1.xml,
            +	  forums/catalog/forums.ru_RU.utf-8.xml,
            +	  forums/catalog/forums.sh_HR.utf-8.xml,
            +	  forums/catalog/forums.sv_SE.ISO-8859-1.xml,
            +	  forums/catalog/forums.zh_CN.utf-8.xml: updated translations from
            +	  translate.openacs.org
            +
            +2004-10-13 16:09  joel
            +
            +	* packages/acs-lang/sql/: oracle/ad-locales.sql,
            +	  oracle/upgrade/upgrade-5.1.2d2-5.1.2d3.sql,
            +	  postgresql/ad-locales.sql,
            +	  postgresql/upgrade/upgrade-5.1.2d2-5.1.2d3.sql: added Basque and
            +	  Catalan locales
            +
            +2004-10-13 11:33  josee
            +
            +	* packages/acs-admin/: lib/become.tcl, lib/become.xql,
            +	  www/users/become.adp, www/users/become.xql, www/users/become.tcl:
            +	  using the file in acs-admin/lib/become.*, so the user can become
            +	  another user with the role of dotlrn-admin
            +
            +2004-10-13 08:11  tracya
            +
            +	* packages/: acs-admin/acs-admin.info,
            +	  acs-api-browser/acs-api-browser.info,
            +	  acs-authentication/acs-authentication.info,
            +	  acs-automated-testing/acs-automated-testing.info,
            +	  acs-bootstrap-installer/acs-bootstrap-installer.info,
            +	  acs-content-repository/acs-content-repository.info,
            +	  acs-core-docs/acs-core-docs.info, acs-kernel/acs-kernel.info,
            +	  acs-lang/acs-lang.info, acs-mail/acs-mail.info,
            +	  acs-messaging/acs-messaging.info,
            +	  acs-reference/acs-reference.info,
            +	  acs-service-contract/acs-service-contract.info,
            +	  acs-subsite/acs-subsite.info, acs-tcl/acs-tcl.info,
            +	  acs-templating/acs-templating.info, forums/forums.info,
            +	  ref-timezones/ref-timezones.info: upping version numbers for
            +	  release
            +
            +2004-10-13 02:46  darior
            +
            +	* www/site-master.adp: Use label #acs-subsite.Change_lecale_label#
            +	  for message 'Change locale' in site-footer
            +
            +2004-10-12 15:10  tils
            +
            +	* packages/forums/tcl/form-procs.tcl: Fixing arbitrary HTML user
            +	  input vulnerability in message body. Since the revert back from
            +	  using the richtext widget a few weeks ago html went unchecked
            +	  into the message body.
            +
            +2004-10-10 23:28  maltes
            +
            +	* packages/acs-lang/catalog/: acs-lang.de_DE.ISO-8859-1.xml,
            +	  acs-lang.en_US.ISO-8859-1.xml: I forgot that you *first* have to
            +	  upgrade the version before you do the export...
            +
            +2004-10-10 23:22  maltes
            +
            +	* packages/acs-lang/: acs-lang.info,
            +	  catalog/acs-lang.de_DE.ISO-8859-1.xml,
            +	  catalog/acs-lang.en_US.ISO-8859-1.xml: New Version due to
            +	  inclusion of formbuilder_date_format
            +
            +2004-10-08 14:55  jader
            +
            +	* packages/acs-subsite/www/doc/: images.html, index.html: Add in a
            +	  page to the documentation that gives an overview of all images
            +	  the subsite provides.
            +
            +2004-10-07 10:51  jader
            +
            +	* packages/acs-content-repository/tcl/revision-procs.tcl: Fix
            +	  documentation so it doesn't show up under the author tag.
            +
            +2004-10-06 18:18  rocaelh
            +
            +	* packages/acs-admin/www/users/: password-update.adp,
            +	  password-update.tcl: using new admin includable page
            +
            +2004-10-06 18:17  rocaelh
            +
            +	* packages/acs-admin/lib/: password-update.adp,
            +	  password-update.tcl: adding only one password includable page, so
            +	  we can use the same in acs-admin and dotlrn/admin
            +
            +2004-10-06 07:00  nimam
            +
            +	* packages/acs-tcl/tcl/: defs-procs.tcl: moved out the url part
            +	  from acs_community_member_url into the new proc
            +	  acs_community_member_page which is now used instead in
            +	  acs_community_member_url
            +
            +2004-09-30 12:43  jader
            +
            +	* packages/acs-tcl/tcl/defs-procs.tcl: Add warning in api-doc that
            +	  states that ad_return_if_another_copy_is_running needs to be
            +	  rewritten. See:
            +	  http://openacs.org/forums/message-view?message_id=203381
            +
            +2004-09-30 10:42  andrewg
            +
            +	* packages/acs-lang/tcl/: localization-data-init.tcl,
            +	  localization-procs.tcl: An attempt to speed up the lc_time_fmt
            +	  call, which gets hit 10+ times per page in calendar applications.
            +	  We're now memoizing the compilation of % codes to tcl procs and
            +	  vars.  Also, we're no longer rebuilding the hash array of percent
            +	  codes each time, instead using a namespace var that gets
            +	  initialized in localization-data-init.tcl
            +
            +2004-09-29 12:37  andrewg
            +
            +	* packages/acs-admin/www/monitor.tcl: Removing call to ns_server
            +	  active, which is not thread safe.  See NOTES section of
            +	  http://panoptic.com/wiki/aolserver/ns_server
            +
            +2004-09-29 00:55  dedsc
            +
            +	* packages/acs-authentication/tcl/local-procs.tcl: fixing security
            +	  bug on local password reset. think passwordless admin accounts
            +
            +2004-09-28 10:00  maltes
            +
            +	* packages/acs-core-docs/www/xml/install-guide/other-software.xml:
            +	  Added information on ns_ldap bind
            +
            +2004-09-24 07:14  nimam
            +
            +	* packages/acs-subsite/www/admin/site-map/: index.adp, index.tcl:
            +	  New look for the site map using list builder and anchor tag to
            +	  jump to the current row.
            +
            +2004-09-23 19:51  jader
            +
            +	* etc/backup.sh: Many of the comparisons incorrectly used = instead
            +	  of ==
            +
            +2004-09-21 18:14  rocaelh
            +
            +	* packages/acs-authentication/www/doc/acs-authentication.htm: more
            +	  stuff
            +
            +2004-09-21 18:11  rocaelh
            +
            +	* packages/acs-authentication/www/doc/: ext-auth-install.html,
            +	  index.html, acs-authentication.htm: adding new documentation
            +
            +2004-09-21 10:56  rocaelh
            +
            +	* packages/acs-authentication/tcl/: local-procs.tcl,
            +	  password-procs.tcl: allowing admin to change password  withouth
            +	  entering old_pass
            +
            +2004-09-21 10:55  rocaelh
            +
            +	* packages/acs-admin/www/users/: password-update-2.tcl,
            +	  password-update.adp, password-update.tcl, password-update.xql:
            +	  adding ad_form to change passwd form, plus making it work
            +	  withouth need of old_pass with authentication
            +
            +2004-09-20 17:17  rocaelh
            +
            +	*
            +	  packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.1.2d2-5.1.2d3.sql:
            +	  putting create or replace instead of just create
            +
            +2004-09-20 17:00  rocaelh
            +
            +	* packages/acs-content-repository/sql/postgresql/:
            +	  content-create.sql, upgrade/upgrade-5.1.2d6-5.1.2d7.sql: better
            +	  performance for null parent cr query, by don
            +
            +2004-09-20 13:21  andrewg
            +
            +	*
            +	  packages/acs-kernel/sql/oracle/upgrade/upgrade-5.1.2d2-5.1.2d3.sql:
            +	  Modified cc_users moving the magic object lookup to its own
            +	  query.  The view was really slow when joined against the
            +	  acs_magic_objects table.
            +
            +2004-09-20 13:18  andrewg
            +
            +	* packages/acs-kernel/sql/oracle/acs-create.sql: Modified cc_users
            +	  moving the magic object lookup to its own query.  The view was
            +	  really slow when joined against the acs_magic_objects table.
            +
            +2004-09-20 13:08  donb
            +
            +	* packages/acs-kernel/: acs-kernel.info,
            +	  sql/postgresql/acs-create.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.2d2-5.1.2d3.sql: Changed
            +	  cc_users and registered_users views to use the
            +	  acs__magic_object_id function that was written quite some time
            +	  ago but never used in those views.
            +
            +	  And those views are really slow when joined against the
            +	  acs_magic_objects table ...
            +
            +2004-09-20 06:12  daveb
            +
            +	* packages/acs-content-repository/tcl/symlink-procs-postgresql.xql:
            +	  Fix } where ) was supposed to be. Fixes bug#2104.
            +
            +2004-09-16 00:42  darior
            +
            +	* packages/acs-subsite/www/shared/portrait.tcl: Fixing bug for
            +	  display portrait. Wrong variable name.
            +
            +2004-09-10 15:50  jader
            +
            +	* packages/acs-tcl/tcl/rollout-email-procs.tcl: Improve robustness
            +	  of rollout email support for 'filter' option.
            +
            +2004-09-09 16:46  jader
            +
            +	*
            +	  packages/acs-messaging/sql/postgresql/upgrade/upgrade-4.6.2-4.6.3.sql:
            +	  Applying patch 394: fix for upgrade script 4.6.2-4.6.3
            +
            +2004-09-08 00:00  maltes
            +
            +	* packages/acs-core-docs/www/: install-pam-radius.html,
            +	  install-more-software.html: Added section on pam-radius
            +
            +2004-09-07 23:59  maltes
            +
            +	* packages/acs-core-docs/www/xml/install-guide/other-software.xml:
            +	  Added section on PAM Radius, thanks to Nima.
            +
            +2004-09-07 13:45  andrewg
            +
            +	* packages/acs-content-repository/tcl/revision-procs-oracle.xql:
            +	  Fixing a typo.
            +
            +2004-09-06 15:32  hramado
            +
            +	* packages/acs-authentication/tcl/apm-callback-procs.tcl: upgrade
            +	  logic 5.1.2 -> 5.1.2d1
            +
            +2004-09-06 09:43  rocaelh
            +
            +	* packages/acs-content-repository/sql/: oracle/content-create.sql,
            +	  postgresql/content-create.sql: adding cr_items(name) index on the
            +	  creation of the pkg
            +
            +2004-09-03 09:05  tracya
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/oracle/content-revision.sql, sql/oracle/packages-create.sql,
            +	  sql/oracle/upgrade/upgrade-5.1.2d8-5.1.2d9.sql,
            +	  tcl/revision-procs-oracle.xql: filestorage was displying the ugly
            +	  filename instead of the pretty title for the main entry; also
            +	  wasn't updating the filename to the newest upload (still need to
            +	  ask DaveB about getting the links to work with the latest upload
            +	  filename
            +
            +2004-09-02 13:18  rocaelh
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/oracle/upgrade/upgrade-5.1.2d6-5.1.2d7.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.2d6-5.1.2d7.sql: new index for
            +	  perf improvements
            +
            +2004-09-02 13:09  rocaelh
            +
            +	* packages/acs-tcl/tcl/community-core-procs.xql: performance
            +	  improvements, using now acs_users_all
            +
            +2004-09-01 14:07  gerardom
            +
            +	* packages/acs-subsite/catalog/acs-subsite.es_GT.ISO-8859-1.xml: In
            +	  the traduction was the variable pretty_date instead of
            +	  publish_date
            +
            +2004-08-30 16:55  jader
            +
            +	* packages/acs-api-browser/lib/search.tcl: Applied patch 592 fixing
            +	  link to Postgres documentation.
            +
            +2004-08-29 13:47  daveb
            +
            +	* packages/acs-lang/tcl/lang-util-procs.tcl: Change locale to
            +	  unamed optional parameter.
            +
            +2004-08-27 15:58  donb
            +
            +	* packages/acs-tcl/tcl/site-nodes-procs.tcl: When local changes to
            +	  the site map are made there's no need to update the entire
            +	  friggin' cache, which is an expensive operation on .LRN
            +	  installations with large numbers of classes and clubs, each of
            +	  which mount a bunch of packages.
            +
            +2004-08-27 11:21  tracya
            +
            +	* packages/forums/forums.info: upgrading info files for the tag
            +
            +2004-08-26 23:17  tracya
            +
            +	* packages/acs-lang/tcl/lang-util-procs.tcl: reverting DaveB's
            +	  changes because the change in params is breaking things
            +
            +2004-08-26 17:04  joel
            +
            +	* packages/static-pages/tcl/static-pages-procs.tcl: handle spaces
            +	  in static page titles
            +
            +2004-08-24 16:28  tracya
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/oracle/content-folder.sql,
            +	  sql/oracle/upgrade/upgrade-5.1.2d5-5.1.2d6.sql: is_sub_folder
            +	  always returned t
            +
            +2004-08-24 13:43  tracya
            +
            +	* packages/: acs-subsite/catalog/acs-subsite.en_US.ISO-8859-1.xml,
            +	  acs-subsite/www/register/recover-password.tcl,
            +	  acs-authentication/tcl/local-procs.tcl: fixing resetting broken
            +	  email - email didn't get sent
            +
            +2004-08-23 06:45  daveb
            +
            +	* packages/acs-lang/tcl/lang-util-procs.tcl: Back out previous
            +	  commit. Remove -locale switch from lang::util::localize
            +
            +2004-08-18 13:22  andrewg
            +
            +	* www/blank-master.tcl: Markup in <title> tags doesn't render well
            +
            +2004-08-17 05:00  maltes
            +
            +	* packages/acs-authentication/tcl/local-procs.tcl: empty_string_p
            +	  does not always work in contrast to exists_and_not_null. This
            +	  problem caused emails not being send out, because the password
            +	  was empty.
            +
            +2004-08-17 00:49  maltes
            +
            +	* www/blank-master.tcl: Added support for additional body
            +	  attributes
            +
            +2004-08-10 17:31  donb
            +
            +	* packages/acs-subsite/www/user/portrait/upload-2.tcl: Fixing
            +	  another mistake in the 2055 bug fix (Oracle and PG are on two
            +	  different servers thus I had to commit to test)
            +
            +2004-08-10 17:28  donb
            +
            +	* packages/acs-subsite/www/user/portrait/upload-2-postgresql.xql:
            +	  Oops fixed typo in previous commit
            +
            +2004-08-10 17:25  donb
            +
            +	* packages/acs-subsite/www/user/portrait/: upload-2-oracle.xql,
            +	  upload-2-postgresql.xql, upload-2.tcl, upload-2.xql: Fixed bug
            +	  #2055 by moving as much of the code into db-independent Tcl API
            +	  as is possible at the moment.
            +
            +2004-08-10 17:25  donb
            +
            +	* packages/acs-content-repository/acs-content-repository.info:
            +	  Bumped version number so my upgrade file will be seen.
            +
            +2004-08-10 16:56  donb
            +
            +	* packages/acs-content-repository/sql/postgresql/:
            +	  content-item.sql, upgrade/upgrade-5.1.2d4-5.1.2d5.sql: Fixed a
            +	  typo in one of the cr_item__new procs
            +
            +2004-08-09 14:12  tracya
            +
            +	* packages/forums/lib/message/row.adp: bug - deleting a post with a
            +	  detachment
            +
            +2004-08-09 12:51  tracya
            +
            +	* packages/forums/lib/message/post.tcl: formatting the forums
            +	  message
            +
            +2004-08-09 10:49  tracya
            +
            +	* packages/forums/: lib/message/post-confirm.adp,
            +	  lib/message/post.tcl, tcl/form-procs.tcl, www/message-post.tcl:
            +	  fixing formating options.  Later, will be upgrading the whole
            +	  forum package with Jeff's new Concord code and will have the HTML
            +	  widget
            +
            +2004-08-08 21:49  tracya
            +
            +	* packages/forums/forums.info: updating info files in prep for .LRN
            +	  2.1 alpha
            +
            +2004-08-06 11:53  joel
            +
            +	* packages/acs-subsite/acs-subsite.info: added documentation so
            +	  that someone trying to restrict a subsite to registered users
            +	  only has a fighting chance to succeed
            +
            +2004-08-05 18:07  daveb
            +
            +	* packages/acs-lang/tcl/lang-util-procs.tcl: Add optional -locale
            +	  parameter to lang::util::localize. Defaults to [ad_conn locale]
            +
            +2004-08-04 09:13  jader
            +
            +	* packages/acs-templating/tcl/parse-procs.tcl: Resolves bug 2045:
            +	  tcl/prase-procs.tcl spelling fix, courtesy of Frank Myhr.
            +
            +2004-08-04 07:42  tracya
            +
            +	* etc/config.tcl: upping the maxinput parameter to be bigger than
            +	  the default parameter in file storage
            +
            +2004-08-02 21:38  dedsc
            +
            +	* packages/acs-templating/resources/lists/: list.adp, table.adp:
            +	  Fixes bug #861 by adding javascript return statements to
            +	  workaround buggy browsers
            +
            +2004-08-01 21:25  rocaelh
            +
            +	* packages/acs-tcl/tcl/acs-permissions-procs.tcl: bug #1997: fixed
            +	  DS user-switching (U-S), first checking party_id instead of
            +	  ad_conn, since calling ad_conn with (U-S) enabled enters into an
            +	  infinite loop that makes aolserver die, with (U-S) enabled,
            +	  permission_p will always get an party_id and in this way avoiding
            +	  calls to ad_conn
            +
            +2004-07-29 19:06  tracya
            +
            +	* packages/forums/lib/message/threads-chunk.tcl: bug 1900 - member
            +	  can post when posting policy is closed
            +
            +2004-07-29 16:16  jader
            +
            +	* packages/acs-tcl/tcl/security-procs.tcl: Finally worked out a
            +	  regexp that seems to work. Tested on both configurations with
            +	  standard and nonstandard ports. Fixes problems with ssl redirects
            +	  on login, and with openssl on non-standard ports.
            +
            +2004-07-29 15:52  jader
            +
            +	* packages/acs-tcl/tcl/security-procs.tcl: Better regexp to deal
            +	  with non-standard ports.
            +
            +2004-07-29 09:29  tracya
            +
            +	* packages/acs-kernel/acs-kernel.info: changing default allowable
            +	  tags
            +
            +2004-07-29 07:51  andrewg
            +
            +	* www/site-master.tcl: Removed unused code that's been moved to
            +	  packages/acs-subsite/www/group-master.  Note: these calls were
            +	  very slow on a large .LRN installation, and should probably be
            +	  tuned.
            +
            +2004-07-27 16:18  rocaelh
            +
            +	* packages/acs-tcl/tcl/: acs-permissions-procs-oracle.xql,
            +	  acs-permissions-procs-postgresql.xql, acs-permissions-procs.xql:
            +	  enhancemens on permission::permission_p_not_cached, working fast
            +	  for 16K on PG7.4.1
            +
            +2004-07-27 00:51  maltes
            +
            +	* packages/acs-authentication/acs-authentication.info: Upped the
            +	  version number so new parameters will be added.
            +
            +2004-07-27 00:49  maltes
            +
            +	* packages/acs-admin/www/users/: one.adp, one.tcl,
            +	  password-update-2.tcl, password-update.adp, password-update.tcl,
            +	  password-update.xql: Added the changing of the password for the
            +	  admin from .LRN to OpenACS
            +
            +2004-07-26 13:41  tracya
            +
            +	* packages/forums/lib/message/threads-chunk.tcl:  bug 1900 - member
            +	  can post when posting policy is closed
            +
            +2004-07-26 13:38  tracya
            +
            +	* packages/forums/lib/message/threads-chunk.tcl:  bug 1900 - member
            +	  can post when posting policy is closed
            +
            +2004-07-26 10:24  rocaelh
            +
            +	* packages/acs-authentication/tcl/apm-callback-procs.tcl: fixing
            +	  small bug on SC / upgrade, to have the upgrade to run, needs to
            +	  be changed the version # of acs-authentication to 5.1.2
            +
            +2004-07-24 04:51  daveb
            +
            +	* etc/config.tcl: Remove custom changes checked in and fix uri
            +	  parameter for webdav configuration.
            +
            +2004-07-23 09:00  tracya
            +
            +	* packages/acs-subsite/lib/user-new.tcl: reverting Malte's change
            +
            +2004-07-23 06:31  maltes
            +
            +	* packages/acs-lang/tcl/locale-procs.tcl: Partly applying patch
            +	  #572, fixing #2006
            +
            +2004-07-23 06:30  daveb
            +
            +	* etc/config.tcl: Disable webdav access to the filesystem unless it
            +	  is explicitly requested.:
            +
            +2004-07-23 02:11  maltes
            +
            +	* packages/acs-subsite/lib/user-new.tcl: removed unuseful insert
            +
            +2004-07-23 02:08  maltes
            +
            +	* packages/acs-subsite/lib/user-info.tcl: revert
            +
            +2004-07-22 23:54  dedsc
            +
            +	* www/blank-master.tcl, packages/acs-subsite/www/resources/core.js:
            +	  Resolves bug #2026.
            +
            +2004-07-22 03:30  maltes
            +
            +	* packages/acs-subsite/lib/: login.tcl, user-info.tcl,
            +	  user-new.tcl: Made the default to allow self_registration as this
            +	  was the previous behaviour. It is always a bad idea to change the
            +	  behaviour for existing sites. Still wondering why the parameter
            +	  does not show up on my installation though ...
            +
            +2004-07-20 13:50  jader
            +
            +	* etc/config.tcl: Added in a ns_section where is was missing for
            +	  Aolserver 4.
            +
            +2004-07-20 12:54  jvdongen
            +
            +	* packages/acs-content-repository/acs-content-repository.info:
            +	  undone mistake
            +
            +2004-07-20 12:25  jvdongen
            +
            +	* packages/acs-content-repository/acs-content-repository.info:
            +	  fixed typo
            +
            +2004-07-20 08:03  janine
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/oracle/content-item.sql,
            +	  sql/oracle/upgrade/upgrade-5.1.2d3-5.1.2d4.sql: add view
            +	  content_item_globals, which already exists for PG but was missing
            +	  for Oracle
            +
            +2004-07-20 07:26  jvdongen
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/postgresql/content-item.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.2d2-5.1.2d3.sql: Fixed the CR
            +	  part of bug 1953.
            +
            +2004-07-19 11:39  rocaelh
            +
            +	* packages/: acs-authentication/acs-authentication.info,
            +	  acs-authentication/tcl/authentication-procs.tcl,
            +	  acs-subsite/lib/login.adp, acs-subsite/lib/login.tcl,
            +	  acs-subsite/lib/user-new.tcl, acs-subsite/tcl/subsite-procs.tcl,
            +	  acs-subsite/www/user/portrait/upload-2.tcl,
            +	  acs-subsite/www/user/portrait/upload.tcl: adding new .LRN admin
            +	  features, by Hector A. hr_amado@galileo.edu
            +
            +2004-07-18 10:28  daveb
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/postgresql/content-item.sql, sql/postgresql/content-type.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.2d1-5.1.2d2.sql: Fix syntax
            +	  error in drop column statement in content_type__drop__attribute.
            +	  Fixes bug#2014. Added upgrade script and increased version in
            +	  info file.
            +
            +2004-07-15 08:19  maltes
            +
            +	* packages/acs-tcl/tcl/html-email-procs.tcl: the mime procedures
            +	  are included, therefore there is no need for *package require
            +	  mime* anymore
            +
            +2004-07-14 11:14  jader
            +
            +	* etc/daemontools/run: Give time for postgres to start up.
            +
            +2004-07-12 14:02  jader
            +
            +	* packages/acs-tcl/tcl/: admin-procs.tcl, security-procs.tcl: Fix
            +	  for bug 1975: https not working on nonstandard ports.
            +
            +2004-07-12 13:32  jader
            +
            +	* etc/config.tcl: Adds in nsopenssl config section for Aolserver 4
            +	  / nsopenssl 3
            +
            +2004-07-11 12:15  jvdongen
            +
            +	* packages/acs-content-repository/tcl/filter-procs.tcl: fixed bug
            +	  #1985 with patch #562
            +
            +2004-07-09 15:00  rocaelh
            +
            +	* packages/acs-authentication/tcl/: apm-callback-procs.tcl,
            +	  authentication-procs.tcl, local-procs.tcl, password-procs.tcl:
            +	  fix bug 1976, adding authority_id
            +
            +2004-07-09 02:43  jeffd
            +
            +	* packages/acs-kernel/sql/oracle/groups-body-create.sql: flip order
            +	  of delete for group delete
            +
            +2004-07-09 02:01  jeffd
            +
            +	* packages/acs-kernel/: acs-kernel.info,
            +	  sql/oracle/upgrade/upgrade-5.1.2d1-5.1.2d2.sql,
            +	  sql/postgresql/groups-body-create.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.2d1-5.1.2d2.sql: flip order of
            +	  delete of rels and rel segments, bump version to 5.1.2d2, upgrade
            +	  scripts for oracle and pg, bug 775 patch 267 Randy O'Meara
            +
            +2004-07-07 21:10  daveb
            +
            +	* packages/acs-templating/tcl/date-procs.tcl: Fix
            +	  template::util::date::set_property to not fail when passed in a
            +	  NULL date retreived from the database.
            +
            +2004-07-07 11:56  marka
            +
            +	* packages/acs-templating/tcl/currency-procs.tcl: currency::widget
            +	  now honours display mode (previously ignored it) currency::widget
            +	  no longer stomps the trailing 0 off the fractional part
            +	  (perviously it converted 50c into 05c over an edit/ok cycle and
            +	  looked bad as well)
            +
            +2004-07-07 09:15  jader
            +
            +	* packages/acs-subsite/www/register/account-closed.tcl: Converted
            +	  to text (it was shown in title bar and context bar)
            +
            +2004-07-06 12:59  jeffd
            +
            +	* packages/acs-templating/tcl/date-procs.tcl: fixes
            +	  template::util::date::unpack so it does not require the variabe
            +	  to be named date and just work by coincidence. from HEAD,
            +	  resolves bug 1824
            +
            +2004-07-06 08:54  jeffd
            +
            +	* packages/forums/: forums.info,
            +	  sql/postgresql/forums-messages-create.sql,
            +	  sql/postgresql/upgrade/upgrade-1.0d4-1.0.1d2.sql,
            +	  tcl/forums-email-procs.tcl, tcl/forums-sc-procs-postgresql.xql,
            +	  tcl/forums-sc-procs.tcl, tcl/messages-procs.tcl: fixes for the
            +	  format field: fix dropping html_p in the upgrade script, remove
            +	  references to html_p and use ad_html_text_convert -from $format
            +	  for formatting messages, bump version to 1.0.2, bump dependency
            +	  on notifications to 5.1.1, retag openacs-5-1-compat.
            +
            +2004-07-06 08:47  jeffd
            +
            +	* packages/acs-tcl/tcl/html-email-procs.tcl: remove the calls to
            +	  source the mime.tcl etal files as we renamed them to -procs.tcl
            +	  and they get sourced on server startup.  Remove clipping the last
            +	  line of the mime encoded file since it seems spurious afaict.
            +	  send only a quoted-printable version of the html message not an
            +	  additional base64 encoded one.
            +
            +2004-07-06 04:36  jeffd
            +
            +	* packages/acs-subsite/tcl/attribute-procs.tcl: function should
            +	  have been plsql_utility::generate_constraint_name not
            +	  generate_constraint resolves bug 1848
            +
            +2004-07-06 01:04  jeffd
            +
            +	* packages/acs-tcl/tcl/request-processor-procs.tcl: only
            +	  ns_returnfile files. resolves bug 1957
            +
            +2004-07-05 12:47  joel
            +
            +	* readme.txt, packages/acs-admin/acs-admin.info,
            +	  packages/acs-api-browser/acs-api-browser.info,
            +	  packages/acs-authentication/acs-authentication.info,
            +	  packages/acs-automated-testing/acs-automated-testing.info,
            +	  packages/acs-bootstrap-installer/acs-bootstrap-installer.info,
            +	  packages/acs-content-repository/acs-content-repository.info,
            +	  packages/acs-core-docs/acs-core-docs.info,
            +	  packages/acs-core-docs/www/acs-admin.html,
            +	  packages/acs-core-docs/www/acs-package-dev.html,
            +	  packages/acs-core-docs/www/acs-plat-dev.html,
            +	  packages/acs-core-docs/www/analog-install.html,
            +	  packages/acs-core-docs/www/analog-setup.html,
            +	  packages/acs-core-docs/www/aolserver.html,
            +	  packages/acs-core-docs/www/aolserver4.html,
            +	  packages/acs-core-docs/www/apm-design.html,
            +	  packages/acs-core-docs/www/apm-requirements.html,
            +	  packages/acs-core-docs/www/automated-backup.html,
            +	  packages/acs-core-docs/www/automated-testing-best-practices.html,
            +	  packages/acs-core-docs/www/backup-recovery.html,
            +	  packages/acs-core-docs/www/backups-with-cvs.html,
            +	  packages/acs-core-docs/www/bootstrap-acs.html,
            +	  packages/acs-core-docs/www/complete-install.html,
            +	  packages/acs-core-docs/www/configuring-new-site.html,
            +	  packages/acs-core-docs/www/credits.html,
            +	  packages/acs-core-docs/www/cvs-tips.html,
            +	  packages/acs-core-docs/www/database-management.html,
            +	  packages/acs-core-docs/www/db-api-detailed.html,
            +	  packages/acs-core-docs/www/db-api.html,
            +	  packages/acs-core-docs/www/dev-guide.html,
            +	  packages/acs-core-docs/www/doc-standards.html,
            +	  packages/acs-core-docs/www/docbook-primer.html,
            +	  packages/acs-core-docs/www/eng-standards-constraint-naming.html,
            +	  packages/acs-core-docs/www/eng-standards-filenaming.html,
            +	  packages/acs-core-docs/www/eng-standards-plsql.html,
            +	  packages/acs-core-docs/www/eng-standards-versioning.html,
            +	  packages/acs-core-docs/www/eng-standards.html,
            +	  packages/acs-core-docs/www/ext-auth-requirements.html,
            +	  packages/acs-core-docs/www/filename.html,
            +	  packages/acs-core-docs/www/for-everyone.html,
            +	  packages/acs-core-docs/www/form-builder.html,
            +	  packages/acs-core-docs/www/general-documents.html,
            +	  packages/acs-core-docs/www/groups-design.html,
            +	  packages/acs-core-docs/www/groups-requirements.html,
            +	  packages/acs-core-docs/www/high-avail.html,
            +	  packages/acs-core-docs/www/how-do-I.html,
            +	  packages/acs-core-docs/www/i18n-convert.html,
            +	  packages/acs-core-docs/www/i18n-design.html,
            +	  packages/acs-core-docs/www/i18n-introduction.html,
            +	  packages/acs-core-docs/www/i18n-overview.html,
            +	  packages/acs-core-docs/www/i18n-requirements.html,
            +	  packages/acs-core-docs/www/i18n-translators.html,
            +	  packages/acs-core-docs/www/i18n.html,
            +	  packages/acs-core-docs/www/index.html,
            +	  packages/acs-core-docs/www/individual-programs.html,
            +	  packages/acs-core-docs/www/install-cvs.html,
            +	  packages/acs-core-docs/www/install-daemontools.html,
            +	  packages/acs-core-docs/www/install-full-text-search.html,
            +	  packages/acs-core-docs/www/install-more-software.html,
            +	  packages/acs-core-docs/www/install-next-add-server.html,
            +	  packages/acs-core-docs/www/install-next-backups.html,
            +	  packages/acs-core-docs/www/install-next-nightly-vacuum.html,
            +	  packages/acs-core-docs/www/install-nsopenssl.html,
            +	  packages/acs-core-docs/www/install-nspam.html,
            +	  packages/acs-core-docs/www/install-openacs-delete-tablespace.html,
            +	  packages/acs-core-docs/www/install-openacs-inittab.html,
            +	  packages/acs-core-docs/www/install-openacs-keepalive.html,
            +	  packages/acs-core-docs/www/install-origins.html,
            +	  packages/acs-core-docs/www/install-overview.html,
            +	  packages/acs-core-docs/www/install-php.html,
            +	  packages/acs-core-docs/www/install-qmail.html,
            +	  packages/acs-core-docs/www/install-redhat.html,
            +	  packages/acs-core-docs/www/install-resources.html,
            +	  packages/acs-core-docs/www/install-squirrelmail.html,
            +	  packages/acs-core-docs/www/install-ssl.html,
            +	  packages/acs-core-docs/www/install-steps.html,
            +	  packages/acs-core-docs/www/install-tclwebtest.html,
            +	  packages/acs-core-docs/www/ix01.html,
            +	  packages/acs-core-docs/www/kernel-doc.html,
            +	  packages/acs-core-docs/www/kernel-overview.html,
            +	  packages/acs-core-docs/www/mac-installation.html,
            +	  packages/acs-core-docs/www/maint-performance.html,
            +	  packages/acs-core-docs/www/maintenance-deploy.html,
            +	  packages/acs-core-docs/www/maintenance-web.html,
            +	  packages/acs-core-docs/www/nxml-mode.html,
            +	  packages/acs-core-docs/www/object-identity.html,
            +	  packages/acs-core-docs/www/object-system-design.html,
            +	  packages/acs-core-docs/www/object-system-requirements.html,
            +	  packages/acs-core-docs/www/objects.html,
            +	  packages/acs-core-docs/www/openacs-overview.html,
            +	  packages/acs-core-docs/www/openacs-unpack.html,
            +	  packages/acs-core-docs/www/openacs.html,
            +	  packages/acs-core-docs/www/oracle.html,
            +	  packages/acs-core-docs/www/os-install.html,
            +	  packages/acs-core-docs/www/os-security.html,
            +	  packages/acs-core-docs/www/packages.html,
            +	  packages/acs-core-docs/www/parties.html,
            +	  packages/acs-core-docs/www/permissions-design.html,
            +	  packages/acs-core-docs/www/permissions-requirements.html,
            +	  packages/acs-core-docs/www/permissions-tediously-explained.html,
            +	  packages/acs-core-docs/www/permissions.html,
            +	  packages/acs-core-docs/www/postgres.html,
            +	  packages/acs-core-docs/www/profile-code.html,
            +	  packages/acs-core-docs/www/programming-with-aolserver.html,
            +	  packages/acs-core-docs/www/psgml-for-emacs.html,
            +	  packages/acs-core-docs/www/psgml-mode.html,
            +	  packages/acs-core-docs/www/release-notes-4-5.html,
            +	  packages/acs-core-docs/www/release-notes-4-6-2.html,
            +	  packages/acs-core-docs/www/release-notes-4-6-3.html,
            +	  packages/acs-core-docs/www/release-notes-4-6.html,
            +	  packages/acs-core-docs/www/release-notes.html,
            +	  packages/acs-core-docs/www/releasing-openacs-core.html,
            +	  packages/acs-core-docs/www/releasing-openacs.html,
            +	  packages/acs-core-docs/www/releasing-package.html,
            +	  packages/acs-core-docs/www/remote-postgres.html,
            +	  packages/acs-core-docs/www/request-processor.html,
            +	  packages/acs-core-docs/www/requirements-template.html,
            +	  packages/acs-core-docs/www/rp-design.html,
            +	  packages/acs-core-docs/www/rp-requirements.html,
            +	  packages/acs-core-docs/www/security-design.html,
            +	  packages/acs-core-docs/www/security-notes.html,
            +	  packages/acs-core-docs/www/security-requirements.html,
            +	  packages/acs-core-docs/www/snapshot-backup.html,
            +	  packages/acs-core-docs/www/style-guide.html,
            +	  packages/acs-core-docs/www/subsites-design.html,
            +	  packages/acs-core-docs/www/subsites-requirements.html,
            +	  packages/acs-core-docs/www/subsites.html,
            +	  packages/acs-core-docs/www/tcl-doc.html,
            +	  packages/acs-core-docs/www/templates.html,
            +	  packages/acs-core-docs/www/tutorial-admin-pages.html,
            +	  packages/acs-core-docs/www/tutorial-advanced.html,
            +	  packages/acs-core-docs/www/tutorial-caching.html,
            +	  packages/acs-core-docs/www/tutorial-categories.html,
            +	  packages/acs-core-docs/www/tutorial-comments.html,
            +	  packages/acs-core-docs/www/tutorial-css-layout.html,
            +	  packages/acs-core-docs/www/tutorial-cvs.html,
            +	  packages/acs-core-docs/www/tutorial-database.html,
            +	  packages/acs-core-docs/www/tutorial-debug.html,
            +	  packages/acs-core-docs/www/tutorial-distribute.html,
            +	  packages/acs-core-docs/www/tutorial-future-topics.html,
            +	  packages/acs-core-docs/www/tutorial-hierarchical.html,
            +	  packages/acs-core-docs/www/tutorial-html-email.html,
            +	  packages/acs-core-docs/www/tutorial-newpackage.html,
            +	  packages/acs-core-docs/www/tutorial-notifications.html,
            +	  packages/acs-core-docs/www/tutorial-pages.html,
            +	  packages/acs-core-docs/www/tutorial-schedule-procs.html,
            +	  packages/acs-core-docs/www/tutorial-specs.html,
            +	  packages/acs-core-docs/www/tutorial-vuh.html,
            +	  packages/acs-core-docs/www/tutorial.html,
            +	  packages/acs-core-docs/www/unix-installation.html,
            +	  packages/acs-core-docs/www/update-repository.html,
            +	  packages/acs-core-docs/www/update-translations.html,
            +	  packages/acs-core-docs/www/upgrade-4.5-to-4.6.html,
            +	  packages/acs-core-docs/www/upgrade-4.6.3-to-5.html,
            +	  packages/acs-core-docs/www/upgrade-5-0-dot.html,
            +	  packages/acs-core-docs/www/upgrade-openacs-files.html,
            +	  packages/acs-core-docs/www/upgrade-overview.html,
            +	  packages/acs-core-docs/www/upgrade-supporting.html,
            +	  packages/acs-core-docs/www/upgrade.html,
            +	  packages/acs-core-docs/www/uptime.html,
            +	  packages/acs-core-docs/www/variables.html,
            +	  packages/acs-core-docs/www/win2k-installation.html,
            +	  packages/acs-core-docs/www/files/openacs.txt,
            +	  packages/acs-core-docs/www/files/tutorial/myfirstpackage-procs.tcl,
            +	  packages/acs-core-docs/www/xml/Makefile,
            +	  packages/acs-core-docs/www/xml/fo.xsl,
            +	  packages/acs-core-docs/www/xml/openacs.xsl,
            +	  packages/acs-core-docs/www/xml/releasing-openacs.xml,
            +	  packages/acs-core-docs/www/xml/variables.ent,
            +	  packages/acs-core-docs/www/xml/developers-guide/cvs.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/db-api.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/form-builder.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/i18n.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/packages.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/permissions.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/submissions.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/tutorial-db.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/tutorial-debug.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/tutorial-pages.xml,
            +	  packages/acs-core-docs/www/xml/developers-guide/tutorial.xml,
            +	  packages/acs-core-docs/www/xml/engineering-standards/eng-standards-versioning.xml,
            +	  packages/acs-core-docs/www/xml/for-everyone/acs-faq.xml,
            +	  packages/acs-core-docs/www/xml/for-everyone/release-notes.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/aolserver4.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/configuring.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/database-maintenance.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/maintenance.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/openacs.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/oracle.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/os.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/other-software.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/overview.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/postgres.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/recovery.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/software.xml,
            +	  packages/acs-core-docs/www/xml/install-guide/upgrade.xml,
            +	  packages/acs-core-docs/www/xml/kernel/groups-requirements.xml,
            +	  packages/acs-kernel/acs-kernel.info,
            +	  packages/acs-lang/acs-lang.info, packages/acs-mail/acs-mail.info,
            +	  packages/acs-messaging/acs-messaging.info,
            +	  packages/acs-reference/acs-reference.info,
            +	  packages/acs-service-contract/acs-service-contract.info,
            +	  packages/acs-subsite/acs-subsite.info,
            +	  packages/acs-tcl/acs-tcl.info,
            +	  packages/acs-templating/acs-templating.info,
            +	  packages/ref-timezones/ref-timezones.info,
            +	  packages/search/search.info: adjustments for OpenACS 5.1.1
            +	  release, including release numbers and help text.
            +
            +2004-07-05 12:44  joel
            +
            +	* ChangeLog: updated for 5.1.1
            +
            +2004-07-05 07:24  jeffd
            +
            +	* packages/acs-core-docs/www/: tutorial-css-layout.html,
            +	  tutorial-html-email.html: regen html docs
            +
            +2004-07-05 04:34  jeffd
            +
            +	* packages/acs-templating/resources/lists/: list.adp, table.adp:
            +	  add a conditional so if bulk_action_method not defined it
            +	  defaults to GET resolves bug 1951
            +
            +2004-07-05 00:31  joela
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/oracle/upgrade/upgrade-5.1.1-5.1.2.sql,
            +	  sql/oracle/upgrade/upgrade-5.1.1d2-5.1.1d3.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.1-5.1.2.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.1d2-5.1.1d3.sql: moved the
            +	  5.1.1-5.1.2 upgrade script back to 5.1.1d2-5.1.1d3 and changed
            +	  info file from 5.1.2 to 5.1.1d3, to maintain consistency with
            +	  core release conventions.
            +
            +2004-07-04 04:22  jeffd
            +
            +	* packages/acs-content-repository/tcl/filter-procs.tcl: missing )
            +	  for $content(mime_type breaks generated templates resolves bug
            +	  1952 (from head)
            +
            +2004-07-03 15:48  skaufman
            +
            +	* packages/forums/forums.info: added attachments requirement
            +
            +2004-07-02 16:21  gabrielb
            +
            +	* www/blank-master.adp: Moved the textarea out of <head> and added
            +	  required fields so it validates properly on validator.w3.org.
            +
            +2004-07-02 11:20  jeffd
            +
            +	* packages/forums/sql/postgresql/forums-messages-create.sql: fix
            +	  format column to be varchar instead of varchar2 for pg bug 1946
            +	  patch 550 Stan Kaufman
            +
            +2004-07-02 09:26  jader
            +
            +	* packages/acs-admin/www/developer.adp: Bug 1944: spelling mistake
            +
            +2004-07-02 05:37  jeffd
            +
            +	* packages/acs-subsite/www/user/portrait/upload-2-postgresql.xql:
            +	  somehow had a oacs-5-0 version of this file, fix for n_bytes on
            +	  portrait upload
            +
            +2004-07-02 04:40  jeffd
            +
            +	* packages/acs-subsite/www/user/portrait/: upload-2-oracle.xql,
            +	  upload-2.tcl: remove inline sql from upload-2.tcl, clean up code,
            +	  set content_length on new upload
            +
            +2004-07-01 13:18  donb
            +
            +	*
            +	  packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.1.1d1-5.1.1d2.sql:
            +	  Wouldn't let me tag after adding to HEAD so am committing
            +	  directly...
            +
            +2004-07-01 13:12  donb
            +
            +	*
            +	  packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.1.1d1-5.1.1d2.sql:
            +	  Oops did this wrong ... want to do exactly what Andrew did for
            +	  consistency
            +
            +2004-07-01 13:09  donb
            +
            +	*
            +	  packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.1.1d1-5.1.1d2.sql:
            +	  Upgrade to apply previous register parameter bug fix
            +
            +2004-07-01 10:15  jeffd
            +
            +	* packages/acs-content-repository/tcl/: content-folder-procs.tcl,
            +	  test/content-item-test-procs.tcl,
            +	  test/content-revision-test-procs.tcl: add a test for is_empty,
            +	  untabify the test files, fix some var_list problems
            +
            +2004-07-01 09:45  jeffd
            +
            +	* packages/acs-content-repository/tcl/: content-folder-procs.tcl,
            +	  content-item-procs.tcl: some tweaks for content-item funcs, make
            +	  them return package_exec_plsql return val, move had a bug
            +
            +2004-07-01 09:33  jeffd
            +
            +	* packages/acs-content-repository/tcl/content-item-procs.tcl: add
            +	  define_function_args definitions for most functions, bump to
            +	  5.2.0d5, upgrade script
            +
            +2004-07-01 06:01  jeffd
            +
            +	* packages/acs-authentication/tcl/authority-procs.tcl: the sequence
            +	  for authority_id should be acs_object_id_seq not
            +	  auth_authority_id_seq (which does not exist)
            +
            +2004-06-30 13:43  janine
            +
            +	* packages/forums/sql/postgresql/upgrade/upgrade-1.0d4-1.0.1d2.sql:
            +	  one more time... fix to previous submission
            +
            +2004-06-30 13:24  janine
            +
            +	* packages/forums/sql/postgresql/: forums-messages-create.sql,
            +	  upgrade/upgrade-1.0d4-1.0.1d2.sql: fixing problems with previous
            +	  submission
            +
            +2004-06-30 13:04  andrewg
            +
            +	*
            +	  packages/acs-kernel/sql/oracle/upgrade/upgrade-5.1.1d1-5.1.1d2.sql:
            +	  Update to apm package body in v1.26.2.1 of apm-create.sql,to
            +	  include a bugfix/simplication to the cursor in
            +	  apm.register_parameter.
            +
            +2004-06-30 12:47  janine
            +
            +	* packages/forums/sql/oracle/forums-messages-create.sql: fixing bug
            +	  in previous submission
            +
            +2004-06-30 11:16  donb
            +
            +	* packages/acs-kernel/sql/postgresql/apm-create.sql: Ported
            +	  Andrew's Oracle register parameter patch.
            +
            +2004-06-30 00:40  joela
            +
            +	* packages/acs-core-docs/www/tutorial-caching.html: added list
            +	  wrapper to caching example
            +
            +2004-06-29 22:18  jader
            +
            +	* packages/forums/lib/message/thread-chunk.adp: Fixes bug in forum
            +	  view -- else wasn't closed.
            +
            +2004-06-29 09:38  jader
            +
            +	* www/site-master.adp: Changed wording from users to members. See
            +	  http://openacs.org/forums/message-view?message_id=192598
            +
            +2004-06-29 08:50  joela
            +
            +	* packages/acs-core-docs/www/: tutorial-caching.html,
            +	  tutorial-css-layout.html, tutorial-schedule-procs.html: added
            +	  advanced tutorial notes on caching and on scheduled procs
            +
            +2004-06-28 08:41  juny
            +
            +	* packages/acs-content-repository/tcl/: content-folder-procs.tcl,
            +	  content-item-procs.tcl: minor bug fixes: corrected list that is
            +	  passed on package_exec_plsql -var_list, added definition of some
            +	  plsql procs, added content::item::copy, bump up for version
            +	  needed
            +
            +2004-06-27 17:10  daveb
            +
            +	* packages/acs-content-repository/tcl/content-item-procs.tcl: Fix
            +	  content::item::update to correctly extract the attributes from
            +	  within the list.
            +
            +2004-06-27 12:01  daveb
            +
            +	* packages/acs-content-repository/tcl/content-revision-procs.tcl:
            +	  Make item_id required for content::revision::new
            +
            +2004-06-27 04:30  joela
            +
            +	* packages/acs-authentication/catalog/:
            +	  acs-authentication.da_DK.ISO-8859-1.xml,
            +	  acs-authentication.es_ES.ISO-8859-1.xml,
            +	  acs-authentication.nl_NL.ISO-8859-1.xml,
            +	  acs-authentication.pl_PL.utf-8.xml: adding new translation
            +	  catalogs
            +
            +2004-06-27 04:25  joela
            +
            +	* packages/:
            +	  acs-authentication/catalog/acs-authentication.ar_LB.utf-8.xml,
            +	  acs-authentication/catalog/acs-authentication.es_GT.ISO-8859-1.xml,
            +	  acs-authentication/catalog/acs-authentication.fa_IR.utf-8.xml,
            +	  acs-authentication/catalog/acs-authentication.zh_CN.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.AR_EG.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.AR_LB.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.RO_RO.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ar_EG.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ar_LB.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.da_DK.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.en_US.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.es_ES.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.es_GT.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.nl_NL.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.pl_PL.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ro_RO.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.zh_CN.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.AR_EG.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.AR_LB.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.RO_RO.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.TH_TH.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.ar_EG.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.ar_LB.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.da_DK.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.de_DE.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.en_US.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.es_GT.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.fa_IR.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.fi_FI.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.nl_NL.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.ro_RO.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.th_TH.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.zh_CN.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.AR_EG.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.AR_LB.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.RO_RO.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ar_EG.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ar_LB.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.da_DK.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.es_ES.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.es_GT.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.nl_NL.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.ro_RO.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.zh_CN.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.AR_EG.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.AR_LB.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.FA_IR.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.RO_RO.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ar_EG.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ar_LB.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.es_GT.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.fa_IR.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ro_RO.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.zh_CN.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.RO_RO.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.ar_LB.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.da_DK.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.es_ES.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.es_GT.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.nl_NL.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.ro_RO.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.zh_CN.utf-8.xml,
            +	  forums/catalog/forums.AR_EG.utf-8.xml,
            +	  forums/catalog/forums.AR_LB.utf-8.xml,
            +	  forums/catalog/forums.ar_EG.utf-8.xml,
            +	  forums/catalog/forums.ar_LB.utf-8.xml,
            +	  forums/catalog/forums.es_GT.ISO-8859-1.xml,
            +	  forums/catalog/forums.zh_CN.utf-8.xml: updated catalog files for
            +	  5.1.1; bug fix for 1519 means all catalog files for ar_EG, ar_LB,
            +	  zh_CN, th_TH, ro_RO, fa_IR, and hr_HR were renamed to correct
            +	  capitalization errors
            +
            +2004-06-26 07:04  joela
            +
            +	* packages/acs-lang/sql/:
            +	  oracle/upgrade/upgrade-5.1.1d1-5.1.1d2.sql,
            +	  postgresql/upgrade/upgrade-5.1.1d1-5.1.1d2.sql: typo in fa_IR
            +	  upgrade
            +
            +2004-06-26 06:52  joela
            +
            +	* packages/acs-lang/: catalog/acs-lang.es_ES.ISO-8859-1.xml,
            +	  sql/oracle/ad-locales.sql,
            +	  sql/oracle/upgrade/upgrade-5.1.1d1-5.1.1d2.sql,
            +	  sql/postgresql/ad-locales.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.1d1-5.1.1d2.sql: fixing bug
            +	  1519 - misnamed locales
            +
            +2004-06-25 08:34  janine
            +
            +	* packages/forums/tcl/messages-procs.tcl: fix from Sloan: make
            +	  forums send HTML notifications
            +
            +2004-06-24 17:16  andrewg
            +
            +	* packages/acs-kernel/sql/oracle/apm-create.sql: Simplifying the
            +	  cursor in apm.register_parameter to fix a bug, and make it
            +	  simpler.  Don's doing the PG version.
            +
            +2004-06-24 03:44  joela
            +
            +	* packages/acs-core-docs/www/tutorial-css-layout.html: added
            +	  tutorial section on css layout
            +
            +2004-06-24 02:42  jeffd
            +
            +	* packages/acs-core-docs/www/: tutorial-hierarchical.html,
            +	  tutorial-html-email.html: regen html docs, add the html email
            +	  tutorial file.
            +
            +2004-06-23 11:37  olah
            +
            +	* www/site-master.tcl: Using site_node::get_package_url to check
            +	  for mounted curriculum instances, now that it is implemented with
            +	  an nsv of url keyed by package key. Lars added this back in mars
            +	  and I hadn't noticed ...
            +
            +2004-06-22 09:53  janine
            +
            +	* packages/forums/: forums.info, lib/message/edit.tcl,
            +	  lib/message/post.tcl, lib/message/row.tcl,
            +	  lib/message/thread-chunk-oracle.xql,
            +	  lib/message/thread-chunk-postgresql.xql,
            +	  sql/oracle/forums-messages-create.sql,
            +	  sql/oracle/forums-messages-package-create.sql,
            +	  sql/oracle/upgrade/upgrade-1.0d4-1.0.1d2.sql,
            +	  sql/postgresql/forums-messages-create.sql,
            +	  sql/postgresql/forums-messages-package-create.sql,
            +	  sql/postgresql/upgrade/upgrade-1.0d4-1.0.1d2.sql,
            +	  tcl/form-procs.tcl, tcl/messages-procs.tcl,
            +	  tcl/messages-procs.xql, www/message-post.tcl: fix from Sloan: use
            +	  richtext widget
            +
            +2004-06-21 12:17  janine
            +
            +	* packages/acs-lang/www/admin/message-list.tcl: query didn't work
            +	  in oracle (should be in an xql file but at least this will make
            +	  it work)
            +
            +2004-06-21 08:34  maltes
            +
            +	* packages/forums/lib/message/attachment-list.tcl: Apparently some
            +	  logic error. Exists_and_not_null returns true if the file exists.
            +	  A negation of this therefore returns true if the variable does
            +	  not exists...
            +
            +2004-06-21 06:18  maltes
            +
            +	* etc/keepalive/: keepalive-config.tcl, keepalive-cron.sh,
            +	  keepalive.sh: Added cron support for keepalive
            +
            +2004-06-19 14:06  janine
            +
            +	* packages/: acs-kernel/acs-kernel.info,
            +	  acs-subsite/acs-subsite.info, acs-tcl/tcl/admin-init.tcl: fix
            +	  from Sloan: allow admin to restrict to registered users on a
            +	  per-subsite basis
            +
            +2004-06-19 13:54  janine
            +
            +	* packages/acs-subsite/www/user/portrait/index.adp: fix from Sloan:
            +	  only show 'this is what we show other users' message to admins,
            +	  which includes the user looking at their own portrait
            +
            +2004-06-17 12:57  janine
            +
            +	* packages/forums/tcl/forums-procs.tcl: fix from Sloan:  to be
            +	  honest I don't really know what this change does, but it seems
            +	  harmless and might be useful
            +
            +2004-06-16 01:53  maltes
            +
            +	* packages/acs-service-contract/www/index.tcl: Page broken due to
            +	  Orphans not having an owner. I took the owner out, if someone
            +	  disagrees, please fix ...
            +
            +2004-06-15 08:52  andrewg
            +
            +	* packages/acs-tcl/tcl/site-nodes-procs.tcl: Fixed a scalability
            +	  problem in site_node::update_cache
            +
            +2004-06-15 08:48  andrewg
            +
            +	*
            +	  packages/acs-kernel/sql/oracle/upgrade/upgrade-5.0.0b4-5.0.0b5.sql:
            +	  Applied Dave's bugfix for \#1419 here to fix the same bug
            +
            +2004-06-14 10:55  janine
            +
            +	* packages/acs-tcl/tcl/text-html-procs.tcl: fix from Sloan - 100
            +	  iterations was not enough in some cases
            +
            +2004-06-14 10:49  janine
            +
            +	* packages/acs-tcl/tcl/: rollout-email-init.tcl,
            +	  rollout-email-procs.tcl: update from Sloan
            +
            +2004-06-13 11:44  daveb
            +
            +	* packages/acs-content-repository/tcl/: content-extlink-procs.tcl,
            +	  content-item-procs.tcl, content-keyword-procs.tcl,
            +	  content-revision-procs.tcl, content-symlink-procs.tcl,
            +	  content-template-procs.tcl, content-type-procs.tcl: Fix var_list
            +	  to be a list of lists.
            +
            +2004-06-12 07:27  maltes
            +
            +	* etc/keepalive/keepalive-cron.sh: Added keepalive-cron.sh to be
            +	  used in a cron environment, where root does not get an email
            +	  every two minutes
            +
            +2004-06-12 04:00  maltes
            +
            +	* packages/acs-core-docs/www/: xml/install-guide/aolserver4.xml,
            +	  aolserver4.html: Changed to use latest AOLserver (40r5). Fixed
            +	  small inconsistency.
            +
            +2004-06-11 13:43  janine
            +
            +	*
            +	  packages/acs-content-repository/sql/oracle/upgrade/upgrade-4.6.2-4.6.3.sql:
            +	  list columns to insert into (fix from Sloan)
            +
            +2004-06-11 13:42  janine
            +
            +	*
            +	  packages/acs-content-repository/sql/oracle/upgrade/upgrade-4.6.1-4.6.2.sql:
            +	  merge fix from head
            +
            +2004-06-11 03:17  jeffd
            +
            +	* packages/acs-core-docs/www/tutorial-hierarchical.html:
            +	  regenerated docs, removed a couple of deprecated files, add a new
            +	  one
            +
            +2004-06-09 23:41  maltes
            +
            +	* etc/config.tcl: Changed the maxinput to 5MB with 1024*1024
            +	  syntax. Added recvwait parameter.
            +
            +2004-06-09 18:14  daveb
            +
            +	* packages/acs-content-repository/tcl/test/:
            +	  content-item-test-procs.tcl, content-revision-test-procs.tcl:
            +	  Initital tests for CR Tcl API.
            +
            +2004-06-09 18:13  daveb
            +
            +	* packages/acs-content-repository/tcl/: content-extlink-procs.tcl,
            +	  content-folder-procs.tcl, content-item-procs.tcl,
            +	  content-keyword-procs.tcl, content-revision-procs.tcl,
            +	  content-symlink-procs.tcl, content-template-procs.tcl,
            +	  content-type-procs.tcl: Adding preliminary Tcl API. See TIP#67.
            +	  Thanks to Jeff Davis for the script that converted the pl/sql
            +	  procedures to tcl procedures.
            +
            +2004-06-08 01:52  maltes
            +
            +	* etc/config.tcl: Added maxinput parameter. Set it to 5MB, which
            +	  allows OpenACS parameter to kick in more effectively. See
            +	  http://openacs.org/forums/message-view?message_id=161698
            +
            +2004-06-07 09:56  jeffd
            +
            +	*
            +	  packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.0d2-5.0d3.sql:
            +	  do not create the cc_users_of_package_id view since we dont
            +	  create application_users view anymore so its not used
            +
            +2004-06-02 09:26  lars
            +
            +	* packages/acs-tcl/tcl/: acs-permissions-procs.tcl,
            +	  security-procs.tcl: Fixed bug when bumping to login page from
            +	  within permission_p, but permission_p was called form within
            +	  ad_get_login_url, which is the proc that determines which login
            +	  page to use
            +
            +2004-06-01 16:24  donb
            +
            +	* packages/acs-content-repository/: acs-content-repository.info,
            +	  sql/oracle/upgrade/upgrade-4.7d6-5.0d1.sql,
            +	  sql/oracle/upgrade/upgrade-5.1.0-5.1.1.sql,
            +	  sql/oracle/upgrade/upgrade-5.1.1-5.1.2.sql,
            +	  sql/postgresql/upgrade/upgrade-5.1.1-5.1.2.sql: I'd accidently
            +	  changed some old upgrade files to use edit_name rather than
            +	  rename (for Oracle 9.2) and had not added the needed upgrade
            +	  files for 5.1.
            +
            +2004-06-01 08:35  peterm
            +
            +	* packages/acs-subsite/www/admin/: parties/new.tcl, users/new.tcl:
            +	  Making call to relation_add (on pages parties/new and users/new)
            +	  not use the form_id and variable_prefix switches as doing so
            +	  would make package_instantiate_object look for a rel_id in the
            +	  form which wasn't there. This is analogous to fix in version 1.5
            +	  of groups/new.
            +
            +2004-05-31 11:51  gabrielb
            +
            +	* packages/acs-lang/tcl/: lang-util-procs-oracle.xql,
            +	  lang-util-procs-postgresql.xql, locale-procs.tcl: - There's no
            +	  consistent use of upper/lower case in the locale and language
            +	  columns of the ad_locales table so we need to do case insensitive
            +	  searches.  - ad_locales defines the language column as char(3).
            +	  Searches for 2-letter   language codes fail because (at least on
            +	  PG) all 2-letter entries have a   trailing space in the database.
            +
            +2004-05-31 10:28  gabrielb
            +
            +	* packages/acs-templating/tcl/spellcheck-init.tcl: Handle instances
            +	  where ad_locales does not contain the 2-letter language being
            +	  sought.
            +
            +2004-05-28 10:08  jader
            +
            +	* packages/acs-kernel/acs-kernel.info: Removed a security hole in
            +	  new installations: see:
            +	  http://openacs.org/forums/message-view?message_id=187394
            +
            +2004-05-26 13:51  tils
            +
            +	* packages/acs-lang/www/admin/message-usage-include.tcl: The 'Show
            +	  files that use this message' functionality used to also find keys
            +	  like acs-kernel.foo_bar when searching for acs-kernel.foo, fixed.
            +	  Not touching the acs-lang.localization-* lookups because I don't
            +	  know how to test this.
            +
            +2004-05-26 12:10  donb
            +
            +	* packages/acs-content-repository/sql/postgresql/:
            +	  content-folder.sql, content-item.sql: Minor cosmetic change vs.
            +	  1858
            +
            +2004-05-26 12:01  daveb
            +
            +	* packages/acs-content-repository/tcl/revision-procs.tcl: Return
            +	  content as string when string_p is true for file storage type.
            +	  Fixed bug#1823
            +
            +2004-05-26 11:50  donb
            +
            +	* packages/acs-content-repository/sql/oracle/: content-folder.sql,
            +	  content-item.sql, packages-create.sql,
            +	  upgrade/upgrade-5.1.0-5.1.1.sql: Further fixing of bug #1858
            +
            +2004-05-26 11:43  daveb
            +
            +	* packages/acs-content-repository/tcl/filter-procs.tcl:
            +	  Check for html before processing content through
            +	  ad_html_text_convert.
            +
            +2004-05-26 11:12  donb
            +
            +	* packages/acs-content-repository/: sql/oracle/content-folder.sql,
            +	  sql/oracle/content-test.sql,
            +	  sql/oracle/upgrade/upgrade-4.7d6-5.0d1.sql,
            +	  sql/postgresql/content-folder.sql,
            +	  sql/postgresql/content-item.sql, sql/postgresql/content-test.sql,
            +	  www/doc/api/folder.html, www/doc/api/item.html: Fixed Bug #1858:
            +	  qualifying "rename" works in 8i bug chokes in 9i causing the
            +	  reported error on installation.   Fixed by changing the name to
            +	  "edit_name" and implemented it for PG as well (to keep names
            +	  similar)
            +
            +2004-05-26 09:05  eduardop
            +
            +	* packages/acs-lang/acs-lang.info: Fix for Bug #1834: set
            +	  SystemTimezone default="UTC"
            +
            +2004-05-21 16:15  lars
            +
            +	* packages/acs-subsite/tcl/subsite-procs.tcl: Do not require
            +	  subsite_id to subsite::get_element
            +
            +2004-05-21 16:11  lars
            +
            +	* packages/acs-lang/www/admin/message-list.adp: Clearer explanation
            +	  on the import/export links
            +
            +2004-05-20 10:50  lars
            +
            +	* packages/acs-tcl/tcl/acs-permissions-procs.tcl: Formatting
            +	  change: && at beginning of lines, instead of end
            +
            +2004-05-20 10:31  lars
            +
            +	* packages/acs-tcl/tcl/acs-permissions-procs.tcl: Make the
            +	  automatic detection of expired logins work when you explicitly
            +	  supply party_id 0 as well
            +
            +2004-05-20 09:38  tilmanns
            +
            +	* packages/acs-templating/tcl/date-procs.tcl: Trim leading zeros
            +	  since month_data is keyed by month number without leading zero,
            +	  and I have seen at least once getting it a month value with
            +	  leading zero from somewhere.
            +
            +2004-05-18 09:23  rocaelh
            +
            +	* packages/acs-tcl/tcl/utilities-procs.tcl: attribute of a child
            +	  node function
            +
            +2004-05-18 09:15  rocaelh
            +
            +	* packages/acs-tcl/tcl/30-xml-utils-procs.tcl: xpath wrapper
            +	  function
            +
            +2004-05-14 06:12  jeffd
            +
            +	* packages/acs-templating/: resources/lists/list.adp,
            +	  resources/lists/table.adp, tcl/list-procs.tcl: parameterize the
            +	  method for bulk actions, default is get since that used to be the
            +	  hard coded value
            +
            +2004-05-13 09:43  lars
            +
            +	* packages/acs-subsite/www/resources/http.png: Added http link icon
            +
            +2004-05-13 08:16  lars
            +
            +	* packages/acs-subsite/catalog/acs-subsite.en_US.ISO-8859-1.xml:
            +	  Show bio/portrait icon for members portlet
            +
            +2004-05-13 08:05  lars
            +
            +	* packages/acs-subsite/www/shared/community-member.adp: Fixed
            +	  missing @ sign in the inline_portrait_state if statement
            +
            +2004-05-13 07:06  lars
            +
            +	* packages/forums/lib/forums/new.tcl: Fixed the new form so it
            +	  again accepts a default name for the new forum -- used by dotlrn
            +
            +2004-05-13 07:05  lars
            +
            +	* packages/forums/www/admin/forum-new.tcl: Fixed context bar
            +
            +2004-05-13 06:29  lars
            +
            +	* packages/acs-subsite/www/resources/profile-16.png: Added profile
            +	  icon
            +
            +2004-05-13 03:23  lars
            +
            +	* packages/forums/sql/oracle/: forums-search-create.sql,
            +	  forums-search-drop.sql: Paraemterized the Intermedia scripts
            +
            +2004-05-06 14:25  daveb
            +
            +	* packages/acs-content-repository/tcl/revision-procs.tcl: Make sure
            +	  content_length is returned as 0 if its set to NULL in
            +	  cr_revisions.
            +
            +2004-05-05 17:35  daveb
            +
            +	* packages/acs-content-repository/sql/postgresql/:
            +	  content-item.sql, upgrade/upgrade-5.1.1d1-5.1.1d2.sql: Fix typo
            +	  in parameter name, reference to non-existant parameter.  Fixes
            +	  bug#1793
            +
            +2004-05-05 17:24  daveb
            +
            +	* packages/acs-content-repository/acs-content-repository.info: Bump
            +	  up version number to match upgrade script.
            +
            +2004-05-05 17:12  daveb
            +
            +	* packages/acs-content-repository/sql/postgresql/:
            +	  content-create.sql, upgrade/upgrade-5.1.1d1-5.1.1d2.sql: Fix
            +	  reference to chid instead of child in cr_items_update_tr. Upgrade
            +	  script included. Fixes bug#1791
            +
            +2004-05-05 02:40  maltes
            +
            +	* packages/acs-subsite/www/members/user-batch-add-2.tcl: Adding
            +	  users in a subsite per batch did not add them to the subsite as
            +	  members.
            +
            +2004-05-04 06:42  joela
            +
            +	* packages/:
            +	  acs-authentication/catalog/acs-authentication.en_US.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.AR_EG.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.AR_LB.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.RO_RO.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ast_ES.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.ch_zh.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.da_DK.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.de_DE.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.en_US.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.es_ES.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.fi_FI.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.fr_FR.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.gl_ES.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.hu_HU.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.it_IT.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.ja_JP.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ko_KR.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.ms_my.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.nl_NL.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.nn_NO.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.no_NO.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.pl_PL.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.pt_BR.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.pt_PT.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.ru_RU.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.sv_SE.ISO-8859-1.xml,
            +	  acs-kernel/catalog/acs-kernel.tr_TR.utf-8.xml,
            +	  acs-kernel/catalog/acs-kernel.zh_TW.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.AR_EG.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.AR_LB.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.RO_RO.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.TH_TH.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.ast_ES.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.ch_zh.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.da_DK.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.de_DE.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.el_GR.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.en_GB.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.en_US.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.es_ES.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.fi_FI.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.fr_FR.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.gl_ES.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.hu_HU.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.it_IT.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.ja_JP.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.ko_KR.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.ms_my.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.nl_NL.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.nn_NO.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.no_NO.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.pl_PL.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.pt_BR.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.pt_PT.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.ru_RU.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.sh_HR.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.sv_SE.ISO-8859-1.xml,
            +	  acs-lang/catalog/acs-lang.tr_TR.utf-8.xml,
            +	  acs-lang/catalog/acs-lang.zh_TW.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.AR_EG.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.AR_LB.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.RO_RO.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ast_ES.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.ch_zh.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.da_DK.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.de_DE.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.el_GR.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.en_US.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.es_ES.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.fi_FI.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.fr_FR.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.gl_ES.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.hu_HU.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.it_IT.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.ja_JP.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ko_KR.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.ms_my.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.nl_NL.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.nn_NO.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.no_NO.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.pl_PL.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.pt_BR.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.pt_PT.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.ru_RU.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.sh_HR.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.sv_SE.ISO-8859-1.xml,
            +	  acs-subsite/catalog/acs-subsite.tr_TR.utf-8.xml,
            +	  acs-subsite/catalog/acs-subsite.zh_TW.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.AR_EG.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.AR_LB.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.FA_IR.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.RO_RO.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ast_ES.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.ch_zh.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.da_DK.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.de_DE.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.en_US.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.es_ES.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.fi_FI.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.fr_FR.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.gl_ES.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.hu_HU.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.it_IT.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.ja_JP.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ko_KR.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.ms_my.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.nl_NL.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.nn_NO.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.no_NO.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.pl_PL.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.pt_BR.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.pt_PT.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.ru_RU.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.sh_HR.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.sv_SE.ISO-8859-1.xml,
            +	  acs-tcl/catalog/acs-tcl.tr_TR.utf-8.xml,
            +	  acs-tcl/catalog/acs-tcl.zh_TW.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.RO_RO.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.ch_zh.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.da_DK.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.de_DE.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.en_US.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.es_ES.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.fi_FI.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.fr_FR.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.hu_HU.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.it_IT.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.ko_KR.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.ms_my.utf-8.xml,
            +	  acs-templating/catalog/acs-templating.nl_NL.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.nn_NO.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.no_NO.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.pt_BR.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.sv_SE.ISO-8859-1.xml,
            +	  acs-templating/catalog/acs-templating.zh_TW.utf-8.xml,
            +	  forums/catalog/forums.es_ES.ISO-8859-1.xml,
            +	  forums/catalog/forums.nl_NL.ISO-8859-1.xml,
            +	  forums/catalog/forums.nn_NO.ISO-8859-1.xml,
            +	  forums/catalog/forums.no_NO.ISO-8859-1.xml: added current
            +	  translations
            +
            +2004-05-04 05:11  jeffd
            +
            +	* packages/acs-subsite/www/user/portrait/upload-2-oracle.xql: set
            +	  content_length field in cr_revisions for uploaded portrait
            +
            +2004-05-04 05:06  jeffd
            +
            +	* packages/acs-subsite/www/user/portrait/upload-2-postgresql.xql:
            +	  set content_length field in cr_revisions for uploaded portrait
            +
            +2004-05-02 12:13  daveb
            +
            +	*
            +	  packages/acs-content-repository/sql/oracle/upgrade/upgrade-5.1.0-5.1.1.sql:
            +	  Fix content_folder.rename.
            +
            +2004-05-01 01:32  jeffd
            +
            +	* packages/acs-content-repository/sql/postgresql/content-type.sql:
            +	  content_type__drop_type doesn't work on OS X (7.2 was matching
            +	  sp[uriously) bug 1738 patch 498 Jarkko Laine
            +
            +2004-04-30 01:59  lars
            +
            +	* packages/acs-lang/www/admin/edit-localized-message.tcl:
            +	  export_vars -base instead of ?[export_vars]
            +
            +2004-04-29 19:49  daveb
            +
            +	* packages/acs-content-repository/sql/oracle/content-folder.sql:
            +	  Fix content_folder.rename to actually change the label or
            +	  description if that parameter is specified.
            +
            +
            View comments on this page at openacs.org
            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.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html 29 Jun 2004 15:50:16 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html 16 Feb 2005 00:21:03 -0000 1.11 @@ -1,7 +1,9 @@ -OpenACS Core and .LRN

            OpenACS Core and .LRN

            1. Update Translations.�the section called “How to Update the translations”

            2. Update Version Numbers.�The version numbers in the documentation and in the packages must be updated. This should only happen after a release candidate is approved.

              .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 bulk-update .LRN and OpenACS core but that I don't touch dotlrn-prereq modules - I just use the most recent release and it's up to individual package developers to tag and release those packages when they change. This model is already broken because following it means that dotlrn-prereqs don't get new translations.
              1. Update /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/xml/variables.ent with the new version number. +OpenACS Core and .LRN

                OpenACS Core and .LRN

                1. Update Translations.�the section called “How to Update the translations”

                2. Rebuild the Changelog.�Rebuild the Changelog. I use a tool called cvs2cl. Run this command from the package root to automatically generate a Changelog file in the same dir. We generate two changelogs, one for the minor branch and one for the most recent release. The example below is for OpenACS 5.0.2:

                  cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
                  +cvs2cl -F oacs-5-0 --delta openacs-5-0-0-final:oacs-5-0 -f ChangeLog
                  +cvs2cl -F oacs-5-0 --delta openacs-5-0-1-final:oacs-5-0 -f ChangeLog-recent
                3. Update Version Numbers.�The version numbers in the documentation and in the packages must be updated. This should only happen after a release candidate is approved.

                  .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 bulk-update .LRN and OpenACS core but that I don't touch dotlrn-prereq modules - I just use the most recent release and it's up to individual package developers to tag and release those packages when they change. This model is already broken because following it means that dotlrn-prereqs don't get new translations.
                  1. Update /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/xml/variables.ent with the new version number.

                  2. Add new section in /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml

                  3. Regenerate all HTML docs

                    cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/xml
                    -make
                  4. Update /var/lib/aolserver/$OPENACS_SERVICE_NAME/readme.txt with the new version number

                  5. Update version number in all of the core packages. Here's a bash/perl script which works but could be made easier to use. Run it from /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages:

                    #!/bin/sh
                    +make
                  6. Update /var/lib/aolserver/$OPENACS_SERVICE_NAME/readme.txt with the new version number

                  7. Update version number and release date in all of the core packages. Here's a bash/perl script which works but could be made easier to use. (It depends on all of the old versions and dates being identical.) Run it from /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages:

                    #!/bin/sh
                     # run this file from ../packages to renumber all .info version numbers
                     
                     #---------------------------------------------------------------------
                    @@ -20,10 +22,8 @@
                       perl -p -i -e 's/name="5\.0\.0"/name="5\.1\.0d1"/' $dir
                       perl -p -i -e 's/-5\.0\.0.apm"/-5\.1\.0d1.apm"/' $dir
                       perl -p -i -e 's/(provides.*version)="5\.0\.0"/\1="5\.1\.0d1"/' $dir
                    -done
                  8. Commit changes to CVS

                4. Rubuild the Changelog.�Rebuild the Changelog. I use a tool called cvs2cl. Run this command from the package root to automatically generate a Changelog file in the same dir:

                  cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
                  -perl /var/tmp/cvs2cl/cvs2cl.pl -F oacs-5-0 --delta openacs-5-0-0-final:oacs-5-0

                  - Commit changes -

                5. Tag the files in CVS.�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.

                  1. Check out OpenACS Core. The files must be checked + perl -p -i -e 's/2004-10-21/2004-11-26/' $dir +done

                  2. Install a new site using the modified code and verify that the automated tests pass.

                  3. Commit changes to CVS

                6. Tag the files in CVS.�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.

                  1. Check out OpenACS Core. The files must be checked out through a cvs account with write access and should be a checkout from the release branch. In this example, we are assuming this is being done as a local user on openacs.org (which make the @@ -35,7 +35,7 @@

                  2. Tag the tree. If it's a final release of core, move or create the appropriate openacs-major-minor-compat tag. (Ie, if releasing 5.0.3 final, move the openacs-5-0-compat flag.)

                    cd /var/tmp/openacs-4
                     cvs tag -F openacs-5-0-0a1
                     cvs tag -F openacs-5-0-compat
                    -

                    Branching

                    When we feature-freeze on HEAD as part of the release process, we are blocking new development. To avoid this, we branch the code at this point, so that new work can continue on HEAD while the branch is stabilized for release. However, branching means that bug fixes have to be synchronized between HEAD and the branch, and bug fixes tend to be more frequent right at this time. Therefore, our actual branch point is as late as possible - essentially, we do not branch until and unless new feature work is actively blocked by the 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, cvs status -v somefile.

                    cvs tag -b oacs-5-0

                    If doing .LRN: Since the .LRN packages aren't all in one +

                    Branching

                    When we feature-freeze on HEAD as part of the release process, we are blocking new development. To avoid this, we branch the code at this point, so that new work can continue on HEAD while the branch is stabilized for release. However, branching means that bug fixes have to be synchronized between HEAD and the branch, and bug fixes tend to be more frequent right at this time. Therefore, our actual branch point is as late as possible - essentially, we do not branch until and unless new feature work is actively blocked by the 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, cvs status -v somefile.

                    cvs tag -b oacs-5-0

                    If doing .LRN: Since the .LRN packages aren't all in one module, we iterate through all of the modules. Log in first (cvs login) so that you don't have to log in for each module.

                    cd /var/tmp/dotlrn-packages
                    @@ -44,7 +44,10 @@
                     

                    Note that for the compat tag we use the -F flag which will force the tag to the new version (just in case someone has created the tag already on another version). Excercise care when doing this since you don't want to inadvertently move a prior release tag. Also if the tagging goes horribly wrong - for some reason you can delete the tag via "cvs tag -d <symbolic_tag>".

                7. Make the tarball(s).�

                  • openacs-core.�

                    1. Go to a new working space and export the tagged files.

                      mkdir /var/tmp/tarball
                      +          for some reason you can delete the tag via "cvs tag -d <symbolic_tag>".

                    2. Apply the final tag across the tree. First, check out the entire OpenACS tree, getting the most recent stable version of each package. This is most simply done on openacs.org:

                      cd /var/tmp
                      +cvs -d /cvsroot checkout -r openacs-5-1-compat openacs-4
                      +cd openacs-4
                      +cvs tag openacs-5-1-2-final
                  • Make the tarball(s).�

                    • openacs-core.�

                      1. Go to a new working space and export the tagged files.

                        mkdir /var/tmp/tarball
                         cd /var/tmp/tarball
                         cvs -d /cvsroot export -r openacs-5-0-0a1 acs-core
                      2. Generate the tarball.

                        cd /var/tmp/tarball
                         mv openacs-4 openacs-5.0.0a1
                        @@ -66,7 +69,8 @@
                         mv openacs-4 dotlrn-2.0.0a1
                         tar cz -f dotlrn-2.0.0a1.tar.gz dotlrn-2.0.0a1
                         
                  • Test the new tarball(s).�Download the tarballs just created and install them and make sure everything looks okay and that automated tests pass.

                  • Update Web site.�Update the different places on OpenACS.org where we track status.

                    • Release Status for the current version - something like http://openacs.org/projects/openacs/5.0/milestones

                    • Home page of openacs.org

                    • Post a new news item

                  • Clean Up.�Clean up after yourself.

                    cd /var/tmp
                    -rm -rf tarball dotlrn-tarball dotlrn-packages openacs-5.0.0a1

                +rm -rf tarball dotlrn-tarball dotlrn-packages openacs-5.0.0a1 +rm -rf /var/tmp/openacs-4

              Here is a shell script that automates packaging the tarball (it's a bit out of date with the new steps - I've been doing everything manually or with little throwaway scripts as detailed above until the process is stabilized).

              #!/bin/bash
               
              @@ -149,4 +153,4 @@
               
               # Clean up after ourselves...
               cd $BASE && rm -rf dotlrn-tarball tarball openacs-4 dotlrn-packages
              -
              ($Id$)
            View comments on this page at openacs.org
            +
            ($Id$)
            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/releasing-openacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-openacs.html,v diff -u -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/releasing-openacs.html 22 Jun 2004 12:54:10 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/releasing-openacs.html 16 Feb 2005 00:21:03 -0000 1.20 @@ -1 +1 @@ -Chapter�16.�Releasing OpenACS
            View comments on this page at openacs.org
            +Chapter�18.�Releasing OpenACS
            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/releasing-package.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-package.html,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/releasing-package.html 22 Jun 2004 12:54:10 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/releasing-package.html 16 Feb 2005 00:21:03 -0000 1.6 @@ -1,4 +1,4 @@ -How to package and release an OpenACS Package

            How to package and release an OpenACS Package

            In this example, we are packaging and releasing myfirstpackage as version 1.0.0, which is compatible with OpenACS 5.0.x.

            1. Update the version number of your package in the APM.

            2. Make sure all changes are committed.

            3. Tag the updated work.:

              cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage
              +How to package and release an OpenACS Package

              How to package and release an OpenACS Package

              In this example, we are packaging and releasing myfirstpackage as version 1.0.0, which is compatible with OpenACS 5.0.x.

              1. Update the version number, release date, and package maturity of your package in the APM.

              2. Make sure all changes are committed.

              3. Tag the updated work.:

                cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage
                 cvs tag myfirstpackages-1-0-0-final
                 cvs tag -F openacs-5-0-compat
                 

              Done. The package will be added to the repository automatically. If the correct version does not show up within 24 hours, ask for help on the OpenACS.org development forum.

              View comments on this page at openacs.org
              Index: openacs-4/packages/acs-core-docs/www/remote-postgres.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/remote-postgres.html,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/remote-postgres.html 22 Jun 2004 12:54:10 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/remote-postgres.html 16 Feb 2005 00:21:03 -0000 1.5 @@ -1,4 +1,4 @@ -Running a PostgreSQL database on another server

              Running a PostgreSQL database on another server

              To run a database on a different machine than the +Running a PostgreSQL database on another server

              Running a PostgreSQL database on another server

              To run a database on a different machine than the webserver requires changes to the database configuration file and access control file, and to the OpenACS service's configuration file.

              • Edit the database configuration file, which in a Index: openacs-4/packages/acs-core-docs/www/request-processor.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/request-processor.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/request-processor.html 29 Jun 2004 15:50:16 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/request-processor.html 16 Feb 2005 00:21:03 -0000 1.40 @@ -1,4 +1,4 @@ -The Request Processor

                The Request Processor

                By Pete Su

                +The Request Processor

                The Request Processor

                By Pete Su

                OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

                Overview

                Index: openacs-4/packages/acs-core-docs/www/requirements-template.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/requirements-template.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/requirements-template.html 29 Jun 2004 15:50:16 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/requirements-template.html 16 Feb 2005 00:21:03 -0000 1.40 @@ -1,4 +1,4 @@ -System/Application Requirements Template

                System/Application Requirements Template

                By You

                +System/Application Requirements Template

                System/Application Requirements Template

                By You

                OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

                Introduction

                @@ -80,4 +80,4 @@ pre-existing system or prototype first, and thus you may want to write some thoughts on implementation, for aiding and guiding yourself or other programmers. -

                Revision History

                Document Revision #Action Taken, NotesWhen?By Whom?
                0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
                0.2Edited8/22/2000Kai Wu
                0.1Created8/21/2000Josh Finkler, Audrey McLoghlin
                ($Id$)
                View comments on this page at openacs.org
                +

                Revision History

                Document Revision #Action Taken, NotesWhen?By Whom?
                0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
                0.2Edited8/22/2000Kai Wu
                0.1Created8/21/2000Josh Finkler, Audrey McLoghlin
                ($Id$)
                View comments on this page at openacs.org
                Index: openacs-4/packages/acs-core-docs/www/rp-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-design.html,v diff -u -r1.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/rp-design.html 22 Jun 2004 12:54:10 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/rp-design.html 16 Feb 2005 00:21:03 -0000 1.28 @@ -1,4 +1,4 @@ -Request Processor Design

                Request Processor Design

                By Rafael H. Schloming

                +Request Processor Design

                Request Processor Design

                By Rafael H. Schloming

                OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

                Essentials

                • OpenACS 4 Request Processor Requirements

                • 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.23 -r1.24 --- openacs-4/packages/acs-core-docs/www/rp-requirements.html 22 Jun 2004 12:54:10 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/rp-requirements.html 16 Feb 2005 00:21:03 -0000 1.24 @@ -1,4 +1,4 @@ -Request Processor Requirements

                  Request Processor Requirements

                  By Rafael H. Schloming

                  +Request Processor Requirements

                  Request Processor Requirements

                  By Rafael H. Schloming

                  OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

                  Introduction

                  The following is a requirements document for the OpenACS 4.0 request Index: openacs-4/packages/acs-core-docs/www/security-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-design.html,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/security-design.html 22 Jun 2004 12:54:10 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/security-design.html 16 Feb 2005 00:21:03 -0000 1.26 @@ -1,4 +1,4 @@ -Security Design

                  Security Design

                  By Richard Li and Archit Shah

                  +Security Design

                  Security Design

                  By Richard Li and Archit Shah

                  OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

                  Introduction

                  Index: openacs-4/packages/acs-core-docs/www/security-notes.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-notes.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/security-notes.html 29 Jun 2004 15:50:16 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/security-notes.html 16 Feb 2005 00:21:03 -0000 1.40 @@ -1,4 +1,4 @@ -Security Notes

                  Security Notes

                  By Richard Li

                  +Security Notes

                  Security Notes

                  By Richard Li

                  OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

                  Index: openacs-4/packages/acs-core-docs/www/security-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-requirements.html,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/security-requirements.html 22 Jun 2004 12:54:10 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/security-requirements.html 16 Feb 2005 00:21:03 -0000 1.26 @@ -1,4 +1,4 @@ -Security Requirements

                  Security Requirements

                  By Richard Li

                  +Security Requirements

                  Security Requirements

                  By Richard Li

                  OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

                  Introduction

                  Index: openacs-4/packages/acs-core-docs/www/snapshot-backup.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/snapshot-backup.html,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/snapshot-backup.html 22 Jun 2004 12:54:10 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/snapshot-backup.html 16 Feb 2005 00:21:03 -0000 1.6 @@ -1,4 +1,4 @@ -Manual backup and recovery

                  Manual backup and recovery

                  This section describes how to make a one-time backup and +Manual backup and recovery

                  Manual backup and recovery

                  This section describes how to make a one-time backup and restore of the files and database. This is useful for rolling back to known-good versions of a service, such as at initial installation and just before an upgrade. First, you back up the @@ -7,11 +7,11 @@ including the AOLserver config files, is then in tree for regular file system backup.

                  1. Back up the database to a file.�

                    • Oracle.�

                      • Download the backup script. Save the file export-oracle.txt as - /tmp/export-oracle.txt + /var/tmp/export-oracle.txt

                      • Login as root. The following commands will install the export script:

                        [joeuser ~]$ su -
                        -[root ~]# cp /tmp/export-oracle.txt /usr/sbin/export-oracle
                        +[root ~]# cp /var/tmp/export-oracle.txt /usr/sbin/export-oracle
                         [root ~]# chmod 700 /usr/sbin/export-oracle
                      • Setup the export directory; this is the directory where backups will be stored. We recommend the directory @@ -86,7 +86,7 @@ specifies the starting point for backup. Tar defaults to recursive backup.

                      [root root]# su - $OPENACS_SERVICE_NAME
                       [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ tar -cpsz --exclude /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools/supervise \
                      -   --file /tmp/$OPENACS_SERVICE_NAME-backup.tar.gz /var/lib/aolserver/$OPENACS_SERVICE_NAME/
                      +   --file /var/tmp/$OPENACS_SERVICE_NAME-backup.tar.gz /var/lib/aolserver/$OPENACS_SERVICE_NAME/
                       tar: Removing leading `/' from member names
                       [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
                    • Suffer a catastrophic failure on your production system.�(We'll simulate this step)

                      [root root]# svc -d /service/$OPENACS_SERVICE_NAME
                       [root root]# mv /var/lib/aolserver/$OPENACS_SERVICE_NAME/ /var/lib/aolserver/$OPENACS_SERVICE_NAME.lost
                      @@ -109,7 +109,7 @@
                                   tarball and supporting software) and repeating the install
                                   guide.  Recreate the service user ($OPENACS_SERVICE_NAME).

                    • Restore the OpenACS files and database backup file.

                      [root root]# su - $OPENACS_SERVICE_NAME
                       [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver
                      -[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /tmp/$OPENACS_SERVICE_NAME-backup.tar.gz
                      +[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /var/tmp/$OPENACS_SERVICE_NAME-backup.tar.gz
                       [$OPENACS_SERVICE_NAME aolserver]$ chmod -R 775 $OPENACS_SERVICE_NAME
                       [$OPENACS_SERVICE_NAME aolserver]$ chown -R $OPENACS_SERVICE_NAME.web $OPENACS_SERVICE_NAME
                    • Restore the database

                      • Oracle.�

                        1. Set up a clean Oracle database user and tablespace with the same names as the ones exported from (more information).

                        2. Invoke the import command

                          imp $OPENACS_SERVICE_NAME/$OPENACS_SERVICE_NAME FILE=/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/nighty_backup.dmp FULL=Y
                      • Postgres.�If the database user does not already exist, create it.

                        [root root]# su - postgres
                        Index: openacs-4/packages/acs-core-docs/www/style-guide.html
                        ===================================================================
                        RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/style-guide.html,v
                        diff -u -r1.18 -r1.19
                        --- openacs-4/packages/acs-core-docs/www/style-guide.html	29 Jun 2004 15:50:16 -0000	1.18
                        +++ openacs-4/packages/acs-core-docs/www/style-guide.html	16 Feb 2005 00:21:03 -0000	1.19
                        @@ -1,4 +1,6 @@
                        -OpenACS Style Guide

                        OpenACS Style Guide

                        +OpenACS Style Guide

                        OpenACS Style Guide

                        By Jeff Davis

                        Motivation

                        Why have coding standards for OpenACS? And if the code works why change it to @@ -87,4 +89,6 @@

                      • Solicit code reviews.� Ask others to look over your code and provide feedback and do the same for others. -

                  Revision History

                  Document Revision #Action Taken, NotesWhen?By Whom?
                  0.1Creation12/2003Jeff Davis
                  ($Id$)
                  View comments on this page at openacs.org
                  +

            Revision History

            Document Revision #Action Taken, NotesWhen?By Whom?
            0.1Creation12/2003Jeff Davis
            ($Id$)
            View comments on this page at openacs.org
            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.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/subsites-design.html 22 Jun 2004 12:54:10 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/subsites-design.html 16 Feb 2005 00:21:03 -0000 1.26 @@ -1,4 +1,4 @@ -Subsites Design Document

            Subsites Design Document

            By Rafael H. Schloming

            +Subsites Design Document

            Subsites Design Document

            By Rafael H. Schloming

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

            *Note* This document has not gone through the any of the Index: openacs-4/packages/acs-core-docs/www/subsites-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites-requirements.html,v diff -u -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/subsites-requirements.html 22 Jun 2004 12:54:10 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/subsites-requirements.html 16 Feb 2005 00:21:03 -0000 1.25 @@ -1,4 +1,4 @@ -Subsites Requirements

            Subsites Requirements

            By Rafael H. Schloming and Dennis Gregorovic

            +Subsites Requirements

            Subsites Requirements

            By Rafael H. Schloming and Dennis Gregorovic

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

            Introduction

            The following is a requirements document for OpenACS 4 Subsites, part of the Index: openacs-4/packages/acs-core-docs/www/subsites.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/subsites.html 29 Jun 2004 15:50:16 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/subsites.html 16 Feb 2005 00:21:03 -0000 1.40 @@ -1,4 +1,4 @@ -Writing OpenACS Application Pages

            Writing OpenACS Application Pages

            By Rafael H. Schloming and Pete Su

            +Writing OpenACS Application Pages

            Writing OpenACS Application Pages

            By Rafael H. Schloming and Pete Su

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

            Overview

            Index: openacs-4/packages/acs-core-docs/www/tcl-doc.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tcl-doc.html,v diff -u -r1.40 -r1.41 --- openacs-4/packages/acs-core-docs/www/tcl-doc.html 29 Jun 2004 15:50:16 -0000 1.40 +++ openacs-4/packages/acs-core-docs/www/tcl-doc.html 16 Feb 2005 00:21:03 -0000 1.41 @@ -1,4 +1,4 @@ -Documenting Tcl Files: Page Contracts and Libraries

            Documenting Tcl Files: Page Contracts and Libraries

            By Jon Salz on 3 July 2000

            +Documenting Tcl Files: Page Contracts and Libraries

            Documenting Tcl Files: Page Contracts and Libraries

            By Jon Salz on 3 July 2000

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
            • Tcl procedures: /packages/acs-kernel/tcl-documentation-procs.tcl

            The Big Picture

            In versions of the OpenACS prior to 3.4, the standard Index: openacs-4/packages/acs-core-docs/www/templates.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/templates.html,v diff -u -r1.39 -r1.40 --- openacs-4/packages/acs-core-docs/www/templates.html 29 Jun 2004 15:50:16 -0000 1.39 +++ openacs-4/packages/acs-core-docs/www/templates.html 16 Feb 2005 00:21:03 -0000 1.40 @@ -1,4 +1,4 @@ -Using Templates in OpenACS

            Using Templates in OpenACS

            By Pete Su

            +Using Templates in OpenACS

            Using Templates in OpenACS

            By Pete Su

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

            Overview

            Index: openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.html,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.html 22 Jun 2004 12:54:10 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.html 16 Feb 2005 00:21:03 -0000 1.6 @@ -1,4 +1,4 @@ -Admin Pages

            Admin Pages

            +Admin Pages

            Admin Pages

            There are at least two flavors of admin user interface:

            • Admins use same pages as all other users, except that they are offered admin links and buttons where appropriate. Index: openacs-4/packages/acs-core-docs/www/tutorial-advanced.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-advanced.html,v diff -u -r1.26 -r1.27 --- openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 29 Jun 2004 15:50:16 -0000 1.26 +++ openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 16 Feb 2005 00:21:03 -0000 1.27 @@ -1,4 +1,4 @@ -Chapter�10.�Advanced Topics

              Chapter�10.�Advanced Topics

              by Joel Aufrecht

              +Chapter�10.�Advanced Topics

              Chapter�10.�Advanced Topics

              by Joel Aufrecht

              OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

              This tutorial covers topics which are not essential to Index: openacs-4/packages/acs-core-docs/www/tutorial-caching.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-caching.html,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/tutorial-caching.html 30 Jun 2004 07:40:31 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/tutorial-caching.html 16 Feb 2005 00:21:03 -0000 1.3 @@ -1,4 +1,4 @@ -Basic Caching

              Basic Caching

              Based on a post by Dave Bauer.

              +Basic Caching

              Basic Caching

              Based on a post by Dave Bauer.

              OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
              1. Implement your proc as my_proc_not_cached

              2. Create a version of your proc called my_proc which wraps the non-cached version in the caching mechanism. In this example, my_proc_not_cached takes 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.

                ad_proc my_proc {-foo} {
                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.5 -r1.6
                --- openacs-4/packages/acs-core-docs/www/tutorial-categories.html	22 Jun 2004 12:54:10 -0000	1.5
                +++ openacs-4/packages/acs-core-docs/www/tutorial-categories.html	16 Feb 2005 00:21:03 -0000	1.6
                @@ -1,4 +1,7 @@
                -Categories

                Categories

                You can associate any ACS Object with one or more categories. +Categories

                Categories

                extended by Nima Mazloumi

                + OpenACS docs are written by the named authors, and may be edited + by OpenACS documentation staff. +

                You can associate any ACS Object with one or more categories. In this tutorial we'll show how to equip your application with user interface to take advantage of the Categories service.

                @@ -28,17 +31,15 @@ /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www/admin/index.tcl file:

                -set category_map_url [export_vars -base \
                -    "[site_node::get_package_url -package_key categories]cadmin/one-object" \
                -        { { object_id $package_id } }]
                +		  set category_map_url [export_vars -base "[site_node::get_package_url -package_key categories]cadmin/one-object" { { object_id $package_id } }]
                           

                and the following snippet to your /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www/admin/index.adp file:

                -<li><a href="@category_map_url@"
                -      class="action_link">Site-Wide Categories</a>
                -          

                The link created by the above code will take the admin to the generic + <a href="@category_map_url@"<#categories.Site_wide_Categories#</a> +

                The link created by the above code (category_map_url) + 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 this example is @@ -60,49 +61,34 @@ To achieve this we'll need to use the -extend switch to the ad_form command. Here's the "meat" of the note-edit.tcl page:

                -ad_form -name note -form {
                -    {item_id:key}
                -    {title:text {label Title}}
                -}
                +			    #extend the form to support categories
                +			    set package_id [ad_conn package_id]
                +			    
                +    			category::ad_form::add_widgets -form_name note -container_object_id $package_id -categorized_object_id [value_if_exists item_id]
                 
                -set package_id [ad_conn package_id]
                -
                -set category_trees [category_tree::get_mapped_trees $package_id]
                -
                -foreach tree $category_trees {
                -    foreach { tree_id name subtree_id } $tree {}
                -    ad_form -extend -name note -form \
                -        [list [list category_id_${tree_id}:integer(category),optional \
                -                   {label $name} \
                -                   {html {single single}} \
                -                   {category_tree_id $tree_id} \
                -                   {category_subtree_id $subtree_id} \
                -                   {category_object_id {[value_if_exists entry_id]}}]]
                -}
                -
                -ad_form -extend \
                -  -name note \
                -  -new_request {
                -    permission::require_permission -object_id [ad_conn package_id] -privilege create
                -    set page_title "Add a Note"
                -    set context [list $page_title]
                -} -edit_request {
                -    permission::require_write_permission -object_id $item_id
                -    mfp::note::get \
                -    -item_id $item_id \
                -    -array note_array
                -
                -    set title $note_array(title)
                -
                -    set page_title "Edit a Note"
                -    set context [list $page_title]
                -} -new_data {
                -    mfp::note::add \
                -    -title $title
                -} -after_submit {
                -    ad_returnredirect "."
                -    ad_script_abort
                -}

                This page requires a + ad_form -extend -name note -on_submit { + set category_ids [category::ad_form::get_categories -container_object_id $package_id] + } -new_data { + .... + category::map_object -remove_old -object_id $item_id $category_ids + db_dml insert_asc_named_object "insert into acs_named_objects (object_id, object_name, package_id) values ( :item_id, :title, :package_id)" + } -edit_data { + .... + db_dml update_asc_named_object "update acs_named_objects set object_name = :title, package_id = :package_id where object_id = :item_id" + category::map_object -remove_old -object_id $item_id $category_ids + } -after_submit { + ad_returnredirect "." + ad_script_abort + } +

                While the category::ad_form::add_widgets 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 from + your objects you have to keep the acs_named_objects table updated with + any changes taking place. We use the items title so that they are listed in the categories browser by + title.

                Make sure that you also delete these entries if your item is delete. Add this to + your corresponding delete page:

                +			db_dml delete_named_object "delete from acs_named_objects where object_id = :item_id"
                +			

                note-edit.tcl requires a note_id to determine which record should be deleted. It also looks for a confirmation variable, which should initially be absert. If it is absent, we create a form to @@ -135,4 +121,149 @@ formtemplate 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.

              View comments on this page at openacs.org
              + samplenotes.

            • We will now make categories optional on package instance level and + also add a configuration page to allow the package admin to enable/disable + categories for his package. +

              Go to the APM and create a number parameter with the name "EnableCategoriesP" + and the default value "0".

              Add the following lines to your index.tcl:

              +          set return_url [ns_conn url]
              +          set use_categories_p [parameter::get -parameter "EnableCategoriesP"]
              +          

              Change your to this:

              +			<a href=configure?<%=[export_url_vars return_url]%>>Configure</a>
              +			<if @use_categories_p@>
              +   			<a href="@category_map_url@"<#categories.Site_wide_Categories#</a>
              +   			</if>
              +          

              Now create a configure page

              +          	ad_page_contract {
              +    			This page allows an admin to change the categories usage mode.
              +			} {
              +    			{return_url ""}
              +			}
              +
              +			set title "Configure category mode"
              +			set context [list $title]
              +			set use_categories_p [parameter::get -parameter "EnableCategoriesP"]
              +
              +			ad_form -name categories_mode -form {
              +    			{enabled_p:text(radio)
              +        			{label "Enable Categories"}
              +        			{options {{Yes 1} {No 0}}}
              +        			{value $use_categories_p}
              +    			}
              +    			{return_url:text(hidden) {value $return_url}}
              +    			{submit:text(submit) {label "Set Mode"}}
              +			} -on_submit {
              +    			parameter::set_value  -parameter "EnableCategoriesP" -value $enabled_p
              +    			if {![empty_string_p $return_url]} {
              +        			ns_returnredirect $return_url
              +    			}
              +			}
              +           

              and add this to its corresponding ADP page

              +          	<master>
              +			<property name="title">@title@</property>
              +			<property name="context">@context@</property>
              +
              +			<formtemplate id="categories_mode"></formtemplate>
              +	      

              Reference this page from your admin page

              +		#TCL:
              +		set return_url [ad_conn url]
              +
              +		#ADP:
              +		<a href=configure?<%=[export_url_vars return_url]%>>Configure</a>
              +		

              Change the note-edit.tcl:

              +		# 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
              +		}
              +	
            • You can filter your notes using categories. The below example does not support multiple + filters and displays a category in a flat format.

              The first step is to + define the optional parameter category_id for + index.tcl:

              + 	  	ad_page_contract {
              +  		YOUR TEXT
              +		} {
              +			YOURPARAMS
              +    		{category_id:integer,optional {}}
              +		}
              + 	  

              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 mfp::note::get proc to + support two more swiches -where_clause and + -from_clause.

              + 	  	set use_categories_p [parameter::get -parameter "EnableCategoriesP" -default 0]
              +
              +		if { $use_categories_p == 1 && [exists_and_not_null category_id] } {
              +
              +			set from_clause "category_object_map com, acs_named_objects nam"
              +			set_where_clause "com.object_id = qa.entry_id and
              +								nam.package_id = :package_id and
              +								com.object_id = nam.object_id and
              +								com.category_id = :category_id"
              +			
              +			...
              +								
              +    		mfp::note::get \
              +    		-item_id $item_id \
              +    		-array note_array \
              +    		-where_clause $where_clause \
              +    		-from_clause $from_clause
              +    		
              +    		...
              +		} else {
              +    		# OLD STUFF
              +		}
              + 	  

              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:

              + 	  # Site-Wide Categories
              +		if { $use_categories_p == 1} {
              +    		set package_url [ad_conn package_url]
              +    		if { ![empty_string_p $category_id] } {
              +        		set category_name [category::get_name $category_id]
              +        		if { [empty_string_p $category_name] } {
              +            		ad_return_exception_page 404 "No such category" "Site-wide \
              +          			Category with ID $category_id doesn't exist"
              +            		return
              +        		}
              +        		# Show Category in context bar
              +        		append context_base_url /cat/$category_id
              +        		lappend context [list $context_base_url $category_name]
              +        		set type "all"
              +    		}
              +
              +    		# Cut the URL off the last item in the context bar
              +    		if { [llength $context] > 0 } {
              +        		set context [lreplace $context end end [lindex [lindex $context end] end]]
              +    		}
              +
              +    		db_multirow -unclobber -extend { category_name tree_name } categories categories {
              +        		select c.category_id as category_id, c.tree_id
              +        		from   categories c, category_tree_map ctm
              +        		where  ctm.tree_id = c.tree_id
              +        		and    ctm.object_id = :package_id
              +    		} {
              +        		set category_name [category::get_name $category_id]
              +        		set tree_name [category_tree::get_name $tree_id]
              +    		}
              +		}
              +		

              and to the corresponding index ADP page:

              +		<if @use_categories_p@>
              + 			<multiple name="categories">
              +           		<h2>@categories.tree_name@
              +           		<group column="tree_id">
              +             		<a href="@package_url@cat/@categories.category_id@?@YOURPARAMS@&category_id=@categories.category_id@">@categories.category_name@
              +           		</group>
              +         	</multiple>
              +		<a href="@package_url@view?@YOURPARAMS@">All Items</if>
              + 	  

              Finally you need a an index.vuh in your + www folder to rewrite the URLs correctly, the section called “Using .vuh files for pretty urls”:

              + 	  	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" 	  
              + 	  

              Now when ever the user select a category only notes that belong to this category are displayed.

            View comments on this page at openacs.org
            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.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/tutorial-comments.html 22 Jun 2004 12:54:10 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/tutorial-comments.html 16 Feb 2005 00:21:03 -0000 1.6 @@ -1,4 +1,4 @@ -Adding Comments

            Adding Comments

            You can track comments for any ACS Object. Here we'll track +Adding Comments

            Adding Comments

            You can track comments for any ACS Object. Here we'll track comments for notes. On the note-edit.tcl/adp pair, which is used to display individual notes, we want to put a link to add comments at the bottom of the screen. If there are any comments, we want to @@ -19,4 +19,4 @@ there are comments. Then you pass the note id, which is also the acs_object id.

            We put our two new variables in the note-edit.adp page.

            <a href="@comment_add_url@">Add a comment</a>
            - @comments_html@
            View comments on this page at openacs.org
            + @comments_html@
            View comments on this page at openacs.org
            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.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/tutorial-css-layout.html 5 Jul 2004 14:24:59 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-css-layout.html 16 Feb 2005 00:21:03 -0000 1.4 @@ -1,4 +1,4 @@ -Laying out a page with CSS instead of tables

            Laying out a page with CSS instead of tables

            .LRN home page with table-based layout

            A sample of the HTML code (full source)

            <table border="0" width="100%">
            +Laying out a page with CSS instead of tables

            Laying out a page with CSS instead of tables

            .LRN home page with table-based layout

            A sample of the HTML code (full source)

            <table border="0" width="100%">
               <tr>
                 <td valign="top" width="50%">
                   <table class="element" border=0 cellpadding="0" cellspacing="0" width="100%">
            @@ -20,7 +20,7 @@
                               <table border="0" bgcolor="white" cellpadding="0" cellspacing="0" width="100%">
                                 <tr>
                                   <td class=element-text>
            -                        MBA 101

            .LRN Home with CSS-based layout

            A sample of the HTML code (full source)

            <div class="left">
            +                        MBA 101

            .LRN Home with CSS-based layout

            A sample of the HTML code (full source)

            <div class="left">
               <div class="portlet-wrap-shadow">
                 <div class="portlet-wrap-bl">
                   <div class="portlet-wrap-tr">
            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.17 -r1.18
            --- openacs-4/packages/acs-core-docs/www/tutorial-cvs.html	5 Jul 2004 14:24:59 -0000	1.17
            +++ openacs-4/packages/acs-core-docs/www/tutorial-cvs.html	16 Feb 2005 00:21:03 -0000	1.18
            @@ -1,4 +1,4 @@
            -Add the new package to CVS

            Add the new package to CVS

            Before you do any more work, make sure that your work is +Add the new package to CVS

            Add the new package to CVS

            Before you do any more work, make sure that your work is protected by putting it all into cvs. The cvs add command is not recursive, so you'll have to traverse the directory tree manually and add as you go. (More on @@ -58,4 +58,4 @@ initial revision: 1.1 done (many lines omitted) -[$OPENACS_SERVICE_NAME myfirstpackage]$

            Figure�10.1.�Upgrading a local CVS repository

            Upgrading a local CVS repository
            View comments on this page at openacs.org
            +[$OPENACS_SERVICE_NAME myfirstpackage]$

            Figure�10.1.�Upgrading a local CVS repository

            Upgrading a local CVS repository
            View comments on this page at openacs.org
            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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/tutorial-database.html 5 Jul 2004 14:24:59 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/tutorial-database.html 16 Feb 2005 00:21:03 -0000 1.35 @@ -1,7 +1,7 @@ -Setting Up Database Objects

            Setting Up Database Objects

            by Joel Aufrecht

            +Setting Up Database Objects

            Setting Up Database Objects

            by Joel Aufrecht

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

            Code the data model

            We create all database objects with scripts in the +

            Code the data model

            We create all database objects with scripts in the myfirstpackage/sql/ directory. All database scripts are database-specific and are thus in either the myfirstpackage/sql/oracle or @@ -31,13 +31,13 @@ repository functions to simplify our database creation. (More information about ACS Objects. More information about the Content Repository.) -

            Figure�9.2.�Tutorial Data Model

            Tutorial Data Model

            The top of each sql file has some +

            Figure�9.2.�Tutorial Data Model

            Tutorial Data Model

            The top of each sql file has some standard comments, including doc tags such as @author which will be picked up by the API browser. The string $Id$ will automatically be expanded when the file is checked in to cvs.

            [$OPENACS_SERVICE_NAME ~]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/sql/postgresql
            -[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-create.sql

            Paste the text below into the file, save, and close.

            Figure�9.3.�The Database Creation Script

            -- creation script
            +[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-create.sql

            Paste the text below into the file, save, and close.

            Figure�9.3.�The Database Creation Script

            -- creation script
             --
             -- @author joel@aufrecht.org
             -- @cvs-id &Id:$
            @@ -61,7 +61,7 @@
                 object.  Notice the use of "mfp."  This is derived from "My
                 First Package" and ensures that our object is unlikely to conflict
                 with objects from other packages.

            Create a database file to drop everything if the package is uninstalled.

            -[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-drop.sql

            Figure�9.4.�Database Deletion Script

            -- drop script
            +[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-drop.sql

            Figure�9.4.�Database Deletion Script

            -- drop script
             --
             -- @author joel@aufrecht.org
             -- @cvs-id &Id:$
            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.33 -r1.34
            --- openacs-4/packages/acs-core-docs/www/tutorial-debug.html	5 Jul 2004 14:24:59 -0000	1.33
            +++ openacs-4/packages/acs-core-docs/www/tutorial-debug.html	16 Feb 2005 00:21:03 -0000	1.34
            @@ -1,7 +1,7 @@
            -Debugging and Automated Testing

            Debugging and Automated Testing

            by Joel Aufrecht

            +Debugging and Automated Testing

            Debugging and Automated Testing

            by Joel Aufrecht

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

            Debugging

            Developer Support.�The Developer Support package adds several goodies: debug +

            Debugging

            Developer Support.�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 @@ -22,16 +22,16 @@ ?�searches�backward�
            /�searches�forward.�
            ����������

            -

            Manual testing

            Make a list of basic tests to make sure it works

            Test NumActionExpected Result
            001Browse to the index page while not logged in and +

            Manual testing

            Make a list of basic tests to make sure it works

            Test NumActionExpected Result
            001Browse to the index page while not logged in and while one or more notes exist.No edit or delete or add links should appear.
            002Browse to the index page while logged in. An Edit link should appear. Click on it. Fill out the form and click Submit.The text added in the form should be visible on the index page.
            API-001Invoke mfp::note::create with a specific word as the title.Proc should return an object id.
            API-002Given an object id from API-001, invoke mfp::note::get.Proc should return the specific word in the title.
            API-003Given the object id from API-001, invoke mfp::note::delete.Proc should return 0 for success.

            Other things to test: try to delete someone else's note. Try to delete your own note. Edit your own note. - Search for a note.

            Write automated tests

            by Simon Carstensen and Joel Aufrecht

            + Search for a note.

            Write automated tests

            by Simon Carstensen and Joel Aufrecht

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

            +

            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.

            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:

            [$OPENACS_SERVICE_NAME www]$ mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/test
             [$OPENACS_SERVICE_NAME www]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/test
            @@ -67,7 +67,7 @@
             goes inside -test_code {}.  We want to implement test case API-001, "Given an object id from API-001, invoke mfp::note::get.  Proc should return the specific word in the title."

                   set name [ad_generate_random_string]
                   set new_id [mfp::note::add -title $name]
            -      aa_true "Note add succeeded" [exists_and_not_null new_id]

            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 APM 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 -procs 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 -cats flag, setting categories, makes it easier to control which tests to run. The smoke test setting means that this is a basic test case that can and should be run any time you are doing any test. (a definition of "smoke test")

            Once the file is loaded, go to ACS Automated Testing and click on myfirstpackage. You should see your test case. Run it and examine the results.

            TCLWebtest tests

            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 installed for this test to work. This provides a library of functions 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.

            Example

            Now we can add the rest of the API tests, including a test with deliberately bad data. The complete test looks like:

            ad_library {
            +      aa_true "Note add succeeded" [exists_and_not_null new_id]

            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 APM 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 -procs 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 -cats flag, setting categories, makes it easier to control which tests to run. The smoke test setting means that this is a basic test case that can and should be run any time you are doing any test. (a definition of "smoke test")

            Once the file is loaded, go to ACS Automated Testing and click on myfirstpackage. You should see your test case. Run it and examine the results.

            TCLWebtest tests

            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 installed for this test to work. This provides a library of functions 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.

            Example

            Now we can add the rest of the API tests, including a test with deliberately bad data. The complete test looks like:

            ad_library {
                 Test cases for my first package.
             }
             
            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.17 -r1.18
            --- openacs-4/packages/acs-core-docs/www/tutorial-distribute.html	5 Jul 2004 14:24:59 -0000	1.17
            +++ openacs-4/packages/acs-core-docs/www/tutorial-distribute.html	16 Feb 2005 00:21:03 -0000	1.18
            @@ -1,10 +1,10 @@
            -Prepare the package for distribution.

            Prepare the package for distribution.

            Browse to the package manager. Click on +Prepare the package for distribution.

            Prepare the package for distribution.

            Browse to the package manager. Click on tutorialapp.

            Click on Generate a distribution file for this package from the filesystem.

            Click on the file size (37.1KB) after the label Distribution File: and save the file to - /tmp.

            -

            View comments on this page at openacs.org
            + /var/tmp.

            +

            Package development guidelines

            View comments on this page at openacs.org
            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 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.html 16 Feb 2005 00:21:03 -0000 1.1 @@ -0,0 +1,16 @@ +OpenACS Edit This Page Templates

            OpenACS Edit This Page Templates

            by Nick Carroll

            + OpenACS docs are written by the named authors, and may be edited + by OpenACS documentation staff. +

            Goals

            • Learn about the OpenACS templating system.

            • Learn about subsites and site-map administration.

            Introduction

            + The OpenACS templating system allows you to give your site a consistent look and feel. It also promotes code maintainability in the presentation layer, by allowing presentation components to be reused across multiple pages. If you need to change the layout for some reason, then you only need to make that change in one location, instead of across many files. +

            + In this problem set you will familiarise yourself with the templating system in openacs. This will be achieved through customising an existing edit-this-page application template. +

            + Before proceeding, it is strongly advised to read the templating documentation on your openacs installation (http://localhost:8000/doc/acs-templating). The documentation lists the special tags available for ADP files. +

            Exercise 1: Create a Subsite

            • Create a subsite called pset3.

            • A subsite is simply a directory or subdirectory mounted at the end of your domain name. This can be done in one of two places:

              • http://localhost:8000/admin/site-map

              • or the subsite admin form on the main site, which is available when you login to your OpenACS installation.

            Exercise 2: Checkout and Install edit-this-page (ETP)

            • Checkout ETP from CVS:

              cd ~/openacs/packages
              +            cvs -d:pserver:anonymous@openacs.org:/cvsroot login
              +            cvs -d:pserver:anonymous@openacs.org:/cvsroot co edit-this-page
            • Go to the package manager at http://yoursite/acs-admin/apm. And install the new package: edit-this-page.

            • Or use the "Add Application" form available on the Main site.

            Change ETP Application

            • Work out how to change the ETP application.

            • Investigate each of the available ETP templates:

              • Default
              • News
              • FAQ

            Exercise 4: Create a New ETP Template

            • Browse the files for each of the above ETP templates at:

              cd ~/openacs/packages/edit-this-page/templates
            • Use the article template as the basis of our new col2 template.

              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
            • The template should provide us with the following ETP layout:

              Header
              SidebarMain Content Pane
            • The "Main Content" pane should contain the editable content that ETP provides.

            • The "Header" should display the title of the page that you set in ETP.

            • The "Sidebar" should display the extlinks that you add as a content item in ETP.

            Exercise 5: Register the col2 Template with ETP

            • Need to register your template with ETP so that it appears in the drop-down menu that you would have seen in Exercise 3.

              cd ~/openacs/packages/edit-this-page/tcl
              +            emacs etp-custom-init.tcl
            • Use the function etp::define_application to register your template with ETP

              • Uncomment the "asc" definition
              • Set allow_extlinks to true, the rest should be false.
            • Restart your server for the changes to take effect.

            Exercise 6: Configure ETP to use the col2 Template

            • Configure your ETP instance at /lab4/index to use the col2 template.

            • Create external links to link to other mounted ETP instances.

            • Check that your external links show up in the sidebar when you view your ETP application using the col2 template.

            Who Wrote This and When

            This problem set was originally written by Nick Carroll in August 2004 for the University of Sydney Course EBUS5002.

            This material is copyright 2004 by Nick Carroll. It may be copied, reused, and modified, provided credit is given to the original author.

            ($Id: tutorial-etp-templates.html,v 1.1 2005/02/16 00:21:03 jeffd Exp $)
            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/tutorial-future-topics.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-future-topics.html,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/tutorial-future-topics.html 29 Jun 2004 15:50:16 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/tutorial-future-topics.html 16 Feb 2005 00:21:03 -0000 1.9 @@ -1,6 +1,6 @@ -Future Topics

            Future Topics

            • How to enforce security so that users can't +Future Topics

              Future Topics

              • How to enforce security so that users can't change other users records

              • How to use the content management tables so that ... what?

              • How to change the default stylesheets for Form Builder HTML forms.

              • How to make your package searchable with OpenFTS/Oracle

              • How to prepare pagelets for inclusion in other pages

              • How and when to put procedures in a tcl procedure library

              • More on ad_form - data validation, other stuff. (plan to draw from Jon Griffin's doc)

              • partialquery in xql

              • How to use the html/text entry widget to get the - "does this look right" confirm page

              • APM package dependencies

              See also the OpenACS Programming FAQ

              View comments on this page at openacs.org
              + "does this look right" confirm page

            • APM package dependencies

            See also the OpenACS Programming FAQ

            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/tutorial-hierarchical.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-hierarchical.html,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/tutorial-hierarchical.html 24 Jun 2004 09:42:26 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/tutorial-hierarchical.html 16 Feb 2005 00:21:03 -0000 1.3 @@ -1,4 +1,4 @@ -Hierarchical data

            Hierarchical data

            by Jade Rubick +Hierarchical data

            Hierarchical data

            by Jade Rubick with help from many people in the OpenACS community

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. @@ -39,7 +39,7 @@ some_table parent, some_table children WHERE - children.tree_sorktey between parent.tree_sortkey and tree_right(parent.tree_sortkey) + children.tree_sortkey between parent.tree_sortkey and tree_right(parent.tree_sortkey) and parent.tree_sortkey <> children.tree_sortkey and parent.key = :the_parent_key;

            The reason we substract the parent's tree_level from the @@ -52,11 +52,11 @@ and subtracting the parent's tree_level is the preferred method.

            This example does not include the parent. To return the entire subtree including the parent, leave out the non-equals clause:

                   SELECT
                   subtree.*,
            -      tree_level(children.tree_sortkey) -
            +      tree_level(subtree.tree_sortkey) -
                     tree_level(parent.tree_sortkey) as level
                   FROM some_table parent, some_table subtree
                   WHERE 
            -      subtree.tree_sorktey between parent.tree_sortkey and tree_right(parent.tree_sortkey)
            +      subtree.tree_sortkey between parent.tree_sortkey and tree_right(parent.tree_sortkey)
                   and parent.key = :the_parent_key;
                 

            If you are using the Content Repository, you get a similar facility, but the parent_id Index: openacs-4/packages/acs-core-docs/www/tutorial-html-email.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-html-email.html,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/tutorial-html-email.html 5 Jul 2004 14:24:59 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/tutorial-html-email.html 16 Feb 2005 00:21:03 -0000 1.3 @@ -1,4 +1,4 @@ -Sending HTML email from your application

            Sending HTML email from your application

            by Jade Rubick

            +Sending HTML email from your application

            Sending HTML email from your application

            by Jade Rubick

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

            Sending email is fairly simple using the acs-mail-lite 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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 5 Jul 2004 14:24:59 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 16 Feb 2005 00:21:03 -0000 1.35 @@ -1,7 +1,7 @@ -Creating an Application Package

            Creating an Application Package

            by Joel Aufrecht

            +Creating an Application Package

            Creating an Application Package

            by Joel Aufrecht

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

            The intended page map

            Overview

            To start developing new code in OpenACS, we build a new package. A package +

            The intended page map

            Overview

            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. A package with user interface is called an application; a package which provides functions to other packages and has no direct interface, a @@ -17,11 +17,11 @@ right now. Code that is temporary hackage is clearly marked.

            In this tutorial, we will make an application package for displaying a list of text notes. -

            Before you begin

            You will need:

            • A computer with a working installation of +

            Before you begin

            You will need:

            • A computer with a working installation of OpenACS. If you don't have this, see Chapter�2, Installation Overview.

            • Example files, which are included in the standard OpenACS 5.2.0d1 distribution. -

            Figure�9.1.�Assumptions in this section

            Fully qualified domain name of your serveryourserver.test
            URL of your serverhttp://yourserver.test:8000
            Name of development account$OPENACS_SERVICE_NAME
            New Package keymyfirstpackage

            Use the APM to initialize a new package

            We use the ACS Package Manager (APM) to add, remove, and +

            Figure�9.1.�Assumptions in this section

            Fully qualified domain name of your serveryourserver.test
            URL of your serverhttp://yourserver.test:8000
            Name of development account$OPENACS_SERVICE_NAME
            New Package keymyfirstpackage

            Use the APM to initialize a new package

            We use the ACS Package Manager (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 package key. To start developing a new @@ -53,7 +53,8 @@

            This creates a package rooted at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage. This is the "home directory" of our new package, and all - files in the package will be within this directory.

            Add an Application Instance to the Server

            In order to see your work in progress, you must create a + files in the package will be within this directory. More on the structure of + packages).

            Add an Application Instance to the Server

            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 main site administration). This creates a link between the incoming URL requests and an @@ -64,7 +65,7 @@ in this tutorial.

            1. Browse to http://yourserver.test:8000/admin/applications/application-add/.

            2. Choose "My First Package" from the list and click OK (the other fields are optional).

            By mounting the package, we've caused all requests to http://yourserver.test:8000/my-first-package - to be satisfied from the files at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www.

            Quick start

            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:

            cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial
            +      to be satisfied from the files at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www.

            Quick start

            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:

            cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial
             psql $OPENACS_SERVICE_NAME -f myfirstpackage-create.sql
             cp note-edit.* note-delete.tcl index.* ../../../../myfirstpackage/www/
             mkdir ../../../../myfirstpackage/lib
            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.7 -r1.8
            --- openacs-4/packages/acs-core-docs/www/tutorial-notifications.html	22 Jun 2004 12:54:10 -0000	1.7
            +++ openacs-4/packages/acs-core-docs/www/tutorial-notifications.html	16 Feb 2005 00:21:03 -0000	1.8
            @@ -1,4 +1,4 @@
            -Notifications

            Notifications

            by David Bell and Simon Carstensen

            +Notifications

            Notifications

            by David Bell and Simon Carstensen

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

            The notifications package allows you to send notifications through any @@ -201,4 +201,4 @@ parameter is what appears at the end of the text returned (i.e. "... request notification</a> for pretty_name"), The url parameter should be set to the address we want the user to be redirected to after they have finished the subscription process.

            This should be all you need to implement a notification system. For more examples - look at the forums package.

            View comments on this page at openacs.org
            + look at the forums package.

            View comments on this page at openacs.org
            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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 5 Jul 2004 14:24:59 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 16 Feb 2005 00:21:03 -0000 1.35 @@ -1,8 +1,8 @@ -Creating Web Pages

            Creating Web Pages

            by Joel Aufrecht

            +Creating Web Pages

            Creating Web Pages

            by Joel Aufrecht

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

            Install some API

            As a workaround for missing content-repository functionality, copy a provided file into the directory for tcl files:

            -    cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/note-procs.tcl /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/

            To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".

            Page Map

            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 seperate file and include it on the index page.

            Figure�9.5.�Page Map

            Page Map

            Build the "Index" page

            Each user-visible page in your package has, typically, +

            Install some API

            As a workaround for missing content-repository functionality, copy a provided file into the directory for tcl files:

            +    cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/note-procs.tcl /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/

            To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".

            Page Map

            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 seperate file and include it on the index page.

            Figure�9.5.�Page Map

            Page Map

            Build the "Index" page

            Each user-visible page in your package has, typically, three parts. The tcl file holds the procedural logic for the page, including TCL and database-independent SQL code, and does things like Index: openacs-4/packages/acs-core-docs/www/tutorial-parameters.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-parameters.html,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-core-docs/www/tutorial-parameters.html 16 Feb 2005 00:21:03 -0000 1.1 @@ -0,0 +1,7 @@ +Adding in parameters for your package

            Adding in parameters for your package

            Each instance of a package can have paramaters associated + with it. These are like preferences, and they can be set by the + administrator for each application to change the behavior of your + application.

            To add parameters for your package, go to the Automatic + Package Manager (/acs-admin/apm)

            Click on your package

            Under the Manage section, click on Parameters

            It's fairly self-explanatory at this point. Create the + parameters you want, and then access them in your code using the + parameter::get procedure.

            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/tutorial-schedule-procs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-schedule-procs.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/tutorial-schedule-procs.html 29 Jun 2004 15:50:16 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/tutorial-schedule-procs.html 16 Feb 2005 00:21:03 -0000 1.2 @@ -1,6 +1,6 @@ -Scheduled Procedures

            Scheduled Procedures

            Put this proc in a file /packages/myfirstpackage/tcl/scheduled-init.tcl. Files in /tcl with the -init.tcl ending are sourced on server startup. This one executes my_proc every 60 seconds:

            ad_schedule_proc 60 myfirstpackage::my_proc
            +Scheduled Procedures

            Scheduled Procedures

            Put this proc in a file /packages/myfirstpackage/tcl/scheduled-init.tcl. Files in /tcl with the -init.tcl ending are sourced on server startup. This one executes my_proc every 60 seconds:

            ad_schedule_proc 60 myfirstpackage::my_proc
             

            This executes once a day, at midnight:

            ad_schedule_proc \
                 -schedule_proc ns_schedule_daily \
                 [list 0 0] \
                 myfirstpackage::my_proc
            -

            See ad_schedule_proc for more information.

            View comments on this page at openacs.org
            +

            See ad_schedule_proc for more information.

            View comments on this page at openacs.org
            Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/tutorial-second-database.html'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-core-docs/www/tutorial-specs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-specs.html,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/tutorial-specs.html 22 Jun 2004 12:54:10 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/tutorial-specs.html 16 Feb 2005 00:21:03 -0000 1.6 @@ -1,6 +1,6 @@ -Write the Requirements and Design Specs

            Write the Requirements and Design Specs

            Before you get started you should make yourself familiar with +Write the Requirements and Design Specs

            Write the Requirements and Design Specs

            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 OpenACS Documentation Guide.

            It's time to document. For the tutorial we'll use + editing SGML files in emacs, see the section called “OpenACS Documentation Guide”.

            It's time to document. For the tutorial we'll use pre-written documentation. When creating a package from scratch, start by copying the documentation template from /var/lib/aolserver/openacs-dev/packages/acs-core-docs/xml/docs/xml/package-documentation-template.xml Index: openacs-4/packages/acs-core-docs/www/tutorial-upgrade-scripts.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-upgrade-scripts.html,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-core-docs/www/tutorial-upgrade-scripts.html 16 Feb 2005 00:21:03 -0000 1.1 @@ -0,0 +1,17 @@ +Writing upgrade scripts

            Writing upgrade scripts

            by Jade Rubick

            + OpenACS docs are written by the named authors, and may be edited + by OpenACS documentation staff. +

            If your package changes its data model, you have to write an + upgrade script. This is very easy in OpenACS.

            First, you want to make sure you change the original .sql + file so that new installation will have the new data model.

            Next, check what version your package is currently at. For + example, it may be at version 1.0b1. Create a file in + sql/postgres/upgrade called packagename-1.0b1-1.0b2.sql and put + the SQL code that will update the data model. For example, if you + add in a column, you would have an alter table add column + statement in this file. Test this out very well, because data + model changes are more serious and fundamental changes than the + program .tcl files.

            Now use the APM to create a new package version + 1.0b2. Commit all your changes, tag the release + (<xlink></xlink>), + and both new installations and upgrades + will be taken care of.

            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/tutorial-upgrades.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-upgrades.html,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-core-docs/www/tutorial-upgrades.html 16 Feb 2005 00:21:03 -0000 1.1 @@ -0,0 +1,16 @@ +Distributing upgrades of your package

            Distributing upgrades of your package

            by Jade Rubick

            + OpenACS docs are written by the named authors, and may be edited + by OpenACS documentation staff. +

            The OpenACS Package Repository builds a list of packages + that can be installed on OpenACS installations, and can be used by + administrators to update their packages. If you are a package + developer, there are a couple of steps you need to take in order + to release a new version of your package.

            For the sake of this example, let's assume you are the + package owner of the notes + package. It is currently at version 1.5, and you are planning on + releasing version 1.6. It is also located in OpenACS's CVS.

            To release your package:

            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
            +

            Of course, make sure you write upgrade scripts + (the section called “Writing upgrade scripts”)

            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/tutorial-vuh.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-vuh.html,v diff -u -r1.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/tutorial-vuh.html 24 Jun 2004 10:44:40 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/tutorial-vuh.html 16 Feb 2005 00:21:03 -0000 1.10 @@ -1,4 +1,4 @@ -Using .vuh files for pretty urls

            Using .vuh files for pretty urls

            .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 notes. Instead of note-edit?item_id=495, we can use note/495. To do this, we will need a new .vuh file for redirection and we will need to change the referring links in note-list. First, add the vuh:

            [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www
            +Using .vuh files for pretty urls

            Using .vuh files for pretty urls

            .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 notes. Instead of note-edit?item_id=495, we can use note/495. To do this, we will need a new .vuh file for redirection and we will need to change the referring links in note-list. First, add the vuh:

            [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www
             [$OPENACS_SERVICE_NAME www]$ emacs note.vuh
             

            Paste this into the file:

            # Transform requests of type: a/b
             # into this internal request: A?c=b
            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
            --- /dev/null	1 Jan 1970 00:00:00 -0000
            +++ openacs-4/packages/acs-core-docs/www/tutorial-wysiwyg-editor.html	16 Feb 2005 00:21:03 -0000	1.1
            @@ -0,0 +1,99 @@
            +Enabling WYSIWYG

            Enabling WYSIWYG

            by Nima Mazloumi

            + OpenACS docs are written by the named authors, and may be edited + by OpenACS documentation staff. +

            Most of the forms in OpenACS are created using the form builder, see the section called “Using HTML Forms”. For detailed information on the + API take a look here.

            The following section shows how you can modify your form to allow WYSIWYG functionalities.

            Convert your page to use ad_form (some changes but worth it)

            Here an examples. From:

            +	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 {<a>Anchor</a>}
            +	

            To:

            +	ad_form -name my_form -form {
            +		my_form_id:key(acs_object_id_seq)
            + 		{my_input_field_1:text,optional
            +               {label "Label 1"}
            +               {html {size 30}}}
            +      	{my_input_field_2:text
            +               {label "Label 2"}
            +               {help_text "Some Help"}
            +	       	   {after_html
            +               {<a>Anchor</a>}}}
            +	} ...
            +	

            Warning

            You must not give your your form the same name that your page has. Otherwise HTMLArea won't load.

            Convert your textarea widget to a richtext widget and enable htmlarea.

            The htmlarea_p-flag can be used to prevent + WYSIWYG functionality. Defaults to true if left away.

            From:

            +	{my_input_field_2:text
            +	

            To:

            +	{my_input_field_2:richtext(richtext)
            +			{htmlarea_p "t"}
            +	

            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 cr_mime_types table.

            Make sure that both values are passed as a list to your + ad_form or you will have problems + displaying the content or handling the data manipulation correctly.

            Depending on the data model of your package you either support a content format + or don't. If you don't you can assume "text/html" or + "text/richtext" or "text/enhanced".

            The relevant parts in your ad_form definition are the + switches -new_data, -edit_data, + -on_request and -on_submit.

            To allow your data to display correctly you need to add an -on_request block. + If you have the format stored in the database pass this as well else use "text/html":

            +	set my_input_field_2 [template::util::richtext::create $my_input_field_2 "text/html"]
            +	

            Now make sure that your SQL queries that do the data manipulation retrieve the correct value. + If you simply use my_input_field_2 you will store a list. + Thus you need to add an -on_submit block:

            +	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
            +	

            Now the correct values for my_input_field_2 and + format are passed to the -new_data and + -edit_data blocks which don't need to get touched.

            To make HTMLArea optional per package intance define a string parameter + "UseWysiwygP" which defaults "0" for your + package using the APM.

            In your edit page make the following changes

            +	# Is WYSIWYG enabled?
            +	set use_wysiwyg_p [parameter::get -parameter "UseWysiwygP" -default "f"]
            +	
            +	...
            +	
            +	{htmlarea_p $use_wysiwyg_p}
            +	

            The -on_request switch should set this value for your form.

            +	set htmlarea_p $use_wysiwyg_p
            +	

            All you need now is a configuration page where the user can change this setting

            . Create a + configure.tcl file: +
            +	ad_page_contract {
            +
            +    	This page allows a faq admin to change the UseWysiwygP setting
            +
            +	} {
            +    	{return_url ""}
            +	}
            +
            +	set title "Should we support WYSIWYG?"
            +	set context [list $title]
            +
            +	set use_wysiwyg_p
            +
            +	ad_form -name categories_mode -form {
            +    	{enabled_p:text(radio)
            +        	{label "Enable WYSIWYG"}
            +        	{options {{Yes t} {No f}}}
            +        	{value $use_wysiwyg_p}
            +    	}
            +    	{return_url:text(hidden) {value $return_url}}
            +    	{submit:text(submit) {label "Change"}}
            +	} -on_submit {
            +    	parameter::set_value  -parameter "UseWysiwygP" -value $enabled_p
            +    	if {![empty_string_p $return_url]} {
            +        	ns_returnredirect $return_url
            +    	}
            +	}
            +	

            In the corresponding ADP file write

            +	<master>
            +	<property name="title">@title@</property>
            +	<property name="context">@context@</property>
            +
            +	<formtemplate id="categories_mode"></formtemplate>
            +	

            And finally reference this page from your admin page

            +	#TCL:
            +	set return_url [ad_conn url]
            +
            +	#ADP:
            +	<a href=configure?<%=[export_url_vars return_url]%>>Configure</a>
            +	
            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/tutorial.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial.html,v diff -u -r1.15 -r1.16 --- openacs-4/packages/acs-core-docs/www/tutorial.html 22 Jun 2004 12:54:10 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/tutorial.html 16 Feb 2005 00:21:03 -0000 1.16 @@ -1 +1 @@ -Chapter�9.�Development Tutorial
            View comments on this page at openacs.org
            +Chapter�9.�Development Tutorial
            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/unix-installation.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/unix-installation.html,v diff -u -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/unix-installation.html 29 Jun 2004 15:50:16 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/unix-installation.html 16 Feb 2005 00:21:03 -0000 1.25 @@ -1,6 +1,7 @@ -Install a Unix-like system and supporting software

            Install a Unix-like system and supporting software

            by Joel Aufrecht

            +Install a Unix-like system and supporting software

            Install a Unix-like system and supporting software

            by Joel Aufrecht

            OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

            a Unix-like system

            You will need a computer running a unix-like system with the following software installed:

            and optionally these programs, which are included in most distributions:

            In order to cut and paste the example code into your shell, you must first do Setting a global shell variable for cut and paste.

            To install a machine to the specifications of the Reference Platform, do the +

            a Unix-like system

            You will need a computer running a unix-like system with the following software installed:

            • tdom

            • tcl --if you plan to use the OpenACS installation script

            • gmake and the compile and build environment.

              BSD Note

              BSD users: in most places in these instructions, gmake will work better than make. (more + information on FreeBSD installation). Also, fetch is a native replacement for wget.

            Note: Instructions for installing tDOM and threaded tcl are included with the AOLserver4 installation instructions, + if these are not yet installed.

            The following programs may be useful or required for some configurations. They are included in most distributions:

            In order to cut and paste the example code into your shell, you must first do Setting a global shell variable for cut and paste.

            To install a machine to the specifications of the Reference Platform, do the walkthrough of the Red Hat 8.0 Install for OpenACS.

            ($Id$)
            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/update-repository.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/update-repository.html,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/update-repository.html 22 Jun 2004 12:54:10 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/update-repository.html 16 Feb 2005 00:21:03 -0000 1.9 @@ -1,25 +1,25 @@ -How to Update the OpenACS.org repository

            How to Update the OpenACS.org repository

            1. +How to Update the OpenACS.org repository

              How to Update the OpenACS.org repository

              1. Setup a local OpenACS server running 5.0 or better.

              2. - Edit packages/acs-admin/www/apm/build-repository.tcl and adjust the Configuration Settings.

              3. + Edit packages/acs-admin/www/apm/build-repository.tcl and adjust the Configuration Settings.

              4. Request /acs-admin/apm/build-repository on your new server.

                1. - The page will find all branches in the cvs repository labeled oacs-x-y, and build a repository channel for each of - those branches where x>=5 (so not for 4.6 and earlier). It will also build a channel for HEAD, - which will be named after what you set in 'head_channel' above. -

                2. - For each channel, it'll do an anonymous checkout of packges and contrib/packages, then build .apm files for each package in the checkout. -

                3. - The files will be stored on the server's hard drive in the directory specified by the 'repository_dir' variable in the page script, by default "[acs_root_dir]/www/repository/". -

              5. + The page will find all branches in the cvs repository labeled oacs-x-y, and build a repository channel for each of + those branches where x>=5 (so not for 4.6 and earlier). It will also build a channel for HEAD, + which will be named after what you set in 'head_channel' above. +

              6. + For each channel, it'll do an anonymous checkout of packges and contrib/packages, then build .apm files for each package in the checkout. +

              7. + The files will be stored on the server's hard drive in the directory specified by the 'repository_dir' variable in the page script, by default "[acs_root_dir]/www/repository/". +

            2. If you're on openacs.org, everything should now be fine. Otherwise, you need to move the entire directory tree to openacs.org:/web/openacs/www/repository, replacing what was already there.

              This is automated on OpenACS.org by having a dedicated site just 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.

              #!/bin/sh
               #set -x
               
               STATUS=`wget --output-document - http://127.0.0.1:8002/build-repository.tcl | grep DONE | wc -l`
               
               if [ $STATUS -eq "1" ]
              -    then
              +then
                   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
              Index: openacs-4/packages/acs-core-docs/www/update-translations.html
              ===================================================================
              RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/update-translations.html,v
              diff -u -r1.7 -r1.8
              --- openacs-4/packages/acs-core-docs/www/update-translations.html	22 Jun 2004 12:54:10 -0000	1.7
              +++ openacs-4/packages/acs-core-docs/www/update-translations.html	16 Feb 2005 00:21:03 -0000	1.8
              @@ -1,5 +1,18 @@
              -How to Update the translations

              How to Update the translations

              1. - Update the translation server. (Approach 1: upgrade to the last release; approach 2: upgrade to head or to an alpha or beta release.) Use CVS up. -

                This approach puts the translation server at risk. An alternate approach would be to create a whole new checkout on the appropriate branch (such as oacs-5-0), point that at the live production database, import keys (which is safe because keys on the translation server take precedence), then export keys back, and then commit. This gets the keys committed to the right branch without changing the code running on the production site. Updating the production site can then be a seperate exercise.
              2. Go to ACS Lang admin page and click "Import All Messages"

              3. Resolve conflicts, if any, on the provided page. -

              4. Back on the admin page, click the export link. If there are conflicts, the messages will be exported anyway and any errors will be shown in the web interface.

              5. From the packages dir, run the acs-lang/bin/check-catalog.sh script. (This checks for keys no longer in use and some other things. Until it is rolled into the UI, do it manually and check the results and take whatever steps you can intuit you should do.) -

              6. CVS commit the catalog files. Done

              View comments on this page at openacs.org
              +How to Update the translations

              How to Update the translations

              1. Identify any new locales that have been created. + For each new locale, check the parameters, especially that + the locale is in the format [two-letter code for + language, lower-case]_[TWO-LETTER CODE FOR COUNTRY, + UPPER-CASE], and create a sql command. A + example sql command for creating a locale is:

                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');

                Put this command into the following four files. For the + upgrade files, the correct file name will depend on the + exact version.

                • /packages/acs-lang/sql/postgresql/ad-locales.sql

                • /packages/acs-lang/sql/postgresql/upgrade/upgrade-current-version.sql

                • /packages/acs-lang/sql/oracle/ad-locales.sql

                • /packages/acs-lang/sql/oracle/upgrade/upgrade-current-version.sql

              2. Make a backup of the production database. Restore it as a new database. For example, if upgrading from OpenACS 5.1.1, and the site name/database name is translate-511, create translate-512b1.

              3. Check out the latest code on the release branch (e.g., oacs-5-1) as a new site, using the new site name (e.g., /var/lib/aolserver/translate-512b1. Copy over any local settings - usually, /etc/config.tcl and /etc/daemontools/run and modify appropriately. Also, copy over several translation-server-only files: +

                ...TBD
                +          

                +

              4. Shut down the production site and put up a notice (no procedure on how to do this yet.)

              5. Start the new site, and upgrade it.

              6. Go to ACS Lang admin page and click "Import All Messages"

              7. Resolve conflicts, if any, on the provided page. +

              8. Back on the admin page, click the export link. If there are conflicts, the messages will be exported anyway and any errors will be shown in the web interface.

              9. Commit the message catalogs to cvs.

              10. From the packages dir, run the acs-lang/bin/check-catalog.sh script. (This checks for keys no longer in use and some other things. Until it is rolled into the UI, do it manually and check the results and take whatever steps you can intuit you should do.) +

              11. CVS commit the catalog files. Done

              12. If everything went well, reconfigure the new site to take over the role of the old site (/etc/config.tcl and /etc/daemontools/run). Otherwise, bring the old site back up while investigating problems, and then repeat. +

              View comments on this page at openacs.org
              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.17 -r1.18 --- openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html 5 Jul 2004 14:24:59 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html 16 Feb 2005 00:21:03 -0000 1.18 @@ -1,4 +1,4 @@ -Upgrading 4.5 or higher to 4.6.3

              Upgrading 4.5 or higher to 4.6.3

              The required platform for OpenACS 4.6 is the same as +Upgrading 4.5 or higher to 4.6.3

              Upgrading 4.5 or higher to 4.6.3

              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.

              If upgrading from 4.2, you need to manually run acs-kernel/sql/postgres/upgrade-4.2-4.5.sql. See Bug #632

              1. Make a Backup.�Back up the database and file system (see the section called “Manual backup and recovery”).

              2. OPTIONAL: Upgrade OpenFTS.�the section called “Upgrading OpenFTS from 0.2 to 0.3.2”

              3. Stop the server

                [root root]# svc -d /service/$OPENACS_SERVICE_NAME
              4. Upgrade the file system.�the section called “Upgrading the OpenACS files”

              5. Index: openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.html,v diff -u -r1.7 -r1.8 --- openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.html 5 Jul 2004 14:24:59 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.html 16 Feb 2005 00:21:03 -0000 1.8 @@ -1,4 +1,8 @@ -Upgrading OpenACS 4.6.3 to 5.0

                Upgrading OpenACS 4.6.3 to 5.0

                View comments on this page at openacs.org
                Index: openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.html,v diff -u -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.html 5 Jul 2004 14:24:59 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.html 16 Feb 2005 00:21:03 -0000 1.9 @@ -1 +1 @@ -Upgrading 5.0.0 to 5.0.x or 5.1.x

                Upgrading 5.0.0 to 5.0.x or 5.1.x

                • Upgrading a stock site.�If you have no custom code, and your site is not in a CVS repository, upgrade with these steps:

                  1. Go to /acs-admin/install/ and click "Upgrade Your System" in "Install from OpenACS Repository"

                  2. Select all of the packages you want to upgrade and proceed

                  3. After upgrade is complete, restart the server as indicated.

                  4. If you are using locales other than en_US, go to acs-lang/admin and "Import all Messages" to load the new translated messages. Your local translations, if any, will take precedence over imported translations.

                • Upgrading a Custom or CVS site.�If you have custom code, and your site is in a CVS repository, upgrade with these steps:

                  1. Upgrade the file system for all packages in use.�the section called “Upgrading the OpenACS files”

                  2. Go to /acs-admin/install/ and click "Upgrade Your System" in "Install from local file system"

                  3. Select all of the packages you want to upgrade and proceed

                  4. After upgrade is complete, restart the server as indicated.

                  5. If you are using locales other than en_US, go to acs-lang/admin and "Import all Messages" to load the new translated messages. Your local translations, if any, will take precedence over imported translations.

                View comments on this page at openacs.org
                +Upgrading an OpenACS 5.0.0 or greater installation

                Upgrading an OpenACS 5.0.0 or greater installation

                • Upgrading a stock site.�If you have no custom code, and your site is not in a CVS repository, upgrade with these steps:

                  1. Go to /acs-admin/install/ and click "Upgrade Your System" in "Install from OpenACS Repository"

                  2. Select all of the packages you want to upgrade and proceed

                  3. After upgrade is complete, restart the server as indicated.

                  4. If you are using locales other than en_US, go to acs-lang/admin and "Import all Messages" to load the new translated messages. Your local translations, if any, will take precedence over imported translations.

                • Upgrading a Custom or CVS site.�If you have custom code, and your site is in a CVS repository, upgrade with these steps:

                  1. Upgrade the file system for all packages in use.�the section called “Upgrading the OpenACS files”

                  2. Go to /acs-admin/install/ and click "Upgrade Your System" in "Install from local file system"

                  3. Select all of the packages you want to upgrade and proceed

                  4. After upgrade is complete, restart the server as indicated.

                  5. If you are using locales other than en_US, go to acs-lang/admin and "Import all Messages" to load the new translated messages. Your local translations, if any, will take precedence over imported translations.

                View comments on this page at openacs.org
                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.17 -r1.18 --- openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html 5 Jul 2004 14:24:59 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html 16 Feb 2005 00:21:03 -0000 1.18 @@ -1,50 +1,101 @@ -Upgrading the OpenACS files

                Upgrading the OpenACS files

                OpenACS is distributed as a collection of files, available as one big tarball, via CVS, and via automatic download from within the APM. Upgrades work by first changing the file system (via any of the previous methods), and then using the APM to scan the file system, find upgrade scripts, and execute them. This section describes how to upgrade the file system. Starting with OpenACS 5.0, this section can generally be skipped because the OpenACS APM can directly download new files from the openacs.org repository.

                Many OpenACS site developers operate their own CVS repository to keep track of changes from the release OpenACS code. This part describes how to import the latest OpenACS version into your own repository. If you are using CVS, you will unpack the OpenACS 5.1 tarball into a working directory and then import that directory into cvs. If you have changed files in the core packages, cvs will attempt to merge your changes. You may have to manually merge some conflicts. When that's finished, you can update your normal development checkout directory and the new files will appear. If you aren't using CVS, you can unpack the tarball on top of your existing tree, but any customizations you've made to the kernel or core packages will be erased.

                • Upgrading files for a site which is not in a CVS repository.�Unpack the tarball into a new directory and copy its contents on top of your working directory.

                  [root root]# su - $OPENACS_SERVICE_NAME
                  +Upgrading the OpenACS files

                  Upgrading the OpenACS files

                  Chosing a Method to Upgrade your Files

                  OpenACS is distributed in many different ways: +

                  • as a collection of files
                  • as one big tarball
                  • via CVS
                  • via automatic download from within the APM + (package manager)

                  +

                  Upgrades work by first changing the file system (via any + of the previous methods), and then using the APM to scan the + file system, find upgrade scripts, and execute them. Starting + with OpenACS 5.0, the last method was added, which + automatically changes the file 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: + the section called “Upgrading an OpenACS 5.0.0 or greater installation” +

                  Methods of upgrading OpenACS files

                  • Upgrading files for a site which is not in a CVS repository.�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.

                    [root root]# su - $OPENACS_SERVICE_NAME
                     [$OPENACS_SERVICE_NAME aolserver]$ cd /var/lib/aolserver
                    -[$OPENACS_SERVICE_NAME web]$ tar xzf /tmp/openacs-5-1.tar.gz
                    +[$OPENACS_SERVICE_NAME web]$ tar xzf /var/tmp/openacs-5-1.tar.gz
                     [$OPENACS_SERVICE_NAME web]$ cp -r openacs-5-1/* openacs-4
                     [$OPENACS_SERVICE_NAME openacs-upgrade]$ exit
                     [root root]#
                     su - $OPENACS_SERVICE_NAME
                     cd /var/lib/aolserver
                    -tar xzf /tmp/openacs-5-1.tgz
                    +tar xzf /var/tmp/openacs-5-1.tgz
                     cp -r openacs-5-1/* openacs-4
                     exit
                  • Upgrading files for a site in a private CVS repository -

                    Figure�5.2.�Upgrading a local CVS repository

                    Upgrading a local CVS repository
                    • Step 1: Import new CVS code.�There are two common ways to get new OpenACS code into your local CVS repository - via tarball or with a working CVS checkout of OpenACS. Both methods work well for starting your local repository; the second method is better for incremental additions or upgrades.

                      • (a): via tarball.�Download a current tarball and unpack the new files into a working directory.

                        [root root]# su - $OPENACS_SERVICE_NAME
                        -[$OPENACS_SERVICE_NAME aolserver]$ cd /tmp
                        -[$OPENACS_SERVICE_NAME tmp]$ tar xzf openacs-5-1.tar.gz
                        -[$OPENACS_SERVICE_NAME tmp]$ cd openacs-5-1
                      • (b): via cvs working checkout.�Create a CVS checkout from OpenACS. The first time you do this, you will need to create the checkout directory. We use one dedicated directory for each branch of OpenACS - if you are using OpenACS 5.0,x, you only need an OpenACS 5.0 branch. The openacs-5-1-compat tag identifies the latest released version of OpenACS 5.1 (ie, 5.1.3 or 5.1.4) and the latest compatible version of each package, including .LRN. Each minor release of OpenACS since 5.0 has this tagging structure. For example, OpenACS 5.1.x has openacs-5-1-compat. - You will want to separately check out all the - packages you are using. -

                        [root root]# su - $OPENACS_SERVICE_NAME
                        +        

                        Many OpenACS site developers operate their own CVS + repository to keep track of local customizations. In this + section, we describe how to upgrade your local CVS repository + with the latest OpenACS version, without overriding your own + local customizations.

                        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.

                        Figure�5.2.�Upgrading a local CVS repository

                        Upgrading a local CVS repository
                        • Step 0: Set up a working CVS checkout.�

                          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'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's not too bad, and + it is the best way to work around CVS's limitations.

                          This part describes how to set up your working CVS + checkout. Once it is set up, you'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 will need a 5.1 checkout. That will + be good for 5.1, 5.11, 5.12, and so on. But when you want to + upgrade to OpenACS 5.2, you'll need to check out another + branch.

                          The openacs-5-1-compat tag identifies the latest released version of OpenACS 5.1 (ie, 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 openacs-5-1-compat.

                          You will want to separately check out all the + packages you are using. +

                          [root root]# su - $OPENACS_SERVICE_NAME
                           [$OPENACS_SERVICE_NAME aolserver]$ cd /var/lib/aolserver
                          -[$OPENACS_SERVICE_NAME aolserver]$ cvs -d :pserver:anonymous@openacs.org:/cvsroot checkout -r openacs-5-1-compat acs-core
                          +[$OPENACS_SERVICE_NAME aolserver]$ cvs -d :pserver:anonymous@cvs.openacs.org:/cvsroot checkout -r openacs-5-1-compat acs-core
                           [$OPENACS_SERVICE_NAME aolserver]$ cd openacs-4/packages
                          -[$OPENACS_SERVICE_NAME aolserver]$ cvs -d :pserver:anonymous@openacs.org:/cvsroot checkout -r openacs-5-1-compat packagename packagename2...
                          +[$OPENACS_SERVICE_NAME aolserver]$ cvs -d :pserver:anonymous@cvs.openacs.org:/cvsroot checkout -r openacs-5-1-compat packagename packagename2...
                           [$OPENACS_SERVICE_NAME aolserver]$ cd ../..
                          -[$OPENACS_SERVICE_NAME aolserver]$ mv openacs-4 openacs-5-1

                          If this checkout already exists, you can simply update it instead of recreating it.

                          [root root]# su - $OPENACS_SERVICE_NAME
                          +[$OPENACS_SERVICE_NAME aolserver]$ mv openacs-4 openacs-5-1

                          Make sure your working CVS checkout doesn't have + the entire CVS tree from OpenACS. A good way to check + this is if it has a contrib directory. If it does, you + probably checked out the entire tree. You might want to + start over, remove your working CVS checkout, and try + again. +

                        • Step 1: Import new OpenACS code.�

                          • Update CVS.�Update your local CVS working checkout (unless + you just set it up).

                            [root root]# su - $OPENACS_SERVICE_NAME
                             [$OPENACS_SERVICE_NAME aolserver]$ cd /var/lib/aolserver/openacs-5-1
                            -[$OPENACS_SERVICE_NAME aolserver]$ cvs up -Pd
                          • (c) A single package via cvs working checkout.�You can add or upgrade a single package at a time, if you already have a cvs working directory.

                            [root root]# su - $OPENACS_SERVICE_NAME
                            -[$OPENACS_SERVICE_NAME aolserver]$ cd /var/lib/aolserver/openacs-5-1
                            -[$OPENACS_SERVICE_NAME openacs-5-1]$ cvs up -d myfirstpackage

                            In the next section, the import must be tailored to just this package.

                        • Step 2: Merge New OpenACS code.�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.

                          Import the new files into your cvs repository; where they match existing files, they will become the new version of the file.

                          [$OPENACS_SERVICE_NAME openacs-5-1]$  cd /var/lib/aolserver/openacs-5-1
                          +[$OPENACS_SERVICE_NAME aolserver]$ cvs up -Pd ChangeLog *.txt bin etc tcl www packages/*
                        • Update a single package via cvs working checkout.�You can add or upgrade a single package at a time, if you already have a cvs working directory.

                          [root root]# su - $OPENACS_SERVICE_NAME
                          +[$OPENACS_SERVICE_NAME aolserver]$ cd /var/lib/aolserver/packages/openacs-5-1
                          +[$OPENACS_SERVICE_NAME openacs-5-1]$ cvs up -Pd packagename

                          In the next section, the import must be tailored to just this package.

                      • Step 2: Merge New OpenACS code.�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.

                        Import the new files into your cvs repository; where they match existing files, they will become the new version of the file.

                        [$OPENACS_SERVICE_NAME openacs-5-1]$  cd /var/lib/aolserver/openacs-5-1
                         [$OPENACS_SERVICE_NAME openacs-5-1]$  cvs -d /var/lib/cvs import -m "upgrade to OpenACS 5.1" $OPENACS_SERVICE_NAME OpenACS openacs-5-1
                                     

                        Tip

                        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 myfirstpackage package.

                        [root root]# su - $OPENACS_SERVICE_NAME
                         [$OPENACS_SERVICE_NAME aolserver]$ cd /var/lib/aolserver/openacs-5-0/package/myfirstpackage
                        -[$OPENACS_SERVICE_NAME myfirstpackage]$ cvs -d /var/lib/cvs/ import -m "importing package" $OPENACS_SERVICE_NAME/packages/myfirstpackage OpenACS openacs-5-1

                        Create a new directory as temporary working space to reconcile conflicts between the new files and your current work. The example uses the cvs keyword yesterday, making the assumption that you haven't checked in new code to your local tree in the last day.

                        [$OPENACS_SERVICE_NAME openacs-5.1]$  cd /var/lib/aolserver
                        +[$OPENACS_SERVICE_NAME myfirstpackage]$ cvs -d /var/lib/cvs/ import -m "importing package" $OPENACS_SERVICE_NAME/packages/myfirstpackage OpenACS openacs-5-1

                      Create a new directory as temporary working space to + reconcile conflicts between the new files and your current + work. The example uses the cvs keyword yesterday, making + the assumption that you haven't checked in new code to + your local tree in the last day. This section should be + improved to use tags instead of the keyword yesterday!

                      [$OPENACS_SERVICE_NAME openacs-5.1]$  cd /var/lib/aolserver
                      +[$OPENACS_SERVICE_NAME tmp]$ rm -rf $OPENACS_SERVICE_NAME-upgrade
                       [$OPENACS_SERVICE_NAME tmp]$ mkdir $OPENACS_SERVICE_NAME-upgrade
                      -[$OPENACS_SERVICE_NAME tmp]$ cvs checkout -d openacs-upgrade -jOpenACS:yesterday -jOpenACS -kk $OPENACS_SERVICE_NAME > cvs.txt 2>&1
                      -(CVS feedback here)

                      The file /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'll have to manually reconcile them. Use the emacs command M-x sort-lines and then, for each line that starts with a C, open that file and manually resolve the conflict by deleting the excess lines. When you're finished, or if there aren't any conflicts, save and exit.

                      Once you've fixed any conflicts, commit the new code - to your local tree.

                      [$OPENACS_SERVICE_NAME tmp]$ cd openacs-upgrade
                      -[$OPENACS_SERVICE_NAME openacs-upgrade]$ cvs commit -m "Upgraded to 5.1"
                    • Step 3: Upgrade your local staging site.�Update your working tree with the new files. The CVS flags ensure that new directories are created and pruned directories destroyed.

                      [$OPENACS_SERVICE_NAME openacs-upgrade]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
                      +[$OPENACS_SERVICE_NAME tmp]$ cvs checkout -d $OPENACS_SERVICE_NAME-upgrade -jOpenACS:yesterday -jOpenACS -kk $OPENACS_SERVICE_NAME > cvs.txt 2>&1
                      +(CVS feedback here)

                      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'll have to manually reconcile them. Use the emacs + command M-x sort-lines + (you may have to click Ctrl-space at the beginning of the + file, and go to the end, and then try M-x sort-lines) and then, for each line that starts with a C, open that file and manually resolve the conflict by deleting the excess lines. When you're finished, or if there aren't any conflicts, save and exit.

                      Once you've fixed any conflicts, commit the new code + to your local tree.

                      [$OPENACS_SERVICE_NAME tmp]$ cd $OPENACS_SERVICE_NAME-upgrade
                      +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME-upgrade]$ cvs commit -m "Upgraded to 5.1"
                    • Step 3: Upgrade your local staging site.�Update your working tree with the new files. The CVS flags ensure that new directories are created and pruned directories destroyed.

                      [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME-upgrade]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
                       [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs up -Pd
                       (CVS feedback)
                       [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ exit
                       [root root]# 

                  - Upgrading files for a site using the OpenACS.org CVS repository + Upgrading files for a site using the OpenACS CVS repository (cvs.openacs.org)

                  1. [$OPENACS_SERVICE_NAME ~]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
                     [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs up -Pd
                     (CVS feedback)
                    -[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$

                  Upgrading a Production Site Safely

                  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:

                  1. Declare a freeze on new cvs updates - ie, you cannot run cvs update +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$

              Upgrading a Production Site Safely

              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:

              1. Declare a freeze on new cvs updates - ie, you cannot run cvs update on the production site

              2. Make a manual backup of the production site in addition to the automated backups

              3. Import the new code (for example, OpenACS 5.0.4, openacs-5-0-compat versions of @@ -59,4 +110,4 @@

              4. Test the $OPENACS_SERVICE_NAME-upgrade site

              5. If $OPENACS_SERVICE_NAME-upgrade is fully functional, do the real upgrade.

                1. Take down the $OPENACS_SERVICE_NAME site and put up a "down for maintenance" page.

                2. Repeat the upgrade with the most recent database

                3. Test the that the new site is functional. If so, change the upgraded site to respond to - yourserver.net requests. If not, bring the original production site back up and return to the merge.

              View comments on this page at openacs.org
              + yourserver.net requests. If not, bring the original production site back up and return to the merge.

            View comments on this page at openacs.org
            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.17 -r1.18 --- openacs-4/packages/acs-core-docs/www/upgrade-overview.html 5 Jul 2004 14:24:59 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/upgrade-overview.html 16 Feb 2005 00:21:03 -0000 1.18 @@ -1,6 +1,6 @@ -Overview

            Overview

            Starting with Version 4.5, all OpenACS core packages support +Overview

            Overview

            Starting with Version 4.5, all OpenACS core packages support automatic upgrade. That means that, if you have OpenACS 4.5 or better, you should always be able to upgrade all of your core packages automatically. If you haven't changed anything, no manual intervention should be required. If you are running - OpenACS prior to 4.5, upgrading will require manual effort.

            If all of these conditions are true:

            • Your OpenACS Core is 5.0.0 or later

            • You do not keep your OpenACS site in a local CVS repository

            • You do not have any custom code

            then you can upgrade automatically using the automated installer in the OpenACS Package Manager (APM), and you can probably skip the rest of this chapter. To upgrade directly from the OpenACS repository using the APM:

            1. Browse to the Installer.

            2. Click install or upgrade under "Install from OpenACS Repository" and select the packages to install or upgrade.

            3. 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.

            Figure�5.1.�Upgrading with the APM

            Upgrading with the APM

            It's always a good idea to precede an upgrade attempt with a snapshot backup.

            Table�5.1.�Assumptions in this section

            name of OpenACS user$OPENACS_SERVICE_NAME
            OpenACS server name$OPENACS_SERVICE_NAME
            Root of OpenACS file tree/var/lib/aolserver/$OPENACS_SERVICE_NAME
            Database backup directory/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup
            View comments on this page at openacs.org
            + OpenACS prior to 4.5, upgrading will require manual effort.

            If all of these conditions are true:

            • Your OpenACS Core is 5.0.0 or later

            • You do not keep your OpenACS site in a local CVS repository

            • You do not have any custom code

            then you can upgrade automatically using the automated installer in the OpenACS Package Manager (APM), and you can probably skip the rest of this chapter. To upgrade directly from the OpenACS repository using the APM:

            1. Browse to the Installer.

            2. Click install or upgrade under "Install from OpenACS Repository" and select the packages to install or upgrade.

            3. 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.

            Figure�5.1.�Upgrading with the APM

            Upgrading with the APM

            It's always a good idea to precede an upgrade attempt with a snapshot backup.

            Table�5.1.�Assumptions in this section

            name of OpenACS user$OPENACS_SERVICE_NAME
            OpenACS server name$OPENACS_SERVICE_NAME
            Root of OpenACS file tree/var/lib/aolserver/$OPENACS_SERVICE_NAME
            Database backup directory/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup
            View comments on this page at openacs.org
            Index: openacs-4/packages/acs-core-docs/www/upgrade-supporting.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-supporting.html,v diff -u -r1.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/upgrade-supporting.html 22 Jun 2004 12:54:10 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/upgrade-supporting.html 16 Feb 2005 00:21:03 -0000 1.11 @@ -1,6 +1,6 @@ -Upgrading Platform components

            Upgrading Platform components

            Upgrading OpenFTS from 0.2 to 0.3.2

            OpenACS Full Text Search requires several pieces: the OpenFTS code, some database functions, and the OpenFTS Engine. This section describes how to upgrade OpenFTS from 0.2 to 0.3.2 and upgrade the search engine on an OpenACS site at the same time.

            1. Uninstall the old OpenFTS Engine from the $OPENACS_SERVICE_NAME database.

              1. Browse to http://yourserver/openfts. +Upgrading Platform components

                Upgrading Platform components

                Upgrading OpenFTS from 0.2 to 0.3.2

                OpenACS Full Text Search requires several pieces: the OpenFTS code, some database functions, and the OpenFTS Engine. This section describes how to upgrade OpenFTS from 0.2 to 0.3.2 and upgrade the search engine on an OpenACS site at the same time.

                1. Uninstall the old OpenFTS Engine from the $OPENACS_SERVICE_NAME database.

                  1. Browse to http://yourserver/openfts.

                  2. Click Administration.

                  3. Click Drop OpenFTS Engine

                2. Build and install the new OpenFTS driver and supporting tcl procedures. (This section of shell code is not fully documented; please exercise care.)

                  cd /usr/local/src/
                  -          tar xzf /tmp/Search-OpenFTS-tcl-0.3.2.tar.gz
                  +          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/
                  Index: openacs-4/packages/acs-core-docs/www/upgrade.html
                  ===================================================================
                  RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade.html,v
                  diff -u -r1.21 -r1.22
                  --- openacs-4/packages/acs-core-docs/www/upgrade.html	5 Jul 2004 14:25:00 -0000	1.21
                  +++ openacs-4/packages/acs-core-docs/www/upgrade.html	16 Feb 2005 00:21:03 -0000	1.22
                  @@ -1,4 +1,4 @@
                  -Chapter�5.�Upgrading

                  Chapter�5.�Upgrading

                  by Joel Aufrecht

                  +Chapter�5.�Upgrading

                  Chapter�5.�Upgrading

                  by Joel Aufrecht

                  OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
                  View comments on this page at openacs.org
                  Index: openacs-4/packages/acs-core-docs/www/uptime.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/uptime.html,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/uptime.html 22 Jun 2004 12:54:11 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/uptime.html 16 Feb 2005 00:21:03 -0000 1.6 @@ -1 +1 @@ -External uptime validation

                  External uptime validation

                  The OpenACS uptime site can monitor your site and send you an email whenever your site fails to respond. If you test the url http://yourserver.test/SYSTEM/dbtest.tcl, you should get back the string success.

                  View comments on this page at openacs.org
                  +External uptime validation

                  External uptime validation

                  The OpenACS uptime site can monitor your site and send you an email whenever your site fails to respond. If you test the url http://yourserver.test/SYSTEM/dbtest.tcl, you should get back the string success.

                  View comments on this page at openacs.org
                  Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/using-cvs-with-openacs.html'. Fisheye: No comparison available. Pass `N' to diff? 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.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/variables.html 5 Jul 2004 14:25:00 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/variables.html 16 Feb 2005 00:21:03 -0000 1.21 @@ -1,9 +1,9 @@ -Variables

                  Variables

                  By joel@aufrecht.org

                  +Variables

                  Variables

                  By joel@aufrecht.org

                  OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

                  Date and Time Variables

                  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 lc_time_fmt to format it for display.

                  Example�12.1.�Getting datetime from the database ANSI-style

                  db_multirow -extend { mydate_pretty } {
                  +    ANSI format and then using lc_time_fmt to format it for display.

                  Example�12.1.�Getting datetime from the database ANSI-style

                  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.html
                  ===================================================================
                  RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/win2k-installation.html,v
                  diff -u -r1.39 -r1.40
                  --- openacs-4/packages/acs-core-docs/www/win2k-installation.html	29 Jun 2004 15:50:16 -0000	1.39
                  +++ openacs-4/packages/acs-core-docs/www/win2k-installation.html	16 Feb 2005 00:21:03 -0000	1.40
                  @@ -1,4 +1,4 @@
                  -OpenACS Installation Guide for Windows2000

                  OpenACS Installation Guide for Windows2000

                  by Matthew Burke and Curtis Galloway

                  +OpenACS Installation Guide for Windows2000

                  OpenACS Installation Guide for Windows2000

                  by Matthew Burke and Curtis Galloway

                  OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

                  NOTE: These instructions were