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.19.2.3 -r1.19.2.4 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 15 Dec 2003 15:03:46 -0000 1.19.2.3 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 16 Dec 2003 13:58:40 -0000 1.19.2.4 @@ -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 3.3oacs1
Install AOLserver 4
Install OpenACS 5.0.0b4
OpenACS Installation Guide for Windows2000
OpenACS Installation Guide for Mac OS X
4. Configuring a New Service
5. Upgrading
Upgrading
6. Maintenance
Hosting Web Sites
Database Management
Backup and 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.
C. 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 3.3oacs1
Install AOLserver 4
Install OpenACS 5.0.0b4
OpenACS Installation Guide for Windows2000
OpenACS Installation Guide for Mac OS X
4. Configuring a New Service
5. Upgrading
Overview
Upgrading OpenACS
Upgrading the OpenACS files
Upgrading Platform components
6. Maintenance
Hosting Web Sites
Database Management
Backup and 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.
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.9.2.2 -r1.9.2.3 --- openacs-4/packages/acs-core-docs/www/acs-package-dev.html 8 Dec 2003 15:41:16 -0000 1.9.2.2 +++ openacs-4/packages/acs-core-docs/www/acs-package-dev.html 16 Dec 2003 13:58:40 -0000 1.9.2.3 @@ -1,2 +1,2 @@ -Part�III.�For OpenACS Package Developers

For OpenACS Package Developers

Tutorials and reference material for creating new OpenACS packages. +Part�III.�For OpenACS Package Developers

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.10.2.2 -r1.10.2.3 --- openacs-4/packages/acs-core-docs/www/acs-plat-dev.html 8 Dec 2003 15:41:16 -0000 1.10.2.2 +++ openacs-4/packages/acs-core-docs/www/acs-plat-dev.html 16 Dec 2003 13:58:40 -0000 1.10.2.3 @@ -1 +1 @@ -Part�IV.�For OpenACS Platform Developers
View comments on this page at openacs.org
+Part�IV.�For OpenACS Platform Developers
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.5.2.3 -r1.5.2.4 --- openacs-4/packages/acs-core-docs/www/analog-install.html 15 Dec 2003 15:03:46 -0000 1.5.2.3 +++ openacs-4/packages/acs-core-docs/www/analog-install.html 16 Dec 2003 13:58:40 -0000 1.5.2.4 @@ -1,4 +1,4 @@ -Install Analog web file analyzer

Install Analog web file analyzer

Download the Analog source tarball in +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
 [root src]# cd analog-5.32
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.23.2.4 -r1.23.2.5
--- openacs-4/packages/acs-core-docs/www/aolserver.html	15 Dec 2003 15:03:46 -0000	1.23.2.4
+++ openacs-4/packages/acs-core-docs/www/aolserver.html	16 Dec 2003 13:58:40 -0000	1.23.2.5
@@ -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.
  1. Unpack the Aolserver tarball.�Download the aolserver tarball and unpack it.

    [root root]# cd /usr/local/src
    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.21.2.4 -r1.21.2.5
    --- openacs-4/packages/acs-core-docs/www/apm-design.html	15 Dec 2003 15:03:46 -0000	1.21.2.4
    +++ openacs-4/packages/acs-core-docs/www/apm-design.html	16 Dec 2003 13:58:40 -0000	1.21.2.5
    @@ -1,10 +1,10 @@
    -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

      Essentials

      Introduction

      In general terms, a package is a unit of software that serves a single well-defined purpose. That purpose may be to provide a 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.16.2.2 -r1.16.2.3 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 8 Dec 2003 15:41:16 -0000 1.16.2.2 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 16 Dec 2003 13:58:40 -0000 1.16.2.3 @@ -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-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.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 15 Dec 2003 15:03:46 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 16 Dec 2003 13:58:40 -0000 1.1.2.5 @@ -1,4 +1,4 @@ -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.� 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.15.2.5 -r1.15.2.6 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 15 Dec 2003 15:03:46 -0000 1.15.2.5 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 16 Dec 2003 13:58:40 -0000 1.15.2.6 @@ -1,8 +1,13 @@ -Backup and Recovery

        Backup and Recovery

        By Don Baccus with additions +Backup and Recovery

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

        Backup Strategy

        +

        We will cover some basic backup and recovery strategies. These are intended to + be robust but simple enough to set up. For a large scale production site you would + 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).

        Backup Strategy

        The purpose of backup is to enable recovery. Backup and recovery are always risky; here are some steps that minimize the chance recovery is necessary: @@ -31,177 +36,170 @@ OpenACS installations comprise files and database contents. If you follow the reference install and put all files, including configuration files, in - /var/lib/aolserver/service0/, + /var/lib/aolserver/service0/, and back up the database nightly to a file in - /var/lib/aolserver/service0/database-backup, + /var/lib/aolserver/service0/database-backup, then you can apply standard file-based backup strategies to - /var/lib/aolserver/service0 + /var/lib/aolserver/service0

        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 + 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 database to a file within the file tree. Then, you back up the file tree. All of the information needed to rebuild the site, - including the AOLserver config files, is then in tree for - regular file system backup.

        1. Back up the database to a file.�

          • Oracle.�

            • + 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 + /tmp/export-oracle.txt

                  • Login as root. The following commands will install the export script: -

                    -                [joeuser ~]$ su -
                    -                Password: ***********
                    -                [root ~]# cp /tmp/export-oracle.txt /usr/sbin/export-oracle
                    -              [root ~]# chmod 700 /usr/sbin/export-oracle
                  • +

                    [joeuser ~]$ su -
                    +[root ~]# cp /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 - /ora8/m02/oracle-exports.

                    -                [root ~]# mkdir /ora8/m02/oracle-exports
                    -                [root ~]# chown oracle.dba /ora8/m02/oracle-exports
                    -              [root ~]# chmod 770 /ora8/m02/oracle-exports
                  • + /ora8/m02/oracle-exports.

                    [root ~]# mkdir /ora8/m02/oracle-exports
                    +[root ~]# chown oracle:dba /ora8/m02/oracle-exports
                    +[root ~]# chmod 770 /ora8/m02/oracle-exports
                  • Now edit - /usr/sbin/export-oracle and + /usr/sbin/export-oracle and change the SERVICE_NAME and DATABASE_PASSWORD fields to their correct values. If you want to use a directory other than - /ora8/m02/oracle-exports, you + /ora8/m02/oracle-exports, you also need to change the exportdir setting.

                    Test the export procedure by running the command: -

                    -                [root ~]# /usr/sbin/export-oracle
                    -                mv: /ora8/m02/oracle-exports/oraexport-service_name.dmp.gz: No such file or directory
                    +              

                    [root ~]# /usr/sbin/export-oracle
                    +mv: /ora8/m02/oracle-exports/oraexport-service_name.dmp.gz: No such file or directory
                     
                    -                Export: Release 8.1.6.1.0 - Production on Sun Jun 11 18:07:45 2000
                    +Export: Release 8.1.6.1.0 - Production on Sun Jun 11 18:07:45 2000
                     
                    -                (c) Copyright 1999 Oracle Corporation.  All rights reserved.
                    +(c) Copyright 1999 Oracle Corporation.  All rights reserved.
                     
                    -
                    -                Connected to: Oracle8i Enterprise Edition Release 8.1.6.1.0 - Production
                    -                With the Partitioning option
                    -                JServer Release 8.1.6.0.0 - Production
                    -                Export done in US7ASCII character set and US7ASCII NCHAR character set
                    -                . exporting pre-schema procedural objects and actions
                    -                . exporting foreign function library names for user SERVICE_NAME 
                    -                . exporting object type definitions for user SERVICE_NAME 
                    -                About to export SERVICE_NAME's objects ...
                    -                . exporting database links
                    -                . exporting sequence numbers
                    -                . exporting cluster definitions
                    -                . about to export SERVICE_NAME's tables via Conventional Path ...
                    -                . exporting synonyms
                    -                . exporting views
                    -                . exporting stored procedures
                    -                . exporting operators
                    -                . exporting referential integrity constraints
                    -                . exporting triggers
                    -                . exporting indextypes
                    -                . exporting bitmap, functional and extensible indexes
                    -                . exporting posttables actions
                    -                . exporting snapshots
                    -                . exporting snapshot logs
                    -                . exporting job queues
                    -                . exporting refresh groups and children
                    -                . exporting dimensions
                    -                . exporting post-schema procedural objects and actions
                    -                . exporting statistics
                    -              Export terminated successfully without warnings.
                • PostgreSQL.�Create a backup file and verify that it was created and has a reasonable size (several megabytes).

                  [root root]# su - service0
                  -            [service0 service0]$ pg_dump -f /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp service0
                  -            [service0 service0]$ ls -al /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp 
                  -            -rw-rw-r-x    1 service0  service0   4005995 Feb 21 18:28 /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp
                  -            [service0 service0]$ exit
                  -            [root root]#
                  -            su - service0
                  -            pg_dump -f /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp openacs-dev
                  -            ls -al /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp
                  -            exit
              2. Back up the file system.�Back up all of the files in the service, including the +Connected to: Oracle8i Enterprise Edition Release 8.1.6.1.0 - Production +With the Partitioning option +JServer Release 8.1.6.0.0 - Production +Export done in US7ASCII character set and US7ASCII NCHAR character set + . exporting pre-schema procedural objects and actions + . exporting foreign function library names for user SERVICE_NAME + . exporting object type definitions for user SERVICE_NAME + About to export SERVICE_NAME's objects ... + . exporting database links + . exporting sequence numbers + . exporting cluster definitions + . about to export SERVICE_NAME's tables via Conventional Path ... + . exporting synonyms + . exporting views + . exporting stored procedures + . exporting operators + . exporting referential integrity constraints + . exporting triggers + . exporting indextypes + . exporting bitmap, functional and extensible indexes + . exporting posttables actions + . exporting snapshots + . exporting snapshot logs + . exporting job queues + . exporting refresh groups and children + . exporting dimensions + . exporting post-schema procedural objects and actions + . exporting statistics +Export terminated successfully without warnings.

  • PostgreSQL.�Create a backup file and verify that it was created and has a reasonable size (several megabytes).

    [root root]# su - service0
    +[service0 service0]$ pg_dump -f /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp service0
    +[service0 service0]$ ls -al /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp 
    +-rw-rw-r-x    1 service0  service0   4005995 Feb 21 18:28 /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp
    +[service0 service0]$ exit
    +[root root]#
    +su - service0
    +pg_dump -f /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp openacs-dev
    +ls -al /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp
    +exit
  • Back up the file system.�Back up all of the files in the service, including the database backup file but excluding the auto-generated - supervise directory, which is + supervise directory, which is unneccesary and has complicated permissions.

    In the tar command,

    • c create a - new tar archive

    • p preserves permissions.

    • s preserves file sort order

    • j compresses the output with bz2.

    • The --exclude clauses skips some daemontools files that + new tar archive

    • p preserves permissions.

    • s preserves file sort order

    • z compresses the output with gzip.

    • The --exclude clauses skips some daemontools files that are owned by root and thus cannot be backed up by the service owner. These files are autogenerated and we don't break anything by omitting them.

    • The --file clause specifies the name of the output file to be generated; we manually add the correct extensions.

    • The last clause, - /var/lib/aolserver/service0/, + /var/lib/aolserver/service0/, specifies the starting point for backup. Tar defaults to recursive backup.

    [root root]# su - service0
    -        [service0 service0]$ tar -cpsj --exclude /var/lib/aolserver/service0/etc/daemontools/supervise --file /tmp/service0-backup.tar.bz2 /var/lib/aolserver/service0/ 
    -        tar: Removing leading `/' from member names
    -        [service0 service0]$
  • Suffer a catastrophic failure on your production system.�(We'll simulate this step)

    [root root]# svc -d /service/service0
    -        [root root]# mv /var/lib/aolserver/service0/ /var/lib/aolserver/service0.lost
    -        [root root]# rm /service/service0
    -        rm: remove symbolic link `/service/service0'? y
    -        [root root]# ps -auxw | grep service0
    -        root      1496  0.0  0.0  1312  252 ?        S    16:58   0:00 supervise service0
    -        [root root]# kill 1496
    -        [root root]# ps -auxw | grep service0
    -        [root root]# su - postgres
    -        [postgres pgsql]$ dropdb service0
    -        DROP DATABASE
    -        [postgres pgsql]$ dropuser service0
    -        DROP USER
    -        [postgres pgsql]$ exit
    -        logout
    -        [root root]#
  • Recovery.�

    1. Restore the operating system and required software. +[service0 service0]$ tar -cpsz --exclude /var/lib/aolserver/service0/etc/daemontools/supervise \ + --file /tmp/service0-backup.tar.gz /var/lib/aolserver/service0/ +tar: Removing leading `/' from member names +[service0 service0]$

  • Suffer a catastrophic failure on your production system.�(We'll simulate this step)

    [root root]# svc -d /service/service0
    +[root root]# mv /var/lib/aolserver/service0/ /var/lib/aolserver/service0.lost
    +[root root]# rm /service/service0
    +rm: remove symbolic link `/service/service0'? y
    +[root root]# ps -auxw | grep service0
    +root      1496  0.0  0.0  1312  252 ?        S    16:58   0:00 supervise service0
    +[root root]# kill 1496
    +[root root]# ps -auxw | grep service0
    +[root root]# su - postgres
    +[postgres pgsql]$ dropdb service0
    +DROP DATABASE
    +[postgres pgsql]$ dropuser service0
    +DROP USER
    +[postgres pgsql]$ exit
    +logout
    +[root root]#
  • Recovery.�

    1. Restore the operating system and required software. You can do this with standard backup processes or by keeping copies of the install material (OS CDs, OpenACS tarball and supporting software) and repeating the install guide. Recreate the service user (service0).

    2. Restore the OpenACS files and database backup file.

      [root root]# su - service0
      -            [service0 service0]$ cd /var/lib/aolserver
      -            [service0 aolserver]$ tar xjf /tmp/service0-backup.tar.bz2
      -            [service0 aolserver]$ chmod -R 775 service0
      -            [service0 aolserver]$ chown -R service0.web service0
      -
      -            
    3. 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 service0/service0 FILE=/var/lib/aolserver/service0/database-backup/nighty_backup.dmp FULL=Y
      • Postgres.�

        Because of a bug in Postgres backup-recovery, database objects are not guaranteed to be created in the right order. To compensate, we pre-creating some critical items first, which leads to some harmless errors.

        [root root]# su - postgres
        -                [postgres pgsql]$ createuser service0
        -                Shall the new user be allowed to create databases? (y/n) y
        -                Shall the new user be allowed to create more new users? (y/n) y
        -                CREATE USER
        -                [service0 web]$ createdb service0
        -                CREATE DATABASE
        -                [service0 web]$ psql -f /var/lib/aolserver/service0/packages/acs-kernel/sql/postgresql/postgresql.sql service0
        -                (many lines omitted)
        -                [service0 web]$ psql service0 < /var/lib/aolserver/service0/database-backup/database-backup.dmp
        -                (many lines omitted)
        -                [service0 web]$ exit
        -                [postgres pgsql]$ exit
        -                logout
        -                
    4. Activate the service

      [root root]# ln -s /var/lib/aolserver/service0/etc/daemontools /service/service0
      -            [root root]# sleep 10
      -            [root root]# svgroup web /service/service0
      -            [root root]#
  • Automated Backup (OPTIONAL)

    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/service0/database-backup and then backs up all of /var/lib/aolserver/service0 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/service0/etc/backup.sh with your specific parameters.

    3. +[service0 service0]$ cd /var/lib/aolserver +[service0 aolserver]$ tar xzf /tmp/service0-backup.tar.gz +[service0 aolserver]$ chmod -R 775 service0 +[service0 aolserver]$ chown -R service0.web service0

    4. 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 service0/service0 FILE=/var/lib/aolserver/service0/database-backup/nighty_backup.dmp FULL=Y
      • Postgres.�Because of a bug in Postgres backup-recovery, database objects are not guaranteed to be created in the right order. To compensate, we pre-creating some critical items first, which leads to some harmless errors.

        [root root]# su - postgres
        +[postgres ~]$ createuser service0
        +Shall the new user be allowed to create databases? (y/n) y
        +Shall the new user be allowed to create more new users? (y/n) y
        +CREATE USER
        +[postgres ~]$ su - service0
        +[service0 ~]$ createdb service0
        +CREATE DATABASE
        +[service0 ~]$ psql -f /var/lib/aolserver/service0/packages/acs-kernel/sql/postgresql/postgresql.sql service0
        +(many lines omitted)
        +[service0 ~]$ psql service0 < /var/lib/aolserver/service0/database-backup/database-backup.dmp
        +(many lines omitted)
        +[service0 ~]$ exit
        +[postgres ~]$ exit
        +logout
    5. Activate the service

      [root root]# ln -s /var/lib/aolserver/service0/etc/daemontools /service/service0
      +[root root]# sleep 10
      +[root root]# svgroup web /service/service0

    Automated Backup (OPTIONAL)

    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/service0/database-backup and then backs up all of /var/lib/aolserver/service0 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/service0/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/service0/etc/backup.sh

    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 - current system time, down to the minute. For maximum - safety, you can apply a tag to your current - files. You will still need to back up your database.

    Note that, if you did the CVS options in this document, the /var/lib/aolserver/service0/etc directory is not included in cvs and you may want to add it.

    [root root]# su - service0
    -    [service0 service0]$ cd /var/lib/aolserver/service0
    -    [service0 service0]$ cvs commit -m "last-minute commits before upgrade to 4.6"
    -    cvs commit: Examining .
    -    cvs commit: Examining bin
    -    (many lines omitted)
    -    [service0 service0]$ cvs tag before_upgrade_to_4_6
    -    cvs server: Tagging bin
    -    T bin/acs-4-0-publish.sh
    -    T bin/ad-context-server.pl
    -    (many lines omitted)
    -    [service0 service0]$ exit
    -    [root root]# 
    -    su - service0
    -    cd /var/lib/aolserver/service0
    -    cvs commit -m "last-minute commits before upgrade to 4.6"
    -    cvs tag before_upgrade_to_4_6
    -    exit

    To restore files from a cvs tag such as the one used above:

    [root root]# su - service0
    -    [service0 service0]$ cd /var/lib/aolserver/service0
    -    [service0 service0]$ cvs up -r current
    -    [service0 service0]$ exit
    -    su - service0
    -    cd /var/lib/aolserver/service0
    -    cvs up -r current
    ($Id$)
    View comments on this page at openacs.org
    + 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 + current system time, down to the minute. For maximum + safety, you can apply a tag to your current + files. You will still need to back up your database.

    Note that, if you did the CVS options in this document, the /var/lib/aolserver/service0/etc directory is not included in cvs and you may want to add it.

    [root root]# su - service0
    +[service0 service0]$ cd /var/lib/aolserver/service0
    +[service0 service0]$ cvs commit -m "last-minute commits before upgrade to 4.6"
    +cvs commit: Examining .
    +cvs commit: Examining bin
    +(many lines omitted)
    +[service0 service0]$ cvs tag before_upgrade_to_4_6
    +cvs server: Tagging bin
    +T bin/acs-4-0-publish.sh
    +T bin/ad-context-server.pl
    +(many lines omitted)
    +[service0 service0]$ exit
    +[root root]# 
    +su - service0
    +cd /var/lib/aolserver/service0
    +cvs commit -m "last-minute commits before upgrade to 4.6"
    +cvs tag before_upgrade_to_4_6
    +exit

    To restore files from a cvs tag such as the one used above:

    [root root]# su - service0
    +[service0 service0]$ cd /var/lib/aolserver/service0
    +[service0 service0]$ cvs up -r current
    +[service0 service0]$ exit
    +su - service0
    +cd /var/lib/aolserver/service0
    +cvs up -r current
    ($Id$)
    View comments on this page at openacs.org
    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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 15 Dec 2003 15:03:46 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 16 Dec 2003 13:58:40 -0000 1.22.2.5 @@ -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.4.2.3 -r1.4.2.4 --- openacs-4/packages/acs-core-docs/www/complete-install.html 15 Dec 2003 15:03:46 -0000 1.4.2.3 +++ openacs-4/packages/acs-core-docs/www/complete-install.html 16 Dec 2003 13:58:40 -0000 1.4.2.4 @@ -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/configure.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/configure.html,v diff -u -r1.6.2.2 -r1.6.2.3 --- openacs-4/packages/acs-core-docs/www/configure.html 8 Dec 2003 15:41:16 -0000 1.6.2.2 +++ openacs-4/packages/acs-core-docs/www/configure.html 16 Dec 2003 13:58:40 -0000 1.6.2.3 @@ -1 +1 @@ -Chapter�4.�Configuring a New Service

    Chapter�4.�Configuring a New Service

    Placeholder

    View comments on this page at openacs.org
    +Chapter�4.�Configuring a New Service

    Chapter�4.�Configuring a New Service

    Placeholder

    View comments on this page at openacs.org
    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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/credits.html 15 Dec 2003 15:03:46 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/credits.html 16 Dec 2003 13:58:40 -0000 1.22.2.5 @@ -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 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.6.2.3 -r1.6.2.4 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 15 Dec 2003 15:03:46 -0000 1.6.2.3 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 16 Dec 2003 13:58:40 -0000 1.6.2.4 @@ -1,11 +1,9 @@ -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/service0
      +          repository.

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

        [root root]# mkdir /cvsroot/service0
         [root root]# chown service0.web /cvsroot/service0
         [root root]#
         mkdir /cvsroot/service0
        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.14.2.4 -r1.14.2.5
        --- openacs-4/packages/acs-core-docs/www/database-management.html	15 Dec 2003 15:03:46 -0000	1.14.2.4
        +++ openacs-4/packages/acs-core-docs/www/database-management.html	16 Dec 2003 13:58:40 -0000	1.14.2.5
        @@ -1,4 +1,4 @@
        -Database Management

        Database Management

        By Joel Aufrecht

        +Database Management

        Database Management

        By Joel Aufrecht

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

        Running a PostgreSQL database on another server

        To run a database on a different machine than the @@ -10,25 +10,21 @@ permit specific remote clients to access. Access can be controlled ... (add notes from forum post)

      2. Change the OpenACS service's configuration file to point to the remote database. Edit - /web/service0/etc/config.tcl + /var/lib/aolserver/service0/etc/config.tcl and change

        to

    Deleting a tablespace

    Skip down for instructions on Deleting a PostgreSQL tablespace.

    Deleting an Oracle tablespace

    Should it become necessary to rebuild a tablespace from scratch, you can use the drop user command in SVRMGRL with the cascade option. This command will drop the user and every database object - the user owns.

    -SVRMGR> drop user service0 cascade;

    + the user owns.

    SVRMGR> drop user service0 cascade;

    If this does not work because svrmgrl "cannot drop a user that is currently connected", make sure to kill the AOLserver using - this user. If it still does not work, do:

    -SVRMGR> select username, sid, serial# from v$session where lower(username)='service0';

    and then

    -SVRMGR> alter system kill session 'sid,serial#';

    + this user. If it still does not work, do:

    SVRMGR> select username, sid, serial# from v$session where lower(username)='service0';

    and then

    SVRMGR> alter system kill session 'sid, serial#';

    where sid and serial# are replaced with the corresponding values for the open session.

    Use with caution!

    If you feel the need to delete everything - related to the service, you can also issue the following:

    -SVRMGR> drop tablespace service0 including contents cascade constraints;

    Deleting a PostgreSQL tablespace

    + related to the service, you can also issue the following:

    SVRMGR> drop tablespace service0 including contents cascade constraints;

    Deleting a PostgreSQL tablespace

    Dropping a PostgreSQL tablespace is easy. You have to stop any AOLserver instances that are using the database that you wish to drop. If you're using daemontools, this is simple, just use the @@ -37,7 +33,7 @@ reread the inittab with /sbin/init q, and then restart-aolserver service0.

    Then, to drop the db, just do:

    -[service0 ~]$ dropdb service0
    +[service0 ~]$ dropdb service0
     DROP DATABASE

    Vacuum Postgres nightly

    The "vacuum" command must be run periodically to reclaim space. The "vacuum analyze" form additionally collects statistics on the @@ -51,7 +47,6 @@ backup! The "vacuum" command is very reliable, but conservatism is the key to good system management. So, if you're using the export procedure described above, you don't need to do this extra step. -

    Edit your crontab:

    -[joeuser ~]$ crontab -e

    We'll set vacuum up to run nightly at 1 AM. Add the following +

    Edit your crontab:

    [joeuser ~]$ crontab -e

    We'll set vacuum up to run nightly at 1 AM. Add the following line:

    -0 1 * * * /usr/local/pgsql/bin/vacuumdb birdnotes
    ($Id$)
    View comments on this page at openacs.org
    +0 1 * * * /usr/local/pgsql/bin/vacuumdb service0
    ($Id$)
    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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.html 15 Dec 2003 15:03:46 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html 16 Dec 2003 13:58:40 -0000 1.22.2.5 @@ -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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/db-api.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/db-api.html 16 Dec 2003 13:58:41 -0000 1.22.2.5 @@ -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 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.17.2.2 -r1.17.2.3 --- openacs-4/packages/acs-core-docs/www/dev-guide.html 8 Dec 2003 15:41:16 -0000 1.17.2.2 +++ openacs-4/packages/acs-core-docs/www/dev-guide.html 16 Dec 2003 13:58:41 -0000 1.17.2.3 @@ -1 +1 @@ -Chapter�8.�Development Reference

    View comments on this page at openacs.org
    +Chapter�8.�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.1.2.2 -r1.1.2.3 --- openacs-4/packages/acs-core-docs/www/doc-standards.html 8 Dec 2003 15:41:16 -0000 1.1.2.2 +++ openacs-4/packages/acs-core-docs/www/doc-standards.html 16 Dec 2003 13:58:41 -0000 1.1.2.3 @@ -1 +1 @@ -Chapter�10.�Documentation Standards
    View comments on this page at openacs.org
    +Chapter�10.�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.23.2.4 -r1.23.2.5 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 15 Dec 2003 15:03:47 -0000 1.23.2.4 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 16 Dec 2003 13:58:41 -0000 1.23.2.5 @@ -1,4 +1,4 @@ -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

    @@ -36,7 +36,7 @@ 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. @@ -57,7 +57,7 @@ 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 @@ -106,7 +106,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 +130,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 +158,7 @@ </sect1>

    - + Inside this container your document will be split up into <sect2>'s, each with the same requirements - id and xreflabel @@ -167,7 +167,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,12 +177,12 @@ <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:

    +	  

    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:

    @@ -206,7 +206,7 @@
     	    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 @@ -227,7 +227,7 @@ 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,7 +253,7 @@ 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 @@ -298,7 +298,7 @@ </variablelist>

    Tables

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

    Emphasis

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

    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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 16 Dec 2003 13:58:41 -0000 1.22.2.5 @@ -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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 16 Dec 2003 13:58:41 -0000 1.22.2.5 @@ -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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 16 Dec 2003 13:58:41 -0000 1.22.2.5 @@ -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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 16 Dec 2003 13:58:41 -0000 1.22.2.5 @@ -1,4 +1,4 @@ -Release Version Numbering

    Release Version Numbering

    By Ron Henderson

    +Release Version Numbering

    Release Version Numbering

    By Ron Henderson

    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.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards.html,v diff -u -r1.14.2.2 -r1.14.2.3 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 8 Dec 2003 15:41:17 -0000 1.14.2.2 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 16 Dec 2003 13:58:41 -0000 1.14.2.3 @@ -1 +1 @@ -Chapter�9.�Engineering Standards

    View comments on this page at openacs.org
    +Chapter�9.�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.11.2.4 -r1.11.2.5 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 15 Dec 2003 15:03:47 -0000 1.11.2.4 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 16 Dec 2003 13:58:41 -0000 1.11.2.5 @@ -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 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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/filename.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/filename.html 16 Dec 2003 13:58:41 -0000 1.22.2.5 @@ -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.13.2.2 -r1.13.2.3 --- openacs-4/packages/acs-core-docs/www/for-everyone.html 8 Dec 2003 15:41:17 -0000 1.13.2.2 +++ openacs-4/packages/acs-core-docs/www/for-everyone.html 16 Dec 2003 13:58:41 -0000 1.13.2.3 @@ -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.1.2.2 -r1.1.2.3 --- openacs-4/packages/acs-core-docs/www/form-builder.html 15 Dec 2003 15:03:47 -0000 1.1.2.2 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 16 Dec 2003 13:58:41 -0000 1.1.2.3 @@ -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
        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.13.2.2 -r1.13.2.3
        --- openacs-4/packages/acs-core-docs/www/general-documents.html	8 Dec 2003 15:41:17 -0000	1.13.2.2
        +++ openacs-4/packages/acs-core-docs/www/general-documents.html	16 Dec 2003 13:58:41 -0000	1.13.2.3
        @@ -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.15.2.2 -r1.15.2.3 --- openacs-4/packages/acs-core-docs/www/groups-design.html 8 Dec 2003 15:41:17 -0000 1.15.2.2 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 16 Dec 2003 13:58:41 -0000 1.15.2.3 @@ -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

        Revision History

        Document Revision #Action Taken, NotesWhen?By Whom?
        0.1Creation08/22/2000Rafael H. Schloming
        0.2Initial Revision08/30/2000 +

        Mark Thomas

        Revision History

        Document Revision #Action Taken, NotesWhen?By Whom?
        0.1Creation08/22/2000Rafael H. Schloming
        0.2Initial Revision08/30/2000 Mark Thomas
        0.3Additional revisions; tried to clarify membership/compostion09/08/2000 Mark Thomas 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.15.2.2 -r1.15.2.3 --- openacs-4/packages/acs-core-docs/www/groups-requirements.html 8 Dec 2003 15:41:17 -0000 1.15.2.2 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 16 Dec 2003 13:58:41 -0000 1.15.2.3 @@ -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/i18n-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-requirements.html,v diff -u -r1.6.2.2 -r1.6.2.3 --- openacs-4/packages/acs-core-docs/www/i18n-requirements.html 8 Dec 2003 15:41:17 -0000 1.6.2.2 +++ openacs-4/packages/acs-core-docs/www/i18n-requirements.html 16 Dec 2003 13:58:41 -0000 1.6.2.3 @@ -1,4 +1,4 @@ -OpenACS Internationalization Requirements

        OpenACS Internationalization Requirements

        by Henry Minsky, +OpenACS Internationalization Requirements

        OpenACS Internationalization Requirements

        by Henry Minsky, Yon Feldman, Lars Pind, Peter Marklund, Index: openacs-4/packages/acs-core-docs/www/i18n.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n.html,v diff -u -r1.13.2.4 -r1.13.2.5 --- openacs-4/packages/acs-core-docs/www/i18n.html 15 Dec 2003 15:03:47 -0000 1.13.2.4 +++ openacs-4/packages/acs-core-docs/www/i18n.html 16 Dec 2003 13:58:41 -0000 1.13.2.5 @@ -1,4 +1,4 @@ -Internationalization

        Internationalization

        +Internationalization

        Internationalization

        By Peter Marklund and Lars Pind

        @@ -48,7 +48,7 @@ which are static and mostly text, it may be easier to create a new ADP page for each language. In this case, the pages are distinguished by a file naming convention. -

        Separate Templates for each Locale

        If the request processor finds a file named filename.locale.adp, where locale matches the user's locale, it will process that file instead of filename.adp. For example, for a user with locale tl_PH, the file index.tl_PH.adp, if found, will be used instead of index.adp. The locale-specific file should thus contain text in the language appropriate for that locale. The code in the page, however, should still be in English. Message keys are still processed.

        Message Keys in Template Files (ADP Files)

        +

        Separate Templates for each Locale

        If the request processor finds a file named filename.locale.adp, where locale matches the user's locale, it will process that file instead of filename.adp. For example, for a user with locale tl_PH, the file index.tl_PH.adp, if found, will be used instead of index.adp. The locale-specific file should thus contain text in the language appropriate for that locale. The code in the page, however, should still be in English. Message keys are still processed.

        Message Keys in Template Files (ADP Files)

        Internationalizing templates is about replacing human readable text in a certain language with internal message keys, which can then be dynamically replaced with real human language in @@ -161,7 +161,7 @@ Use the *_pretty version in your ADP page.

        To internationalize numbers, use lc_numeric $value, which formats the number using the appropriate decimal point and thousand separator for the locale. -

        Internationalizing Forms

        When coding forms, remember to use message keys for each piece of text that is user-visible, including form option labels and button labels.

        Internationalizing Existing Packages

        Internationalize Message text in ADP and TCL

        Acs-lang includes tools to automate some +

        Internationalizing Forms

        When coding forms, remember to use message keys for each piece of text that is user-visible, including form option labels and button labels.

        Internationalizing Existing Packages

        Internationalize Message text in ADP and TCL

        Acs-lang includes tools to automate some internationalization. From /acs-admin/apm/, select a package and then click on @@ -250,9 +250,9 @@ with the appropriate notation for the type of file, and store the text in the message catalog. You need to run the process twice, once for ADP files, and once for Tcl files. -

        Internationalize Package Parameters with visible messages

        +

        Internationalize Package Parameters with visible messages

        See Multilingual APM Parameters -

        Internationalize Date and Time queries

        1. Find datetime in .xql files. Use command line tools to find suspect SQL code:

          grep -r "to_char.*H" *
          +    

        Internationalize Date and Time queries

        1. Find datetime in .xql files. Use command line tools to find suspect SQL code:

          grep -r "to_char.*H" *
           grep -r "to_date.*H" *
           
        2. In SQL statements, replace the format string with the ANSI standard format, YYYY-MM-DD HH24:MI:SS and change the field name to *_ansi so that it cannot be confused with previous, improperly formatting fields. For example,

          to_char(timestamp,'MM/DD/YYYY HH:MI:SS') as foo_date_pretty

          becomes

          to_char(timestamp,'YYYY-MM-DD HH24:MI:SS') as foo_date_ansi
        3. In TCL files where the date fields are used, convert the datetime from local server timezone, which is how it's stored in the database, to the user's timezone for display. Do this with the localizing function lc_time_system_to_conn:

           set foo_date_ansi [lc_time_system_to_conn $foo_date_ansi]

          When a datetime will be written to the database, first convert it from the user's local time to the server's timezone with lc_time_conn_to_system. Index: openacs-4/packages/acs-core-docs/www/index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.html,v diff -u -r1.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/index.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/index.html 16 Dec 2003 13:58:41 -0000 1.22.2.5 @@ -1 +1 @@ -OpenACS Core Documentation

          OpenACS Core Documentation


          Table of Contents

          I. OpenACS For Everyone
          1. High level information: What is OpenACS?
          Overview
          OpenACS Release Notes
          II. Administrator's Guide
          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 3.3oacs1
          Install AOLserver 4
          Install OpenACS 5.0.0b4
          OpenACS Installation Guide for Windows2000
          OpenACS Installation Guide for Mac OS X
          4. Configuring a New Service
          5. Upgrading
          Upgrading
          6. Maintenance
          Hosting Web Sites
          Database Management
          Backup and 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.
          C. Credits
          Where did this document come from?
          Linux Install Guides
          Security Information
          Resources
          III. For OpenACS Package Developers
          7. Development Tutorial
          Creating a Package
          Setting Up Database Objects
          Creating Web Pages
          Debugging and Automated Testing
          Advanced Topics
          8. 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
          9. Engineering Standards
          OpenACS Style Guide
          Release Version Numbering
          Constraint naming standard
          ACS File Naming and Formatting Standards
          PL/SQL Standards
          Variables
          Automated Testing
          10. Documentation Standards
          OpenACS Documentation Guide
          Using PSGML mode in Emacs
          Using nXML mode in Emacs
          Detailed Design Documentation Template
          System/Application Requirements Template
          D. Using CVS with an OpenACS Site
          E. How to package and release OpenACS
          IV. For OpenACS Platform Developers
          11. 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
          Internationalization
          Security Requirements
          Security Design
          Security Notes
          Request Processor Requirements
          Request Processor Design
          Documenting Tcl Files: Page Contracts and Libraries
          Bootstrapping OpenACS
          External Authentication Requirements
          Index
          View comments on this page at openacs.org
          +OpenACS Core Documentation

          OpenACS Core Documentation


          Table of Contents

          I. OpenACS For Everyone
          1. High level information: What is OpenACS?
          Overview
          OpenACS Release Notes
          II. Administrator's Guide
          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 3.3oacs1
          Install AOLserver 4
          Install OpenACS 5.0.0b4
          OpenACS Installation Guide for Windows2000
          OpenACS Installation Guide for Mac OS X
          4. Configuring a New Service
          5. Upgrading
          Overview
          Upgrading OpenACS
          Upgrading the OpenACS files
          Upgrading Platform components
          6. Maintenance
          Hosting Web Sites
          Database Management
          Backup and 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.
          C. Credits
          Where did this document come from?
          Linux Install Guides
          Security Information
          Resources
          III. For OpenACS Package Developers
          7. Development Tutorial
          Creating a Package
          Setting Up Database Objects
          Creating Web Pages
          Debugging and Automated Testing
          Advanced Topics
          8. 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
          9. Engineering Standards
          OpenACS Style Guide
          Release Version Numbering
          Constraint naming standard
          ACS File Naming and Formatting Standards
          PL/SQL Standards
          Variables
          Automated Testing
          10. Documentation Standards
          OpenACS Documentation Guide
          Using PSGML mode in Emacs
          Using nXML mode in Emacs
          Detailed Design Documentation Template
          System/Application Requirements Template
          D. Using CVS with an OpenACS Site
          E. How to package and release OpenACS
          IV. For OpenACS Platform Developers
          11. 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
          Internationalization
          Security Requirements
          Security Design
          Security Notes
          Request Processor Requirements
          Request Processor Design
          Documenting Tcl Files: Page Contracts and Libraries
          Bootstrapping OpenACS
          External Authentication Requirements
          Index
          View comments on this page at openacs.org
          Index: openacs-4/packages/acs-core-docs/www/individual-programs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/individual-programs.html,v diff -u -r1.13.2.2 -r1.13.2.3 --- openacs-4/packages/acs-core-docs/www/individual-programs.html 8 Dec 2003 15:41:17 -0000 1.13.2.2 +++ openacs-4/packages/acs-core-docs/www/individual-programs.html 16 Dec 2003 13:58:41 -0000 1.13.2.3 @@ -1,4 +1,4 @@ -Prerequisite Software

          Prerequisite Software

          by Joel Aufrecht

          +Prerequisite Software

          Prerequisite Software

          by Joel Aufrecht

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

          Index: openacs-4/packages/acs-core-docs/www/install-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-cvs.html,v diff -u -r1.12.2.4 -r1.12.2.5 --- openacs-4/packages/acs-core-docs/www/install-cvs.html 15 Dec 2003 15:03:47 -0000 1.12.2.4 +++ openacs-4/packages/acs-core-docs/www/install-cvs.html 16 Dec 2003 13:58:41 -0000 1.12.2.5 @@ -1,4 +1,4 @@ -Initialize CVS (OPTIONAL)

          Initialize CVS (OPTIONAL)

          CVS is a source control system. Create and initialize a +Initialize CVS (OPTIONAL)

          Initialize CVS (OPTIONAL)

          CVS is a source control system. Create and initialize a directory for a local cvs repository.

          [root tmp]# mkdir /cvsroot
           [root tmp]# cvs -d /cvsroot init
           [root tmp]#
          Index: openacs-4/packages/acs-core-docs/www/install-daemontools.html
          ===================================================================
          RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.html,v
          diff -u -r1.13.2.4 -r1.13.2.5
          --- openacs-4/packages/acs-core-docs/www/install-daemontools.html	15 Dec 2003 15:03:47 -0000	1.13.2.4
          +++ openacs-4/packages/acs-core-docs/www/install-daemontools.html	16 Dec 2003 13:58:41 -0000	1.13.2.5
          @@ -1,9 +1,9 @@
          -Install Daemontools (OPTIONAL)

          Install Daemontools (OPTIONAL)

          Daemontools is a collection of programs for controlling +Install Daemontools (OPTIONAL)

          Install Daemontools (OPTIONAL)

          Daemontools is a collection of programs for controlling other processes. We use daemontools to run and monitor AOLserver. It is installed in /package. These commands install daemontools and svgroup. svgroup is a script for granting permissions, to allow users other than root to use daemontools for specific - services.

          1. Install Daemontools

            download daemontools and install it.

            • Red Hat 8

              [root root]# mkdir -p /package
              +      services.

              1. Install Daemontools

                download daemontools and install it.

                • Red Hat 8

                  [root root]# mkdir -p /package
                   [root root]# chmod 1755 /package/
                   [root root]# cd /package/
                   [root package]# tar xzf /tmp/daemontools-0.76.tar.gz
                  Index: openacs-4/packages/acs-core-docs/www/install-full-text-search.html
                  ===================================================================
                  RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/install-full-text-search.html,v
                  diff -u -r1.11.2.4 -r1.11.2.5
                  --- openacs-4/packages/acs-core-docs/www/install-full-text-search.html	15 Dec 2003 15:03:47 -0000	1.11.2.4
                  +++ openacs-4/packages/acs-core-docs/www/install-full-text-search.html	16 Dec 2003 13:58:41 -0000	1.11.2.5
                  @@ -1,4 +1,4 @@
                  -Install Full Text Search

                  Install Full Text Search

                  Install OpenFTS module

                  If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and +Install Full Text Search

                  Install Full Text Search

                  Install OpenFTS module

                  If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and AOLserver. You will need the openfts tarball in /tmp.

                  1. Install Tsearch. This is a PostgreSQL module that OpenFTS requires.

                    [root root]# su - postgres
                    @@ -73,7 +73,7 @@
                     make
                     su postgres
                     make install
                    -exit

                  Install OpenFTS prerequisites in PostgreSQL instance

                  If you are installing Full Text Search, add required +exit

            Install OpenFTS prerequisites in PostgreSQL instance

            If you are installing Full Text Search, add required packages to the new database. (In order for full text search to work, you must also install the PostgreSQL OpenFTS module and prerequisites.)

            [service0 service0]$ /usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.2.4/contrib/tsearch/tsearch.sql
            Index: openacs-4/packages/acs-core-docs/www/install-more-software.html
            ===================================================================
            RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-more-software.html,v
            diff -u -r1.6.2.2 -r1.6.2.3
            --- openacs-4/packages/acs-core-docs/www/install-more-software.html	8 Dec 2003 15:41:17 -0000	1.6.2.2
            +++ openacs-4/packages/acs-core-docs/www/install-more-software.html	16 Dec 2003 13:58:41 -0000	1.6.2.3
            @@ -1,4 +1,4 @@
            -Appendix�B.�Install additional supporting software

            Appendix�B.�Install additional supporting software

            By Joel Aufrecht

            +Appendix�B.�Install additional supporting software

            Appendix�B.�Install additional supporting software

            By Joel Aufrecht

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

            This section assumes that the source tarballs for supporting Index: openacs-4/packages/acs-core-docs/www/install-nsopenssl.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nsopenssl.html,v diff -u -r1.7.2.3 -r1.7.2.4 --- openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 15 Dec 2003 15:03:47 -0000 1.7.2.3 +++ openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 16 Dec 2003 13:58:41 -0000 1.7.2.4 @@ -1,4 +1,4 @@ -Install nsopenssl

            Install nsopenssl

            This AOLserver module is required if you want people to connect to your site via +Install nsopenssl

            Install nsopenssl

            This AOLserver module is required if you want people to connect to your site via https. These commands compile nsopenssl and install it, along with a tcl helper script to handle https connections. You will also need ssl certificates. Because those should Index: openacs-4/packages/acs-core-docs/www/install-nspam.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nspam.html,v diff -u -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-core-docs/www/install-nspam.html 8 Dec 2003 15:41:17 -0000 1.2.2.2 +++ openacs-4/packages/acs-core-docs/www/install-nspam.html 16 Dec 2003 13:58:41 -0000 1.2.2.3 @@ -1 +1 @@ -Install nspam

            View comments on this page at openacs.org
            +Install nspam
            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.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-core-docs/www/install-origins.html 8 Dec 2003 15:41:17 -0000 1.2.2.2 +++ openacs-4/packages/acs-core-docs/www/install-origins.html 16 Dec 2003 13:58:41 -0000 1.2.2.3 @@ -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.18.2.2 -r1.18.2.3 --- openacs-4/packages/acs-core-docs/www/install-overview.html 8 Dec 2003 15:41:17 -0000 1.18.2.2 +++ openacs-4/packages/acs-core-docs/www/install-overview.html 16 Dec 2003 13:58:41 -0000 1.18.2.3 @@ -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
            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.13.2.4 -r1.13.2.5 --- openacs-4/packages/acs-core-docs/www/install-qmail.html 15 Dec 2003 15:03:47 -0000 1.13.2.4 +++ openacs-4/packages/acs-core-docs/www/install-qmail.html 16 Dec 2003 13:58:41 -0000 1.13.2.5 @@ -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 @@ -43,7 +43,7 @@ send outgoing mail.

          [root ucspi-tcp-0.88]# cp /tmp/openacs-5.0.0b4/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.0.0b4/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp 
          -tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 
        4. Install Qmail.�

          Download qmail, +tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

        5. 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,7 +124,7 @@
           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.0.0b4/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc
           [root alias]# chmod 755 /var/qmail/rc
          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.13.2.4 -r1.13.2.5
          --- openacs-4/packages/acs-core-docs/www/install-redhat.html	15 Dec 2003 15:03:47 -0000	1.13.2.4
          +++ openacs-4/packages/acs-core-docs/www/install-redhat.html	16 Dec 2003 13:58:41 -0000	1.13.2.5
          @@ -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

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

        7. Click Next on the boot loader screen

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

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

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

      5. Choose your time zone and click Next.

      6. Type in a root password, twice.

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

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

      9. 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
      10. 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
      11. 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.

      12. 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 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.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-core-docs/www/install-resources.html 8 Dec 2003 15:41:17 -0000 1.2.2.2 +++ openacs-4/packages/acs-core-docs/www/install-resources.html 16 Dec 2003 13:58:41 -0000 1.2.2.3 @@ -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-steps.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.html,v diff -u -r1.6.2.4 -r1.6.2.5 --- openacs-4/packages/acs-core-docs/www/install-steps.html 15 Dec 2003 15:03:47 -0000 1.6.2.4 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 16 Dec 2003 13:58:41 -0000 1.6.2.5 @@ -1,4 +1,4 @@ -Basic Steps

            Basic Steps

            +Basic Steps

            Basic Steps

            The basic steps for getting OpenACS installed 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).

            2. Install a database (see Install Oracle or Install PostgreSQL).

            3. Install AOLserver (see Install AOLserver 3.3oacs1).

            4. Create a unique database and system user. @@ -41,7 +41,7 @@ su - nsadmin svc -d /service/server1 dropdb server1 -createdb server1

          Paths and Users

          Table�2.2.�Default directories for a standard install

          Fully qualified domain name of your serveryourserver.test
          name of administrative access accountremadmin
          OpenACS serviceservice0
          OpenACS service accountservice0
          OpenACS database nameservice0
          Root of OpenACS service file tree (SERVERROOT)/var/lib/aolserver/service0
          Location of source code tarballs for new software/tmp
          The OpenACS tarball contains some files which +createdb server1

          Paths and Users

          Table�2.2.�Default directories for a standard install

          Fully qualified domain name of your serveryourserver.test
          name of administrative access accountremadmin
          OpenACS serviceservice0
          OpenACS service accountservice0
          OpenACS database nameservice0
          Root of OpenACS service file tree (SERVERROOT)/var/lib/aolserver/service0
          Location of source code tarballs for new software/tmp
          The OpenACS tarball contains some files which are useful while setting up other software. Those files are located at:/tmp/openacs-5.0.0b4/packages/acs-core-docs/www/files
          Database backup directory/var/lib/aolserver/service0/database-backup
          Service config files/var/lib/aolserver/service0/etc
          Service log files/var/lib/aolserver/service0/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 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.3.2.3 -r1.3.2.4 --- openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 15 Dec 2003 15:03:47 -0000 1.3.2.3 +++ openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 16 Dec 2003 13:58:41 -0000 1.3.2.4 @@ -1,4 +1,4 @@ -Install tclwebtest.

          Install tclwebtest.

          Download the tclwebtest +Install tclwebtest.

          Install tclwebtest.

          Download the tclwebtest source, unpack it, and put it an appropriate place. As root:

          cd /tmp
           tar xvzf tclwebtest-0.3.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.1.4.3 -r1.1.4.4
          --- openacs-4/packages/acs-core-docs/www/ix01.html	15 Dec 2003 15:03:47 -0000	1.1.4.3
          +++ openacs-4/packages/acs-core-docs/www/ix01.html	16 Dec 2003 13:58:41 -0000	1.1.4.4
          @@ -1,2 +1,2 @@
          -Index

          Index

          A

          AOLserver
          configuration, Install from tarball
          Automated tests, Write automated tests

          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, 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
          Linux/Unix, Upgrading 4.5 to 4.6

          X

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

          Index

          A

          AOLserver
          configuration, Install from tarball
          Automated tests, Write automated tests

          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, 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 to 4.6.x

          X

          XML guidelines, Why DocBook?
          xref
          linkend, Links
          xreflabel, Headlines, Sections
          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.17.2.2 -r1.17.2.3 --- openacs-4/packages/acs-core-docs/www/kernel-doc.html 8 Dec 2003 15:41:17 -0000 1.17.2.2 +++ openacs-4/packages/acs-core-docs/www/kernel-doc.html 16 Dec 2003 13:58:41 -0000 1.17.2.3 @@ -1 +1 @@ -Chapter�11.�Kernel Documentation
          View comments on this page at openacs.org
          +Chapter�11.�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.12.2.2 -r1.12.2.3 --- openacs-4/packages/acs-core-docs/www/kernel-overview.html 8 Dec 2003 15:41:17 -0000 1.12.2.2 +++ openacs-4/packages/acs-core-docs/www/kernel-overview.html 16 Dec 2003 13:58:41 -0000 1.12.2.3 @@ -1,4 +1,4 @@ -Overview

          Overview

          • +Overview

            Overview

            • The OpenACS Kernel, which handles system-wide necessities such as metadata, security, users and groups, subsites, and package 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.17.2.4 -r1.17.2.5 --- openacs-4/packages/acs-core-docs/www/mac-installation.html 15 Dec 2003 15:03:47 -0000 1.17.2.4 +++ openacs-4/packages/acs-core-docs/www/mac-installation.html 16 Dec 2003 13:58:41 -0000 1.17.2.5 @@ -1,2 +1,2 @@ -OpenACS Installation Guide for Mac OS X

              OpenACS Installation Guide for Mac OS X

              There are several resources for installing on OS X.

              • OpenACS on Mac OS X Quickstart

              • An +OpenACS Installation Guide for Mac OS X

                OpenACS Installation Guide for Mac OS X

                There are several resources for installing on OS X.

                ($Id$)
                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.14.2.4 -r1.14.2.5 --- openacs-4/packages/acs-core-docs/www/maintenance-web.html 15 Dec 2003 15:03:47 -0000 1.14.2.4 +++ openacs-4/packages/acs-core-docs/www/maintenance-web.html 16 Dec 2003 13:58:41 -0000 1.14.2.5 @@ -1,4 +1,4 @@ -Hosting Web Sites

                Hosting Web Sites

                By Joel Aufrecht

                +Hosting Web Sites

                Hosting Web Sites

                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.

                Keep AOLserver Alive

                Assuming AOLserver started cleanly in the previous step, we'll set it up so that it's always running, and automatically restarts whenever it dies or is stopped. This step is strongly recommended, even for development sites, because it makes install and maintenance much simpler.

                The Reference Platform uses Daemontools to control AOLserver. A simpler method, using init, is here.

                1. Daemontools must already be installed. If not, install it.

                2. Each service controlled by daemontools must have a Index: openacs-4/packages/acs-core-docs/www/maintenance.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/maintenance.html,v diff -u -r1.8.2.2 -r1.8.2.3 --- openacs-4/packages/acs-core-docs/www/maintenance.html 8 Dec 2003 15:41:17 -0000 1.8.2.2 +++ openacs-4/packages/acs-core-docs/www/maintenance.html 16 Dec 2003 13:58:41 -0000 1.8.2.3 @@ -1 +1 @@ -Chapter�6.�Maintenance

                  Chapter�6.�Maintenance

                  View comments on this page at openacs.org
                  +Chapter�6.�Maintenance

                  Chapter�6.�Maintenance

                  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.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/nxml-mode.html 8 Dec 2003 16:35:08 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/nxml-mode.html 16 Dec 2003 13:58:41 -0000 1.1.2.2 @@ -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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/object-identity.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/object-identity.html 16 Dec 2003 13:58:41 -0000 1.22.2.5 @@ -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.0.0b4 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.16.2.2 -r1.16.2.3 --- openacs-4/packages/acs-core-docs/www/object-system-design.html 8 Dec 2003 15:41:17 -0000 1.16.2.2 +++ openacs-4/packages/acs-core-docs/www/object-system-design.html 16 Dec 2003 13:58:42 -0000 1.16.2.3 @@ -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.15.2.2 -r1.15.2.3 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 8 Dec 2003 15:41:18 -0000 1.15.2.2 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 16 Dec 2003 13:58:42 -0000 1.15.2.3 @@ -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.23.2.4 -r1.23.2.5 --- openacs-4/packages/acs-core-docs/www/objects.html 15 Dec 2003 15:03:47 -0000 1.23.2.4 +++ openacs-4/packages/acs-core-docs/www/objects.html 16 Dec 2003 13:58:42 -0000 1.23.2.5 @@ -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 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.13.2.2 -r1.13.2.3 --- openacs-4/packages/acs-core-docs/www/openacs-overview.html 8 Dec 2003 15:41:18 -0000 1.13.2.2 +++ openacs-4/packages/acs-core-docs/www/openacs-overview.html 16 Dec 2003 13:58:42 -0000 1.13.2.3 @@ -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.8.2.3 -r1.8.2.4 --- openacs-4/packages/acs-core-docs/www/openacs-unpack.html 15 Dec 2003 15:03:47 -0000 1.8.2.3 +++ openacs-4/packages/acs-core-docs/www/openacs-unpack.html 16 Dec 2003 13:58:42 -0000 1.8.2.4 @@ -1,4 +1,4 @@ -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
                     [root tmp]# tar xzf openacs-5.0.0b4.tgz
                    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.22.2.4 -r1.22.2.5
                    --- openacs-4/packages/acs-core-docs/www/openacs.html	15 Dec 2003 15:03:47 -0000	1.22.2.4
                    +++ openacs-4/packages/acs-core-docs/www/openacs.html	16 Dec 2003 13:58:42 -0000	1.22.2.5
                    @@ -1,4 +1,4 @@
                    -Install OpenACS 5.0.0b4

                    Install OpenACS 5.0.0b4

                    by Vinod Kurup

                    +Install OpenACS 5.0.0b4

                    Install OpenACS 5.0.0b4

                    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, @@ -81,7 +81,6 @@ drwx------ 7 service0 web 1024 Jan 6 14:36 service0 [service0 aolserver]$ exit logout - [root root]# su - service0 cd /var/lib/aolserver @@ -96,23 +95,20 @@ Verify membership by typing groups when you login: -

                    -service0:~$ groups
                    +		  

                    [service0 ~]$ groups
                     dba web

                    If you do not see these groups, take the following action: -

                    -service0:~$ su -      
                    +		  

                    [service0 ~]$ su -
                     Password: ************
                    -[root ~]# adduser service0 dba

                    +[root ~]# adduser service0 dba

                    If you get an error about an undefined group, then add that group manually: -

                    -[root ~]# groupadd dba
                    -[root ~]# groupadd web

                    +

                    [root ~]# groupadd dba
                    +[root ~]# groupadd web

                    Make sure to logout as root when you are finished with this step and log back in as @@ -121,20 +117,15 @@ Connect to Oracle using svrmgrl and login: -

                    -service0:~$ svrmgrl
                    -
                    -SVRMGR> connect internal
                    +		  

                    [service0 ~]$ svrmgrl
                    +SVRMGR> connect internal
                     Connected.

                  • Determine where the system tablespaces are stored: -

                    -SVRMGR>  select file_name from dba_data_files;

                    +

                    SVRMGR> select file_name from dba_data_files;

                    Example results: - -

                    -/ora8/m01/app/oracle/oradata/ora8/system01.dbf
                    +		  

                    /ora8/m01/app/oracle/oradata/ora8/system01.dbf
                     /ora8/m01/app/oracle/oradata/ora8/tools01.dbf
                     /ora8/m01/app/oracle/oradata/ora8/rbs01.dbf
                     /ora8/m01/app/oracle/oradata/ora8/temp01.dbf
                    @@ -159,14 +150,14 @@
                     		  Create the directory for the datafile; to do this,
                     		  exit from svrmgrl and login as
                     		  root for this step: 

                    -SVRMGR> exit
                    -service0:~$ su -
                    +SVRMGR> exit
                    +[service0 ~]$ su -
                     Password: ************
                    -[root ~]# mkdir -p /ora8/m02/oradata/ora8/
                    -[root ~]# chown service0.web /ora8/m02/oradata/ora8
                    -[root ~]# chmod 775 /ora8/m02/oradata/ora8
                    -[root ~]# exit
                    -service0:~$
                  • +[root ~]# mkdir -p /ora8/m02/oradata/ora8/ +[root ~]# chown service0:web /ora8/m02/oradata/ora8 +[root ~]# chmod 775 /ora8/m02/oradata/ora8 +[root ~]# exit +[service0 ~]$

        2. Create a tablespace for the service. It is important that the tablespace can autoextend. This @@ -177,47 +168,43 @@ Oracle's ability to automatically coalesce free space in the tablespace. -

          -service0:~$ svrmgrl
          -
          -SVRMGR> connect internal;
          -SVRMGR> create tablespace service0 
          -             datafile '/ora8/m02/oradata/ora8/service001.dbf' 
          -             size 50M 
          -             autoextend on 
          -             next 10M
          -             maxsize 300M
          -             extent management local
          -             uniform size 32K;
        3. +

          [service0 ~]$ svrmgrl
          +SVRMGR> connect internal;
          +SVRMGR> create tablespace service0
          +      datafile '/ora8/m02/oradata/ora8/service001.dbf' 
          +      size 50M 
          +      autoextend on 
          +      next 10M
          +      maxsize 300M
          +      extent management local
          +      uniform size 32K;
        4. Create a database user for this service. Give the user access to the tablespace and rights to connect. We'll use - service0password as our password.

          - Write down what you specify as service_name - (i.e. service0) and - database_password - (i.e. service0password). You - will need this information for configuring exports and - AOLserver. + service0password as our password.

          + Write down what you specify as + service_name + (i.e. service0) + and database_password + (i.e. service0password). You + will need this information for configuring exports + and AOLserver.

          -SVRMGR> create user service0 identified by service0password default tablespace service0
          -temporary tablespace temp quota unlimited on service0;
          -SVRMGR> grant connect, resource, ctxapp, javasyspriv, query rewrite to service0;
          -SVRMGR> revoke unlimited tablespace from service0;
          -SVRMGR> alter user service0 quota unlimited on service0;
          -SVRMGR> exit;

          +SVRMGR> create user service0 identified by service0password default tablespace service0 + temporary tablespace temp quota unlimited on service0; +SVRMGR> grant connect, resource, ctxapp, javasyspriv, query rewrite to service0; +SVRMGR> revoke unlimited tablespace from service0; +SVRMGR> alter user service0 quota unlimited on service0; +SVRMGR> exit;

          Your table space is now ready. In case you are trying to delete a previous OpenACS installation, consult these commands in the section called “Deleting a tablespace” below.

        5. Make sure that you can login to Oracle using your - service_name account:

          -service0:~$ sqlplus service0/service0password
          -SQL> select sysdate from dual;
          -
          +        service_name account: 

          [service0 ~]$ sqlplus service0/service0password
          +SQL> select sysdate from dual;
           SYSDATE
           ----------
           2001-12-20
          -
          -SQL> exit

          +SQL> exit;

          You should see today's date in a format 'YYYY-MM-DD.' If you can't login, try redoing step 1 again. If the date is in the wrong format, make sure you followed the steps outlined in @@ -228,24 +215,20 @@ CREATE USER [postgres pgsql]$ exit logout - [root root]#

        6. Create a database with the same name as our service name, service0.

          [root root]# su - service0
           [service0 service0]$ createdb -E UNICODE service0
           CREATE DATABASE
           [service0 service0]$
           su - service0
          -createdb -E UNICODE service0
        7. 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.

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

          Add this line to the file. 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.

          0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0
          -0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0
        8. Add Full Text Search Support (OPTIONAL)

        9. [service0 service0]$ exit
          -logout
          -
          -[root root]# 
        10. Configure an AOLserver Service for OpenACS.�

          1. +createdb -E UNICODE service0

          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.

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

            Add this line to the file. 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.

            0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0
            +0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0
          3. Add Full Text Search Support (OPTIONAL)

          4. At this point the database should be ready for installing OpenACS.

        11. Configure an AOLserver Service for OpenACS.�

          1. The AOLserver architecture lets you run an arbitrary number of virtual servers. A virtual server is an HTTP service running on a specific port, e.g. port 80. In order for OpenACS to work, you need to configure a virtual server. The Reference Platform uses a configuration file included in the OpenACS tarball, /var/lib/aolserver/service0/etc/config.tcl. - Open it in an editor to adjust the parameters.

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

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

            @@ -394,16 +377,15 @@ service0 and checking the paths.

            [service0 service0]$ exit
             logout
             [root src]# su - service0
            -[postgres pgsql]$ env | grep PATH
            +[service0 ~]$ env
             
            • For PostgreSQL, you should see:

              -LD_LIBRARY_PATH=LD_LIBRARY_PATH=:/usr/local/pgsql/lib
              -PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/usr/local/pgsql/bin:/usr/local/pgsql/bin
            • For Oracle:

              ORACLE_BASE=/ora8/m01/app/oracle
              +LD_LIBRARY_PATH=:/usr/local/pgsql/lib
              +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:\
              +  /root/bin:/usr/local/pgsql/bin:/usr/local/pgsql/bin
            • For Oracle:

              ORACLE_BASE=/ora8/m01/app/oracle
               ORACLE_HOME=/ora8/m01/app/oracle/product/8.1.7
              -PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/ora8/m01/app/oracle/product/8.1.7/bin
              +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:\
              +  /root/bin:/ora8/m01/app/oracle/product/8.1.7/bin
               LD_LIBRARY_PATH=/ora8/m01/app/oracle/product/8.1.7/lib:/lib:/usr/lib
               ORACLE_SID=ora8
               ORACLE_TERM=vt100
              -ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
            [service0 service0]$ exit
            -logout
            -
            -[root root]#
          2. Test your backup and recovery procedure.

          3. Set up the section called “External uptime validation”.

          ($Id$)
          View comments on this page at openacs.org
          +ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
        12. Test your backup and recovery procedure.

        13. Set up the section called “External uptime validation”.

        14. ($Id$)
          View comments on this page at openacs.org
          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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/oracle.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/oracle.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 @@ -1,10 +1,10 @@ -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.

          Note

          Skip this section if you're not interested in Oracle.

          - OpenACS 5.0.0b4 does not yet work with Oracle 9i + OpenACS 5.0.0b4 will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues.

          This document assumes that you'll be installing Oracle on the same 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.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-core-docs/www/os-install.html 8 Dec 2003 15:41:18 -0000 1.2.2.2 +++ openacs-4/packages/acs-core-docs/www/os-install.html 16 Dec 2003 13:58:42 -0000 1.2.2.3 @@ -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.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-core-docs/www/os-security.html 8 Dec 2003 15:41:18 -0000 1.2.2.2 +++ openacs-4/packages/acs-core-docs/www/os-security.html 16 Dec 2003 13:58:42 -0000 1.2.2.3 @@ -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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/packages.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/packages.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 @@ -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

            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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/parties.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/parties.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 @@ -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.15.2.2 -r1.15.2.3 --- openacs-4/packages/acs-core-docs/www/permissions-design.html 8 Dec 2003 15:41:18 -0000 1.15.2.2 +++ openacs-4/packages/acs-core-docs/www/permissions-design.html 16 Dec 2003 13:58:42 -0000 1.15.2.3 @@ -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.15.2.2 -r1.15.2.3 --- openacs-4/packages/acs-core-docs/www/permissions-requirements.html 8 Dec 2003 15:41:18 -0000 1.15.2.2 +++ openacs-4/packages/acs-core-docs/www/permissions-requirements.html 16 Dec 2003 13:58:42 -0000 1.15.2.3 @@ -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.16.2.4 -r1.16.2.5 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 15 Dec 2003 15:03:47 -0000 1.16.2.4 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 16 Dec 2003 13:58:42 -0000 1.16.2.5 @@ -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�8.1.�Context Hierarchy Example

              A

              +

              Table�8.1.�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�8.2.�acs_objects example data

              object_idcontext_id
              2010
              3010
              4020
              5020
              6030

              +

              Table�8.2.�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, 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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/permissions.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/permissions.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 @@ -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

              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.21.2.4 -r1.21.2.5 --- openacs-4/packages/acs-core-docs/www/postgres.html 15 Dec 2003 15:03:47 -0000 1.21.2.4 +++ openacs-4/packages/acs-core-docs/www/postgres.html 16 Dec 2003 13:58:42 -0000 1.21.2.5 @@ -1,4 +1,4 @@ -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.0.0b4 will run with PostgreSQL 7.2.x, 7.3.2, @@ -67,7 +67,7 @@ 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. + Unicode support, add the flags --enable-locale and --enable-multibyte. If you want to see what the other possibilities are, run ./configure --help.

              [root src]# su - postgres
               [postgres pgsql]$ cd /usr/local/src/postgresql-7.3.4
               [postgres postgresql-7.3.4]$ ./configure
              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.22.2.4 -r1.22.2.5
              --- openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html	15 Dec 2003 15:03:47 -0000	1.22.2.4
              +++ openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html	16 Dec 2003 13:58:42 -0000	1.22.2.5
              @@ -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.13.2.4 -r1.13.2.5 --- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 15 Dec 2003 15:03:47 -0000 1.13.2.4 +++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 16 Dec 2003 13:58:42 -0000 1.13.2.5 @@ -1,4 +1,4 @@ -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 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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/psgml-mode.html 15 Dec 2003 15:03:47 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/psgml-mode.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 @@ -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.

              What it is

              PSGML Mode is a mode for editing, umm, SGML and XML documents in emacs. It 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.26.2.5 -r1.26.2.6 --- openacs-4/packages/acs-core-docs/www/release-notes.html 15 Dec 2003 15:03:48 -0000 1.26.2.5 +++ openacs-4/packages/acs-core-docs/www/release-notes.html 16 Dec 2003 13:58:42 -0000 1.26.2.6 @@ -1,4 +1,4 @@ -OpenACS Release Notes

              OpenACS Release Notes

              Version 5.0.0 beta

              +OpenACS Release Notes

              OpenACS Release Notes

              Version 5.0.0 beta

              This is the second beta release of OpenACS 5.0.0 (tagged as oacs-5-0-0b4). This release may still have a number of serious bugs, and is not suitable for production systems. It has passed several release criteria, @@ -17,7 +17,7 @@ project.

              After installation, the full documentation set can be found by visiting - http://[your-host]/doc. + http://yourserver/doc.

              New features in this release:

              • @@ -87,10 +87,17 @@

              Potential incompatibilities:

              • - The undocumented special handling of ~ and +variable+ in formtemplates has been removed in favor of - using <noparse> and \@variable\@ (the standard templating mechanisms). Locally - provided formtemplate styles still using these mechanisms will break. + With the release of OpenACS 5, PostgreSQL 7.2 is no longer supported. + Upgrades are supported from OpenACS 4.6.3 under Oracle or + PostgreSQL 7.3. +

              • + The undocumented special handling of ~ and +variable+ in + formtemplates, found in packages/acs-templating/resources/*, + has been removed in favor of using <noparse> and + \@variable\@ (the standard templating mechanisms). Locally + provided formtemplate styles still using these mechanisms + will break.

              • 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$)
              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.6.2.3 -r1.6.2.4 --- openacs-4/packages/acs-core-docs/www/releasing-openacs.html 15 Dec 2003 15:03:48 -0000 1.6.2.3 +++ openacs-4/packages/acs-core-docs/www/releasing-openacs.html 16 Dec 2003 13:58:42 -0000 1.6.2.4 @@ -1,4 +1,4 @@ -Appendix�E.�How to package and release OpenACS

              Appendix�E.�How to package and release OpenACS

              1. Update documentation version numbers:

                1. Update /packages/acs-core-docs/www/xml/variables.ent with the new version number and regenerate all HTML docs +Appendix�E.�How to package and release OpenACS

                  Appendix�E.�How to package and release OpenACS

                  1. Update documentation version numbers:

                    1. Update /packages/acs-core-docs/www/xml/variables.ent with the new version number and regenerate all HTML docs

                    2. Update /readme.txt with the new version number

                    3. Commit changes

                  2. Check out the whole cvs tree. The files must be checked @@ -45,85 +45,4 @@

            • Test the new tarball

            • Update openacs.org frontpage, bug-tracker versions, project page, etc.

            • Clean up after yourself.

              cd /var/tmp
               rm -rf tarball dotlrn-tarball dotlrn-packages openacs-5.0.0a1
            • Here is a shell script that automates this whole process... -

              #!/bin/bash
              -
              -# if TAG=1 create the cvs tags otherwise assume they exist.
              -TAG=1
              -
              -# What release version are we building; version format should be
              -# dashes rather than dots eg. OACS_VERSION=5-0-0b4
              -
              -OACS_VERSION=5-0-0b4
              -DOTLRN_VERSION=2-0-0b4
              -
              -OACS_BRANCH=oacs-5-0
              -DOTLRN_BRANCH=dotlrn-2-0
              -
              -DOTLRN_CVSROOT=/dotlrn-cvsroot
              -OACS_CVSROOT=/cvsroot
              -
              -#
              -# Nothing below here should need to change...
              -#
              -BASE=/var/tmp/release-$OACS_VERSION
              -mkdir $BASE
              -if [ ! -d $BASE ]; then 
              -    echo "Failed creating base dir $BASE"
              -    exit 1
              -fi
              -
              -cd $BASE 
              -
              -if [ $TAG -eq 1 ]; then 
              -
              -    # Checkout and tag the release 
              -    cvs -d $OACS_CVSROOT checkout -r $OACS_BRANCH openacs-4
              -    cd openacs-4 
              -    cvs tag -F openacs-$OACS_VERSION 
              -    cd ../
              -
              -
              -    # Checkout and tag the dotlrn release
              -    mkdir dotlrn-packages
              -    cd dotlrn-packages
              -    cvs -d $DOTLRN_CVSROOT checkout -r $DOTLRN_BRANCH dotlrn-all
              -    for dir in *; do ( cd $dir && cvs tag -F dotlrn-$DOTLRN_VERSION ); done
              -    cd ../
              -
              -    #
              -    # Should check for .sql .xql .adp .tcl .html .xml executable files and squak if found.
              -    #
              -
              -fi
              -
              -
              -
              -# Generate tarballs...
              -#
              -
              -# openacs
              -#
              -mkdir tarball
              -cd tarball
              -cvs -d $OACS_CVSROOT export -r openacs-$OACS_VERSION acs-core
              -mv opeancs-4 openacs-${OACS_VERSION//-/.}
              -tar -czf ../openacs-${OACS_VERSION//-/.}.tar.gz openacs-${OACS_VERSION//-/.}
              -cd ..
              -
              -# dotlrn
              -#
              -mkdir dotlrn-tarball
              -cd dotlrn-tarball
              -cvs -d $OACS_CVSROOT export -r openacs-$OACS_VERSION acs-core
              -cd  openacs-4/packages
              -cvs -d $OACS_CVSROOT export -r openacs-$OACS_VERSION dotlrn-prereq
              -cvs -d $DOTLRN_CVSROOT export -r dotlrn-$DOTLRN_VERSION dotlrn-core
              -cd ../..
              -cp -f openacs-4/packages/dotlrn/install.xml openacs-4
              -mv openacs-4 dotlrn-${DOTLRN_VERSION//-/.}
              -tar -czf ../dotlrn-${DOTLRN_VERSION//-/.}.tar.gz dotlrn-${DOTLRN_VERSION//-/.}
              -
              -
              -# Clean up after ourselves...
              -cd $BASE && rm -rf dotlrn-tarball tarball openacs-4 dotlrn-packages
              -
              View comments on this page at openacs.org
              +

              release script missing
              ($Id$)
              View comments on this page at openacs.org
              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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/request-processor.html 15 Dec 2003 15:03:48 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/request-processor.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 @@ -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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/requirements-template.html 15 Dec 2003 15:03:48 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/requirements-template.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 @@ -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

              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.16.2.2 -r1.16.2.3 --- openacs-4/packages/acs-core-docs/www/rp-design.html 8 Dec 2003 15:41:18 -0000 1.16.2.2 +++ openacs-4/packages/acs-core-docs/www/rp-design.html 16 Dec 2003 13:58:42 -0000 1.16.2.3 @@ -1,11 +1,11 @@ -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

              Introduction

              The request processor is the set of procs that responds to every HTTP request made to the OpenACS. The request processor must authenticate the connecting user, and make sure that he is authorized to perform the given 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.14.2.2 -r1.14.2.3 --- openacs-4/packages/acs-core-docs/www/rp-requirements.html 8 Dec 2003 15:41:18 -0000 1.14.2.2 +++ openacs-4/packages/acs-core-docs/www/rp-requirements.html 16 Dec 2003 13:58:42 -0000 1.14.2.3 @@ -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.16.2.2 -r1.16.2.3 --- openacs-4/packages/acs-core-docs/www/security-design.html 8 Dec 2003 15:41:18 -0000 1.16.2.2 +++ openacs-4/packages/acs-core-docs/www/security-design.html 16 Dec 2003 13:58:42 -0000 1.16.2.3 @@ -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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/security-notes.html 15 Dec 2003 15:03:48 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/security-notes.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 @@ -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.15.2.2 -r1.15.2.3 --- openacs-4/packages/acs-core-docs/www/security-requirements.html 8 Dec 2003 15:41:18 -0000 1.15.2.2 +++ openacs-4/packages/acs-core-docs/www/security-requirements.html 16 Dec 2003 13:58:42 -0000 1.15.2.3 @@ -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/style-guide.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/style-guide.html,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/style-guide.html 15 Dec 2003 15:03:48 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/style-guide.html 16 Dec 2003 13:58:42 -0000 1.1.2.4 @@ -1,4 +1,4 @@ -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 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.16.2.2 -r1.16.2.3 --- openacs-4/packages/acs-core-docs/www/subsites-design.html 8 Dec 2003 15:41:18 -0000 1.16.2.2 +++ openacs-4/packages/acs-core-docs/www/subsites-design.html 16 Dec 2003 13:58:42 -0000 1.16.2.3 @@ -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.15.2.2 -r1.15.2.3 --- openacs-4/packages/acs-core-docs/www/subsites-requirements.html 8 Dec 2003 15:41:19 -0000 1.15.2.2 +++ openacs-4/packages/acs-core-docs/www/subsites-requirements.html 16 Dec 2003 13:58:42 -0000 1.15.2.3 @@ -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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/subsites.html 15 Dec 2003 15:03:48 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/subsites.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 @@ -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.23.2.4 -r1.23.2.5 --- openacs-4/packages/acs-core-docs/www/tcl-doc.html 15 Dec 2003 15:03:48 -0000 1.23.2.4 +++ openacs-4/packages/acs-core-docs/www/tcl-doc.html 16 Dec 2003 13:58:42 -0000 1.23.2.5 @@ -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.22.2.4 -r1.22.2.5 --- openacs-4/packages/acs-core-docs/www/templates.html 15 Dec 2003 15:03:48 -0000 1.22.2.4 +++ openacs-4/packages/acs-core-docs/www/templates.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 @@ -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-advanced.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-advanced.html,v diff -u -r1.14.2.4 -r1.14.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 15 Dec 2003 15:03:48 -0000 1.14.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 16 Dec 2003 13:58:42 -0000 1.14.2.5 @@ -1,15 +1,15 @@ -Advanced Topics

              Advanced Topics

              Important

              This section is a work in progress.

              by Joel Aufrecht

              +Advanced Topics

              Advanced Topics

              Important

              This section is a work in progress.

              by Joel Aufrecht

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

              Overview

              This tutorial covers topics which are not essential to +

              Overview

              This tutorial covers topics which are not essential to creating a minimal working package. Each section can be used independently of all of the others; all sections assume that you've completed the basic tutorial.

              • 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 make your package send email notifications

              • How to prepare pagelets for inclusion in other pages

              • How and when to put procedures in a tcl procedure library

              • How to add general_comments to your pages

              • More on ad_form - data validation, other stuff. (plan to draw from Jon Griffin's doc)

              • How and when to implement caching

              • partialquery in xql

              • How to use the html/text entry widget to get the - "does this look right" confirm page

              • APM package dependencies

              Write the Requirements and Design Specs

              It's time to document. For the tutorial we'll use + "does this look right" confirm page

            • APM package dependencies

            • Write the Requirements and Design Specs

              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 @@ -59,7 +59,7 @@ Writing bi01.html for bibliography Writing index.html for book [service0 xml]$

              Verify that the documentation was generated and reflects - your changes by browsing to http://yoursite:8000/samplenote/doc

              Add the new package to CVS

              Before you do any more work, make sure that your work is + your changes by browsing to http://yoursite:8000/samplenote/doc

              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 @@ -119,7 +119,7 @@ initial revision: 1.1 done (many lines omitted) -[service0 samplenote]$

              Delete with confirmation

              We need a way to delete records. We'll create a +[service0 samplenote]$

              Delete with confirmation

              We need a way to delete records. We'll create a recursive confirmation page.

              Add this column to the table_def in index.tcl

              {delete "" {} {<td><a href="note-delete?note_id=$note_id">Delete</a></td>}}

              Create the delete confirmation/execution page.

              [service0 www]$ emacs note-delete.tcl
              ad_page_contract {
                   A page that gets confirmation and then delete notes.
               
              @@ -179,7 +179,7 @@
               <formtemplate id="note-del-confirm"></formtemplate>
               </form>

              The ADP is very simple. The 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.

              General_comments

              You can track comments for any ACS Object. Here we'll track +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.

              General_comments

              You can track comments for any ACS Object. Here we'll track comments for notes. On the notes.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 @@ -200,13 +200,13 @@ there are comments. Then you pass the note id, which is also the acs_object id.

              We put our two new variables in the notes.adp page.

              <a href="@comment_add_url@">Add a comment</a>
              -@comments_html@

              Prepare the package for distribution.

              Browse to the package manager. Click on +@comments_html@

              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.

              + /tmp.

              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.14.2.4 -r1.14.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-database.html 15 Dec 2003 15:03:48 -0000 1.14.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-database.html 16 Dec 2003 13:58:42 -0000 1.14.2.5 @@ -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 @@ -36,7 +36,7 @@ @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.

              [service0 postgresql]$ emacs myfirstpackage-create.sql

              Paste this into the file and save and close.

              Figure�7.2.�Database Creation Script - master create file

              --
              +      expanded when the file is checked in to cvs.

              [service0 postgresql]$ emacs myfirstpackage-create.sql

              Paste this into the file and save and close.

              Figure�7.2.�Database Creation Script - master create file

              --
               -- @author rhs@mit.edu
               -- @cvs-id $Id$
               --
              @@ -60,7 +60,7 @@
                   object.  Notice the use of "mfp."  This token, derived from "My
                   First Package," 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.

              [service0 postgresql]$ emacs myfirstpackage-drop.sql

              Figure�7.3.�Database deletion script

              -- packages/myfirstpackage/sql/myfirstpackage-drop.sql
              +        is uninstalled.

              [service0 postgresql]$ emacs myfirstpackage-drop.sql

              Figure�7.3.�Database deletion script

              -- packages/myfirstpackage/sql/myfirstpackage-drop.sql
               -- drop script
               --
               -- @author joel@aufrecht.org
              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.14.2.4 -r1.14.2.5
              --- openacs-4/packages/acs-core-docs/www/tutorial-debug.html	15 Dec 2003 15:03:48 -0000	1.14.2.4
              +++ openacs-4/packages/acs-core-docs/www/tutorial-debug.html	16 Dec 2003 13:58:42 -0000	1.14.2.5
              @@ -1,7 +1,7 @@
              -Debugging and Automated Testing

              Debugging and Automated Testing

              Important

              This section is a work in progress.

              by Joel Aufrecht

              +Debugging and Automated Testing

              Debugging and Automated Testing

              Important

              This section is a work in progress.

              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 @@ -23,17 +23,17 @@ ?�searches�backward�
              /�searches�forward.�
              ����������

              -

              Manual testing

              Make a list of basic tests to make sure it works

              name of OpenACS user - nsadmin + service0 OpenACS server name - openacs-dev + service0 Root of OpenACS file tree - /web/openacs-dev + /var/lib/aolserver/service0 Database backup directory - /backup/openacs/ + /var/lib/aolserver/service0/database-backup
              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.

              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

              + Search for a note.

              Write automated tests

              by Simon Carstensen

              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 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.14.2.4 -r1.14.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 15 Dec 2003 15:03:48 -0000 1.14.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 16 Dec 2003 13:58:42 -0000 1.14.2.5 @@ -1,7 +1,7 @@ -Creating a Package

              Creating a Package

              by Joel Aufrecht

              +Creating a Package

              Creating a 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 +

              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 @@ -21,11 +21,11 @@

              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.0.0b4 distribution. -

              Figure�7.1.�Assumptions in this section

              Fully qualified domain name of your serveryourserver.test
              URL of your serverhttp://yourserver.test:8000
              Name of development accountservice0
              New Package keymyfirstpackage

              Use the APM to initialize a new package

              We use the ACS Package Manager (APM) to add, remove, and +

              Figure�7.1.�Assumptions in this section

              Fully qualified domain name of your serveryourserver.test
              URL of your serverhttp://yourserver.test:8000
              Name of development accountservice0
              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 @@ -54,7 +54,7 @@

              This creates a package rooted at /var/lib/aolserver/service0/packages/myfirstpackage. This is the "home directory" of our new package, and all - files in the package will be within this directory.

              Mount the package in the site map

              In order to see your work in progress, you must create a + files in the package will be within this directory.

              Mount the package in the site map

              In order to see your work in progress, you must create a map between the URL space of incoming requests and the package. You do this by mounting the package in the Site Map. This creates a link between the incoming URL and an 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.14.2.4 -r1.14.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 15 Dec 2003 15:03:48 -0000 1.14.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 16 Dec 2003 13:58:42 -0000 1.14.2.5 @@ -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/service1/packages/acs-core-docs/www/files/note-procs.tcl /var/lib/aolserver/service1/packages/myfirstpackage/tcl/

              To make this file take effect, go to the APM and choose "Reload all files" for "MyFirstPackage".

              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/service1/packages/acs-core-docs/www/files/note-procs.tcl /var/lib/aolserver/service1/packages/myfirstpackage/tcl/

              To make this file take effect, go to the APM and choose "Reload all files" for "MyFirstPackage".

              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.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial.html,v diff -u -r1.7.2.2 -r1.7.2.3 --- openacs-4/packages/acs-core-docs/www/tutorial.html 8 Dec 2003 15:41:19 -0000 1.7.2.2 +++ openacs-4/packages/acs-core-docs/www/tutorial.html 16 Dec 2003 13:58:42 -0000 1.7.2.3 @@ -1 +1 @@ -Chapter�7.�Development Tutorial

              View comments on this page at openacs.org
              +Chapter�7.�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.7.2.4 -r1.7.2.5 --- openacs-4/packages/acs-core-docs/www/unix-installation.html 15 Dec 2003 15:03:48 -0000 1.7.2.4 +++ openacs-4/packages/acs-core-docs/www/unix-installation.html 16 Dec 2003 13:58:42 -0000 1.7.2.5 @@ -1,4 +1,4 @@ -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:

              • tdom

              • tcl

              • gmake and the compile and build Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.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/upgrade-openacs.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/upgrade-overview.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/upgrade-supporting.html'. Fisheye: No comparison available. Pass `N' to diff? 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.10.2.2 -r1.10.2.3 --- openacs-4/packages/acs-core-docs/www/upgrade.html 8 Dec 2003 15:41:19 -0000 1.10.2.2 +++ openacs-4/packages/acs-core-docs/www/upgrade.html 16 Dec 2003 13:58:42 -0000 1.10.2.3 @@ -1 +1,4 @@ -Chapter�5.�Upgrading

                Chapter�5.�Upgrading

                Table of Contents

                Upgrading
                View comments on this page at openacs.org
                +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/variables.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/variables.html,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/variables.html 15 Dec 2003 15:03:48 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/variables.html 16 Dec 2003 13:58:42 -0000 1.1.2.4 @@ -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�9.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�9.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.22.2.4 -r1.22.2.5
                --- openacs-4/packages/acs-core-docs/www/win2k-installation.html	15 Dec 2003 15:03:48 -0000	1.22.2.4
                +++ openacs-4/packages/acs-core-docs/www/win2k-installation.html	16 Dec 2003 13:58:42 -0000	1.22.2.5
                @@ -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 Index: openacs-4/packages/acs-core-docs/www/xml/index.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/index.xml,v diff -u -r1.19.2.9 -r1.19.2.10 --- openacs-4/packages/acs-core-docs/www/xml/index.xml 15 Dec 2003 14:03:51 -0000 1.19.2.9 +++ openacs-4/packages/acs-core-docs/www/xml/index.xml 16 Dec 2003 13:58:43 -0000 1.19.2.10 @@ -155,12 +155,10 @@ Placeholder - - Upgrading - - Section missing - - + + Section missing + + Maintenance Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml,v diff -u -r1.6.2.9 -r1.6.2.10 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml 16 Dec 2003 11:15:53 -0000 1.6.2.9 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml 16 Dec 2003 13:58:43 -0000 1.6.2.10 @@ -94,7 +94,7 @@ - + Oracle @@ -178,7 +178,7 @@ - + PostgreSQL Create a backup file and verify that it was created and has a reasonable size (several megabytes). Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml,v diff -u -r1.6.2.7 -r1.6.2.8 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml 16 Dec 2003 08:05:09 -0000 1.6.2.7 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/upgrade.xml 16 Dec 2003 13:58:43 -0000 1.6.2.8 @@ -4,14 +4,14 @@ %myvars; ]> - - Upgrading + + Upgrading by Joel Aufrecht - + Overview - Starting with Version 4.5, all OpenACS core packages support + 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 @@ -28,84 +28,43 @@

              - - - - Upgrading from PostGreSQL 7.2 to 7.3 - An OpenACS database created in PostGreSQL 7.2 will not work correctly in PostGreSQL 7.3. This is because 7.2 truncates function names to 31 characters, but 7.3 does not. This does not cause problems in 7.2, because truncation occurs both at function creation and at function calling, so they still match. But if you use a database created in 7.2 in 7.3, the function names in the database remain truncated but the function calls are not, and so they don't match. Also some functions use casting commands that no longer work in 7.3 and these functions must be recreated. - -To upgrade an OpenACS site from PostGreSQL 7.2 to 7.3, first upgrade the kernel to 4.6.3. Then, dump the database, run the upgrade script /var/lib/aolserver/service0/bin/pg_7.2to7.3_upgrade_helper.pl on the dump file, and reply the dump. See Forum OpenACS Q&A: PG 7.2->7.3 upgrade gotcha?. Example: - - - Back up the database as per . - - - Run the upgrade script on the backup file. - [root@yourserver root]# su - service0 -[service0@yourserver service0]# cd /var/lib/aolserver/service0/bin -[service0@yourserver bin]$ ./pg_7.2to7.3_upgrade_helper.pl \ - ../database-backup/nightly.dmp \ - ../database-backup/upgrade-7.3.dmp \ - /var/lib/aolserver/service0 -================================================================== -looking for function acs_object__check_object_ancest in oacs -grep result: /var/lib/aolserver/aufrecht-dev/packages/acs-kernel/sql/postgresql/acs-objects-create.sql:create function acs_object__check_object_ancestors (integer,integer,integer) - -replacing acs_object__check_object_ancest with acs_object__check_object_ancestors - -(many lines omitted) -[service0@yourserver bin]$ - - - - Use perl to replace timestamp with timestamptz. -find . -type f -name "*sql" | xargs perl -p -i.tmp -e "s/timestamp with time zone/timestamptz/g" -find . -type f -name "*sql" | xargs perl -p -i.tmp -e "s/\\wtimestamp[^t]/ timestamptz/g" - Restore the database from dump as per the recovery instructions. - - - - - Upgrading OpenACS 4.6.3 to 5.0 - Current working notes in Forum OpenACS Development: 4.6.3 upgrade to 5-HEAD: final results. - - - - Upgrading 4.5 to 4.6 + + + Upgrading OpenACS + + Upgrading 4.5 to 4.6.x upgrade - OpenACS 4.5 to 4.6 + OpenACS 4.5 to 4.6.x Linux/Unix The required platform for OpenACS 4.6 is the same as - 4.5, with the excepion of OpenFTS. You now need OpenFTS 0.3.2, not 0.2. - OpenACS 4.6 does not support PostgreSQL 7.3. +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. A computer with OpenACS 4.5. - OpenACS 4.6 tarball + OpenACS 4.6 tarball or CVS checkout/export. Required for Full Text Search on PostgreSQL: OpenFTS 0.3.2 - Upgrade Sequence @@ -116,159 +75,26 @@ OPTIONAL: Upgrade OpenFTS - OpenACS Full Text Search requires several pieces: the OpenFTS code, some database functions, and the OpenFTS Engine. If you have OpenFTS 0.2, you'll need to upgrade to to OpenFTS 0.3.2. This is backwards-compatible - - completing this step will not break a working OpenFTS Engine from 4.5. - + - - - Uninstall the old OpenFTS Engine - - Browse to http://yourserver/openfts. - - - Click Administration. - - Click Drop OpenFTS Engine - - - - - 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 -chown -R root.root Search-OpenFTS-tcl-0.3.2/ -cd Search-OpenFTS-tcl-0.3.2/ -./configure --with-aolserver-src=/usr/local/src/aolserver/aolserver --with-tcl=/usr/lib/ -cd aolserver/ -make - - -Back up the old fts driver as a precaution and install the newly -compiled one -mv /usr/local/aolserver/bin/nsfts.so /usr/local/aolserver/bin/nsfts-0.2.so -cp nsfts.so /usr/local/aolserver/bin - - Build and install the postgres code -cd /usr/local/src/Search-OpenFTS-tcl-0.3.2/ -cp -r pgsql_contrib_openfts /usr/local/src/postgresql-7.2.3/contrib /usr/local/src/postgresql-7.2.3/contrib/pgsql_contrib_openfts -make -su - postgres -cd tsearch/ -make -make install -exit - In order for the OpenACS 4.6 OpenFTS Engine to use the OpenFTS 0.3.2 driver, we need some commands added to the database. - [root root]# su - nsadmin -[nsadmin dev]$ psql openacs-dev -f /usr/local/pgsql/share/contrib/openfts.sql -CREATE -CREATE -[nsadmin dev]$ psql openacs-dev -f /usr/local/src/postgresql-7.2.3/contrib/tsearch/tsearch.sql -BEGIN -CREATE -(~30 more lines) -[nsadmin dev]$ exit -[root root]# -su - nsadmin -psql openacs-dev -f /usr/local/pgsql/share/contrib/openfts.sql -psql openacs-dev -f /usr/local/src/postgresql-7.2.3/contrib/tsearch/tsearch.sql -exit - - Stop the server - [root root]# svc -d /service/openacs-dev + [root root]# svc -d /service/service0 - Upgrade the file tree - If you are using CVS, you will unpack the OpenACS 4.6 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. + Upgrade the file system + - - - - Upgrading files without CVS - Unpack the tarball into a new directory and copy its contents on top of your working directory. - - [root root]# su - nsadmin -[nsadmin aolserver]$ cd /web -[nsadmin web]$ tar xzf /tmp/openacs-4-6.tgz -[nsadmin web]$ cp -r openacs-4-6/* openacs-4 -[nsadmin openacs-upgrade]$ exit -[root root]# -su - nsadmin -cd /web -tar xzf /tmp/openacs-4-6.tgz -cp -r openacs-4-6/* openacs-4 -exit - - - - Upgrading files with CVS - - - - - Unpack the new files into a working directory. - [root root]# su - nsadmin -[nsadmin aolserver]$ cd /tmp -[nsadmin tmp]$ tar xzf openacs-4-6.tgz -[nsadmin tmp]$ cd openacs-4.6 - - Import the new files into your cvs repository; where they match existing files, they will become the new version of the file. - [nsadmin openacs-4.6]$ cvs import -m "upgrade to OpenACS 4.6" openacs -OpenACS openacs-4-6 - 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. -[nsadmin openacs-4.6]$ cd /web -[nsadmin tmp]$ mkdir openacs-upgrade -[nsadmin tmp]$ cvs checkout -d openacs-upgrade -jOpenACS:yesterday -jOpenACS openacs > cvs.txt 2>&1 -(CVS feedback here) -su - nsadmin -cd /tmp -tar xzv openacs-4-6.tgz -cd openacs-4.6 -cvs import -m "upgrade to OpenACS 4.6" openacs OpenACS openacs-4-6 -cd /tmp -mkdir openacs-upgrade -cvs checkout -d openacs-upgrade -jOpenACS:yesterday -jOpenACS openacs > cvs.txt 2>&1 - - - - 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 with the 4.5-4.6 upgrade, 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. - [nsadmin tmp]$ cd openacs-upgrade -[nsadmin openacs-upgrade]$ cvs commit -m "Upgraded to 4.6" -cd openacs-upgrade -cvs commit -m "Upgraded to 4.6" - - - Update your working tree with the new - files. The CVS flags ensure that new directories are created and pruned directories destroyed. - -[nsadmin openacs-upgrade]$ cd /web/openacs-dev -[nsadmin openacs-dev]$ cvs up -Pd -(CVS feedback) -[nsadmin openacs-dev]$ exit -[root root]# -cd /web/openacs-dev -cvs up -Pd -exit - - - - Start the server - [root root]# svc -u /service/openacs-dev + [root root]# svc -u /service/service0 @@ -295,7 +121,7 @@ When prompted, restart the server: - [root root]# restart-aolserver openacs-dev + [root root]# restart-aolserver service0 Wait a minute, then browse to the package manager, http://yourserver/acs-admin/apm. @@ -307,13 +133,188 @@ + Rollback + If anything goes wrong, roll back to the backup snapshot. + + + + + + Upgrading OpenACS 4.6.x to 4.6.3 + + + Same as + + + + + Upgrading from before 4.6.3 to 5.0 + OpenACS 5.0 requires PostGreSQL 7.3; OpenACS 4.6.3 supports both 7.2 and 7.3; OpenACS versions prior to 4.6.3 do not support PostGreSQL 7.3. Therefore, if you are upgrading a PostGreSQL OpenACS site from a version before 4.6.3, you must do it in three steps: + + + Upgrade OpenACS to 4.6.3 + + + Upgrade PostGreSQL to 7.3 + + + Upgrade OpenACS to 5.0.0 + + + + + Upgrading OpenACS 4.6.3 to 5.0 + + + Current working notes in Forum OpenACS Development: 4.6.3 upgrade to 5-HEAD: final results. + + + + + + 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. + If you are using CVS, you will unpack the OpenACS 4.6 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 without CVS + Unpack the tarball into a new directory and copy its contents on top of your working directory. + + [root root]# su - service0 +[service0 aolserver]$ cd /var/lib/aolserver +[service0 web]$ tar xzf /tmp/openacs-4-6.tgz +[service0 web]$ cp -r openacs-4-6/* openacs-4 +[service0 openacs-upgrade]$ exit +[root root]# +su - service0 +cd /var/lib/aolserver +tar xzf /tmp/openacs-4-6.tgz +cp -r openacs-4-6/* openacs-4 +exit + + + + Upgrading files with CVS + + + + Unpack the new files into a working directory. + [root root]# su - service0 +[service0 aolserver]$ cd /tmp +[service0 tmp]$ tar xzf openacs-4-6.tgz +[service0 tmp]$ cd openacs-4.6 + Import the new files into your cvs repository; where they match existing files, they will become the new version of the file. + [service0 openacs-4.6]$ cvs import -m "upgrade to OpenACS 4.6" openacs +OpenACS openacs-4-6 + 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. + [service0 openacs-4.6]$ cd /var/lib/aolserver +[service0 tmp]$ mkdir openacs-upgrade +[service0 tmp]$ cvs checkout -d openacs-upgrade -jOpenACS:yesterday -jOpenACS openacs > cvs.txt 2>&1 +(CVS feedback here) +su - service0 +cd /tmp +tar xzv openacs-4-6.tgz +cd openacs-4.6 +cvs import -m "upgrade to OpenACS 4.6" openacs OpenACS openacs-4-6 +cd /tmp +mkdir openacs-upgrade +cvs checkout -d openacs-upgrade -jOpenACS:yesterday -jOpenACS openacs > cvs.txt 2>&1 + + + 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 with the 4.5-4.6 upgrade, 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. + [service0 tmp]$ cd openacs-upgrade +[service0 openacs-upgrade]$ cvs commit -m "Upgraded to 4.6" +cd openacs-upgrade +cvs commit -m "Upgraded to 4.6" + + + Update your working tree with the new files. The CVS flags ensure that new directories are created and pruned directories destroyed. + [service0 openacs-upgrade]$ cd /var/lib/aolserver/service0 +[service0 service0]$ cvs up -Pd +(CVS feedback) +[service0 service0]$ exit +[root root]# +cd /var/lib/aolserver/service0 +cvs up -Pd +exit + + + + + + + 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. + + + Uninstall the old OpenFTS Engine from the service0 database. + + Browse to http://yourserver/openfts. + + + Click Administration. + + Click Drop OpenFTS Engine + + + + + 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 +chown -R root.root Search-OpenFTS-tcl-0.3.2/ +cd Search-OpenFTS-tcl-0.3.2/ +./configure --with-aolserver-src=/usr/local/src/aolserver/aolserver --with-tcl=/usr/lib/ +cd aolserver/ +make + + +Back up the old fts driver as a precaution and install the newly +compiled one +mv /usr/local/aolserver/bin/nsfts.so /usr/local/aolserver/bin/nsfts-0.2.so +cp nsfts.so /usr/local/aolserver/bin + + Build and install the OpenFTS code for PostGresSQL +cd /usr/local/src/Search-OpenFTS-tcl-0.3.2/ +cp -r pgsql_contrib_openfts /usr/local/src/postgresql-7.2.3/contrib /usr/local/src/postgresql-7.2.3/contrib/pgsql_contrib_openfts +make +su - postgres +cd tsearch/ +make +make install +exit + In order for the OpenACS 4.6 OpenFTS Engine to use the OpenFTS 0.3.2 driver, we need some commands added to the database. + [root root]# su - service0 +[service0 dev]$ psql service0 -f /usr/local/pgsql/share/contrib/openfts.sql +CREATE +CREATE +[service0 dev]$ psql service0 -f /usr/local/src/postgresql-7.2.3/contrib/tsearch/tsearch.sql +BEGIN +CREATE +(~30 more lines) +[service0 dev]$ exit +[root root]# +su - service0 +psql service0 -f /usr/local/pgsql/share/contrib/openfts.sql +psql service0 -f /usr/local/src/postgresql-7.2.3/contrib/tsearch/tsearch.sql +exit + + + OPTIONAL: Install the new OpenFTS Engine. If you want to upgrade the OpenFTS Engine, do these steps. (You must have already upgraded the OpenFTS driver to 0.3.2.) - - - + + + Browse to http://yourserver/admin/site-map @@ -326,7 +327,7 @@ Click Set Parameters - [root root]# restart-aolserver openacs-dev + [root root]# restart-aolserver service0 Browse to http://yourserver/openfts @@ -337,15 +338,45 @@ + + + + Upgrading from PostGreSQL 7.2 to 7.3 + An OpenACS database created in PostGreSQL 7.2 will not work correctly in PostGreSQL 7.3. This is because 7.2 truncates function names to 31 characters, but 7.3 does not. This does not cause problems in 7.2, because truncation occurs both at function creation and at function calling, so they still match. But if you use a database created in 7.2 in 7.3, the function names in the database remain truncated but the function calls are not, and so they don't match. Also some functions use casting commands that no longer work in 7.3 and these functions must be recreated. + +To upgrade an OpenACS site from PostGreSQL 7.2 to 7.3, first upgrade the kernel to 4.6.3. Then, dump the database, run the upgrade script /var/lib/aolserver/service0/bin/pg_7.2to7.3_upgrade_helper.pl on the dump file, and reply the dump. See Forum OpenACS Q&A: PG 7.2->7.3 upgrade gotcha?. Example: + - - Rollback - If anything goes wrong, roll back to the backup snapshot. - + Back up the database as per . + + Run the upgrade script on the backup file. + [root root]# su - service0 +[service0 service0]# cd /var/lib/aolserver/service0/bin +[service0 bin]$ ./pg_7.2to7.3_upgrade_helper.pl \ + ../database-backup/nightly.dmp \ + ../database-backup/upgrade-7.3.dmp \ + /var/lib/aolserver/service0 +================================================================== +looking for function acs_object__check_object_ancest in oacs +grep result: /var/lib/aolserver/aufrecht-dev/packages/acs-kernel/sql/postgresql/acs-objects-create.sql:create function acs_object__check_object_ancestors (integer,integer,integer) + +replacing acs_object__check_object_ancest with acs_object__check_object_ancestors + +(many lines omitted) +[service0 bin]$ + + + + Use perl to replace timestamp with timestamptz. +find . -type f -name "*sql" | xargs perl -p -i.tmp -e "s/timestamp with time zone/timestamptz/g" +find . -type f -name "*sql" | xargs perl -p -i.tmp -e "s/\\wtimestamp[^t]/ timestamptz/g" + + + Restore the database from dump as per the recovery instructions. + - ($Id$) + -