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 -N -r1.38.4.2 -r1.38.4.3 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 6 Apr 2008 23:57:06 -0000 1.38.4.2 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 31 May 2008 20:46:14 -0000 1.38.4.3 @@ -1,2 +1,2 @@ -Part�II.�Administrator's Guide

Administrator's Guide

Table of Contents

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

Administrator's Guide

Table of Contents

2. Installation Overview
Basic Steps
Prerequisite Software
3. Complete Installation
Install a Unix-like system and supporting software
Install Oracle 8.1.7
Install PostgreSQL
Install AOLserver 4
Install OpenACS 5.4.2
OpenACS Installation Guide for Windows2000
OpenACS Installation Guide for Mac OS X
4. Configuring a new OpenACS Site
Installing OpenACS packages
Mounting OpenACS packages
Configuring an OpenACS package
Setting Permissions on an OpenACS package
How Do I?
5. Upgrading
Overview
Upgrading 4.5 or higher to 4.6.3
Upgrading OpenACS 4.6.3 to 5.0
Upgrading an OpenACS 5.0.0 or greater installation
Upgrading the OpenACS files
Upgrading Platform components
6. Production Environments
Starting and Stopping an OpenACS instance.
AOLserver keepalive with inittab
Running multiple services on one machine
High Availability/High Performance Configurations
Staged Deployment for Production Networks
Installing SSL Support for an OpenACS service
Set up Log Analysis Reports
External uptime validation
Diagnosing Performance Problems
7. Backup and Recovery
Backup Strategy
Manual backup and recovery
Automated Backup
Using CVS for backup-recovery
A. Install Red Hat 8/9
B. Install additional supporting software
Unpack the OpenACS tarball
Initialize CVS (OPTIONAL)
Add PSGML commands to emacs init file (OPTIONAL)
Install Daemontools (OPTIONAL)
Install qmail (OPTIONAL)
Install Analog web file analyzer
Install nspam
Install Full Text Search using Tsearch2
Install Full Text Search using OpenFTS (deprecated see tsearch2)
Install nsopenssl
Install tclwebtest.
Install PHP for use in AOLserver
Install Squirrelmail for use as a webmail system for OpenACS
Install PAM Radius for use as external authentication
Install LDAP for use as external authentication
Install AOLserver 3.3oacs1
C. Credits
Where did this document come from?
Linux Install Guides
Security Information
Resources
Section missing
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 -N -r1.26.4.2 -r1.26.4.3 --- openacs-4/packages/acs-core-docs/www/acs-package-dev.html 6 Apr 2008 23:57:06 -0000 1.26.4.2 +++ openacs-4/packages/acs-core-docs/www/acs-package-dev.html 31 May 2008 20:46:14 -0000 1.26.4.3 @@ -1,5 +1,5 @@ -Part�III.�For OpenACS Package Developers

For OpenACS Package Developers

Tutorials and reference material for creating new OpenACS packages. -

Table of Contents

9. Development Tutorial
Creating an Application Package
Setting Up Database Objects
Creating Web Pages
Debugging and Automated Testing
10. Advanced Topics
Write the Requirements and Design Specs
Add the new package to CVS
OpenACS Edit This Page Templates
Adding Comments
Admin Pages
Categories
Profile your code
Prepare the package for distribution.
Distributing upgrades of your package
Notifications
Hierarchical data
Using .vuh files for pretty urls
Laying out a page with CSS instead of tables
Sending HTML email from your application
Basic Caching
Scheduled Procedures
Enabling WYSIWYG
Adding in parameters for your package
Writing upgrade scripts
Connect to a second database
Future Topics
11. Development Reference
OpenACS Packages
OpenACS Data Models and the Object System
The Request Processor
The OpenACS Database Access API
Using Templates in OpenACS
Groups, Context, Permissions
Writing OpenACS Application Pages
Parties in OpenACS
OpenACS Permissions Tediously Explained
Object Identity
Programming with AOLserver
Using Form Builder: building html forms dynamically
12. Engineering Standards
OpenACS Style Guide
+Part�III.�For OpenACS Package Developers

For OpenACS Package Developers

Tutorials and reference material for creating new OpenACS packages. +

Table of Contents

8. Development Tutorial
Creating an Application Package
Setting Up Database Objects
Creating Web Pages
Debugging and Automated Testing
9. Advanced Topics
Write the Requirements and Design Specs
Add the new package to CVS
OpenACS Edit This Page Templates
Adding Comments
Admin Pages
Categories
Profile your code
Prepare the package for distribution.
Distributing upgrades of your package
Notifications
Hierarchical data
Using .vuh files for pretty urls
Laying out a page with CSS instead of tables
Sending HTML email from your application
Basic Caching
Scheduled Procedures
Enabling WYSIWYG
Adding in parameters for your package
Writing upgrade scripts
Connect to a second database
Future Topics
10. 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
Using Form Builder: building html forms dynamically
11. Engineering Standards
OpenACS Style Guide
CVS Guidelines -
Release Version Numbering
Constraint naming standard
ACS File Naming and Formatting Standards
PL/SQL Standards
Variables
Automated Testing
13. Documentation Standards
OpenACS Documentation Guide
Using PSGML mode in Emacs
Using nXML mode in Emacs
Detailed Design Documentation Template
System/Application Requirements Template
14. Internationalization
Internationalization and Localization Overview
How Internationalization/Localization works in OpenACS
How to Internationalize a Package
Design Notes
Translator's Guide
D. Using CVS with an OpenACS Site
View comments on this page at openacs.org
+
Release Version Numbering
Constraint naming standard
ACS File Naming and Formatting Standards
PL/SQL Standards
Variables
Automated Testing
12. Documentation Standards
OpenACS Documentation Guide
Using PSGML mode in Emacs
Using nXML mode in Emacs
Detailed Design Documentation Template
System/Application Requirements Template
13. Internationalization
Internationalization and Localization Overview
How Internationalization/Localization works in OpenACS
How to Internationalize a Package
Design Notes
Translator's Guide
D. Using CVS with an OpenACS Site
View comments on this page at openacs.org
Index: openacs-4/packages/acs-core-docs/www/acs-plat-dev.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-plat-dev.html,v diff -u -N -r1.24.4.2 -r1.24.4.3 --- openacs-4/packages/acs-core-docs/www/acs-plat-dev.html 6 Apr 2008 23:57:06 -0000 1.24.4.2 +++ openacs-4/packages/acs-core-docs/www/acs-plat-dev.html 31 May 2008 20:46:14 -0000 1.24.4.3 @@ -1,2 +1,2 @@ -Part�IV.�For OpenACS Platform Developers

For OpenACS Platform Developers

Table of Contents

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

For OpenACS Platform Developers

Table of Contents

14. Kernel Documentation
Overview
Object Model Requirements
Object Model Design
Permissions Requirements
Permissions Design
Groups Requirements
Groups Design
Subsites Requirements
Subsites Design Document
Package Manager Requirements
Package Manager Design
Database Access API
OpenACS Internationalization Requirements
Security Requirements
Security Notes
Request Processor Requirements
Request Processor Design
Documenting Tcl Files: Page Contracts and Libraries
Bootstrapping OpenACS
External Authentication Requirements
15. Releasing OpenACS
OpenACS Core and .LRN
How to Update the OpenACS.org repository
How to package and release an OpenACS Package
How to Update the translations
View comments on this page at openacs.org
Index: openacs-4/packages/acs-core-docs/www/aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver.html,v diff -u -N -r1.45.4.2 -r1.45.4.3 --- openacs-4/packages/acs-core-docs/www/aolserver.html 6 Apr 2008 23:57:06 -0000 1.45.4.2 +++ openacs-4/packages/acs-core-docs/www/aolserver.html 31 May 2008 20:46:14 -0000 1.45.4.3 @@ -83,17 +83,17 @@ communicate with the database. There is one script each for Oracle and PostgreSQL. They don't conflict, so if you plan to use both databases, install both.

  • Install tDOM.�Download the tDOM tarball, unpack it, adjust the configuration file to match our patched distribution of aolserver, and compile it.

    [root root]# cd /usr/local/src
    Index: openacs-4/packages/acs-core-docs/www/aolserver4.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver4.html,v
    diff -u -N -r1.20.4.2 -r1.20.4.3
    --- openacs-4/packages/acs-core-docs/www/aolserver4.html	6 Apr 2008 23:57:06 -0000	1.20.4.2
    +++ openacs-4/packages/acs-core-docs/www/aolserver4.html	31 May 2008 20:46:14 -0000	1.20.4.3
    @@ -1,5 +1,5 @@
     
    -Install AOLserver 4

    Install AOLserver 4

    by Malte Sussdorff

    +Install AOLserver 4

    Install AOLserver 4

    by Malte Sussdorff

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
    1. Check suitability of previously installed TCL.�Start tcl (type tclsh or find it using which tclsh). @@ -100,16 +100,16 @@ maintainers: this should be moved to the next page and integrated into the text there)

      • Oracle

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

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

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

    2. Change startup script (optional).�If you want to run AOLserver on a port below 1024 (normally, for a webserver you will use 80), you will have to change the /var/lib/aolserver/service0/etc/daemontools/run script according to the documentation found there (namely: Add the -b yourip:yourport switch)

    3. Test AOLserver.

    ($Id$)
    View comments on this page at openacs.org
    + /usr/local/aolserver as the directory of Aolserver4.

  • Change startup script (optional).�If you want to run AOLserver on a port below 1024 (normally, for a webserver you will use 80), you will have to change the /var/lib/aolserver/service0/etc/daemontools/run script according to the documentation found there (namely: Add the -b yourip:yourport switch)

  • Test AOLserver.

  • ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/apm-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-design.html,v diff -u -N -r1.33.4.1 -r1.33.4.2 --- openacs-4/packages/acs-core-docs/www/apm-design.html 3 Feb 2008 12:07:38 -0000 1.33.4.1 +++ openacs-4/packages/acs-core-docs/www/apm-design.html 31 May 2008 20:46:14 -0000 1.33.4.2 @@ -1,5 +1,5 @@ -Package Manager Design

    Package Manager Design

    By Bryan Quinn

    +Package Manager Design

    Package Manager Design

    By Bryan Quinn

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

    Essentials

    • OpenACS Administrator directory

    • Package Manager Requirements

    • Packages

    • ER diagram

    • Tcl API

      An installation of the OpenACS includes the OpenACS Kernel, some services that extend the kernel's functionality, and some applications intended for end-users. Packages function as individual pieces of subsites. A subsite can contain multiple Index: openacs-4/packages/acs-core-docs/www/apm-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-requirements.html,v diff -u -N -r1.28.4.1 -r1.28.4.2 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 3 Feb 2008 12:07:38 -0000 1.28.4.1 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 31 May 2008 20:46:14 -0000 1.28.4.2 @@ -1,5 +1,5 @@ -Package Manager Requirements

      Package Manager Requirements

      By Bryan Quinn and Todd Nightingale

      +Package Manager Requirements

      Package Manager Requirements

      By Bryan Quinn and Todd Nightingale

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

      Introduction

      The following is a requirements document for the OpenACS Package Manager Index: openacs-4/packages/acs-core-docs/www/automated-backup.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-backup.html,v diff -u -N -r1.8.4.1 -r1.8.4.2 --- openacs-4/packages/acs-core-docs/www/automated-backup.html 3 Feb 2008 12:07:38 -0000 1.8.4.1 +++ openacs-4/packages/acs-core-docs/www/automated-backup.html 31 May 2008 20:46:14 -0000 1.8.4.2 @@ -1,4 +1,4 @@ -Automated Backup

      Automated Backup

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

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

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

      3. +Automated Backup

        Automated Backup

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

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

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

        3. Make sure the file is executable:

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

          30 1 * * *        sh /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh
        View comments on this page at openacs.org
        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 -N -r1.21.4.2 -r1.21.4.3 --- openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 6 Apr 2008 23:57:06 -0000 1.21.4.2 +++ openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 31 May 2008 20:46:14 -0000 1.21.4.3 @@ -1,5 +1,5 @@ -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.� @@ -25,4 +25,4 @@ Make sure that if a duplicate name is entered that there is a reasonable error rather than a server error. Check for insert, move, copy, and rename. -

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

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/backup-recovery.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.html,v diff -u -N -r1.38.4.2 -r1.38.4.3 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 6 Apr 2008 23:57:06 -0000 1.38.4.2 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 31 May 2008 20:46:14 -0000 1.38.4.3 @@ -1,13 +1,13 @@ -Chapter�8.�Backup and Recovery

    Chapter�8.�Backup and Recovery

    ($Id$)

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

    Chapter�7.�Backup and Recovery

    ($Id$)

    By Don Baccus with additions by Joel Aufrecht

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

    -

    Figure�8.1.�Backup and Recovery Strategy

    Backup and Recovery Strategy

    +

    Figure�7.1.�Backup and Recovery Strategy

    Backup and Recovery Strategy

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
    View comments on this page at openacs.org
    +
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/backups-with-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backups-with-cvs.html,v diff -u -N -r1.8.4.1 -r1.8.4.2 --- openacs-4/packages/acs-core-docs/www/backups-with-cvs.html 3 Feb 2008 12:07:38 -0000 1.8.4.1 +++ openacs-4/packages/acs-core-docs/www/backups-with-cvs.html 31 May 2008 20:46:14 -0000 1.8.4.2 @@ -1,5 +1,5 @@ -Using CVS for backup-recovery

    Using CVS for backup-recovery

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

    Using CVS for backup-recovery

    CVS-only backup is often appropriate for development sites. If you are already using CVS and your data is not important, you probably don't need to do anything to back up your files. Just make sure that your current work is checked into the system. You can then roll back based on date - note the Index: openacs-4/packages/acs-core-docs/www/bootstrap-acs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.html,v diff -u -N -r1.42.4.2 -r1.42.4.3 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 6 Apr 2008 23:57:06 -0000 1.42.4.2 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 31 May 2008 20:46:14 -0000 1.42.4.3 @@ -1,5 +1,5 @@ -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 @@ -86,4 +86,4 @@ At this point, bootstrap.tcl is done executing. AOLserver proceeds to source the remaining files in the /tcl directory (i.e., unpackaged libraries) and begins listening for connections. -

    ($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/complete-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/complete-install.html,v diff -u -N -r1.18.4.2 -r1.18.4.3 --- openacs-4/packages/acs-core-docs/www/complete-install.html 6 Apr 2008 23:57:06 -0000 1.18.4.2 +++ openacs-4/packages/acs-core-docs/www/complete-install.html 31 May 2008 20:46:14 -0000 1.18.4.3 @@ -1,2 +1,2 @@ -Chapter�3.�Complete Installation
    View comments on this page at openacs.org
    +Chapter�3.�Complete Installation
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html,v diff -u -N -r1.3.4.2 -r1.3.4.3 --- openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html 6 Apr 2008 23:57:06 -0000 1.3.4.2 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html 31 May 2008 20:46:14 -0000 1.3.4.3 @@ -2,7 +2,7 @@ Configuring an OpenACS package

    Configuring an OpenACS package

    by Jade Rubick

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

    Configuring an OpenACS package

    After you've installed and mounted your package, you can +

    Configuring an OpenACS package

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

    This is done from the Applications page. Log in, go to the Admin or Control Panel, click on the subsite the application is in, and click on Applications. If you click on the 'Parameters' Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html,v diff -u -N -r1.3.4.2 -r1.3.4.3 --- openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html 6 Apr 2008 23:57:06 -0000 1.3.4.2 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html 31 May 2008 20:46:14 -0000 1.3.4.3 @@ -2,7 +2,7 @@ Setting Permissions on an OpenACS package

    Setting Permissions on an OpenACS package

    by Jade Rubick

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

    Setting Permission on an OpenACS package

    After you've installed and mounted your package, you can +

    Setting Permission on an OpenACS package

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

    This is done from the Applications page. Log in, go to the Admin or Control Panel, click on the subsite the application is in, and click on Applications. If you click on the 'Permissions' Index: openacs-4/packages/acs-core-docs/www/configuring-install-packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-install-packages.html,v diff -u -N -r1.3.4.2 -r1.3.4.3 --- openacs-4/packages/acs-core-docs/www/configuring-install-packages.html 6 Apr 2008 23:57:06 -0000 1.3.4.2 +++ openacs-4/packages/acs-core-docs/www/configuring-install-packages.html 31 May 2008 20:46:14 -0000 1.3.4.3 @@ -2,7 +2,7 @@ Installing OpenACS packages

    Installing OpenACS packages

    by Jade Rubick

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

    Installing OpenACS packages

    An OpenACS package extends your website and lets it do +

    Installing OpenACS packages

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

    After you've installed OpenACS, you can congratulate Index: openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html,v diff -u -N -r1.3.4.2 -r1.3.4.3 --- openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html 6 Apr 2008 23:57:06 -0000 1.3.4.2 +++ openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html 31 May 2008 20:46:14 -0000 1.3.4.3 @@ -2,7 +2,7 @@ Mounting OpenACS packages

    Mounting OpenACS packages

    by Jade Rubick

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

    Mounting OpenACS packages

    After you've installed your packages, you have to 'mount' +

    Mounting OpenACS packages

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

    Make sure you are logged in, and then click on the 'Admin' or 'Control Panel' link to get to the Site-Wide Administration page (at /acs-admin). Click on the subsite you'd Index: openacs-4/packages/acs-core-docs/www/cvs-guidelines.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-guidelines.html,v diff -u -N -r1.4.4.2 -r1.4.4.3 --- openacs-4/packages/acs-core-docs/www/cvs-guidelines.html 6 Apr 2008 23:57:06 -0000 1.4.4.2 +++ openacs-4/packages/acs-core-docs/www/cvs-guidelines.html 31 May 2008 20:46:14 -0000 1.4.4.3 @@ -1,14 +1,14 @@ CVS Guidelines -

    +

    CVS Guidelines

    ($Id$)

    By Joel Aufrecht with input from Jeff Davis, Branimir Dolicki, and Jade Rubick.

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

    Using CVS with OpenACS

    Getting Started

    +

    Using CVS with OpenACS

    Getting Started

    All OpenACS code is available anonymously. To get code anonymously, use the parameter -d:pserver:anonymous@cvs.openacs.org:/cvsroot immediately after cvs in a cvs command to check out or export code. @@ -53,7 +53,7 @@ cd CVSROOT emacs avail

    Add an avail line of the form:

    avail|username|openacs-4
    cvs commit -m "added commit on X for username" avail

    Checkout for Package Development

    If you are actively developing a non-core package, you + User yournamehere

    into your ~/.ssh/config file, then you can use -d :ext:cvs-server:/cvsroot instead of -d :ext:cvs.openacs.org:/cvsroot. You can then change the definition of cvs-server by changing one file instead of editing hundreds of CVSROOT/Repository files.

    Checkout for Package Development

    If you are actively developing a non-core package, you should work from the latest core release branch. Currently this is oacs-5-4. This ensures that you are working on top of a stable OpenACS core, but still allows you to commit feature @@ -68,13 +68,13 @@ Inventory and Package maintainers and status for a list of available packages and their current state. -

    Checkout for Core Development

    If you are actively developing packages in the OpenACS +

    Checkout for Core Development

    If you are actively developing packages in the OpenACS Core, work from the HEAD branch. HEAD is used for active development of the next version of core OpenACS. It may be very buggy; it may not even install correctly. Do not use this branch for development of non-core features unless your work depends on some of the HEAD core work. To check out HEAD, omit the - -r tag.

    To check out HEAD for development, which requires an OpenACS developer account:

    cvs -d:ext:cvs.openacs.org:/cvsroot checkout acs-core

    To check out HEAD anonymously:

    cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout acs-core

    Checkout .LRN

    + -r tag.

    To check out HEAD for development, which requires an OpenACS developer account:

    cvs -d:ext:cvs.openacs.org:/cvsroot checkout acs-core

    To check out HEAD anonymously:

    cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout acs-core

    Checkout .LRN

    .LRN consists of a given version openacs core, plus a set of packages. These are collectively packages together to form a distrubution of .LRN. F .LRN 2.0.0 sits on top of OpenACS 5.0.0. @@ -89,7 +89,7 @@ mv dotlrn/install.xml ..

    Working with CVS

    Once you have a checkout you can use some commands to track what has changed since you checked out your copy. cvs -n update does not change any files, but reports which changes have been updated or locally modified, or are not present in CVS. -

    To update your files, use cvs update. This will merge changes from the repository with your local files. It has no effect on the cvs.openacs.org repository.

    OpenACS CVS Concepts

    Modules

    +

    To update your files, use cvs update. This will merge changes from the repository with your local files. It has no effect on the cvs.openacs.org repository.

    OpenACS CVS Concepts

    Modules

    All OpenACS code resides within a single CVS module, openacs-4. (The openacs-4 directory contains code for all versions of OpenACS 4 and later, and .LRN 1 and later.) Checking out this module retrieves all openacs code of any type. For convenience, subsets of openacs-4 are repackaged as smaller modules.

    acs-core contains only critical common packages. It does not have any user applications, such as forums, @@ -117,7 +117,7 @@ project-manager-all contains the packages required, in combination with acs-core, to run the project-manager package.

    Each OpenACS package (i.e., directory in openacs-4/packages/) is also aliased as a module of the same name. -

    +

    Tags and Branches

    Tags and Branches look similar in commands, but behave differently. A tag is a fixed point on a branch. Check out @@ -317,7 +317,7 @@ flag which defaults to no-effect wouldn't require a TIP. Added a new mandatory flag to an existing function would require a TIP. -

    +

    Informal Guidelines

    Informal guidelines which may be obsolete in places and should be reviewed: 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 -N -r1.28.4.1 -r1.28.4.2 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 6 Apr 2008 23:57:06 -0000 1.28.4.1 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 31 May 2008 20:46:14 -0000 1.28.4.2 @@ -2,7 +2,7 @@ Appendix�D.�Using CVS with an OpenACS Site

    Appendix�D.�Using CVS with an OpenACS Site

    By Joel Aufrecht

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

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

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

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

      [root root]# mkdir /cvsroot/$OPENACS_SERVICE_NAME
       [root root]# chown $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME /cvsroot/$OPENACS_SERVICE_NAME
      @@ -21,11 +21,11 @@
                   plus this string,
                   i.e.
                   /cvsroot/$OPENACS_SERVICE_NAME.
      -            "OpenACS" is the vendor tag, and "oacs-5-4-1-final" is the
      +            "OpenACS" is the vendor tag, and "oacs-5-4-2-final" is the
                   release tag.  These tags will be useful in upgrading and
                   branching.  -m sets the version comment.

      [root root]# su - $OPENACS_SERVICE_NAME
       [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
      -[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs import -m "initial install" $OPENACS_SERVICE_NAME OpenACS oacs-5-4-1-final
      +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs import -m "initial install" $OPENACS_SERVICE_NAME OpenACS oacs-5-4-2-final
       N $OPENACS_SERVICE_NAME/license.txt
       N $OPENACS_SERVICE_NAME/readme.txt
       (many lines omitted)
      @@ -37,7 +37,7 @@
       [root root]#
       su - $OPENACS_SERVICE_NAME
       cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
      -cvs import -m "initial install" $OPENACS_SERVICE_NAME OpenACS oacs-5-4-1-final
      +cvs import -m "initial install" $OPENACS_SERVICE_NAME OpenACS oacs-5-4-2-final
       exit

      Move the original directory to a temporary location, and check out the cvs repository in its place.

      [root root]# mv /var/lib/aolserver/$OPENACS_SERVICE_NAME /var/tmp
       [root root]# mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME
       [root root]# chown $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME /var/lib/aolserver/$OPENACS_SERVICE_NAME
      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 -N -r1.42.4.2 -r1.42.4.3
      --- openacs-4/packages/acs-core-docs/www/db-api-detailed.html	6 Apr 2008 23:57:06 -0000	1.42.4.2
      +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html	31 May 2008 20:46:14 -0000	1.42.4.3
      @@ -1,5 +1,5 @@
       
      -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 -N -r1.43.4.2 -r1.43.4.3 --- openacs-4/packages/acs-core-docs/www/db-api.html 6 Apr 2008 23:57:06 -0000 1.43.4.2 +++ openacs-4/packages/acs-core-docs/www/db-api.html 31 May 2008 20:46:14 -0000 1.43.4.3 @@ -1,5 +1,5 @@ -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 -N -r1.29.4.1 -r1.29.4.2 --- openacs-4/packages/acs-core-docs/www/dev-guide.html 3 Feb 2008 12:07:38 -0000 1.29.4.1 +++ openacs-4/packages/acs-core-docs/www/dev-guide.html 31 May 2008 20:46:14 -0000 1.29.4.2 @@ -1,2 +1,2 @@ -Chapter�11.�Development Reference

      View comments on this page at openacs.org
      +Chapter�10.�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 -N -r1.11.4.1 -r1.11.4.2 --- openacs-4/packages/acs-core-docs/www/doc-standards.html 3 Feb 2008 12:07:38 -0000 1.11.4.1 +++ openacs-4/packages/acs-core-docs/www/doc-standards.html 31 May 2008 20:46:14 -0000 1.11.4.2 @@ -1,2 +1,2 @@ -Chapter�13.�Documentation Standards
      View comments on this page at openacs.org
      +Chapter�12.�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 -N -r1.45.4.2 -r1.45.4.3 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 6 Apr 2008 23:57:06 -0000 1.45.4.2 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 31 May 2008 20:46:14 -0000 1.45.4.3 @@ -1,5 +1,5 @@ -OpenACS Documentation Guide

      OpenACS Documentation Guide

      +OpenACS Documentation Guide

      OpenACS Documentation Guide

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

      Overview of OpenACS Documentation

      OpenACS™ is a powerful system with @@ -578,7 +578,7 @@ DTD. The remaining discussion is about publishing using Docbook.

      - + is a publishing standard based on XML with similar goals to the OpenACS Documentation project. Some specific reasons why we are using DocBook:

      • @@ -641,7 +641,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 @@ -690,7 +690,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
          @@ -714,20 +714,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 Section�, “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.

        @@ -742,7 +742,7 @@ </sect1>

      - + Inside this container your document will be split up into <sect2>'s, each with the same requirements - id and xreflabel @@ -751,7 +751,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 use <computeroutput> @@ -769,12 +769,12 @@ tag around text that has been wrapped by combinations of <computeroutput> and <userinput>

    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:

    @@ -798,7 +798,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 @@ -819,7 +819,7 @@ for you.

    - + To insert a graphic we use the elements <mediaobject>, <imageobject>, @@ -845,7 +845,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 @@ -890,7 +890,7 @@ </variablelist>

    Tables

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

    Emphasis

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

    @@ -1003,4 +1003,4 @@ script with directions (now via archive.org) that gets you most of the way. -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html,v diff -u -N -r1.41.4.2 -r1.41.4.3 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 6 Apr 2008 23:57:06 -0000 1.41.4.2 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 31 May 2008 20:46:14 -0000 1.41.4.3 @@ -1,5 +1,5 @@ -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 -N -r1.41.4.2 -r1.41.4.3 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 6 Apr 2008 23:57:06 -0000 1.41.4.2 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 31 May 2008 20:46:14 -0000 1.41.4.3 @@ -1,5 +1,5 @@ -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.

    @@ -95,7 +95,7 @@ This can be at the top or bottom of the file.

    Using ad_page_contract

    For non-library Tcl files (those not in the private Tcl directory), -use ad_page_contract +use ad_page_contract after the file path comment (this supersedes set_the_usual_form_variables and ad_return_complaint). Here is an example of using ad_page_contract, which serves both documentation and page input @@ -141,7 +141,7 @@ set_the_usual_form_variables. The use of bind variables makes such previous variable syntax obsolete.

    Using ad_library

    -For shared Tcl library files, use ad_library after +For shared Tcl library files, use ad_library after the file path comment. Its only argument is a doc_string in the standard (javadoc-style) format, like ad_page_contract. Don't forget to put the @cvs-id in 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 -N -r1.42.4.2 -r1.42.4.3 --- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 6 Apr 2008 23:57:06 -0000 1.42.4.2 +++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 31 May 2008 20:46:14 -0000 1.42.4.3 @@ -1,5 +1,5 @@ -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 -N -r1.44.4.2 -r1.44.4.3 --- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 6 Apr 2008 23:57:06 -0000 1.44.4.2 +++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 31 May 2008 20:46:14 -0000 1.44.4.3 @@ -1,7 +1,7 @@ -Release Version NumberingRelease Version Numbering

    Release Version Numbering

    ($Id$)

    By Ron Henderson, Revised by Joel Aufrecht

    + ">

    Release Version Numbering

    ($Id$)

    By Ron Henderson, Revised 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/eng-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards.html,v diff -u -N -r1.25.4.1 -r1.25.4.2 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 3 Feb 2008 12:07:38 -0000 1.25.4.1 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 31 May 2008 20:46:15 -0000 1.25.4.2 @@ -1,4 +1,4 @@ -Chapter�12.�Engineering Standards

    Chapter�12.�Engineering Standards

    Table of Contents

    OpenACS Style Guide
    +Chapter�11.�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 -N -r1.33.4.2 -r1.33.4.3 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 6 Apr 2008 23:57:06 -0000 1.33.4.2 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 31 May 2008 20:46:15 -0000 1.33.4.3 @@ -1,5 +1,5 @@ -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 @@ -45,7 +45,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
    New API
    EXT-AUTH-01AExtend Authentication/Acct Status API
    EXT-AUTH-03AAccount Creation API
    EXT-AUTH-05APassword Management API
    EXT-AUTH-30AAuthority Management API

    Login

    FeatureStatusDescription
    Login
    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
    New API
    EXT-AUTH-01AExtend Authentication/Acct Status API
    EXT-AUTH-03AAccount Creation API
    EXT-AUTH-05APassword Management API
    EXT-AUTH-30AAuthority Management API

    Login

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

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

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

  • Draft Proposal by Andrew Grumet.

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

  • Revision History

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

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    1Updated work-in-progress for consortium-sponsored ext-auth work at Collaboraid.20 Aug 2003Joel Aufrecht
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/filename.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/filename.html,v diff -u -N -r1.42.4.2 -r1.42.4.3 --- openacs-4/packages/acs-core-docs/www/filename.html 6 Apr 2008 23:57:06 -0000 1.42.4.2 +++ openacs-4/packages/acs-core-docs/www/filename.html 31 May 2008 20:46:15 -0000 1.42.4.3 @@ -1,5 +1,5 @@ -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 @@ -115,7 +115,7 @@ within the OpenACS, this section's details are likely to shift from UI specifics to template interface specifics.

    Configuration/Parameters

    - Under OpenACS 5.4.1, parameters are set at two levels: at the global level by + Under OpenACS 5.4.2, parameters are set at two levels: at the global level by the OpenACS-admin, and at the subsite level by a sub-admin. In this section, list and discuss both levels of parameters.

    Future Improvements/Areas of Likely Change

    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 -N -r1.23.4.2 -r1.23.4.3 --- openacs-4/packages/acs-core-docs/www/form-builder.html 6 Apr 2008 23:57:06 -0000 1.23.4.2 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 31 May 2008 20:46:15 -0000 1.23.4.3 @@ -1,12 +1,12 @@ -Using Form Builder: building html forms dynamically

    Using Form Builder: building html forms dynamically

    Overview

    ($Id$)
    +Using Form Builder: building html forms dynamically

    Using Form Builder: building html forms dynamically

    Overview

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

    OpenACS has a form manager called ad_form. Ad_form has an adaptable UI. Error handling includes inline error reporting, and is customizable. However, ad_form can be tricky to use. In addition to this document, the ad_form api - documentation is helpful.

    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 "
      + documentation is helpful.

    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
      @@ -51,5 +51,5 @@
           ns_set print $mypage
       }
           

    Tips for form widgets

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

    Current widget

    Common Errors

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

    Error when selecting values

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

    View comments on this page at openacs.org
    + encounter them:

    Error when selecting values

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

    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 -N -r1.27.4.1 -r1.27.4.2 --- openacs-4/packages/acs-core-docs/www/groups-design.html 3 Feb 2008 12:07:38 -0000 1.27.4.1 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 31 May 2008 20:46:15 -0000 1.27.4.2 @@ -1,5 +1,5 @@ -Groups Design

    Groups Design

    By Rafael H. Schloming and Mark Thomas

    +Groups Design

    Groups Design

    By Rafael H. Schloming and Mark Thomas

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

    Essentials

    • User directory

    • Sitewide administrator directory

    • Subsite administrator directory

    • TCL script directory

    • OpenACS 4 Groups Requirements

    • Data model

    • PL/SQL file

      • Index: openacs-4/packages/acs-core-docs/www/groups-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-requirements.html,v diff -u -N -r1.27.4.1 -r1.27.4.2 --- openacs-4/packages/acs-core-docs/www/groups-requirements.html 3 Feb 2008 12:07:38 -0000 1.27.4.1 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 31 May 2008 20:46:15 -0000 1.27.4.2 @@ -1,5 +1,5 @@ -Groups Requirements

        Groups Requirements

        By Rafael H. Schloming, Mark Thomas

        +Groups Requirements

        Groups Requirements

        By Rafael H. Schloming, Mark Thomas

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

        Introduction

        Almost all database-backed websites have users, and need to model the Index: openacs-4/packages/acs-core-docs/www/high-avail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/high-avail.html,v diff -u -N -r1.17.4.2 -r1.17.4.3 --- openacs-4/packages/acs-core-docs/www/high-avail.html 6 Apr 2008 23:57:06 -0000 1.17.4.2 +++ openacs-4/packages/acs-core-docs/www/high-avail.html 31 May 2008 20:46:15 -0000 1.17.4.3 @@ -1,2 +1,2 @@ -High Availability/High Performance Configurations

        High Availability/High Performance Configurations

        See also Section�, “Running a PostgreSQL database on another server”.

        Figure�6.1.�Multiple-server configuration

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

        High Availability/High Performance Configurations

        See also ???.

        Figure�6.1.�Multiple-server configuration

        Multiple-server configuration
        View comments on this page at openacs.org
        Index: openacs-4/packages/acs-core-docs/www/how-do-I.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/how-do-I.html,v diff -u -N -r1.20.4.2 -r1.20.4.3 --- openacs-4/packages/acs-core-docs/www/how-do-I.html 6 Apr 2008 23:57:06 -0000 1.20.4.2 +++ openacs-4/packages/acs-core-docs/www/how-do-I.html 31 May 2008 20:46:15 -0000 1.20.4.3 @@ -1,7 +1,7 @@ -How Do I?

        How Do I?

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

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

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

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

        3. Choose Edit This Page and install

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

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

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

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

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

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

        2. On the administration page, click Parameters link.

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

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

        Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:

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

        How do I change the site-wide style?

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

        • +How Do I?

          How Do I?

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

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

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

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

          3. Choose Edit This Page and install

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

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

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

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

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

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

          2. On the administration page, click Parameters link.

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

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

          Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:

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

          How do I change the site-wide style?

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

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

            <master>

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

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

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

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

          Figure�4.1.�Site Templates

          Site Templates

          How do I diagnose a permissions problem?

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

            1. Go to the http://yourserver.net/events as a visitor (ie, log out and, if necessary, clear cookies). This in on a 4.6.3 site with events version 0.1d3.

            2. Select an available event

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

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

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

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

          Figure�4.1.�Site Templates

          Site Templates

          How do I diagnose a permissions problem?

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

            1. Go to the http://yourserver.net/events as a visitor (ie, log out and, if necessary, clear cookies). This in on a 4.6.3 site with events version 0.1d3.

            2. Select an available event

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

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

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

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

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

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

            We need to know what that procedure does, so go to /api-doc, paste events::security::can_register_for_event_p into the ACS Tcl API Search box, and click Feeling Lucky. The next pages shows the proc, and we click "show source" to see more information. The body of the proc is simply

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

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

          • Setting Permissions.�A permission has three parts: the privilige, the object of the privilige, and the subject being granted the privilige. In this case the privilige is "write," the object is the Events package, and the subject is all Registered Users.

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

            2. Click "Grant Permission"

            3. Grant the write permission to Registered Users.

              Figure�4.2.�Granting Permissions

              Granting Permissions

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

            Figure�4.3.�Granting Permissions in 5.0

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

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

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

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

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

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

        We need to know what that procedure does, so go to /api-doc, paste events::security::can_register_for_event_p into the ACS Tcl API Search box, and click Feeling Lucky. The next pages shows the proc, and we click "show source" to see more information. The body of the proc is simply

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

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

      • Setting Permissions.�A permission has three parts: the privilige, the object of the privilige, and the subject being granted the privilige. In this case the privilige is "write," the object is the Events package, and the subject is all Registered Users.

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

        2. Click "Grant Permission"

        3. Grant the write permission to Registered Users.

          Figure�4.2.�Granting Permissions

          Granting Permissions

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

        Figure�4.3.�Granting Permissions in 5.0

        Granting Permissions in 5.0
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n-convert.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-convert.html,v diff -u -N -r1.19.4.2 -r1.19.4.3 --- openacs-4/packages/acs-core-docs/www/i18n-convert.html 6 Apr 2008 23:57:06 -0000 1.19.4.2 +++ openacs-4/packages/acs-core-docs/www/i18n-convert.html 31 May 2008 20:46:15 -0000 1.19.4.3 @@ -1,5 +1,5 @@ -How to Internationalize a Package

    How to Internationalize a Package

    Tip

    +How to Internationalize a Package

    How to Internationalize a Package

    Tip

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

    Avoiding common i18n mistakes

    • Replace complicated keys with longer, simpler keys.�When writing in one language, it is possible to create clever code to make correct text. In English, for example, you can put an if command at the end of a word which adds "s" if a count is anything but 1. This pluralizes nouns correctly based on the data. However, it is confusing to read and, when internationalized, may result in message keys that are both confusing and impossible to set correctly in some languages. While internationalizing, watch out that the automate converter does not create such keys. Also, refactor compound text as you encounter it.

      The automated system can easily get confused by tags within message texts, so that it tries to create two or three message keys for one long string with a tag in the middle. In these cases, uncheck those keys during the conversion and then edit the files directly. For example, this code:

        <p class="form-help-text"><b>Invitations</b> are sent,
      +      

    Avoiding common i18n mistakes

    Table�6.1.�How it Works

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

    Table�6.1.�How it Works

    ProgramInvoked by this program ...... using this fileWhere to find errorsLog goes toUse these commands to control it
    svscanboot init/etc/inittabps -auxw | grep readproctitlen/a
    aolserversupervise (a child of svscanboot)/service/$OPENACS_SERVICE_NAME/run/var/lib/aolserver/$OPENACS_SERVICE_NAME/log/error.log/var/lib/aolserver/$OPENACS_SERVICE_NAME/log/$OPENACS_SERVICE_NAME.logsvc -k /service/$OPENACS_SERVICE_NAME
    postgresqlRedhat init scripts during boot/etc/init.d/postgresql/usr/local/pgsql/data/server.logservice postgresql start (Red Hat), /etc/init.d/postgresql start (Debian)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-qmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-qmail.html,v diff -u -N -r1.34.4.2 -r1.34.4.3 --- openacs-4/packages/acs-core-docs/www/install-qmail.html 6 Apr 2008 23:57:07 -0000 1.34.4.2 +++ openacs-4/packages/acs-core-docs/www/install-qmail.html 31 May 2008 20:46:15 -0000 1.34.4.3 @@ -30,7 +30,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 @@ -41,10 +41,10 @@ Unless this mail is addressed to the same machine, qmail thinks that it's an attempt to relay mail, and rejects it. So these two commands set up an exception so that any mail sent from 127.0.0.1 is allowed to -send outgoing mail.

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

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

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

  • Install Qmail.�

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

    [root root]# cd /usr/local/src
     [root src]# wget http://www.qmail.org/netqmail-1.04.tar.gz
     [root src]# tar xzf netqmail-1.04.tar.gz
    @@ -103,7 +103,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
    @@ -125,13 +125,13 @@
     cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root 
     chmod 644 ~alias/.qmail* 
     /var/qmail/bin/maildirmake ~alias/Maildir/ 
    -chown -R alias.nofiles /var/qmail/alias/Maildir

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

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

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

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

    [root root]# /var/qmail/bin/maildirmake /etc/skel/Maildir
    @@ -143,13 +143,13 @@
     [root root]# mkdir -p /var/qmail/supervise/qmail-smtpd/log
     [root root]# mkdir /var/log/qmail
     [root root]# chown qmaill /var/log/qmail
    -[root root]# cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl
    +[root root]# cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl
     [root root]# chmod 755 /var/qmail/bin/qmailctl
     [root root]# ln -s /var/qmail/bin/qmailctl /usr/bin
    -[root root]# cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run 
    -[root root]# cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run
    -[root root]# cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run
    -[root root]# cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run
    +[root root]# cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run 
    +[root root]# cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run
    +[root root]# cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run
    +[root root]# cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run
     [root root]# chmod 755 /var/qmail/supervise/qmail-send/run
     [root root]# chmod 755 /var/qmail/supervise/qmail-send/log/run
     [root root]# chmod 755 /var/qmail/supervise/qmail-smtpd/run
    @@ -160,13 +160,13 @@
     mkdir -p /var/qmail/supervise/qmail-smtpd/log
     mkdir /var/log/qmail
     chown qmaill /var/log/qmail
    -cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl
    +cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl
     chmod 755 /var/qmail/bin/qmailctl
     ln -s /var/qmail/bin/qmailctl /usr/bin
    -cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run
    -cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run
    -cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run
    -cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run
    +cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run
    +cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run
    +cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run
    +cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run
     chmod 755 /var/qmail/supervise/qmail-send/run
     chmod 755 /var/qmail/supervise/qmail-send/log/run
     chmod 755 /var/qmail/supervise/qmail-smtpd/run
    Index: openacs-4/packages/acs-core-docs/www/install-redhat.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.html,v
    diff -u -N -r1.34.4.2 -r1.34.4.3
    --- openacs-4/packages/acs-core-docs/www/install-redhat.html	6 Apr 2008 23:57:07 -0000	1.34.4.2
    +++ openacs-4/packages/acs-core-docs/www/install-redhat.html	31 May 2008 20:46:15 -0000	1.34.4.3
    @@ -27,7 +27,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 @@ -55,7 +55,7 @@ Review (and modify if needed) the partitions created and click Next

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

    3. Click Next on the boot loader screen

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

  • Click Next on the boot loader screen

  • Configure Networking. Again, if you know what you're doing, do this step yourself, being sure to note the firewall holes. Otherwise, follow the instructions in this step to set up a computer directly connected to the internet with a dedicated IP address.

    1. DHCP is a system by which a computer that @@ -76,7 +76,7 @@ Mail (SMTP). In the Other ports box, enter 443, 8000, 8443. Click Next. -Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.

  • Select any additional languages you want the +Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.

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

  • Choose your time zone and click Next.

  • Type in a root password, twice.

  • On the Package selection page, we're going to @@ -88,13 +88,13 @@ risk that's still screened by the firewall, or a resource hog. Just don't install a database or web server, because that would conflict with the database and web server we'll install later. -

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

    At the bottom, check Select Individual Packages and click Next

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

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

    At the bottom, check Select Individual Packages and click Next

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

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

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

  • Lock down SSH

    1. - + SSH is the protocol we use to connect securely to the computer (replacing telnet, which is insecure). sshd is the daemon that listens for incoming 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 -N -r1.28.4.2 -r1.28.4.3 --- openacs-4/packages/acs-core-docs/www/install-steps.html 6 Apr 2008 23:57:07 -0000 1.28.4.2 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 31 May 2008 20:46:15 -0000 1.28.4.3 @@ -5,7 +5,7 @@ Install PostgreSQL).

    2. Install AOLserver (Install AOLserver 4) .

    3. Create a unique database and system user. Install the OpenACS tarball, start and AOLserver instance, and use the OpenACS web pages to complete installation - (see Install OpenACS 5.4.1).

    Specific instructions are available for Mac OS X and + (see Install OpenACS 5.4.2).

  • Specific instructions are available for Mac OS X and Windows2000 (see Section�, “OpenACS Installation Guide for Mac OS X” or Section�, “OpenACS Installation Guide for Windows2000”).

    Binaries and other shortcuts

    You can try out OpenACS using some binary installers. In general, they are not yet supported by the community, so they are @@ -41,9 +41,9 @@ su - $OPENACS_SERVICE_NAME svc -d /service/$OPENACS_SERVICE_NAME dropdb $OPENACS_SERVICE_NAME -createdb $OPENACS_SERVICE_NAME

    Setting a global shell variable for cut and paste.�In order to cut and paste the instructions into your shell, you must set the environment variable $OPENACS_SERVICE_NAME. In order to set it globally so that it works for any new users or special service users you may create, edit the file /etc/profile ( /etc/share/skel/dot.profile for FreeBSD) and add this line:

    export OPENACS_SERVICE_NAME=service0

    Paths and Users

    Table�2.1.�Default directories for a standard install

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

    Setting a global shell variable for cut and paste.�In order to cut and paste the instructions into your shell, you must set the environment variable $OPENACS_SERVICE_NAME. In order to set it globally so that it works for any new users or special service users you may create, edit the file /etc/profile ( /etc/share/skel/dot.profile for FreeBSD) and add this line:

    export OPENACS_SERVICE_NAME=service0

    Paths and Users

    Table�2.1.�Default directories for a standard install

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

    + files are located at:

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

    None of these locations are set in stone - they're simply the values that we've chosen. The values that you'll probably want to change, such as service name, are Index: openacs-4/packages/acs-core-docs/www/ix01.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ix01.html,v diff -u -N -r1.22.4.2 -r1.22.4.3 --- openacs-4/packages/acs-core-docs/www/ix01.html 6 Apr 2008 23:57:07 -0000 1.22.4.2 +++ openacs-4/packages/acs-core-docs/www/ix01.html 31 May 2008 20:46:15 -0000 1.22.4.3 @@ -1,3 +1,3 @@ -Index

    Index

    Symbols

    $OPENACS_SERVICE_NAME, Paths and Users

    C

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

    E

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

    G

    Graphics
    Images, Graphics

    I

    informaltable
    table, Tables

    L

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

    O

    OpenACS Package, What a Package Looks Like

    P

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

    Q

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

    T

    The publish point for new packages should be +Index

    Index

    Symbols

    $OPENACS_SERVICE_NAME, Paths and Users

    C

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

    E

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

    G

    Graphics
    Images, Graphics

    I

    informaltable
    table, Tables

    L

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

    O

    OpenACS Package, What a Package Looks Like

    P

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

    Q

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

    T

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

    U

    ulink, Links
    upgrade
    OpenACS 4.5 to 4.6.x
    Linux/Unix, Upgrading 4.5 or higher to 4.6.3
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/kernel-doc.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-doc.html,v diff -u -N -r1.30.4.2 -r1.30.4.3 --- openacs-4/packages/acs-core-docs/www/kernel-doc.html 6 Apr 2008 23:57:07 -0000 1.30.4.2 +++ openacs-4/packages/acs-core-docs/www/kernel-doc.html 31 May 2008 20:46:15 -0000 1.30.4.3 @@ -1,2 +1,2 @@ -Chapter�15.�Kernel Documentation
    View comments on this page at openacs.org
    +Chapter�14.�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 -N -r1.24.4.1 -r1.24.4.2 --- openacs-4/packages/acs-core-docs/www/kernel-overview.html 3 Feb 2008 12:07:39 -0000 1.24.4.1 +++ openacs-4/packages/acs-core-docs/www/kernel-overview.html 31 May 2008 20:46:15 -0000 1.24.4.2 @@ -1,5 +1,5 @@ -Overview

    Overview

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/maint-performance.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maint-performance.html,v diff -u -N -r1.22.4.2 -r1.22.4.3 --- openacs-4/packages/acs-core-docs/www/maint-performance.html 6 Apr 2008 23:57:07 -0000 1.22.4.2 +++ openacs-4/packages/acs-core-docs/www/maint-performance.html 31 May 2008 20:46:15 -0000 1.22.4.3 @@ -1,8 +1,8 @@ -Diagnosing Performance Problems

    Diagnosing Performance Problems

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

      Diagnosing Performance Problems

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

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

      • Isolating and solving database problems.

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

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

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

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

          3. Choose "ACS Developer Support">

          4. After install is complete, restart the server.

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

          6. Turn on Database statistics

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

          8. This should return a list of database queries on the page, including the exact query (so it can be cut-paste into psql or oracle) and the time each query took.

            Figure�6.8.�Query Analysis example

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

          Log in to SQL*Plus as the admin:

          [$OPENACS_SERVICE_NAME ~]$ svrmgrl
          +    users into .LRN)

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

        • Isolating and solving database problems.

          • Without daily internal maintenance, most databases slowly degrade in performance. For PostGreSQL, see ???. For Oracle, use exec dbms_stats.gather_schema_stats('SCHEMA_NAME') (Andrew Piskorski's Oracle notes).

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

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

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

            3. Choose "ACS Developer Support">

            4. After install is complete, restart the server.

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

            6. Turn on Database statistics

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

            8. This should return a list of database queries on the page, including the exact query (so it can be cut-paste into psql or oracle) and the time each query took.

              Figure�6.8.�Query Analysis example

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

            Log in to SQL*Plus as the admin:

            [$OPENACS_SERVICE_NAME ~]$ svrmgrl
             
             Oracle Server Manager Release 3.1.7.0.0 - Production
             
            @@ -59,12 +59,12 @@
                 

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

            Make sure, that the Oracle CBO works with adequate statistics

            +

            Make sure, that the Oracle CBO works with adequate statistics

            The Oracle Cost Based optimizer is a piece of software that tries to find the "optimal" execution plan for a given SQL statement. For that it estimates the costs of running a SQL query in a particular way (by default up to 80.000 permutations are being tested in a Oracle 8i). To get an adequate cost estimate, the CBO needs to have adequate statistics. For that Oracle supplies the dbms_stats package. -

          View comments on this page at openacs.org
          +

      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/maintenance-deploy.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-deploy.html,v diff -u -N -r1.17.4.2 -r1.17.4.3 --- openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 6 Apr 2008 23:57:07 -0000 1.17.4.2 +++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 31 May 2008 20:46:15 -0000 1.17.4.3 @@ -2,7 +2,7 @@ Staged Deployment for Production Networks

      Staged Deployment for Production Networks

      ($Id$)

      By Joel Aufrecht

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

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

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

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

      Method 1: Deployment with CVS

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

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

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

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

      Method 1: Deployment with CVS

      With this method, we control the files on a site via CVS. This example uses one developmental server (service0-dev) and one production server (service0). Depending on your needs, you can also have a staging server for extensive testing before you go @@ -67,4 +67,4 @@ cvs up -Pd index.adp

      If you make changes that require changes to the database, test them out first on service0-dev, using either -create.sql or upgrade scripts. Once you've tested them, you then update and - run the upgrade scripts from the package manager.

      The production site can run "HEAD" from cvs.

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

      Method 2: A/B Deployment

      The approach taken in this section is to always create a new service with the desired changes, running in parallel with the existing site. This guarantees control, at least at the final step of the process: you know what changes you are about to make because you can see them directly. It does not, by itself, guarantee the entire control chain. You need additional measures to make sure that the change you are making is exactly and completely the change you intended to make and tested previously, and nothing more. Those additional measures typically take the form of source control tags and system version numbers. The parallel-server approach also guarantees rollback because the original working service is not touched; it is merely set aside.

      This approach can has limitations. If the database or file system regularly receiving new data, you must interrupt this function or risk losing data in the shuffle. It also requires extra steps if the database will be affected.

      Simple A/B Deployment: Database is not changed

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

      Simple A/B Deployment - Step 1

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

      Simple A/B Deployment - Step 2

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

      Simple A/B Deployment - Step 3

      Complex A/B Deployment: Database is changed

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

      Complex A/B Deployment - Step 1

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

      Complex A/B Deployment - Step 2

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

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

      The production site can run "HEAD" from cvs.

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

    Method 2: A/B Deployment

    The approach taken in this section is to always create a new service with the desired changes, running in parallel with the existing site. This guarantees control, at least at the final step of the process: you know what changes you are about to make because you can see them directly. It does not, by itself, guarantee the entire control chain. You need additional measures to make sure that the change you are making is exactly and completely the change you intended to make and tested previously, and nothing more. Those additional measures typically take the form of source control tags and system version numbers. The parallel-server approach also guarantees rollback because the original working service is not touched; it is merely set aside.

    This approach can has limitations. If the database or file system regularly receiving new data, you must interrupt this function or risk losing data in the shuffle. It also requires extra steps if the database will be affected.

    Simple A/B Deployment: Database is not changed

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

    Simple A/B Deployment - Step 1

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

    Simple A/B Deployment - Step 2

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

    Simple A/B Deployment - Step 3

    Complex A/B Deployment: Database is changed

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

    Complex A/B Deployment - Step 1

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

    Complex A/B Deployment - Step 2

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

    Complex A/B Deployment - Step 3
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/nxml-mode.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/nxml-mode.html,v diff -u -N -r1.11.4.1 -r1.11.4.2 --- openacs-4/packages/acs-core-docs/www/nxml-mode.html 3 Feb 2008 12:07:40 -0000 1.11.4.1 +++ openacs-4/packages/acs-core-docs/www/nxml-mode.html 31 May 2008 20:46:15 -0000 1.11.4.2 @@ -1,5 +1,5 @@ -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 -N -r1.42.4.2 -r1.42.4.3 --- openacs-4/packages/acs-core-docs/www/object-identity.html 6 Apr 2008 23:57:07 -0000 1.42.4.2 +++ openacs-4/packages/acs-core-docs/www/object-identity.html 31 May 2008 20:46:15 -0000 1.42.4.3 @@ -1,19 +1,19 @@ -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.4.1 is the explicit representation +

    One of the major design features of OpenACS 5.4.2 is the explicit representation of object identity. The reason I say "explicit representation" is because the concept of object identity has been around forever. It is inherent to our problem domain. Consider the example of 3.x style scoping. The 3.x data models use the triple (user_id, group_id, -scope) to identify an object. In the 5.4.1 data model this +scope) to identify an object. In the 5.4.2 data model this object is explicitly represented by a single party_id.

    Another good example of this is can be found in the user groups data model. The 3.x user groups data model contains another example of an implied identity. Every mapping between a user and a group could have an arbitrary number of attached values (user_group_member_fields, etc.). In this case it is the pair (group_id, user_id) that implicitly refers to an -object (the person's membership in a group). In the 5.4.1 data model this +object (the person's membership in a group). In the 5.4.2 data model this object identity is made explicit by adding an integer primary key to the table that maps users to groups.

    Coming from a purely relational world, this might seem slightly weird at first. The pair (group_id, user_id) is sufficient to uniquely identify the @@ -32,4 +32,4 @@ even capable of fully tracking the history of membership state.

    The design choice of explicitly representing object identity with an integer primary key that is derived from a globally unique sequence is the key to eliminating redundant code and replacing it with generic object -level services.

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

    ($Id$)
    View comments on this page at openacs.org
    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 -N -r1.28.4.1 -r1.28.4.2 --- openacs-4/packages/acs-core-docs/www/object-system-design.html 3 Feb 2008 12:07:40 -0000 1.28.4.1 +++ openacs-4/packages/acs-core-docs/www/object-system-design.html 31 May 2008 20:46:15 -0000 1.28.4.2 @@ -1,5 +1,5 @@ -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 -N -r1.27.4.1 -r1.27.4.2 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 3 Feb 2008 12:07:40 -0000 1.27.4.1 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 31 May 2008 20:46:15 -0000 1.27.4.2 @@ -1,5 +1,5 @@ -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 -N -r1.45.4.2 -r1.45.4.3 --- openacs-4/packages/acs-core-docs/www/objects.html 6 Apr 2008 23:57:07 -0000 1.45.4.2 +++ openacs-4/packages/acs-core-docs/www/objects.html 31 May 2008 20:46:15 -0000 1.45.4.3 @@ -1,9 +1,9 @@ -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

      -Developing data models in OpenACS 5.4.1 is much like developing data models +Developing data models in OpenACS 5.4.2 is much like developing data models for OpenACS 3, save for the implementation. As usual, you need to examine how to model the information that the application must store and manipulate, and define a suitable set of SQL tables. In our Notes @@ -79,7 +79,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  
      @@ -139,7 +139,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 @@ -164,7 +164,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: @@ -212,7 +212,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 @@ -315,7 +315,7 @@ models that are meant to be integrated with the OpenACS object system.

      -There are two basic rules you should follow when designing OpenACS 5.4.1 data +There are two basic rules you should follow when designing OpenACS 5.4.2 data models: @@ -370,7 +370,7 @@ requires a good amount of thought at design time even for simple applications.

      Summary

      -Hooking into the OpenACS 5.4.1 object system brings the application developer +Hooking into the OpenACS 5.4.2 object system brings the application developer numerous benefits, and doing it involves only four easy steps: 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 -N -r1.22.4.2 -r1.22.4.3 --- openacs-4/packages/acs-core-docs/www/openacs-unpack.html 6 Apr 2008 23:57:07 -0000 1.22.4.2 +++ openacs-4/packages/acs-core-docs/www/openacs-unpack.html 31 May 2008 20:46:15 -0000 1.22.4.3 @@ -2,17 +2,17 @@ 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.4.1.tgz
      +[root tmp]# tar xzf openacs-5.4.2.tgz
       cd /tmp
      -tar xzf openacs-5.4.1.tgz

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

      [root root]# cd /tmp
      +tar xzf openacs-5.4.2.tgz

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

      [root root]# cd /tmp
       [root tmp]# cvs -d :pserver:anonymous@cvs.openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/
       cvs checkout: warning: failed to open /root/.cvspass for reading: No such file or directory
       cvs server: Updating openacs-4/packages/acs-core-docs/www/files
       U openacs-4/packages/acs-core-docs/www/files/README.TXT
       (many lines omitted)
       U openacs-4/packages/acs-core-docs/www/files/template-ini.ini
       U openacs-4/packages/acs-core-docs/www/files/winnsd.txt
      -[root tmp]# mv openacs-4 openacs-5.4.1
      +[root tmp]# mv openacs-4 openacs-5.4.2
       cd /tmp
       cvs -d :pserver:anonymous@cvs.openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/
       mv openacs-4 openacs-5.0.0a4
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/openacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.html,v diff -u -N -r1.44.4.2 -r1.44.4.3 --- openacs-4/packages/acs-core-docs/www/openacs.html 6 Apr 2008 23:57:07 -0000 1.44.4.2 +++ openacs-4/packages/acs-core-docs/www/openacs.html 31 May 2008 20:46:15 -0000 1.44.4.3 @@ -1,5 +1,5 @@ -Install OpenACS 5.4.1

      Install OpenACS 5.4.1

      by Vinod Kurup

      +Install OpenACS 5.4.2

      Install OpenACS 5.4.2

      by Vinod Kurup

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

      Set up a user account for each site.

      @@ -87,8 +87,8 @@ /var/tmp and proceed:

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

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

        [root root]# su - $OPENACS_SERVICE_NAME
         [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver
        -[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /var/tmp/openacs-5.4.1.tgz
        -[$OPENACS_SERVICE_NAME aolserver]$ mv openacs-5.4.1 $OPENACS_SERVICE_NAME
        +[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /var/tmp/openacs-5.4.2.tgz
        +[$OPENACS_SERVICE_NAME aolserver]$ mv openacs-5.4.2 $OPENACS_SERVICE_NAME
         [$OPENACS_SERVICE_NAME aolserver]$ chmod -R 775 $OPENACS_SERVICE_NAME
         [$OPENACS_SERVICE_NAME aolserver]$ chown -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME
         [$OPENACS_SERVICE_NAME aolserver]$ ls -al
        @@ -101,8 +101,8 @@
         [root root]#
         su - $OPENACS_SERVICE_NAME
         cd /var/lib/aolserver
        -tar xzf /var/tmp/openacs-5.4.1.tgz
        -mv openacs-5.4.1 $OPENACS_SERVICE_NAME
        +tar xzf /var/tmp/openacs-5.4.2.tgz
        +mv openacs-5.4.2 $OPENACS_SERVICE_NAME
         chmod -R 755 $OPENACS_SERVICE_NAME
         chown -R $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME
         exit
      2. Add the Service to CVS (OPTIONAL)

      3. Prepare the database

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

          @@ -214,7 +214,7 @@ SVRMGR> alter user $OPENACS_SERVICE_NAME quota unlimited on $OPENACS_SERVICE_NAME; SVRMGR> exit;

          Your table space is now ready. In case you are trying to delete a - previous OpenACS installation, consult these commands in Section�, “Deleting a tablespace” below. + previous OpenACS installation, consult these commands in ??? below.

        • Make sure that you can login to Oracle using your service_name account:

          [$OPENACS_SERVICE_NAME ~]$ sqlplus $OPENACS_SERVICE_NAME/$OPENACS_SERVICE_NAMEpassword
          @@ -238,7 +238,7 @@
           CREATE DATABASE
           [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
           su - $OPENACS_SERVICE_NAME
          -/usr/local/pgsql/bin/createdb -E UNICODE $OPENACS_SERVICE_NAME
        • Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.

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

          Add these lines to the file. The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve performance. We vacuum gently every hour and completely every day. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day, and every (*) day of month, month, and day of week. Type man 5 crontab for more information.

          0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --analyze $OPENACS_SERVICE_NAME
          +/usr/local/pgsql/bin/createdb -E UNICODE $OPENACS_SERVICE_NAME
        • Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.

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

          Add these lines to the file. The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve performance. We vacuum gently every hour and completely every day. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day, and every (*) day of month, month, and day of week. Type man 5 crontab for more information.

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

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

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

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

          @@ -312,7 +312,7 @@ AOLserver keepalive (OPTIONAL)

    • Configure a Service with the OpenACS Installer.� Now that you've got AOLserver up and running, let's install OpenACS - 5.4.1. + 5.4.2.

      • You should see a page from the webserver titled OpenACS Installation: @@ -368,14 +368,14 @@ Give the server a few minutes to start up. Then reload the final page above. You should see the front page, with an area to login near the upper right. Congratulations, OpenACS - 5.4.1 is now up and running! -

    Installation Option 3: Install from CVS

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

    Next Steps

    Installation Option 3: Install from CVS

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

    Next Steps

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

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

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

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

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

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

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

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

    • Set up database environment variables for the site user. Depending on how you installed Oracle or PostGreSQL, these settings may be necessary for working with the database while logged in as the service user. They do not directly affect the service's run-time connection with the @@ -407,4 +407,4 @@ 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

  • Test your backup and recovery procedure.

  • Set up Section�, “External uptime validation”.

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

  • Set up Section�, “External uptime validation”.

  • ($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 -N -r1.42.4.2 -r1.42.4.3 --- openacs-4/packages/acs-core-docs/www/oracle.html 6 Apr 2008 23:57:07 -0000 1.42.4.2 +++ openacs-4/packages/acs-core-docs/www/oracle.html 31 May 2008 20:46:16 -0000 1.42.4.3 @@ -5,7 +5,7 @@

    If you are installing PostGreSQL instead of Oracle, skip this section.

    - OpenACS 5.4.1 will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues. See Andrew Piskorski's Oracle 9i notes for guidance. + OpenACS 5.4.2 will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues. See Andrew Piskorski's Oracle 9i notes for guidance.

    This installation guide attempts to present all of the information necessary to complete an OpenACS installation. We try hard to make all of the steps possible in one pass, rather than having a step which amounts to "go away and develop a profound understanding of software X and then come back and, in 99% of all cases, type these two lines." The exception to our rule is Oracle production systems. This page describes a set of steps to get a working Oracle development server, but it is unsuitable for production systems. If you will be using OpenACS on Oracle in a production environment, you will experience many problems unless you develop a basic understanding of Oracle which is outside the scope of this document. T

    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 -N -r1.44.4.2 -r1.44.4.3 --- openacs-4/packages/acs-core-docs/www/packages.html 6 Apr 2008 23:57:08 -0000 1.44.4.2 +++ openacs-4/packages/acs-core-docs/www/packages.html 31 May 2008 20:46:16 -0000 1.44.4.3 @@ -1,5 +1,5 @@ -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

    @@ -13,7 +13,7 @@

    Server file layout

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

    Figure�11.1.�Server file layout diagram

    +    

    Figure�10.1.�Server file layout diagram

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

    Figure�11.2.�Package file layout diagram

    +    

    Figure�10.2.�Package file layout diagram

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

    Table�11.1.�Package files

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

    Table�10.1.�Package files

    File TypeIts UseNaming Convention
    Package Specification FileThe package specification file is an XML file generated and maintained by the OpenACS Package Manager (APM). It specifies information about the package including its parameters and its files.notes.info
    Data Model Creation Script @@ -411,4 +411,4 @@

  • Writes out package distribution files for other people to download and install. We'll cover this later. -

  • View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    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 -N -r1.44.4.2 -r1.44.4.3 --- openacs-4/packages/acs-core-docs/www/parties.html 6 Apr 2008 23:57:08 -0000 1.44.4.2 +++ openacs-4/packages/acs-core-docs/www/parties.html 31 May 2008 20:46:16 -0000 1.44.4.3 @@ -1,5 +1,5 @@ -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 -N -r1.27.4.1 -r1.27.4.2 --- openacs-4/packages/acs-core-docs/www/permissions-design.html 3 Feb 2008 12:07:40 -0000 1.27.4.1 +++ openacs-4/packages/acs-core-docs/www/permissions-design.html 31 May 2008 20:46:16 -0000 1.27.4.2 @@ -1,5 +1,5 @@ -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 -N -r1.27.4.1 -r1.27.4.2 --- openacs-4/packages/acs-core-docs/www/permissions-requirements.html 3 Feb 2008 12:07:40 -0000 1.27.4.1 +++ openacs-4/packages/acs-core-docs/www/permissions-requirements.html 31 May 2008 20:46:16 -0000 1.27.4.2 @@ -1,5 +1,5 @@ -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 -N -r1.40.4.2 -r1.40.4.3 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 6 Apr 2008 23:57:08 -0000 1.40.4.2 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 31 May 2008 20:46:16 -0000 1.40.4.3 @@ -1,5 +1,5 @@ -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.

      Permissions Overview

      Who (grantee_id) can do what @@ -105,7 +105,7 @@

      Context Hierarchy

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

      Table�11.2.�Context Hierarchy Example

      A

      +

      Table�10.2.�Context Hierarchy Example

      A

      object_id=10

      B

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

      Table�11.3.�acs_objects example data

      object_idcontext_id
      2010
      3010
      4020
      5020
      6030

      +

      Table�10.3.�acs_objects example data

      object_idcontext_id
      2010
      3010
      4020
      5020
      6030

      The first entry tells us that object 20 is the descendant of object 10, and the third entry shows that object 40 is the descendant of object 20. By running a CONNECT BY query, 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 -N -r1.43.4.2 -r1.43.4.3 --- openacs-4/packages/acs-core-docs/www/permissions.html 6 Apr 2008 23:57:08 -0000 1.43.4.2 +++ openacs-4/packages/acs-core-docs/www/permissions.html 31 May 2008 20:46:16 -0000 1.43.4.3 @@ -1,9 +1,9 @@ -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

      -The OpenACS 5.4.1 Permissions system allows developers and administrators to +The OpenACS 5.4.2 Permissions system allows developers and administrators to set access control policies at the object level, that is, any application or system object represented by a row in the acs_objects table can be access-controlled via a @@ -21,7 +21,7 @@

      The rest of this document discusses each of these parts, and how they fit together with the permissions system.

      Groups

      -OpenACS 5.4.1 has an abstraction called a party. Parties have a recursive +OpenACS 5.4.2 has an abstraction called a party. Parties have a recursive definition. We can illustrate how it works with the following simplified data model. First, we define the parties table, where each party has an email address and a URL for contact @@ -84,14 +84,14 @@ some object. Privileges are the basic units out of which we build access control policies. For example in the Unix filesystem, access is controlled by granting users some combination of read, write, or execute privileges on files and directories. In -OpenACS 5.4.1, +OpenACS 5.4.2, the table of privileges is organized hierarchically so that developers can define privileges that aggregate some set of privileges together. For example, if we have read, write, create and delete privileges, it might be convenient to combine them into a new privilege called "admin". Then, when a user is granted "admin" privilege, she is automatically granted all the child privileges that the privilege -contains. The OpenACS 5.4.1 kernel data model defines these +contains. The OpenACS 5.4.2 kernel data model defines these privileges:

       # 
      @@ -136,7 +136,7 @@
       OpenACS provides a object contexts as a means for controlling permissions of a large group
       of objects at the same time. 
       

      Object Context

      -In OpenACS 5.4.1, object context is a scoping +In OpenACS 5.4.2, object context is a scoping mechanism. "Scoping" and "scope" are terms best explained by example: consider some hypothetical rows in the address_book table: @@ -199,7 +199,7 @@

      See the package developer tutorials for examples on how to use permissions code.

      Summary

      -OpenACS 5.4.1 defines three separate mechanisms for specifying access control +OpenACS 5.4.2 defines three separate mechanisms for specifying access control in applications.

      1. The Groups data model allows you to define hierarchical organizations of users and groups of users. 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 -N -r1.44.4.2 -r1.44.4.3 --- openacs-4/packages/acs-core-docs/www/postgres.html 6 Apr 2008 23:57:08 -0000 1.44.4.2 +++ openacs-4/packages/acs-core-docs/www/postgres.html 31 May 2008 20:46:16 -0000 1.44.4.3 @@ -2,7 +2,7 @@ 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.4.1 will run with PostgreSQL 7.3.2, 7.3.3, and 7.3.4 and 7.4.x. 7.4.7 is the recommended version of PostgreSQL.

        • Special notes for Mac OS X.�If you are running Mac OS X prior to 10.3, you should be +

        Skip this section if you will run only Oracle.

        OpenACS 5.4.2 will run with PostgreSQL 7.3.2, 7.3.3, and 7.3.4 and 7.4.x. 7.4.7 is the recommended version of PostgreSQL.

        • Special notes for Mac OS X.�If you are running Mac OS X prior to 10.3, you should be able to install and use PostGreSQL 7.3.x. Mac OS X 10.3 requires PostGreSQL 7.4.

        • Special Notes for Debian.�

          Debian stable user should install PostGreSQL from source as detailed below, or they should use the www.backports.org @@ -215,11 +215,11 @@ state. Red Hat and Debian and SuSE each work a little differently. If you haven't untarred the OpenACS tarball, you will need to do so now to access the postgresql.txt file.

          • Red Hat RPM:

            The init script is already installed; just turn it on for the appropriate run levels.

            [root root]# chkconfig --level 345 postgresql on
            -[root root]# 
          • Red Hat from source:

            [root src]# cp /var/tmp/openacs-5.4.1/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
            +[root root]# 
          • Red Hat from source:

            [root src]# cp /var/tmp/openacs-5.4.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
             [root src]# chown root.root /etc/rc.d/init.d/postgresql
             [root src]# chmod 755 /etc/rc.d/init.d/postgresql
             [root src]# 
            -cp /var/tmp/openacs-5.4.1/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
            +cp /var/tmp/openacs-5.4.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
             chown root.root /etc/rc.d/init.d/postgresql
             chmod 755 /etc/rc.d/init.d/postgresql

            Test the script.

            [root root]# service postgresql stop
             Stopping PostgreSQL: ok
            @@ -242,7 +242,7 @@
             [root ~]# chown root.root /etc/init.d/postgresql
             [root ~]# chmod 755 /etc/init.d/postgresql
             [root ~]# 
            -cp /var/tmp/openacs-5.4.1/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
            +cp /var/tmp/openacs-5.4.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
             chown root.root /etc/init.d/postgresql
             chmod 755 /etc/init.d/postgresql

            Test the script

            [root ~]# /etc/init.d/postgresql stop
             Stopping PostgreSQL: ok
            @@ -260,11 +260,11 @@
                /etc/rc5.d/S20postgresql -> ../init.d/postgresql
             [root ~]# /etc/init.d/postgresql start
             Starting PostgreSQL: ok
            -[root ~]#
          • FreeBSD:

            [root ~]# cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/postgresql.txt /usr/local/etc/rc.d/postgresql.sh
            +[root ~]#
          • FreeBSD:

            [root ~]# cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/postgresql.txt /usr/local/etc/rc.d/postgresql.sh
             [root ~]# chown root:wheel /usr/local/etc/rc.d/postgresql.sh
             [root ~]# chmod 755 /usr/local/etc/rc.d/postgresql.sh
             [root ~]# 
            -cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/postgresql.txt /usr/local/etc/rc.d/postgresql.sh
            +cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/postgresql.txt /usr/local/etc/rc.d/postgresql.sh
             chown root:wheel /usr/local/etc/rc.d/postgresql.sh
             chmod 755 /usr/local/etc/rc.d/postgresql.sh

            Test the script

            [root ~]# /usr/local/etc/rc.d/postgresql.sh stop
             Stopping PostgreSQL: ok
            @@ -282,7 +282,7 @@
                         rc.d/ part in each of the
                         following commands.
             
            -          

          [root ~]# cp /var/tmp/openacs-5.4.1/packages/acs-core-docs/www/files/postgresql.txt /etc/rc.d/init.d/postgresql
          +          

        [root ~]# cp /var/tmp/openacs-5.4.2/packages/acs-core-docs/www/files/postgresql.txt /etc/rc.d/init.d/postgresql
         [root ~]# chown root.root /etc/rc.d/init.d/postgresql
         [root ~]# chmod 755 /etc/rc.d/init.d/postgresql

        Index: openacs-4/packages/acs-core-docs/www/profile-code.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/profile-code.html,v diff -u -N -r1.8.4.1 -r1.8.4.2 --- openacs-4/packages/acs-core-docs/www/profile-code.html 3 Feb 2008 12:07:40 -0000 1.8.4.1 +++ openacs-4/packages/acs-core-docs/www/profile-code.html 31 May 2008 20:46:16 -0000 1.8.4.2 @@ -1,5 +1,5 @@ -Profile your code

        Profile your code

        by Jade Rubick

        +Profile your code

        Profile your code

        by Jade Rubick

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

        There are several facilities for profiling your code in Index: openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html,v diff -u -N -r1.34.4.2 -r1.34.4.3 --- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 6 Apr 2008 23:57:08 -0000 1.34.4.2 +++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 31 May 2008 20:46:16 -0000 1.34.4.3 @@ -1,9 +1,9 @@ -Add PSGML commands to emacs init file (OPTIONAL)

        Add PSGML commands to emacs init file (OPTIONAL)

        +Add PSGML commands to emacs init file (OPTIONAL)

        Add PSGML commands to emacs init file (OPTIONAL)

        If you plan to write or edit any documentation with emacs, install a customized emacs configuration file with DocBook commands in the skeleton directory, so it will be used for all new users. The file also fixes the backspace -> help mis-mapping that often occurs in - terminals.

        [root tmp]# cp /tmp/openacs-5.4.1/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs
        +      terminals.

        [root tmp]# cp /tmp/openacs-5.4.2/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs
         cp: overwrite `/etc/skel/.emacs'? y
         [root tmp]# 

        Debian users:

        apt-get install psgml

        Note: The new nxml mode for emacs, when used in combination with psgml, provides a pretty good set of functionality that makes DocBook editing much less painless. In particular, nxml does syntax testing in real-time so that you can see syntax errors immediately instead of in the output of the xsltproc hours or days later. For debian, apt-get install nxml.

        View comments on this page at openacs.org
        Index: openacs-4/packages/acs-core-docs/www/psgml-mode.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-mode.html,v diff -u -N -r1.42.4.2 -r1.42.4.3 --- openacs-4/packages/acs-core-docs/www/psgml-mode.html 6 Apr 2008 23:57:08 -0000 1.42.4.2 +++ openacs-4/packages/acs-core-docs/www/psgml-mode.html 31 May 2008 20:46:16 -0000 1.42.4.3 @@ -1,5 +1,5 @@ -Using PSGML mode in Emacs

        Using PSGML mode in Emacs

        By David Lutterkort

        +Using PSGML mode in Emacs

        Using PSGML mode in Emacs

        By David Lutterkort

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

        Note: nxml mode replaces and/or complements psgml mode. More information.

        What it is

        PSGML Mode is a mode for editing, umm, SGML and XML documents in emacs. It 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 -N -r1.48.4.2 -r1.48.4.3 --- openacs-4/packages/acs-core-docs/www/release-notes.html 6 Apr 2008 23:57:08 -0000 1.48.4.2 +++ openacs-4/packages/acs-core-docs/www/release-notes.html 31 May 2008 20:46:16 -0000 1.48.4.3 @@ -1,6 +1,7 @@ OpenACS Release Notes

        OpenACS Release Notes

        The ChangeLogs include an annotated list of changes (Section�, “Changelog (most recent release only)”) since the last release and in the -entire 5.4 release sequence Section�, “Changelog for oacs-5-4”.

        Release 5.4.1

        • This is a minor bugfix release. +entire 5.4 release sequence Section�, “Changelog for oacs-5-4”.

          Release 5.4.2

          • This is a minor bugfix release. +

            Site node caching was removed as doesn't work correctly

            Critical issues with search on oracle were fixed

            More html strict work etc

          Release 5.4.1

          • This is a minor bugfix release.

          Release 5.4.0

          • New Templating API added to add scripts, css, etc to the HTML HEAD and BODY sections of the generated HTML document. Please see /packages/acs-templating/tcl/head-procs.tcl or visit the template::head procs @@ -35,7 +36,7 @@

            You may want to begin by reading our installation documentation for Section�, “a Unix-like system”. Note that the Windows documentation is - not current for OpenACS 5.4.1, but an alternative is to use John + not current for OpenACS 5.4.2, but an alternative is to use John Sequeira's Oasis VM project.

            @@ -123,7 +124,7 @@

          • 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$)

          Changelog (most recent release only)

          ChangeLog missing
          +

        ($Id$)

        Changelog (most recent release only)

        ChangeLog missing
        --> Index: openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html,v diff -u -N -r1.13.4.2 -r1.13.4.3 --- openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html 6 Apr 2008 23:57:08 -0000 1.13.4.2 +++ openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html 31 May 2008 20:46:16 -0000 1.13.4.3 @@ -1,5 +1,5 @@ -OpenACS Core and .LRN

        OpenACS Core and .LRN

        1. Update Translations.�Section�, “How to Update the translations”

        2. Rebuild the Changelog.�Rebuild the Changelog. I use a tool called cvs2cl. Run this command from the package root to automatically generate a Changelog file in the same dir. We generate two changelogs, one for the minor branch and one for the most recent release. The example below is for OpenACS 5.0.2:

          cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
          +OpenACS Core and .LRN

          OpenACS Core and .LRN

          1. Update Translations.�Section�, “How to Update the translations”

          2. Rebuild the Changelog.�Rebuild the Changelog. I use a tool called cvs2cl. Run this command from the package root to automatically generate a Changelog file in the same dir. We generate two changelogs, one for the minor branch and one for the most recent release. The example below is for OpenACS 5.0.2:

            cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
             cvs2cl -F oacs-5-0 --delta openacs-5-0-0-final:oacs-5-0 -f ChangeLog
             cvs2cl -F oacs-5-0 --delta openacs-5-0-1-final:oacs-5-0 -f ChangeLog-recent
          3. Update Version Numbers.�The version numbers in the documentation and in the packages must be updated. This should only happen after a release candidate is approved.

            .LRN: this must be repeated for .LRN modules (dotlrn-core in the dotlrn cvs tree) and for any modified modules in the .LRN prerequisites (dotlrn-prereq in openacs cvs tree). My current working model is that I bulk-update .LRN and OpenACS core but that I don't touch dotlrn-prereq modules - I just use the most recent release and it's up to individual package developers to tag and release those packages when they change. This model is already broken because following it means that dotlrn-prereqs don't get new translations.
            1. Update /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/xml/variables.ent with the new version number.

            2. Add new section in /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml @@ -139,4 +139,4 @@ # Clean up after ourselves... cd $BASE && rm -rf dotlrn-tarball tarball openacs-4 dotlrn-packages -

          ($Id$)
        View comments on this page at openacs.org
        +
        ($Id$)
        View comments on this page at openacs.org
        Index: openacs-4/packages/acs-core-docs/www/releasing-openacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-openacs.html,v diff -u -N -r1.22.4.1 -r1.22.4.2 --- openacs-4/packages/acs-core-docs/www/releasing-openacs.html 3 Feb 2008 12:07:41 -0000 1.22.4.1 +++ openacs-4/packages/acs-core-docs/www/releasing-openacs.html 31 May 2008 20:46:16 -0000 1.22.4.2 @@ -1,2 +1,2 @@ -Chapter�16.�Releasing OpenACS
        View comments on this page at openacs.org
        +Chapter�15.�Releasing OpenACS
        View comments on this page at openacs.org
        Index: openacs-4/packages/acs-core-docs/www/releasing-package.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-package.html,v diff -u -N -r1.8.4.1 -r1.8.4.2 --- openacs-4/packages/acs-core-docs/www/releasing-package.html 3 Feb 2008 12:07:41 -0000 1.8.4.1 +++ openacs-4/packages/acs-core-docs/www/releasing-package.html 31 May 2008 20:46:16 -0000 1.8.4.2 @@ -1,5 +1,5 @@ -How to package and release an OpenACS Package

        How to package and release an OpenACS Package

        In this example, we are packaging and releasing myfirstpackage as version 1.0.0, which is compatible with OpenACS 5.0.x.

        1. Update the version number, release date, and package maturity of your package in the APM.

        2. Make sure all changes are committed.

        3. Tag the updated work.:

          cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage
          +How to package and release an OpenACS Package

          How to package and release an OpenACS Package

          In this example, we are packaging and releasing myfirstpackage as version 1.0.0, which is compatible with OpenACS 5.0.x.

          1. Update the version number, release date, and package maturity of your package in the APM.

          2. Make sure all changes are committed.

          3. Tag the updated work.:

            cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage
             cvs tag myfirstpackages-1-0-0-final
             cvs tag -F openacs-5-0-compat
             

          Done. The package will be added to the repository automatically. If the correct version does not show up within 24 hours, ask for help on the OpenACS.org development forum.

          View comments on this page at openacs.org
          Index: openacs-4/packages/acs-core-docs/www/request-processor.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/request-processor.html,v diff -u -N -r1.42.4.2 -r1.42.4.3 --- openacs-4/packages/acs-core-docs/www/request-processor.html 6 Apr 2008 23:57:08 -0000 1.42.4.2 +++ openacs-4/packages/acs-core-docs/www/request-processor.html 31 May 2008 20:46:16 -0000 1.42.4.3 @@ -1,13 +1,13 @@ -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

          -This document is a brief introduction to the OpenACS 5.4.1 Request Processor; +This document is a brief introduction to the OpenACS 5.4.2 Request Processor; more details can be found in the OpenACS 4 Request Processor Design. Here we cover the high level concepts behind the system, and implications and usage for the application developer.

          Request Processor

          -The 5.4.1 Request Processor is a global filter and set of Tcl procs that +The 5.4.2 Request Processor is a global filter and set of Tcl procs that respond to every incoming URL reaching the server. The following diagram summarizes the stages of the request processor assuming a URL request like http://someserver.com/notes/somepage.adp. @@ -36,7 +36,7 @@ extracts or sets up new session tokens for the user.

          Stage 3: Authorization

          Next, the Request Processor checks if the user has appropriate access -privileges to the requested part of the site. In OpenACS 5.4.1, access control +privileges to the requested part of the site. In OpenACS 5.4.2, access control is dictated by the permissions system. In this case, the RP checks if the user has "read" priviledges on the object in the site map specified by the URL. This object is typically 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 -N -r1.42.4.2 -r1.42.4.3 --- openacs-4/packages/acs-core-docs/www/requirements-template.html 6 Apr 2008 23:57:08 -0000 1.42.4.2 +++ openacs-4/packages/acs-core-docs/www/requirements-template.html 31 May 2008 20:46:16 -0000 1.42.4.3 @@ -1,5 +1,5 @@ -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

          @@ -81,4 +81,4 @@ pre-existing system or prototype first, and thus you may want to write some thoughts on implementation, for aiding and guiding yourself or other programmers. -

          Revision History

          Document Revision #Action Taken, NotesWhen?By Whom?
          0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
          0.2Edited8/22/2000Kai Wu
          0.1Created8/21/2000Josh Finkler, Audrey McLoghlin
          ($Id$)
          View comments on this page at openacs.org
          +

          Revision History

          Document Revision #Action Taken, NotesWhen?By Whom?
          0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
          0.2Edited8/22/2000Kai Wu
          0.1Created8/21/2000Josh Finkler, Audrey McLoghlin
          ($Id$)
          View comments on this page at openacs.org
          Index: openacs-4/packages/acs-core-docs/www/rp-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-design.html,v diff -u -N -r1.30.4.2 -r1.30.4.3 --- openacs-4/packages/acs-core-docs/www/rp-design.html 6 Apr 2008 23:57:08 -0000 1.30.4.2 +++ openacs-4/packages/acs-core-docs/www/rp-design.html 31 May 2008 20:46:16 -0000 1.30.4.3 @@ -1,5 +1,5 @@ -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.
      [ad_conn sec_validated]This becomes "secure" when the connection uses SSL
      Database API
      [ad_conn db,handles]What are the list of handles available to AOL?
      [ad_conn db,n_handles_used]How many database handles are currently used?
      [ad_conn db,last_used]Which database handle did we use last?
      [ad_conn db,transaction_level,$db]Specifies what transaction level we are in
      [ad_conn db,db_abort_p,$dbh]Whether the transaction is aborted
      APM
      [ad_conn xml_loaded_p]Checks whether the XML parser is loaded so that it only gets loaded once. Set in apm_load_xml_packages
      Packages
      [ad_conn package_id]The package_id of the package associated with the URL.
      [ad_conn package_url]The URL on which the package is mounted.
      Miscellaneous
      [ad_conn system_p]If true then the request has been made to one of the special directories specified in the config file (somewhere), and no authentication or -authorization has been performed.
      Documentation
      [ad_conn api_page_documentation_mode_p]
      View comments on this page at openacs.org
      +authorization has been performed.
      Documentation
      [ad_conn api_page_documentation_mode_p]
      View comments on this page at openacs.org
      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 -N -r1.26.4.1 -r1.26.4.2 --- openacs-4/packages/acs-core-docs/www/rp-requirements.html 3 Feb 2008 12:07:41 -0000 1.26.4.1 +++ openacs-4/packages/acs-core-docs/www/rp-requirements.html 31 May 2008 20:46:16 -0000 1.26.4.2 @@ -1,5 +1,5 @@ -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-notes.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-notes.html,v diff -u -N -r1.42.4.2 -r1.42.4.3 --- openacs-4/packages/acs-core-docs/www/security-notes.html 6 Apr 2008 23:57:09 -0000 1.42.4.2 +++ openacs-4/packages/acs-core-docs/www/security-notes.html 31 May 2008 20:46:16 -0000 1.42.4.3 @@ -1,5 +1,5 @@ -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.

      @@ -55,4 +55,4 @@ The set of string match expressions in the procedure above should be extended appropriately for other registration pages. This procedure does not use ad_parameter or regular expressions for performance reasons, as -it is called by the request processor.

      ($Id$)
      View comments on this page at openacs.org
      +it is called by the request processor.

      ($Id$)
      View comments on this page at openacs.org
      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 -N -r1.28.4.1 -r1.28.4.2 --- openacs-4/packages/acs-core-docs/www/security-requirements.html 3 Feb 2008 12:07:41 -0000 1.28.4.1 +++ openacs-4/packages/acs-core-docs/www/security-requirements.html 31 May 2008 20:46:16 -0000 1.28.4.2 @@ -1,5 +1,5 @@ -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

      @@ -44,4 +44,4 @@ AOLserver for each step of the login process (e.g., by a load balancer).

    • 12.4 Secure The security system should not store passwords in clear text in the database.

    • 13.0 SSL Hardware The system must work when the SSL processing occurs outside of the web server (in specialized hardware, in a -firewall, etc.).

    View comments on this page at openacs.org
    +firewall, etc.).

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/snapshot-backup.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/snapshot-backup.html,v diff -u -N -r1.8.4.1 -r1.8.4.2 --- openacs-4/packages/acs-core-docs/www/snapshot-backup.html 3 Feb 2008 12:07:41 -0000 1.8.4.1 +++ openacs-4/packages/acs-core-docs/www/snapshot-backup.html 31 May 2008 20:46:16 -0000 1.8.4.2 @@ -1,5 +1,5 @@ -Manual backup and recovery

    Manual backup and recovery

    This section describes how to make a one-time backup and +Manual backup and recovery

    Manual backup and recovery

    This section describes how to make a one-time backup and restore of the files and database. This is useful for rolling back to known-good versions of a service, such as at initial installation and just before an upgrade. First, you back up the 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 -N -r1.21.4.2 -r1.21.4.3 --- openacs-4/packages/acs-core-docs/www/style-guide.html 6 Apr 2008 23:57:09 -0000 1.21.4.2 +++ openacs-4/packages/acs-core-docs/www/style-guide.html 31 May 2008 20:46:16 -0000 1.21.4.3 @@ -1,7 +1,7 @@ -OpenACS Style GuideOpenACS 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 @@ -90,6 +90,6 @@

  • Solicit code reviews.� Ask others to look over your code and provide feedback and do the same for others. -

  • Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation12/2003Jeff Davis
    ($Id$)