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.29 -r1.30 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 21 Apr 2004 09:49:41 -0000 1.29 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 5 May 2004 12:36:02 -0000 1.30 @@ -1 +1 @@ -Part�II.�Administrator's Guide

Administrator's Guide

Table of Contents

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

Administrator's Guide

Table of Contents

2. Installation Overview
Basic Steps
Prerequisite Software
3. Complete Installation
Install a Unix-like system and supporting software
Install Oracle 8.1.7
Install PostgreSQL
Install AOLserver 4
Install OpenACS 5.2.0d1
OpenACS Installation Guide for Windows2000
OpenACS Installation Guide for Mac OS X
4. Configuring a new OpenACS Site
How Do I?
5. Upgrading
Overview
Upgrading 4.5 or higher to 4.6.3
Upgrading OpenACS 4.6.3 to 5.0
Upgrading 5.0.0 to 5.0.x
Upgrading the OpenACS files
Upgrading Platform components
6. Production Environments
Starting and Stopping an OpenACS instance.
AOLserver keepalive with inittab
Running multiple services on one machine
High Availability/High Performance Configurations
Staged Deployment for Production Networks
Installing SSL Support for an OpenACS service
Set up Log Analysis Reports
External uptime validation
Diagnosing Performance Problems
7. Database Management
Running a PostgreSQL database on another server
Deleting a tablespace
Vacuum Postgres nightly
8. Backup and Recovery
Backup Strategy
Manual backup and recovery
Automated Backup
Using CVS for backup-recovery
A. Install Red Hat 8/9
B. Install additional supporting software
Unpack the OpenACS tarball
Initialize CVS (OPTIONAL)
Add PSGML commands to emacs init file (OPTIONAL)
Install Daemontools (OPTIONAL)
Install qmail (OPTIONAL)
Install Analog web file analyzer
Install nspam
Install Full Text Search
Install nsopenssl
Install tclwebtest.
Install PHP for use in AOLserver
Install Squirrelmail for use as a webmail system for OpenACS
Install AOLserver 3.3oacs1
A. Credits
Where did this document come from?
Linux Install Guides
Security Information
Resources
View comments on this page at openacs.org
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.17 -r1.18 --- openacs-4/packages/acs-core-docs/www/acs-package-dev.html 21 Apr 2004 09:49:41 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/acs-package-dev.html 5 May 2004 12:36:03 -0000 1.18 @@ -1,2 +1,2 @@ Part�III.�For OpenACS Package Developers

For OpenACS Package Developers

Tutorials and reference material for creating new OpenACS packages. -

View comments on this page at openacs.org
+

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
Adding Comments
Admin Pages
Categories
Categories
Profile your code
Prepare the package for distribution.
Notifications
Hierarchical data
Using .vuh files for pretty urls
Future Topics
11. Development Reference
OpenACS Packages
OpenACS Data Models and the Object System
The Request Processor
The OpenACS Database Access API
Using Templates in OpenACS
Groups, Context, Permissions
Writing OpenACS Application Pages
Parties in OpenACS
OpenACS Permissions Tediously Explained
Object Identity
Programming with AOLserver
Using HTML Forms
12. Engineering Standards
OpenACS Style Guide
Release Version Numbering
Constraint naming standard
ACS File Naming and Formatting Standards
PL/SQL Standards
Variables
Automated Testing
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
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.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/acs-plat-dev.html 4 Mar 2004 14:09:21 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/acs-plat-dev.html 5 May 2004 12:36:03 -0000 1.19 @@ -1 +1 @@ -Part�IV.�For OpenACS Platform Developers

For OpenACS Platform Developers

Table of Contents

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

For OpenACS Platform Developers

Table of Contents

15. Kernel Documentation
Overview
Object Model Requirements
Object Model Design
Permissions Requirements
Permissions Design
Groups Requirements
Groups Design
Subsites Requirements
Subsites Design Document
Package Manager Requirements
Package Manager Design
Database Access API
OpenACS Internationalization Requirements
Security Requirements
Security Design
Security Notes
Request Processor Requirements
Request Processor Design
Documenting Tcl Files: Page Contracts and Libraries
Bootstrapping OpenACS
External Authentication Requirements
16. Releasing OpenACS
OpenACS Core and .LRN
How to Update the OpenACS.org repository
How to package and release an OpenACS Package
How to Update the translations
View comments on this page at openacs.org
Index: openacs-4/packages/acs-core-docs/www/analog-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/analog-install.html,v diff -u -N -r1.11 -r1.12 --- openacs-4/packages/acs-core-docs/www/analog-install.html 20 Feb 2004 15:13:41 -0000 1.11 +++ openacs-4/packages/acs-core-docs/www/analog-install.html 5 May 2004 12:36:03 -0000 1.12 @@ -17,4 +17,4 @@ cd analog-5.32 make cd .. -mv analog-5.32 /usr/share/

See also the section called “Set up Log Analysis Reports”

View comments on this page at openacs.org
+mv analog-5.32 /usr/share/

See also the section called “Set up Log Analysis Reports”

View comments on this page at openacs.org
Index: openacs-4/packages/acs-core-docs/www/analog-setup.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/analog-setup.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/analog-setup.html 22 Mar 2004 11:50:28 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/analog-setup.html 5 May 2004 12:36:03 -0000 1.4 @@ -29,4 +29,4 @@ [root root]# emacs /etc/cron.daily/analog

Put this into the file:

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

Test it by running the script.

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

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

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

Test it by running the script.

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

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

View comments on this page at openacs.org
Index: openacs-4/packages/acs-core-docs/www/aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver.html,v diff -u -N -r1.35 -r1.36 --- openacs-4/packages/acs-core-docs/www/aolserver.html 21 Apr 2004 09:49:42 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/aolserver.html 5 May 2004 12:36:03 -0000 1.36 @@ -238,4 +238,4 @@ set hostname [ns_info hostname] #set address [ns_info address] set address 0.0.0.0
  • Install - Analog web file analyzer. (OPTIONAL)

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

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/aolserver4.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver4.html,v diff -u -N -r1.11 -r1.12 --- openacs-4/packages/acs-core-docs/www/aolserver4.html 21 Apr 2004 09:49:42 -0000 1.11 +++ openacs-4/packages/acs-core-docs/www/aolserver4.html 5 May 2004 12:36:03 -0000 1.12 @@ -77,4 +77,4 @@ cd /usr/local/aolserver40r2/bin cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres chmod 755 nsd-postgres

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

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

  • Test AOLserver.

  • ($Id$)
    View comments on this page at openacs.org
    + /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.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/apm-design.html 24 Feb 2004 17:42:24 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/apm-design.html 5 May 2004 12:36:03 -0000 1.28 @@ -540,4 +540,4 @@ all of this functionality in one interface and it can be confusing from a usability perspective.

    Authors

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation9/25/2000Bryan Quinn
    0.8Ready for QA9/29/2000Bryan Quinn
    0.9Edited for ACS 4 Beta release10/02/2000Kai Wu
    1.0Edited for OpenACS 4.5 Beta release03/02/2002Roberto Mello
    View comments on this page at openacs.org
    +Salz, Michael Yoon, and Lars Pind.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation9/25/2000Bryan Quinn
    0.8Ready for QA9/29/2000Bryan Quinn
    0.9Edited for ACS 4 Beta release10/02/2000Kai Wu
    1.0Edited for OpenACS 4.5 Beta release03/02/2002Roberto Mello
    View comments on this page at openacs.org
    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.22 -r1.23 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 24 Feb 2004 17:42:24 -0000 1.22 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 5 May 2004 12:36:03 -0000 1.23 @@ -291,4 +291,4 @@ are set using the acs_attribute_values table. The automatic web interface for setting package parameters should be one and the same with the interface for setting acs object attribute values. Consequently, the implementation of -these features should be quite straightforward.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation8/10/2000Bryan Quinn, Todd Nightingale
    Reviewed8/11/2000John Prevost, Mark Thomas, and Pete Su
    0.2Revised and updated8/12/2000Bryan Quinn
    0.3Reviewed, revised, and updated - conforms to requirements template.8/18/2000Kai Wu
    0.4Minor edits before ACS 4 Beta.9/30/2000Kai Wu
    View comments on this page at openacs.org
    +these features should be quite straightforward.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation8/10/2000Bryan Quinn, Todd Nightingale
    Reviewed8/11/2000John Prevost, Mark Thomas, and Pete Su
    0.2Revised and updated8/12/2000Bryan Quinn
    0.3Reviewed, revised, and updated - conforms to requirements template.8/18/2000Kai Wu
    0.4Minor edits before ACS 4 Beta.9/30/2000Kai Wu
    View comments on this page at openacs.org
    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.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/automated-backup.html 20 Feb 2004 15:13:41 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/automated-backup.html 5 May 2004 12:36:03 -0000 1.3 @@ -1,3 +1,3 @@ Automated Backup

    Automated Backup

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

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

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

    3. Make sure the file is executable:

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

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

    30 1 * * * *        sh /var/lib/aolserver/service0/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.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 21 Apr 2004 09:49:42 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 5 May 2004 12:36:03 -0000 1.14 @@ -24,4 +24,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.28 -r1.29 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 21 Apr 2004 09:49:42 -0000 1.28 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 5 May 2004 12:36:03 -0000 1.29 @@ -7,4 +7,4 @@ probably need to create your own backup strategies (in particular full dumps from oracle, while easy to set up, are far from the best solution).

    There are three basic things which need to be backed up, the database data, the server - source tree, and the acs-content-repository (which is in the server source tree).

    Figure�8.1.�Backup and Recovery Strategy

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

    Figure�8.1.�Backup and Recovery Strategy

    Backup and Recovery Strategy
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/backups-with-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backups-with-cvs.html,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/backups-with-cvs.html 20 Feb 2004 15:13:41 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/backups-with-cvs.html 5 May 2004 12:36:03 -0000 1.3 @@ -27,4 +27,4 @@ [service0 service0]$ exit su - service0 cd /var/lib/aolserver/service0 -cvs up -r current
    View comments on this page at openacs.org
    +cvs up -r current
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/bootstrap-acs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 5 May 2004 12:36:03 -0000 1.35 @@ -85,4 +85,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/ch10s06.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/ch10s06.html,v diff -u -N -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/ch10s06.html 21 Apr 2004 09:49:42 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/ch10s06.html 5 May 2004 12:36:03 -0000 1.9 @@ -1,4 +1,4 @@ -Categories

    Categories

    You can associate any ACS Object with one or more categories. +Categories

    Categories

    You can associate any ACS Object with one or more categories. In this tutorial we'll show how to equip your application with user interface to take advantage of the Categories service.

    @@ -143,4 +143,4 @@ -edit_data, depending on whether we are adding a new note or editing an existing one.

    -

    View comments on this page at openacs.org
    +

    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.12 -r1.13 --- openacs-4/packages/acs-core-docs/www/complete-install.html 21 Apr 2004 09:49:42 -0000 1.12 +++ openacs-4/packages/acs-core-docs/www/complete-install.html 5 May 2004 12:36:03 -0000 1.13 @@ -1 +1 @@ -Chapter�3.�Complete Installation

    Chapter�3.�Complete Installation

    Table of Contents

    Install a Unix-like system and supporting software
    Install Oracle 8.1.7
    Install PostgreSQL
    Install AOLserver 4
    Install OpenACS 5.2.0d1
    OpenACS Installation Guide for Windows2000
    OpenACS Installation Guide for Mac OS X
    View comments on this page at openacs.org
    +Chapter�3.�Complete Installation

    Chapter�3.�Complete Installation

    Table of Contents

    Install a Unix-like system and supporting software
    Install Oracle 8.1.7
    Install PostgreSQL
    Install AOLserver 4
    Install OpenACS 5.2.0d1
    OpenACS Installation Guide for Windows2000
    OpenACS Installation Guide for Mac OS X
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/configuring-new-site.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-new-site.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/configuring-new-site.html 12 Feb 2004 13:51:40 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/configuring-new-site.html 5 May 2004 12:36:03 -0000 1.4 @@ -1,4 +1,4 @@ Chapter�4.�Configuring a new OpenACS Site

    Chapter�4.�Configuring a new OpenACS Site

    Table of Contents

    How Do I?

    by Joel Aufrecht

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

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

    View comments on this page at openacs.org
    +

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

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/credits.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/credits.html,v diff -u -N -r1.33 -r1.34 --- openacs-4/packages/acs-core-docs/www/credits.html 21 Apr 2004 09:49:42 -0000 1.33 +++ openacs-4/packages/acs-core-docs/www/credits.html 5 May 2004 12:36:03 -0000 1.34 @@ -32,4 +32,4 @@

    All questions and comments regarding this guide should be posted on the OpenACS forums. -

    ($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/cvs-tips.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-tips.html,v diff -u -N -r1.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 21 Apr 2004 09:49:42 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 5 May 2004 12:36:03 -0000 1.19 @@ -1,7 +1,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/service0
       [root root]# chown service0.service0 /cvsroot/service0
      @@ -59,4 +59,4 @@
       su - service0
       cd /var/lib/aolserver
       cvs checkout service0
      -exit
    2. If the service starts correctly, come back and remove the temporary copy of the uploaded files.

    View comments on this page at openacs.org
    +exit
  • If the service starts correctly, come back and remove the temporary copy of the uploaded files.

  • View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/database-management.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/database-management.html,v diff -u -N -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/database-management.html 18 Feb 2004 14:43:02 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/database-management.html 5 May 2004 12:36:03 -0000 1.20 @@ -1,4 +1,4 @@ Chapter�7.�Database Management

    Chapter�7.�Database Management

    Table of Contents

    Running a PostgreSQL database on another server
    Deleting a tablespace
    Vacuum Postgres nightly

    By Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
    View comments on this page at openacs.org
    +
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/db-api-detailed.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api-detailed.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html 5 May 2004 12:36:03 -0000 1.35 @@ -727,4 +727,4 @@ The nsv containing the list is initialized by the bootstrap script and should never be referenced directly by user code. Returns the current rdbms type and version. -

    ($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/db-api.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/db-api.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/db-api.html 5 May 2004 12:36:03 -0000 1.35 @@ -682,4 +682,4 @@

    ($Id$)

    -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    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.23 -r1.24 --- openacs-4/packages/acs-core-docs/www/dev-guide.html 21 Apr 2004 09:49:42 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/dev-guide.html 5 May 2004 12:36:03 -0000 1.24 @@ -1 +1 @@ -Chapter�11.�Development Reference

    Chapter�11.�Development Reference

    Table of Contents

    OpenACS Packages
    OpenACS Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS
    Groups, Context, Permissions
    Writing OpenACS Application Pages
    Parties in OpenACS
    OpenACS Permissions Tediously Explained
    Object Identity
    Programming with AOLserver
    Using HTML Forms
    View comments on this page at openacs.org
    +Chapter�11.�Development Reference

    Chapter�11.�Development Reference

    Table of Contents

    OpenACS Packages
    OpenACS Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS
    Groups, Context, Permissions
    Writing OpenACS Application Pages
    Parties in OpenACS
    OpenACS Permissions Tediously Explained
    Object Identity
    Programming with AOLserver
    Using HTML Forms
    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.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/doc-standards.html 18 Feb 2004 14:43:02 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/doc-standards.html 5 May 2004 12:36:03 -0000 1.6 @@ -1 +1 @@ -Chapter�13.�Documentation Standards

    Chapter�13.�Documentation Standards

    Table of Contents

    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Using nXML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    View comments on this page at openacs.org
    +Chapter�13.�Documentation Standards

    Chapter�13.�Documentation Standards

    Table of Contents

    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Using nXML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    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.35 -r1.36 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 21 Apr 2004 09:49:42 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 5 May 2004 12:36:03 -0000 1.36 @@ -36,7 +36,7 @@ In order to separate content and presentation, all OpenACS documentation will be marked up to conform to the DocBook XML DTD - + This enables us to publish in a variety of formats and relieves each contributor of the burden of presentation, freeing him to focus on content and sharing knowledge. @@ -57,7 +57,7 @@ list of elements and use more exotic features in your documents. The list is made up of SGML-elements but basically the same elements are valid in the XML DTD as long as you remember to: - +

    Headlines, Sections

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

    - + You need to feed every <sect1> two attributes. The first attribute, id, is standard and can be used with all elements. It comes in very handy when interlinking between documents (more about this when talking about links in the section called “Links”). The value of id has to be unique throughout the book you're making since the id's in your sect1's will turn into filenames when the book is parsed into HTML.

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

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

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

    Code

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

    Links

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

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

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

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

    Put this in your XML:

    +	  

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

    Put this in your XML:

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

    And the output is:

    @@ -206,7 +206,7 @@
     	    packages-looks, the
     	    parser will try its best to explain where the link takes you.
     	  

    2. Linking outside the documentation

    - + If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just a little different @@ -227,7 +227,7 @@ do it, so if you want to start converting your documents right away, start out with the ones without graphics ;)

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

    Lists

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

    1. How to make an <ul>

    Making an unordered list is pretty much like doing the same thing in HTML - if you close your <li>, that is. The only differences are that each list item has to be wrapped in something more, such as @@ -298,7 +298,7 @@ </variablelist>

    Tables

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

    Emphasis

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

    @@ -413,4 +413,4 @@ 8/3/2002Vinod Kurup0.3 Added OpenACS information, updated tools, added extra links and added info to the Publishing section. - 12/24/2001Roberto Mello0.2Changed recommendation from <phrase> to <emphasis role="strong">01/19/2000Claus Rasmussen0.1Creation12/2000Claus Rasmussen

    View comments on this page at openacs.org
    + 12/24/2001Roberto Mello0.2Changed recommendation from <phrase> to <emphasis role="strong">01/19/2000Claus Rasmussen0.1Creation12/2000Claus Rasmussen
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html,v diff -u -N -r1.33 -r1.34 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 21 Apr 2004 09:49:42 -0000 1.33 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 5 May 2004 12:36:03 -0000 1.34 @@ -84,4 +84,4 @@ debugging (e.g. the error will say something like "Cannot insert null value into column"), we recommend naming not null constraints to be consistent in our naming of all constraints. -

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

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html,v diff -u -N -r1.33 -r1.34 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 21 Apr 2004 09:49:42 -0000 1.33 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 5 May 2004 12:36:03 -0000 1.34 @@ -227,4 +227,4 @@

    Tcl Library Files

    Further standards for Tcl library files are under discussion; we plan to include naming conventions for procs. -

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

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 5 May 2004 12:36:03 -0000 1.35 @@ -151,4 +151,4 @@ as possible to all source code readers.

  • Lowercase everything, with the exception of %TYPE and %ROWTYPE. -

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

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 5 May 2004 12:36:03 -0000 1.35 @@ -59,4 +59,4 @@

    Transition Rules

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

    ($Id$)
    View comments on this page at openacs.org
    +the next. These rules are fine-tuned with each release; an example is 5.0.0 Milestones and Milestone Criteria

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/eng-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards.html,v diff -u -N -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 18 Feb 2004 14:43:02 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 5 May 2004 12:36:03 -0000 1.20 @@ -1 +1 @@ -Chapter�12.�Engineering Standards

    Chapter�12.�Engineering Standards

    Table of Contents

    OpenACS Style Guide
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    Variables
    Automated Testing
    View comments on this page at openacs.org
    +Chapter�12.�Engineering Standards

    Chapter�12.�Engineering Standards

    Table of Contents

    OpenACS Style Guide
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    Variables
    Automated Testing
    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.23 -r1.24 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 21 Apr 2004 09:49:42 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 5 May 2004 12:36:03 -0000 1.24 @@ -1,4 +1,4 @@ -External Authentication Requirements

    External Authentication Requirements

    Vision

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

    External Authentication Requirements

    Vision

    People have plenty of usernames and passwords already, we don't want them to have yet another. We want people to be able to log in to OpenACS with the same password they use to log in to any other system.

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

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

  • Conceptual Pictures

    Authentication:

    -

    Account Management (NO PICTURE YET)

    Batch Synchronization (NO PICTURE YET)

    Requirements

    New API

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

    Login

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

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

    Account Management (NO PICTURE YET)

    Batch Synchronization (NO PICTURE YET)

    Requirements

    New API

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

    Login

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

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

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

  • Draft Proposal by Andrew Grumet.

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

  • Revision History

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

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    1Updated work-in-progress for consortium-sponsored ext-auth work at Collaboraid.20 Aug 2003Joel Aufrecht
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/filename.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/filename.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/filename.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/filename.html 5 May 2004 12:36:03 -0000 1.35 @@ -135,4 +135,4 @@

    Revision History

    The revision history table below is for this template - modify it as needed for your actual design document. -

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

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
    0.2Edited8/22/2000Kai Wu
    0.1Creation8/21/2000Josh Finkler, Audrey McLoghlin
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/for-everyone.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/for-everyone.html,v diff -u -N -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/for-everyone.html 12 Feb 2004 13:51:40 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/for-everyone.html 5 May 2004 12:36:03 -0000 1.17 @@ -1 +1 @@ -Part�I.�OpenACS For Everyone

    OpenACS For Everyone

    Table of Contents

    1. High level information: What is OpenACS?
    Overview
    OpenACS Release Notes
    View comments on this page at openacs.org
    +Part�I.�OpenACS For Everyone

    OpenACS For Everyone

    Table of Contents

    1. High level information: What is OpenACS?
    Overview
    OpenACS Release Notes
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/form-builder.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.html,v diff -u -N -r1.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/form-builder.html 21 Apr 2004 09:49:42 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 5 May 2004 12:36:03 -0000 1.14 @@ -1,4 +1,4 @@ -Using HTML Forms

    Using HTML Forms

    Overview

    Multi-part Elements

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

    SELECT elements

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

      set foo_options [db_list_of_lists foo_option_list "
      +Using HTML Forms

      Using HTML Forms

      Overview

      Multi-part Elements

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

      SELECT elements

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

        set foo_options [db_list_of_lists foo_option_list "
             select foo,
                    foo_id
               from foos
        @@ -10,5 +10,5 @@
             }

        This will result in a single name/value pair coming back in the submitted form. Handle this within the same ad_form structure, in the -new_data and -edit_data. In the example, it is available as $foo

      See also the W3C spec for "The SELECT, OPTGROUP, and OPTION elements".

      Common Errors

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

      Error when selecting values

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

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

      Error when selecting values

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

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/general-documents.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/general-documents.html,v diff -u -N -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/general-documents.html 12 Feb 2004 13:51:40 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/general-documents.html 5 May 2004 12:36:03 -0000 1.17 @@ -1 +1 @@ -Chapter�1.�High level information: What is OpenACS?

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

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

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

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/groups-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-design.html,v diff -u -N -r1.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/groups-design.html 24 Feb 2004 17:42:24 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 5 May 2004 12:36:03 -0000 1.22 @@ -303,4 +303,4 @@ Mark Thomas 0.3Additional revisions; tried to clarify membership/compostion09/08/2000 Mark Thomas -
    View comments on this page at openacs.org
    +
    View comments on this page at openacs.org
    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.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/groups-requirements.html 24 Feb 2004 17:42:24 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 5 May 2004 12:36:03 -0000 1.22 @@ -220,4 +220,4 @@ where clause, whatever mechanism is used to check membership in SQL should be fairly small and simple.

    Requirements: User Interface

    The user interface is a set of HTML pages that are used to drive the underlying API. The user interface may provide the following functions:

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/16/2000Rafael Schloming
    0.2Initial revision08/19/2000Mark Thomas
    0.3Edited and reviewed, conforms to requirements template08/23/2000Kai Wu
    0.4Further revised, added UI requirements08/24/2000Mark Thomas
    0.5Final edits, pending freeze08/24/2000Kai Wu
    0.6More revisions, added composition requirements08/30/2000Mark Thomas
    0.7More revisions, added composition requirements09/08/2000Mark Thomas
    View comments on this page at openacs.org
    +outlined in 130.x to 165.x

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/16/2000Rafael Schloming
    0.2Initial revision08/19/2000Mark Thomas
    0.3Edited and reviewed, conforms to requirements template08/23/2000Kai Wu
    0.4Further revised, added UI requirements08/24/2000Mark Thomas
    0.5Final edits, pending freeze08/24/2000Kai Wu
    0.6More revisions, added composition requirements08/30/2000Mark Thomas
    0.7More revisions, added composition requirements09/08/2000Mark Thomas
    View comments on this page at openacs.org
    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.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/high-avail.html 21 Apr 2004 09:49:42 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/high-avail.html 5 May 2004 12:36:03 -0000 1.9 @@ -1 +1 @@ -High Availability/High Performance Configurations

    High Availability/High Performance Configurations

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

    Figure�6.1.�Multiple-server configuration

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

    High Availability/High Performance Configurations

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

    Figure�6.1.�Multiple-server configuration

    Multiple-server configuration
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/how-do-I.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/how-do-I.html,v diff -u -N -r1.11 -r1.12 --- openacs-4/packages/acs-core-docs/www/how-do-I.html 21 Apr 2004 09:49:42 -0000 1.11 +++ openacs-4/packages/acs-core-docs/www/how-do-I.html 5 May 2004 12:36:03 -0000 1.12 @@ -1,8 +1,8 @@ -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. +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/service0/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/service0/packages/acs-subsite/www/index* /var/lib/aolserver/service0/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:

      • +

      • 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/service0/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/service0/packages/acs-subsite/www/index* /var/lib/aolserver/service0/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/service0/www, this is /var/lib/aolserver/service0/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/service0/www/site-master.adp and .tcl)

    • The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/service0/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/service0/www/site-master.adp and .tcl)

      5. The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/service0/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/service0/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/service0/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.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/i18n-convert.html 21 Apr 2004 13:18:34 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/i18n-convert.html 5 May 2004 12:36:03 -0000 1.10 @@ -70,7 +70,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

    • 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,
                 when this wizard is completed and casting begins.</p>

      has a bold tag which confuses the converter into thinking there are two message keys for the text beginning "Invitations ..." where there should be one:

      Instead, we cancel those keys, edit the file manually, and put in a single temporary message tag:

        <p class="form-help-text"> <#Invitations_are_sent <b>Invitations</b> are sent, 
       when this wizard is completed and casting begins.#>
         </p>

      Complex if statements may produce convoluted message keys that are very hard to localize. Rewrite these if statements. For example:

      Select which case <if @simulation.casting_type@ eq "open">and
      @@ -93,17 +93,42 @@
       be automatically assigned to a case when the simulation
       begins.
       
      -</else>

      Another example, where bugs are concatenated with a number:

      <if @components.view_bugs_url@ not nil><a href="@components.view_bugs_url@" title="View the @pretty_names.bugs@ for this component"></if>@components.num_bugs@ <if @components.num_bugs@ eq 1>@pretty_names.bug@</if><else>@pretty_names.bugs@</else><if @components.view_bugs_url@ not nil></a></if>
      +</else>

      Another example, where bugs are concatenated with a number:

      <if @components.view_bugs_url@ not nil>
      +  <a href="@components.view_bugs_url@" title="View the @pretty_names.bugs@ for this component">
      +  </if>
      +  @components.num_bugs@ 
      +  <if @components.num_bugs@ eq 1>
      +    @pretty_names.bug@
      +  </if>
      +  <else>
      +    @pretty_names.bugs@
      +  </else>
      +  <if @components.view_bugs_url@ not nil>
      +  </a>
      +  </if>
       
      -<if @components.view_bugs_url@ not nil><a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#"></if>@components.num_bugs@ <if @components.num_bugs@ eq 1>@pretty_names.bug@</if><else>@pretty_names.bugs@</else><if @components.view_bugs_url@ not nil></a></if>
      +<if @components.view_bugs_url@ not nil>
      +<a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#">
      +</if>
      +@components.num_bugs@ 
      +<if @components.num_bugs@ eq 1>
      +@pretty_names.bug@
      +</if>
      +<else>
      +@pretty_names.bugs@
      +</else>
      +<if @components.view_bugs_url@ not nil>
      +</a>
      +</if>
       

      It would probably be better to do this as something like:

      <if @components.view_bugs_url@ not nil>
         <if @components.num_bugs@ eq 1>
           <a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#">#bug-tracker.one_bug#</a>
         </if><else>
           <a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#">#bug-tracker.N_bugs#</a>
         </else>
       </if>
    • Don't combine keys in display text.�Converting a phrase from one language to another is usually more complicated than simply replacing each word with an equivalent. When several keys are concatenated, the resulting word order will not be correct for every language. Different languages may use expressions or idioms that don't match the phrase key-for-key. Create complete, distinct keys instead of building text from several keys. For example:

      Original code:

      multirow append links "New [bug_tracker::conn Bug]" 

      Problematic conversion:

      multirow append links "[_ bug-tracker.New] [bug_tracker::conn Bug]"

      Better conversion:

      set bug_label [bug_tracker::conn Bug]
      -multirow append links "[_ bug-tracker.New_Bug]" "${url_prefix}bug-add"

      ... and include the variable in the key: "New %bug_label%". This gives translators more control over the phrase.

      In this bad example, full name is created by concatenating first and last name (admittedly this is pervasive in the toolkit):

      <a href="@past_version.maintainer_url@" title="#bug-tracker.Email# @past_version.maintainer_email@">@past_version.maintainer_first_names@ @past_version.maintainer_last_name@</a>
    • Avoid unnecessary duplicate keys.�When phrases are exactly the same in several places, use a single key.

      For common words such as +multirow append links "[_ bug-tracker.New_Bug]" "${url_prefix}bug-add"

      ... and include the variable in the key: "New %bug_label%". This gives translators more control over the phrase.

      In this example of bad i18n, full name is created by concatenating first and last name (admittedly this is pervasive in the toolkit):

      <a href="@past_version.maintainer_url@" title="#bug-tracker.Email# @past_version.maintainer_email@">
      +@past_version.maintainer_first_names@ @past_version.maintainer_last_name@</a>
    • Avoid unnecessary duplicate keys.�When phrases are exactly the same in several places, use a single key.

      For common words such as Yes and No, you can use a library of keys at acs-kernel. For example, instead of using myfirstpackage.Yes, you @@ -117,17 +142,19 @@ server upgraded, and Localization questions.

    • Don't internationalize internal code words.�Many packages use code words or key words, such as "open" and "closed", which will never be shown to the user. They may match key values in the database, or be used in a switch or if statement. Don't change these.

      For example, the original code is

      workflow::case::add_log_data \ 	    
              -entry_id $entry_id \ 	    
              -key "resolution" \ 	    
      -       -value [db_string select_resolution_code {}]

      This is internationalized to

        workflow::case::add_log_data \ 	    
      +       -value [db_string select_resolution_code {}]

      This is incorrectly internationalized to

        workflow::case::add_log_data \ 	    
              -entry_id $entry_id \
              -key "[_ bug-tracker.resolution]" \
      -       -value [db_string select_resolution_code {}]

      But resolution is a keyword in a table and in the code, so this breaks the code. It should not have been internationalized at all. Here's another example of text that should not have been internationalized:

      {show_patch_status "open"}

      was changed to

      {show_patch_status "[_ bug-tracker.open]"}
    • Fix automatic truncated message keys.�The automatic converter may create unique but crytic message keys. Watch out for these and replace them with more descriptive keys. For example:

      +       -value [db_string select_resolution_code {}]

      But resolution is a keyword in a table and in the code, so this breaks the code. It should not have been internationalized at all. Here's another example of text that should not have been internationalized:

      {show_patch_status "open"}

      It is broken if changed to

      {show_patch_status "[_ bug-tracker.open]"}
    • Fix automatic truncated message keys.�The automatic converter may create unique but crytic message keys. Watch out for these and replace them with more descriptive keys. For example:

       <msg key="You">You can filter by this %component_name% by viisting %filter_url_string%</msg>
      -<msg key="You_1">You do not have permission to map this patch to a bug. Only the submitter of the patch and users with write permission on this Bug Tracker project (package instance) may do so.</msg>
      -<msg key="You_2">You do not have permission to edit this patch. Only the submitter of the patch and users with write permission on the Bug Tracker project (package instance) may do so.</msg>

      These would be more useful if they were, "you_can_filter", "you_do_not_have_permission_to_map_this_patch", and "you_do_not_have_permission_to_edit_this_patch". Don't worry about exactly matching the english text, because that might change; instead try to capture the meaning of the phrase. Ask yourself, if I was a translator and didn't know how this application worked, would this key and text make translation easy for me? +<msg key="You_1">You do not have permission to map this patch to a bug. Only the submitter of the patch +and users with write permission on this Bug Tracker project (package instance) may do so.</msg> +<msg key="You_2">You do not have permission to edit this patch. Only the submitter of the patch +and users with write permission on the Bug Tracker project (package instance) may do so.</msg>

      These would be more useful if they were, "you_can_filter", "you_do_not_have_permission_to_map_this_patch", and "you_do_not_have_permission_to_edit_this_patch". Don't worry about exactly matching the english text, because that might change; instead try to capture the meaning of the phrase. Ask yourself, if I was a translator and didn't know how this application worked, would this key and text make translation easy for me?

      Sometimes the automatic converter creates keys that don't semantically match their text. Fix these:

      <msg key="Fix">for version</msg>
      - <msg key="Fix_1">for</msg>
      - <msg key="Fix_2">for Bugs</msg>

      Another example: Bug-tracker component maintainer" was converted to "[_ bug-tracker.Bug-tracker]". Instead, it should be bug_tracker_component_maintainer.

    • Translations in Avoid "clever" message reuse.�Translations may need to differ depending on the context in which +<msg key="Fix_1">for</msg> +<msg key="Fix_2">for Bugs</msg>

      Another example: Bug-tracker component maintainer" was converted to "[_ bug-tracker.Bug-tracker]". Instead, it should be bug_tracker_component_maintainer.

    • Translations in Avoid "clever" message reuse.�Translations may need to differ depending on the context in which the message appears. -

    • Quoting in the message catalog for tcl.�Watch out for quoting and escaping when editing text that is also code. For example, the original string

      set title "Patch \"$patch_summary\" is nice."

      is broken if converted to

      <msg>Patch \"$patch_summary\" is nice.</msg>

      instead it should be

      <msg>Patch "$patch_summary" is nice.</msg>

      Also, some keys had %var;noquote%, which is not needed since those +

    • Quoting in the message catalog for tcl.�Watch out for quoting and escaping when editing text that is also code. For example, the original string

      set title "Patch \"$patch_summary\" is nice."

      breaks if the message text retains all of the escaping that was in the tcl command:

      <msg>Patch \"$patch_summary\" is nice.</msg>

      When it becomes a key, it should be:

      <msg>Patch "$patch_summary" is nice.</msg>

      Also, some keys had %var;noquote%, which is not needed since those variables are not quoted (and in fact the variable won't even be - recognized so you get the literal %var;noquote% in the output).

    • Be careful with curly brackets.�Code within curly brackets isn't evaluated. TCL uses curly brackets as an alternative way to build lists. But TCL also uses curly brackets as an alternative to quotation marks for quoting text. So this original code

      array set names { key "Pretty" ...} 

      ... if converted to

      array set names { key "[_bug-tracker.Pretty]" ...} 

      ... won't work since the _ func will not be called. Instead, it should be

      array set names [list key [_bug-tracker.Pretty] ...]
    View comments on this page at openacs.org
    + recognized so you get the literal %var;noquote% in the output).

  • Be careful with curly brackets.�Code within curly brackets isn't evaluated. TCL uses curly brackets as an alternative way to build lists. But TCL also uses curly brackets as an alternative to quotation marks for quoting text. So this original code

    array set names { key "Pretty" ...} 

    ... if converted to

    array set names { key "[_bug-tracker.Pretty]" ...} 

    ... won't work since the _ func will not be called. Instead, it should be

    array set names [list key [_bug-tracker.Pretty] ...]
  • View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-design.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/i18n-design.html 22 Mar 2004 11:50:28 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/i18n-design.html 5 May 2004 12:36:03 -0000 1.4 @@ -1,2 +1,2 @@ Design Notes

    Design Notes

    User locale is a property of ad_conn, ad_conn locale. The request processor sets this by calling lang::conn::locale, which looks for the following in order of precedence:

    1. Use user preference for this package (stored in ad_locale_user_prefs)

    2. Use system preference for the package (stored in apm_packages)

    3. Use user's general preference (stored in user_preferences)

    4. Use Browser header (Accept-Language HTTP header)

    5. Use system locale (an APM parameter for acs_lang)

    6. default to en_US

    For ADP pages, message key lookup occurs in the templating engine. For TCL pages, message key lookup happens with the _ function. In both cases, if the requested locale is not found but a locale which is the default for the language which matches your locale's language is -found, then that locale is offered instead.

    View comments on this page at openacs.org
    +found, then that locale is offered instead.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n-introduction.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-introduction.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/i18n-introduction.html 22 Mar 2004 11:50:28 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/i18n-introduction.html 5 May 2004 12:36:03 -0000 1.6 @@ -206,4 +206,4 @@

    Developers are responsible for creating the keys in the message catalog, which is available at /acs-lang/admin/ -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-overview.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/i18n-overview.html 22 Mar 2004 11:50:28 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/i18n-overview.html 5 May 2004 12:36:04 -0000 1.4 @@ -1 +1 @@ -

    Table�14.1.�Internationalization and Localization

    StageTaskWho
    InternationalizationPackage Developer uses the acs-lang tools to replace all visible text in a package with message keys. (More information)Package Developer
    Release ManagementThe newly internationalized package is released.Package Developer
    The translation server is updated with the new package.Translation server maintainers
    LocalizationTranslators work in their respective locales to write text for each message key. (More information)Translators
    Release ManagementThe translated text in the database of the translation server is compared to the current translations in the OpenACS code base, conflicts are resolved, and the new text is written to catalog files on the translation server.Translation server maintainers
    The catalog files are committed to the OpenACS code base.Translation server maintainers
    A new version of OpenACS core and/or affected packages is released and published in the OpenACS.org repository.Release Manager
    UpgradingSite Administrators upgrade their OpenACS sites, either via the automatic upgrade from the Repository or via tarball or CVS Site Administrators
    Site Administrators import the new translations. Existing local translations, if they exist, are not overwritten.Site Administrators
    View comments on this page at openacs.org
    +

    Table�14.1.�Internationalization and Localization

    StageTaskWho
    InternationalizationPackage Developer uses the acs-lang tools to replace all visible text in a package with message keys. (More information)Package Developer
    Release ManagementThe newly internationalized package is released.Package Developer
    The translation server is updated with the new package.Translation server maintainers
    LocalizationTranslators work in their respective locales to write text for each message key. (More information)Translators
    Release ManagementThe translated text in the database of the translation server is compared to the current translations in the OpenACS code base, conflicts are resolved, and the new text is written to catalog files on the translation server.Translation server maintainers
    The catalog files are committed to the OpenACS code base.Translation server maintainers
    A new version of OpenACS core and/or affected packages is released and published in the OpenACS.org repository.Release Manager
    UpgradingSite Administrators upgrade their OpenACS sites, either via the automatic upgrade from the Repository or via tarball or CVS Site Administrators
    Site Administrators import the new translations. Existing local translations, if they exist, are not overwritten.Site Administrators
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-requirements.html,v diff -u -N -r1.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/i18n-requirements.html 24 Feb 2004 17:42:24 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/i18n-requirements.html 5 May 2004 12:36:04 -0000 1.14 @@ -292,4 +292,4 @@ implementation into phases.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    1Updated with results of MIT-sponsored i18n work at Collaboraid.14 Aug 2003Joel Aufrecht
    0.4converting from HTML to DocBook and importing the document to the OpenACS kernel documents. This was done as a part of the internationalization of - OpenACS and .LRN for the Heidelberg University in Germany12 September 2002Peter Marklund
    0.3comments from Christian1/14/2000Henry Minsky
    0.2Minor typos fixed, clarifications to wording11/14/2000Henry Minsky
    0.1Creation11/08/2000Henry Minsky
    View comments on this page at openacs.org
    + OpenACS and .LRN for the Heidelberg University in Germany12 September 2002Peter Marklund0.3comments from Christian1/14/2000Henry Minsky0.2Minor typos fixed, clarifications to wording11/14/2000Henry Minsky0.1Creation11/08/2000Henry Minsky
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n-translators.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-translators.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/i18n-translators.html 22 Mar 2004 11:50:28 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/i18n-translators.html 5 May 2004 12:36:04 -0000 1.4 @@ -1 +1 @@ -Translator's Guide

    Translator's Guide

    Most translators use the OpenACS Public Translation Server, because the process of getting new message keys onto the server and getting new translations back into the distribution are handled by the maintainers of that machine. You can also do translation work on your own OpenACS site; this makes your own translations more readily available to you but also means that your work will not be shared with other users unless you take extra steps (contacting an OpenACS core developer or submitting a patch) to get your work back to the OpenACS core.

    The basic steps for translators:

    • Go to the Localization page and choose the locale that you are translating to. If the locale is not present you need to visit Administration of Localization and create the locale.

    • Translating with Translator Mode.�To translate messages in the pages they appear, Toggle Translator Mode and then browse to the page you want to translate. Untranslated messages will have a yellow background and a red star that you click to translate the message. Translated messages have a green star next to them that is a hyperlink to editing your translation. There is a history mechanism that allows you to see previous translations in case you would want to revert a translation.

      While in Translator mode, a list of all message keys appears at the bottom of each page.

    • Batch translation.�To translate many messages at once, go to Administration of Localization, click on the locale to translate, then click on a package, and then click Batch edit these messages.

    View comments on this page at openacs.org
    +Translator's Guide

    Translator's Guide

    Most translators use the OpenACS Public Translation Server, because the process of getting new message keys onto the server and getting new translations back into the distribution are handled by the maintainers of that machine. You can also do translation work on your own OpenACS site; this makes your own translations more readily available to you but also means that your work will not be shared with other users unless you take extra steps (contacting an OpenACS core developer or submitting a patch) to get your work back to the OpenACS core.

    The basic steps for translators:

    • Go to the Localization page and choose the locale that you are translating to. If the locale is not present you need to visit Administration of Localization and create the locale.

    • Translating with Translator Mode.�To translate messages in the pages they appear, Toggle Translator Mode and then browse to the page you want to translate. Untranslated messages will have a yellow background and a red star that you click to translate the message. Translated messages have a green star next to them that is a hyperlink to editing your translation. There is a history mechanism that allows you to see previous translations in case you would want to revert a translation.

      While in Translator mode, a list of all message keys appears at the bottom of each page.

    • Batch translation.�To translate many messages at once, go to Administration of Localization, click on the locale to translate, then click on a package, and then click Batch edit these messages.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n.html,v diff -u -N -r1.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/i18n.html 22 Mar 2004 11:50:28 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/i18n.html 5 May 2004 12:36:04 -0000 1.22 @@ -4,4 +4,4 @@

    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/index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.html,v diff -u -N -r1.36 -r1.37 --- openacs-4/packages/acs-core-docs/www/index.html 21 Apr 2004 09:49:42 -0000 1.36 +++ openacs-4/packages/acs-core-docs/www/index.html 5 May 2004 12:36:04 -0000 1.37 @@ -1 +1 @@ -OpenACS Core Documentation

    OpenACS Core Documentation


    Table of Contents

    I. OpenACS For Everyone
    1. High level information: What is OpenACS?
    Overview
    OpenACS Release Notes
    II. Administrator's Guide
    2. Installation Overview
    Basic Steps
    Prerequisite Software
    3. Complete Installation
    Install a Unix-like system and supporting software
    Install Oracle 8.1.7
    Install PostgreSQL
    Install AOLserver 4
    Install OpenACS 5.2.0d1
    OpenACS Installation Guide for Windows2000
    OpenACS Installation Guide for Mac OS X
    4. Configuring a new OpenACS Site
    How Do I?
    5. Upgrading
    Overview
    Upgrading 4.5 or higher to 4.6.3
    Upgrading OpenACS 4.6.3 to 5.0
    Upgrading 5.0.0 to 5.0.x
    Upgrading the OpenACS files
    Upgrading Platform components
    6. Production Environments
    Starting and Stopping an OpenACS instance.
    AOLserver keepalive with inittab
    Running multiple services on one machine
    High Availability/High Performance Configurations
    Staged Deployment for Production Networks
    Installing SSL Support for an OpenACS service
    Set up Log Analysis Reports
    External uptime validation
    Diagnosing Performance Problems
    7. Database Management
    Running a PostgreSQL database on another server
    Deleting a tablespace
    Vacuum Postgres nightly
    8. Backup and Recovery
    Backup Strategy
    Manual backup and recovery
    Automated Backup
    Using CVS for backup-recovery
    A. Install Red Hat 8/9
    B. Install additional supporting software
    Unpack the OpenACS tarball
    Initialize CVS (OPTIONAL)
    Add PSGML commands to emacs init file (OPTIONAL)
    Install Daemontools (OPTIONAL)
    Install qmail (OPTIONAL)
    Install Analog web file analyzer
    Install nspam
    Install Full Text Search
    Install nsopenssl
    Install tclwebtest.
    Install PHP for use in AOLserver
    Install Squirrelmail for use as a webmail system for OpenACS
    Install AOLserver 3.3oacs1
    A. Credits
    Where did this document come from?
    Linux Install Guides
    Security Information
    Resources
    III. For OpenACS Package Developers
    1. Development Tutorial
    Creating a Package
    Setting Up Database Objects
    Creating Web Pages
    Debugging and Automated Testing
    2. Advanced Topics
    Write the Requirements and Design Specs
    Add the new package to CVS
    Adding Comments
    Admin Pages
    Categories
    Categories
    Profile your code
    Prepare the package for distribution.
    Notifications
    Hierarchical data
    Using .vuh files for pretty urls
    Future Topics
    3. Development Reference
    OpenACS Packages
    OpenACS Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS
    Groups, Context, Permissions
    Writing OpenACS Application Pages
    Parties in OpenACS
    OpenACS Permissions Tediously Explained
    Object Identity
    Programming with AOLserver
    Using HTML Forms
    4. Engineering Standards
    OpenACS Style Guide
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    Variables
    Automated Testing
    5. Documentation Standards
    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Using nXML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    6. Internationalization
    How Internationalization/Localization works in OpenACS
    How to Internationalize a Package
    Design Notes
    Translator's Guide
    B. Using CVS with an OpenACS Site
    IV. For OpenACS Platform Developers
    7. Kernel Documentation
    Overview
    Object Model Requirements
    Object Model Design
    Permissions Requirements
    Permissions Design
    Groups Requirements
    Groups Design
    Subsites Requirements
    Subsites Design Document
    Package Manager Requirements
    Package Manager Design
    Database Access API
    OpenACS Internationalization Requirements
    Security Requirements
    Security Design
    Security Notes
    Request Processor Requirements
    Request Processor Design
    Documenting Tcl Files: Page Contracts and Libraries
    Bootstrapping OpenACS
    External Authentication Requirements
    8. 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
    Index
    View comments on this page at openacs.org
    +OpenACS Core Documentation

    OpenACS Core Documentation


    Table of Contents

    I. OpenACS For Everyone
    1. High level information: What is OpenACS?
    Overview
    OpenACS Release Notes
    II. Administrator's Guide
    2. Installation Overview
    Basic Steps
    Prerequisite Software
    3. Complete Installation
    Install a Unix-like system and supporting software
    Install Oracle 8.1.7
    Install PostgreSQL
    Install AOLserver 4
    Install OpenACS 5.2.0d1
    OpenACS Installation Guide for Windows2000
    OpenACS Installation Guide for Mac OS X
    4. Configuring a new OpenACS Site
    How Do I?
    5. Upgrading
    Overview
    Upgrading 4.5 or higher to 4.6.3
    Upgrading OpenACS 4.6.3 to 5.0
    Upgrading 5.0.0 to 5.0.x
    Upgrading the OpenACS files
    Upgrading Platform components
    6. Production Environments
    Starting and Stopping an OpenACS instance.
    AOLserver keepalive with inittab
    Running multiple services on one machine
    High Availability/High Performance Configurations
    Staged Deployment for Production Networks
    Installing SSL Support for an OpenACS service
    Set up Log Analysis Reports
    External uptime validation
    Diagnosing Performance Problems
    7. Database Management
    Running a PostgreSQL database on another server
    Deleting a tablespace
    Vacuum Postgres nightly
    8. Backup and Recovery
    Backup Strategy
    Manual backup and recovery
    Automated Backup
    Using CVS for backup-recovery
    A. Install Red Hat 8/9
    B. Install additional supporting software
    Unpack the OpenACS tarball
    Initialize CVS (OPTIONAL)
    Add PSGML commands to emacs init file (OPTIONAL)
    Install Daemontools (OPTIONAL)
    Install qmail (OPTIONAL)
    Install Analog web file analyzer
    Install nspam
    Install Full Text Search
    Install nsopenssl
    Install tclwebtest.
    Install PHP for use in AOLserver
    Install Squirrelmail for use as a webmail system for OpenACS
    Install AOLserver 3.3oacs1
    A. Credits
    Where did this document come from?
    Linux Install Guides
    Security Information
    Resources
    III. For OpenACS Package Developers
    1. Development Tutorial
    Creating an Application Package
    Setting Up Database Objects
    Creating Web Pages
    Debugging and Automated Testing
    2. Advanced Topics
    Write the Requirements and Design Specs
    Add the new package to CVS
    Adding Comments
    Admin Pages
    Categories
    Categories
    Profile your code
    Prepare the package for distribution.
    Notifications
    Hierarchical data
    Using .vuh files for pretty urls
    Future Topics
    3. Development Reference
    OpenACS Packages
    OpenACS Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS
    Groups, Context, Permissions
    Writing OpenACS Application Pages
    Parties in OpenACS
    OpenACS Permissions Tediously Explained
    Object Identity
    Programming with AOLserver
    Using HTML Forms
    4. Engineering Standards
    OpenACS Style Guide
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    Variables
    Automated Testing
    5. Documentation Standards
    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Using nXML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    6. Internationalization
    How Internationalization/Localization works in OpenACS
    How to Internationalize a Package
    Design Notes
    Translator's Guide
    B. Using CVS with an OpenACS Site
    IV. For OpenACS Platform Developers
    7. Kernel Documentation
    Overview
    Object Model Requirements
    Object Model Design
    Permissions Requirements
    Permissions Design
    Groups Requirements
    Groups Design
    Subsites Requirements
    Subsites Design Document
    Package Manager Requirements
    Package Manager Design
    Database Access API
    OpenACS Internationalization Requirements
    Security Requirements
    Security Design
    Security Notes
    Request Processor Requirements
    Request Processor Design
    Documenting Tcl Files: Page Contracts and Libraries
    Bootstrapping OpenACS
    External Authentication Requirements
    8. 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
    Index
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/individual-programs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/individual-programs.html,v diff -u -N -r1.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/individual-programs.html 21 Apr 2004 09:49:42 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/individual-programs.html 5 May 2004 12:36:04 -0000 1.21 @@ -119,4 +119,4 @@ need this if you want to track old versions of your files, do controlled deployment of code from development to production, or get or contribute development code from openacs.org.

    ($Id: software.xml,v 1.8 2003/10/29 - 09:01:09 joela Exp $)
    View comments on this page at openacs.org
    + 09:01:09 joela Exp $)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-cvs.html,v diff -u -N -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/install-cvs.html 21 Apr 2004 09:49:42 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/install-cvs.html 5 May 2004 12:36:04 -0000 1.25 @@ -1,6 +1,6 @@ -Initialize CVS (OPTIONAL)

    Initialize CVS (OPTIONAL)

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

    Initialize CVS (OPTIONAL)

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

    [root tmp]# mkdir /cvsroot
     [root tmp]# cvs -d /cvsroot init
     [root tmp]#
     mkdir /cvsroot
    -cvs -d /cvsroot init
    View comments on this page at openacs.org
    +cvs -d /cvsroot init
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-daemontools.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.html,v diff -u -N -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/install-daemontools.html 21 Apr 2004 09:49:42 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/install-daemontools.html 5 May 2004 12:36:04 -0000 1.26 @@ -3,7 +3,7 @@ installed in /package. These commands install daemontools and svgroup. svgroup is a script for granting permissions, to allow users other than root to use daemontools for specific - services.

    1. Install Daemontools

      download daemontools and install it.

      • Red Hat 8

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

        1. Install Daemontools

          download daemontools and install it.

          • Red Hat 8

            [root root]# mkdir -p /package
             [root root]# chmod 1755 /package/
             [root root]# cd /package/
             [root package]# tar xzf /tmp/daemontools-0.76.tar.gz
            @@ -64,4 +64,4 @@
                     control daemontools services.

            [root root]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup
             [root root]# chmod 755 /usr/local/bin/svgroup
             cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup 
            -chmod 755 /usr/local/bin/svgroup
      View comments on this page at openacs.org
      +chmod 755 /usr/local/bin/svgroup
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-full-text-search.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/install-full-text-search.html,v diff -u -N -r1.23 -r1.24 --- openacs-4/packages/acs-core-docs/www/install-full-text-search.html 21 Apr 2004 09:49:42 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/install-full-text-search.html 5 May 2004 12:36:04 -0000 1.24 @@ -1,7 +1,7 @@ Install Full Text Search

    Install Full Text Search

    By Joel Aufrecht and Malte Sussdorff

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

    Install OpenFTS module

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

    Install OpenFTS module

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

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

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

    Install OpenFTS prerequisites in PostgreSQL instance

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

    Install OpenFTS prerequisites in PostgreSQL instance

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

    [service0 service0]$ /usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.3.4/contrib/tsearch/tsearch.sql
    @@ -120,4 +120,4 @@
                       new application link.

  • Click on the Install link next to Weblogger.

  • Install all required packages as well (always say okay until you shall restart the server)

  • Load the service contracts datamodell and enable the service contract

    [service0 service0]$ cd packages/lars-blogger/sql/postgresql
     [service0 postgresql]$ psql service0 -f lars-blogger-sc-create.sql

    Note: Usually this script is called package_name-sc-create.sql

  • Restart the service.

    [service0 postgresql]$ svc -t /service/service0
    -                [service0 postgresl]$
  • If you are lucky, Full Text Search is enabled now, if not consult http://openacs.org/forums/message-view?message_id=154759. This link also contains some hints on how to make sure it is enabled.

    View comments on this page at openacs.org
    + [service0 postgresl]$

    If you are lucky, Full Text Search is enabled now, if not consult http://openacs.org/forums/message-view?message_id=154759. This link also contains some hints on how to make sure it is enabled.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-more-software.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-more-software.html,v diff -u -N -r1.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/install-more-software.html 27 Feb 2004 11:20:51 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/install-more-software.html 5 May 2004 12:36:04 -0000 1.11 @@ -6,4 +6,4 @@ that you begin each continuous block of commands as root, and you should end each block as root. It doesn't care which directory you start in. Text instructions always precede the commands they - refer to.

    View comments on this page at openacs.org
    + refer to.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-next-add-server.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-add-server.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/install-next-add-server.html 21 Apr 2004 09:49:42 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/install-next-add-server.html 5 May 2004 12:36:04 -0000 1.4 @@ -15,4 +15,4 @@ names sharing the same ip, you'll need nsvhr to redirect requests based on the contents of the tcp headers. See AOLserver Virtual Hosting with TCP by markd. -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-next-backups.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-backups.html,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/install-next-backups.html 18 Feb 2004 14:43:02 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/install-next-backups.html 5 May 2004 12:36:04 -0000 1.2 @@ -32,4 +32,4 @@ /var/lib/aolserver/service0/database-backup, then you can apply standard file-based backup strategies to /var/lib/aolserver/service0 -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html,v diff -u -N -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html 21 Apr 2004 09:49:42 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html 5 May 2004 12:36:04 -0000 1.9 @@ -15,4 +15,4 @@ step.

    Edit your crontab:

    [joeuser ~]$ crontab -e

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

    -0 1 * * * /usr/local/pgsql/bin/vacuumdb service0
    ($Id$)
    View comments on this page at openacs.org
    +0 1 * * * /usr/local/pgsql/bin/vacuumdb service0
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-nsopenssl.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nsopenssl.html,v diff -u -N -r1.14 -r1.15 --- openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 21 Apr 2004 09:49:42 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 5 May 2004 12:36:04 -0000 1.15 @@ -69,4 +69,4 @@ file).

    To enable SSL support in your server, make sure your etc/config.tcl file has a section on "OpenSSL 3 with AOLserver4". If that section is not present, try looking at the README file in - /usr/local/src/aolserver/nsopenssl.

    View comments on this page at openacs.org
    + /usr/local/src/aolserver/nsopenssl.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-nspam.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nspam.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/install-nspam.html 12 Feb 2004 13:51:40 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/install-nspam.html 5 May 2004 12:36:04 -0000 1.6 @@ -1 +1 @@ -Install nspam

    Install nspam

    /doc/acs-authentication/ext-auth-install.html

    View comments on this page at openacs.org
    +Install nspam

    Install nspam

    /doc/acs-authentication/ext-auth-install.html

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html 18 Feb 2004 14:43:02 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html 5 May 2004 12:36:04 -0000 1.2 @@ -21,4 +21,4 @@ q, and then restart-aolserver service0.

    Then, to drop the db, just do:

     [service0 ~]$ dropdb service0
    -DROP DATABASE
    View comments on this page at openacs.org
    +DROP DATABASE
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html 18 Feb 2004 14:43:02 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html 5 May 2004 12:36:04 -0000 1.2 @@ -88,4 +88,4 @@ Killing 23750

    If processes were killed, congratulations, your server is now automated for startup and shutdown. -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html,v diff -u -N -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html 21 Apr 2004 09:49:42 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html 5 May 2004 12:36:04 -0000 1.9 @@ -63,6 +63,6 @@ Most of this information comes from Tom Jackson's AOLserver+Daemontools Mini-HOWTO. -

    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/service0/run/var/lib/aolserver/service0/log/error.log/var/lib/aolserver/service0/log/service0.logsvc -k /service/service0
    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
    +(a child of svscanboot)
    /service/service0/run/var/lib/aolserver/service0/log/error.log/var/lib/aolserver/service0/log/service0.logsvc -k /service/service0
    postgresqlRedhat init scripts during boot/etc/init.d/postgresql/usr/local/pgsql/data/server.logservice postgresql start (Red Hat), /etc/init.d/postgresql start (Debian)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-origins.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-origins.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/install-origins.html 12 Feb 2004 13:51:40 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/install-origins.html 5 May 2004 12:36:04 -0000 1.6 @@ -19,4 +19,4 @@ Aufrecht's OpenACS 4.5 Quick Guide.

    Please also see the Credits section for more acknowledgements. -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-overview.html,v diff -u -N -r1.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/install-overview.html 12 Feb 2004 13:51:40 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/install-overview.html 5 May 2004 12:36:04 -0000 1.22 @@ -1,4 +1,4 @@ Chapter�2.�Installation Overview

    Chapter�2.�Installation Overview

    Table of Contents

    Basic Steps
    Prerequisite Software

    by Vinod Kurup

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
    View comments on this page at openacs.org
    +
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-php.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-php.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/install-php.html 12 Feb 2004 13:51:40 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/install-php.html 5 May 2004 12:36:04 -0000 1.4 @@ -8,4 +8,4 @@ [root php-4.3.4]# cd php-4.3.4 [root php-4.3.4]# ./configure --with-aolserver=/usr/local/aolserver/ --with-pgsql=/usr/local/pg74 --without-mysql [root php-4.3.4]# make install -

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

    View comments on this page at openacs.org
    +

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

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-qmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-qmail.html,v diff -u -N -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/install-qmail.html 21 Apr 2004 09:49:42 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/install-qmail.html 5 May 2004 12:36:04 -0000 1.26 @@ -29,7 +29,7 @@ tcpserver: usage: tcpserver [ -1UXpPhHrRoOdDqQv ] [ -c limit ] [ -x rules.cdb ] [ -B banner ] [ -g gid ] [ -u uid ] [ -b backlog ] [ -l localname ] [ -t timeout ] host port program [root ucspi-tcp-0.88]# -

    +

    (I'm not sure if this next step is 100% necessary, but when I skip it I get problems. If you get the error 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) then you need to do this.) AOLserver sends outgoing mail via the ns_sendmail command, which pipes a command to the sendmail executable. Or, in our @@ -43,7 +43,7 @@ send outgoing mail.

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

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

  • Install Qmail.�

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

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

    Replace sendmail with qmail's wrapper.

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

    Replace sendmail with qmail's wrapper.

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

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

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

    [root alias]# echo "./Maildir" > /var/qmail/bin/.qmail
     [root alias]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc
     [root alias]# chmod 755 /var/qmail/rc
    @@ -178,4 +178,4 @@
     /service/qmail-smtpd/log: up (pid 32705) 430 seconds
     messages in queue: 0
     messages in queue but not yet preprocessed: 0
    -[root root]#

    Further verify by sending and receiving email. Incoming mail for root is stored in /var/qmail/alias/Maildir.

  • View comments on this page at openacs.org
    +[root root]#

    Further verify by sending and receiving email. Incoming mail for root is stored in /var/qmail/alias/Maildir.

    View comments on this page at openacs.org
    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.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/install-redhat.html 21 Apr 2004 09:49:42 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/install-redhat.html 5 May 2004 12:36:04 -0000 1.26 @@ -26,7 +26,7 @@

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

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

    3. Click Next on the boot loader screen

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

  • Click Next on the boot loader screen

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

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

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

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

  • Choose your time zone and click Next.

  • Type in a root password, twice.

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

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

    At the bottom, check Select Individual Packages and click Next

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

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

    At the bottom, check Select Individual Packages and click Next

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

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

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

  • Lock down SSH

    1. - + SSH is the protocol we use to connect securely to the computer (replacing telnet, which is insecure). sshd is the daemon that listens for incoming @@ -200,4 +200,4 @@ cd /tmp wget http://updates.redhat.com/7.1/en/os/i686/kernel-2.4.18-27.7.x.i686.rpm rpm -Uvh kernel-2.4.18-27.7.x.i686.rpm -reboot

    View comments on this page at openacs.org
    +reboot
  • View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-resources.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-resources.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/install-resources.html 12 Feb 2004 13:51:40 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/install-resources.html 5 May 2004 12:36:04 -0000 1.6 @@ -50,4 +50,4 @@ IBM developerworks on basic and intermediate Linux skills (requires registration) -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-squirrelmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-squirrelmail.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 27 Feb 2004 11:20:51 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 5 May 2004 12:36:04 -0000 1.5 @@ -7,4 +7,4 @@ [service0 www]# mv squirrelmail-1.4.2 mail [service0 www]# cd mail/config [service0 www]# ./conf.pl -

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

    View comments on this page at openacs.org
    +

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

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-ssl.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-ssl.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/install-ssl.html 22 Mar 2004 11:50:29 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/install-ssl.html 5 May 2004 12:36:04 -0000 1.4 @@ -22,4 +22,4 @@ S/Sd2MYA0JVmQuIt5bYowXR1KYKDka1d3DUgtoVTiFepIRUrMkZlCli08mWVjE6T (11 lines omitted) 1MU24SHLgdTfDJprEdxZOnxajnbxL420xNVc5RRXlJA8Xxhx/HBKTw== ------END RSA PRIVATE KEY-----
    View comments on this page at openacs.org
    +-----END RSA PRIVATE KEY-----
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-steps.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.html,v diff -u -N -r1.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/install-steps.html 21 Apr 2004 09:49:42 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 5 May 2004 12:36:04 -0000 1.19 @@ -37,7 +37,7 @@ su - service0 svc -d /service/service0 dropdb service0 -createdb 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 serviceservice0
    OpenACS service accountservice0
    OpenACS database nameservice0
    Root of OpenACS service file tree (SERVERROOT)/var/lib/aolserver/service0
    Location of source code tarballs for new software/tmp
    The OpenACS tarball contains some files which +createdb 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 serviceservice0
    OpenACS service accountservice0
    OpenACS database nameservice0
    Root of OpenACS service file tree (SERVERROOT)/var/lib/aolserver/service0
    Location of source code tarballs for new software/tmp
    The OpenACS tarball contains some files which are useful while setting up other software. Those files are located at:/tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files
    Database backup directory/var/lib/aolserver/service0/database-backup
    Service config files/var/lib/aolserver/service0/etc
    Service log files/var/lib/aolserver/service0/log
    Compile directory/usr/local/src
    PostgreSQL directory/usr/local/pgsql
    AOLserver directory/usr/local/aolserver

    None of these locations are set in stone - they're simply @@ -89,4 +89,4 @@ If you find errors in this document or if you have ideas about making it better, please post them in our BugTracker. -

    ($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/install-tclwebtest.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-tclwebtest.html,v diff -u -N -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 18 Feb 2004 14:43:02 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 5 May 2004 12:36:04 -0000 1.9 @@ -7,4 +7,4 @@ mv tclwebtest-0.3 /usr/local/ ln -s /usr/local/tclwebtest-0.3 /usr/local/tclwebtest ln -s /usr/local/tclwebtest/tclwebtest /usr/local/bin -
    View comments on this page at openacs.org
    +
    View comments on this page at openacs.org
    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.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/ix01.html 21 Apr 2004 09:49:42 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/ix01.html 5 May 2004 12:36:04 -0000 1.14 @@ -1,2 +1,2 @@ -Index

    Index

    C

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

    D

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

    E

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

    G

    Graphics
    Images, Graphics

    I

    informaltable
    table, Tables

    L

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

    O

    OpenACS Package, What a Package Looks Like

    P

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

    Q

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

    T

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

    U

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

    X

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

    Index

    C

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

    D

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

    E

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

    G

    Graphics
    Images, Graphics

    I

    informaltable
    table, Tables

    L

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

    O

    OpenACS Package, What a Package Looks Like

    P

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

    Q

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

    T

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

    U

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

    X

    XML guidelines, Why DocBook?
    xref
    linkend, Links
    xreflabel, Headlines, Sections
    View comments on this page at openacs.org
    Index: 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.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/kernel-doc.html 24 Feb 2004 17:42:25 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/kernel-doc.html 5 May 2004 12:36:04 -0000 1.25 @@ -1 +1 @@ -Chapter�15.�Kernel Documentation
    View comments on this page at openacs.org
    +Chapter�15.�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.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/kernel-overview.html 24 Feb 2004 17:42:25 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/kernel-overview.html 5 May 2004 12:36:04 -0000 1.19 @@ -22,4 +22,4 @@

    This document provides a high level overview of the kernel package. Documentation for other packages on this server -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/mac-installation.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/mac-installation.html,v diff -u -N -r1.28 -r1.29 --- openacs-4/packages/acs-core-docs/www/mac-installation.html 21 Apr 2004 09:49:42 -0000 1.28 +++ openacs-4/packages/acs-core-docs/www/mac-installation.html 5 May 2004 12:36:04 -0000 1.29 @@ -5,4 +5,4 @@ ./configure make make install
  • Proceed with the Unix-like system instructions. OS X is incompatible with Oracle 8, and Oracle 9i on OSX is not yet verified for OpenACS. So continue with Install PostgreSQL. Additional special steps for OS X are documented inline with the standard Unix-like instructions.

  • Additional resources for installing on OS X.

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

    ($Id$)
    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.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/maint-performance.html 21 Apr 2004 09:49:42 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/maint-performance.html 5 May 2004 12:36:04 -0000 1.14 @@ -1,7 +1,7 @@ Diagnosing Performance Problems

    Diagnosing Performance Problems

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

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

    • Isolating and solving database problems.

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

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

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

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

        3. Choose "ACS Developer Support">

        4. After install is complete, restart the server.

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

        6. Turn on Database statistics

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

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

          Figure�6.8.�Query Analysis example

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

        Log in to SQL*Plus as the admin:

        [service0 ~]$ svrmgrl
        +              

      • Turn on Database statistics

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

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

        Figure�6.8.�Query Analysis example

        Query Analysis example
    • 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:

      [service0 ~]$ svrmgrl
       
       Oracle Server Manager Release 3.1.7.0.0 - Production
       
      @@ -26,4 +26,4 @@
        where sql.address    = s.sql_address
          and sql.hash_value = s.sql_hash_value
        --and upper(s.username) like 'USERNAME%'
      - order by s.username ,s.sid ,s.serial# ,sql.piece ;

      To kill a troubled process:

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

      (See Andrew Piskorski's Oracle notes)

    View comments on this page at openacs.org
    + order by s.username ,s.sid ,s.serial# ,sql.piece ;

    To kill a troubled process:

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

    (See Andrew Piskorski's Oracle notes)

    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.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 21 Apr 2004 09:49:42 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 5 May 2004 12:36:04 -0000 1.9 @@ -1,7 +1,7 @@ Staged Deployment for Production Networks

    Staged Deployment for Production Networks

    By Joel Aufrecht

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

    This section describes 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.

    Deployment with CVS

    With this method, we control the files on a site via CVS. In this example, there is one development site and one production site. The only way files should move between the two is via cvs. The production site could run "HEAD" from cvs (raw example from chat log:)

    +        

    This section describes 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.

    Deployment with CVS

    With this method, we control the files on a site via CVS. In this example, there is one development site and one production site. The only way files should move between the two is via cvs. The production site could run "HEAD" from cvs (raw example from chat log:)

     1) change the file on dev as desired
     2) test the new file
     3) commit the file: 
    @@ -17,4 +17,4 @@
     the stuff in -m "foo" is a comment visible only from within cvs commands
     4) update the file on production:
     cd /web/foo-prod/www
    -cvs up index.adp

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

    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
    +cvs up index.adp

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

    A/B Deployment

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

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

    Simple A/B Deployment: Database is not changed

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

    Simple A/B Deployment - Step 1

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

    Simple A/B Deployment - Step 2

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

    Simple A/B Deployment - Step 3

    Complex A/B Deployment: Database is changed

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

    Complex A/B Deployment - Step 1

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

    Complex A/B Deployment - Step 2

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

    Complex A/B Deployment - Step 3
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/maintenance-web.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-web.html,v diff -u -N -r1.26 -r1.27 --- openacs-4/packages/acs-core-docs/www/maintenance-web.html 21 Apr 2004 09:49:42 -0000 1.26 +++ openacs-4/packages/acs-core-docs/www/maintenance-web.html 5 May 2004 12:36:04 -0000 1.27 @@ -1,4 +1,4 @@ Chapter�6.�Production Environments

    Chapter�6.�Production Environments

    By Joel Aufrecht

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

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

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

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

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/nxml-mode.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/nxml-mode.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/nxml-mode.html 18 Feb 2004 14:43:02 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/nxml-mode.html 5 May 2004 12:36:04 -0000 1.6 @@ -7,4 +7,4 @@

    View comments on this page at openacs.org
    +

  • The nXML download page at thaiopensource.com.

  • View comments on this page at openacs.org
    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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/object-identity.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/object-identity.html 5 May 2004 12:36:04 -0000 1.35 @@ -31,4 +31,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.22 -r1.23 --- openacs-4/packages/acs-core-docs/www/object-system-design.html 24 Feb 2004 17:42:25 -0000 1.22 +++ openacs-4/packages/acs-core-docs/www/object-system-design.html 5 May 2004 12:36:04 -0000 1.23 @@ -857,4 +857,4 @@ on par with the old user/groups system in a more general way.

    Future Improvements/Areas of Likely Change

    Nothing here yet.

    Authors

    Pete Su generated this document from material culled from other documents by Michael Yoon, Richard Li and Rafael Schloming. But, any remaining lies are his and his alone.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation9/09/2000Pete Su
    0.2Edited for ACS 4 Beta9/30/2000Kai Wu
    0.3Edited for ACS 4.0.1, fixed some mistakes, removed use of term -"OM"11/07/2000Pete Su
    View comments on this page at openacs.org
    +"OM"
    11/07/2000Pete Su
    View comments on this page at openacs.org
    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.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 24 Feb 2004 17:42:25 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 5 May 2004 12:36:04 -0000 1.22 @@ -263,4 +263,4 @@ this integrate with application level SQL queries?

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/10/2000Bryan Quinn
    0.2Major re-write08/11/2000Pete Su
    0.3Draft completed after initial reviews08/22/2000Pete Su
    0.4Edited, updated to conform to requirements template, pending freeze08/23/2000Kai Wu
    Final edits before freeze08/24/2000Pete Su
    0.5Edited for consistency08/27/2000Kai Wu
    0.6Put Object ID stuff first, because it makes more sense08/28/2000Pete Su
    0.7Added requirement that knowledge-level objects must be moveable between databases.08/29/2000Richard Li
    0.8Rewrote intro to match language and concepts in the design document. Also cleaned up usage a bit in the requirements section. Added short vague -requirements on relation types.09/06/2000Pete Su
    0.9Edited for ACS 4 Beta release.09/30/2000Kai Wu
    View comments on this page at openacs.org
    +requirements on relation types.09/06/2000Pete Su0.9Edited for ACS 4 Beta release.09/30/2000Kai Wu
    View comments on this page at openacs.org
    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.35 -r1.36 --- openacs-4/packages/acs-core-docs/www/objects.html 21 Apr 2004 09:49:42 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/objects.html 5 May 2004 12:36:04 -0000 1.36 @@ -78,7 +78,7 @@ Fire up your text editor and open the ROOT/packages/notes/sql/oracle/notes-create.sql (ROOT/packages/notes/sql/postgresql/notes-create.sql for the PG version) file created when we created the package. Then, do the following: -

    Describe the new type to the type system

    +

    Describe the new type to the type system

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

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

    Define a table in which to store your objects

    +

    Define a table in which to store your objects

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

    Define a package for type specific procedures

    +

    Define a package for type specific procedures

    The next step is to define a PL/SQL package for your new type, and write some basic procedures to create and delete objects. Here is a package definition for our new type: @@ -211,7 +211,7 @@ object OBJ was "read only", then any other object that used OBJ as its context would also be "read only" by default. We'll talk about this more later. -

    Define a package body for type specific procedures

    +

    Define a package body for type specific procedures

    The PL/SQL package body contains the implementations of the procedures defined above. The only subtle thing going on here is that we must use acs_object.new to insert a row into @@ -393,4 +393,4 @@ especially true for the context_id field.

    -

    ($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/openacs-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-overview.html,v diff -u -N -r1.17 -r1.18 --- openacs-4/packages/acs-core-docs/www/openacs-overview.html 12 Feb 2004 13:51:40 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/openacs-overview.html 5 May 2004 12:36:04 -0000 1.18 @@ -48,4 +48,4 @@ can help you in your endeavors with the system. Visit our web site and feel free to ask questions or provide feedback. -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    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.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/openacs-unpack.html 21 Apr 2004 09:49:42 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/openacs-unpack.html 5 May 2004 12:36:04 -0000 1.17 @@ -14,4 +14,4 @@ [root tmp]# mv openacs-4 openacs-5.2.0d1 cd /tmp cvs -d :pserver:anonymous@openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/ -mv openacs-4 openacs-5.0.0a4
    View comments on this page at openacs.org
    +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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/openacs.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/openacs.html 5 May 2004 12:36:04 -0000 1.35 @@ -220,7 +220,7 @@ CREATE DATABASE [service0 service0]$ su - service0 -createdb -E UNICODE service0
  • Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.

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

    Add 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 service0
    +createdb -E UNICODE service0
  • Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.

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

    Add 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 service0
     0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0

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

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

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

    @@ -389,4 +389,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 the section called “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 the section called “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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/oracle.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/oracle.html 5 May 2004 12:36:04 -0000 1.35 @@ -1219,4 +1219,4 @@ authorized to do a connect internal within svrmgrl to gain full system - access to the Oracle system.
    ($Id$)
    View comments on this page at openacs.org
    + access to the Oracle system.
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/os-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-install.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/os-install.html 12 Feb 2004 13:51:40 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/os-install.html 5 May 2004 12:36:04 -0000 1.6 @@ -20,4 +20,4 @@ SuSE -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/os-security.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-security.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/os-security.html 12 Feb 2004 13:51:40 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/os-security.html 5 May 2004 12:36:04 -0000 1.6 @@ -22,4 +22,4 @@

  • Bruce Schneier's Crypto-Gram, especially The - security patch treadmill and Monitoring First.

  • View comments on this page at openacs.org
    + security patch treadmill and Monitoring First.

    View comments on this page at openacs.org
    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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/packages.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/packages.html 5 May 2004 12:36:04 -0000 1.35 @@ -411,7 +411,7 @@
  • Now you can start developing the package. In addition to writing code, - you should also consider the tasks outlined in the package development tutorial. + you should also consider the tasks outlined in the package development tutorial.

  • The Site Map and Package Instances

    At this point, you are probably excited to see your new package in action. But, we haven't added any user visible pages yet. By @@ -491,4 +491,4 @@

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

  • Additional Reading

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

    Additional Reading

    ($Id$)
    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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/parties.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/parties.html 5 May 2004 12:36:04 -0000 1.35 @@ -311,4 +311,4 @@ single integer primary key in what could be thought of as a pure relation. Because a membership relation is an ordinary acs object with object identity, it is as easy to extend the membership relation to store extra information as it is to extend the users -table or the groups table.

    ($Id$)
    View comments on this page at openacs.org
    +table or the groups table.

    ($Id$)
    View comments on this page at openacs.org
    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.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/permissions-design.html 24 Feb 2004 17:42:25 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/permissions-design.html 5 May 2004 12:36:04 -0000 1.22 @@ -182,4 +182,4 @@

    Rafael H. Schloming

    Documentation author -

    John Prevost

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation9/11/2000John Prevost
    0.2Edited for ACS 4 Beta release10/04/2000Kai Wu
    View comments on this page at openacs.org
    +

    John Prevost

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation9/11/2000John Prevost
    0.2Edited for ACS 4 Beta release10/04/2000Kai Wu
    View comments on this page at openacs.org
    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.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/permissions-requirements.html 24 Feb 2004 17:42:25 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/permissions-requirements.html 5 May 2004 12:36:04 -0000 1.22 @@ -87,4 +87,4 @@ clause, whatever mechanism is used to make checks in SQL should be fairly small and simple.

    In particular, constraining a SELECT to return only rows the current user has access to should not add more than one line to a query.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation8/17/2000John Prevost
    0.2Revised, updated with new terminology8/25/2000John Prevost
    0.3Edited, reformatted to conform to requirements template, pending -freeze.8/26/2000Kai Wu
    0.4Edited for ACS 4 Beta release.10/03/2000Kai Wu
    View comments on this page at openacs.org
    +freeze.8/26/2000Kai Wu0.4Edited for ACS 4 Beta release.10/03/2000Kai Wu
    View comments on this page at openacs.org
    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.28 -r1.29 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 21 Apr 2004 09:49:42 -0000 1.28 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 5 May 2004 12:36:06 -0000 1.29 @@ -100,7 +100,7 @@

    Context Hierarchy

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

    Table�11.1.�Context Hierarchy Example

    A

    +

    Table�11.1.�Context Hierarchy Example

    A

    object_id=10

    B

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

    Table�11.2.�acs_objects example data

    object_idcontext_id
    2010
    3010
    4020
    5020
    6030

    +

    Table�11.2.�acs_objects example data

    object_idcontext_id
    2010
    3010
    4020
    5020
    6030

    The first entry tells us that object 20 is the descendant of object 10, and the third entry shows that object 40 is the descendant of object 20. By running a CONNECT BY query, @@ -689,4 +689,4 @@ container_id from group_member_index; -

    View comments on this page at openacs.org
    +
    View comments on this page at openacs.org
    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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/permissions.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/permissions.html 5 May 2004 12:36:06 -0000 1.35 @@ -353,4 +353,4 @@

    In the next section, we'll look at a more complex page for adding and editing notes, and discuss these issues further. -

    ($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/postgres.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/postgres.html,v diff -u -N -r1.33 -r1.34 --- openacs-4/packages/acs-core-docs/www/postgres.html 21 Apr 2004 09:49:42 -0000 1.33 +++ openacs-4/packages/acs-core-docs/www/postgres.html 5 May 2004 12:36:06 -0000 1.34 @@ -100,7 +100,7 @@ Change to the postgres user and run ./configure to set the compilation options automatically. This is the point at which you can configure PostgreSQL in various ways. For example, if you want to enable - Unicode support, add the flags --enable-locale and --enable-multibyte. If you want to see what the other possibilities are, run ./configure --help. + Unicode support, add the flags --enable-locale and --enable-multibyte. If you want to see what the other possibilities are, run ./configure --help.

    On debian woody (stable, 3.0), do ./configure --without-readline --without-zlib.

    [root src]# su - postgres
     [postgres pgsql]$ cd /usr/local/src/postgresql-7.3.4
     [postgres postgresql-7.3.4]$ ./configure --with-includes=/sw/include/ --with-libraries=/sw/lib --enable-locale --enable-multibyte \
    @@ -338,4 +338,4 @@
             Performance Tuning
     
             

  • - Tuning PostgreSQL for performance

  • ($Id$)
    View comments on this page at openacs.org
    + Tuning PostgreSQL for performance

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html 21 Apr 2004 09:49:42 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html 5 May 2004 12:36:06 -0000 1.35 @@ -209,4 +209,4 @@ perform lookup by name, they perform a linear lookup, whereas arrays use a hash table, so ns_sets are slower than arrays when the number of entries is large. -

    ($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/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.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 21 Apr 2004 09:49:42 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 5 May 2004 12:36:06 -0000 1.26 @@ -1,8 +1,8 @@ -Add PSGML commands to emacs init file (OPTIONAL)

    Add PSGML commands to emacs init file (OPTIONAL)

    +Add PSGML commands to emacs init file (OPTIONAL)

    Add PSGML commands to emacs init file (OPTIONAL)

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

    [root tmp]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs
     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
    +[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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/psgml-mode.html 21 Apr 2004 09:49:43 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/psgml-mode.html 5 May 2004 12:36:06 -0000 1.35 @@ -82,4 +82,4 @@ element is a sect1.

    How to use it

    Of course, you should read the emacs texinfo pages that come with PSGML mode from start to finish. Barring that, here are some handy commands:

    KeyCommand
    C-c C-eInsert an element. Uses completion and only lets you insert elements that are valid
    C-c C-aEdit attributes of enclosing element.
    C-c C-x C-iShow information about the document's DTD.
    C-c C-x C-eDescribe element. Shows for one element which elements can be parents, -what its contents can be and lists its attributes.

    Further reading

    Start with the OpenACS Documentation Guide

    ($Id$)
    View comments on this page at openacs.org
    +what its contents can be and lists its attributes.

    Further reading

    Start with the OpenACS Documentation Guide

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/release-notes.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/release-notes.html,v diff -u -N -r1.38 -r1.39 --- openacs-4/packages/acs-core-docs/www/release-notes.html 21 Apr 2004 09:49:43 -0000 1.38 +++ openacs-4/packages/acs-core-docs/www/release-notes.html 5 May 2004 12:36:06 -0000 1.39 @@ -1,4 +1,4 @@ -OpenACS Release Notes

    OpenACS Release Notes

    Version 5.1.0

    • Under Development - update this no later than 5.1.0rc1

    Version 5.0.4

    • New translations, including for .LRN 2.0.2.

    Version 5.0.1

    • All work on the translation server from 7 Nov 2003 to 7 Feb 2004 is now included in catalogs.

    • One new function in acs-tcl, util::age_pretty

    • Complete Change list since 5.0.0 in Changelog

    • Many documentation updates and doc bug fixes

    Version 5.0.0

    +OpenACS Release Notes

    OpenACS Release Notes

    Version 5.1.0

    • Lots of little tweaks and fixes

    • Complete Change list since 5.0.0 in Changelog

    • Many Bug fixes

    Version 5.0.4

    • New translations, including for .LRN 2.0.2.

    Version 5.0.1

    • All work on the translation server from 7 Nov 2003 to 7 Feb 2004 is now included in catalogs.

    • One new function in acs-tcl, util::age_pretty

    • Complete Change list since 5.0.0 in Changelog

    • Many documentation updates and doc bug fixes

    Version 5.0.0

    This is OpenACS 5.0.0. This version contains no known security, data loss, or crashing bugs, nor any bugs judged release blockers. This version has received manual testing. It has passed current automated testing, which is not comprehensive. This release contains work done on the translation server http://translate.openacs.org through 7 Nov 2003.

    Please report bugs using our @@ -95,4 +95,4 @@

  • Serving backup files and files from the CVS directories is turned off by default via the acs-kernel parameter ExcludedFiles in section request-processor (The variable provides a string match glob list of files and is defaulted to "*/CVS/* *~") -

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

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html 21 Apr 2004 09:49:43 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html 5 May 2004 12:36:06 -0000 1.6 @@ -149,4 +149,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.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/releasing-openacs.html 4 Mar 2004 14:09:22 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/releasing-openacs.html 5 May 2004 12:36:06 -0000 1.17 @@ -1 +1 @@ -Chapter�16.�Releasing OpenACS
    View comments on this page at openacs.org
    +Chapter�16.�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.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/releasing-package.html 11 Mar 2004 09:17:57 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/releasing-package.html 5 May 2004 12:36:06 -0000 1.3 @@ -1,4 +1,4 @@ How to package and release an OpenACS Package

    How to package and release an OpenACS Package

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

    1. Update the version number of your package in the APM.

    2. Make sure all changes are committed.

    3. Tag the updated work.:

      cd /var/lib/aolserver/service0/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
    +

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

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/remote-postgres.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/remote-postgres.html,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/remote-postgres.html 18 Feb 2004 14:43:03 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/remote-postgres.html 5 May 2004 12:36:06 -0000 1.2 @@ -8,4 +8,4 @@ controlled ... (add notes from forum post)

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

    to

  • View comments on this page at openacs.org
    + and change

    to

    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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/request-processor.html 21 Apr 2004 09:49:43 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/request-processor.html 5 May 2004 12:36:06 -0000 1.35 @@ -126,4 +126,4 @@

    In a .vuh file, path_info is the trailing part of the URL not matched by the .vuh file. -

    ($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/requirements-template.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/requirements-template.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/requirements-template.html 21 Apr 2004 09:49:43 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/requirements-template.html 5 May 2004 12:36:07 -0000 1.35 @@ -80,4 +80,4 @@ pre-existing system or prototype first, and thus you may want to write some thoughts on implementation, for aiding and guiding yourself or other programmers. -

    Revision History

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

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
    0.2Edited8/22/2000Kai Wu
    0.1Created8/21/2000Josh Finkler, Audrey McLoghlin
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/rp-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-design.html,v diff -u -N -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/rp-design.html 22 Mar 2004 11:50:30 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/rp-design.html 5 May 2004 12:36:07 -0000 1.25 @@ -98,4 +98,4 @@ blank
    [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.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/rp-requirements.html 24 Feb 2004 17:42:25 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/rp-requirements.html 5 May 2004 12:36:07 -0000 1.21 @@ -22,4 +22,4 @@ or state associated with a pageroot based on it's location within the URL space.

    30.0 Authentication

    30.10 The request processor must be able to verify that the connecting browser actually represents the party it claims to represent.

    40.0 Authorization

    40.10 The request processor must be able to verify that the party the -connecting browser represents is allowed to make the request.

    50.0 Scalability

    View comments on this page at openacs.org
    +connecting browser represents is allowed to make the request.

    50.0 Scalability

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/security-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-design.html,v diff -u -N -r1.22 -r1.23 --- openacs-4/packages/acs-core-docs/www/security-design.html 24 Feb 2004 17:42:25 -0000 1.22 +++ openacs-4/packages/acs-core-docs/www/security-design.html 5 May 2004 12:36:07 -0000 1.23 @@ -347,4 +347,4 @@ chosen from the cache to be used is chosen by a call to ns_rand.

  • ad_secure_conn_p As discussed above, the security of the secure sessions authentication system is -dependent upon this function.

  • View comments on this page at openacs.org
    +dependent upon this function.

    View comments on this page at openacs.org
    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.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/security-notes.html 21 Apr 2004 09:49:43 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/security-notes.html 5 May 2004 12:36:07 -0000 1.35 @@ -54,4 +54,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.22 -r1.23 --- openacs-4/packages/acs-core-docs/www/security-requirements.html 24 Feb 2004 17:42:25 -0000 1.22 +++ openacs-4/packages/acs-core-docs/www/security-requirements.html 5 May 2004 12:36:07 -0000 1.23 @@ -43,4 +43,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.

  • 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.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/snapshot-backup.html 20 Feb 2004 15:13:42 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/snapshot-backup.html 5 May 2004 12:36:07 -0000 1.3 @@ -129,4 +129,4 @@ [postgres ~]$ exit logout
  • Activate the service

    [root root]# ln -s /var/lib/aolserver/service0/etc/daemontools /service/service0
     [root root]# sleep 10
    -[root root]# svgroup web /service/service0
  • View comments on this page at openacs.org
    +[root root]# svgroup web /service/service0
    View comments on this page at openacs.org
    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.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/style-guide.html 21 Apr 2004 09:49:43 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/style-guide.html 5 May 2004 12:36:07 -0000 1.14 @@ -87,4 +87,4 @@

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

  • Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation12/2003Jeff Davis
    ($Id$)
    View comments on this page at openacs.org
    +

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation12/2003Jeff Davis
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/subsites-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites-design.html,v diff -u -N -r1.22 -r1.23 --- openacs-4/packages/acs-core-docs/www/subsites-design.html 24 Feb 2004 17:42:25 -0000 1.22 +++ openacs-4/packages/acs-core-docs/www/subsites-design.html 5 May 2004 12:36:07 -0000 1.23 @@ -208,4 +208,4 @@ a particular configuration of site nodes/packages. As we build more fundamental applications that can be applied in more general areas, this feature will become more and more in demand since more problems will be -solvable by configuration instead of coding.

    Authors

    rhs@mit.edu

    View comments on this page at openacs.org
    +solvable by configuration instead of coding.

    Authors

    rhs@mit.edu

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/subsites-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites-requirements.html,v diff -u -N -r1.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/subsites-requirements.html 24 Feb 2004 17:42:25 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/subsites-requirements.html 5 May 2004 12:36:07 -0000 1.22 @@ -53,4 +53,4 @@ package and make it available at a URL underneath the subsite.

  • 20.20.0 Package deactivation

    20.20.1 The administrator should be able to deactivate any package, causing it to be inaccessible to users.

    20.20.5 Deactivating a package makes the package no longer accessible, but it does not remove data created within the context of -that package.

  • Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/18/2000Dennis Gregorovic
    0.2Edited, reviewed08/29/2000Kai Wu
    View comments on this page at openacs.org
    +that package.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/18/2000Dennis Gregorovic
    0.2Edited, reviewed08/29/2000Kai Wu
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/subsites.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/subsites.html 21 Apr 2004 09:49:43 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/subsites.html 5 May 2004 12:36:07 -0000 1.35 @@ -273,4 +273,4 @@

    We also saw how to use the templating system's forms API in a simple way, to create forms based pages with minimal duplication of code. -

    ($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/tcl-doc.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tcl-doc.html,v diff -u -N -r1.35 -r1.36 --- openacs-4/packages/acs-core-docs/www/tcl-doc.html 21 Apr 2004 09:49:43 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/tcl-doc.html 5 May 2004 12:36:07 -0000 1.36 @@ -184,4 +184,4 @@ script was first created.

  • A @cvs-id tag containing the page's CVS identification string. Just use $Id: tcl-documentation.html,v 1.2 2000/09/19 07:22:35 ron Exp $ when creating the file, and CVS will -substitute an appropriate string when you check the file in.

  • ($Id$)
    View comments on this page at openacs.org
    +substitute an appropriate string when you check the file in.

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/templates.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/templates.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/templates.html 21 Apr 2004 09:49:43 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/templates.html 5 May 2004 12:36:07 -0000 1.35 @@ -167,4 +167,4 @@ inserting properties into the text of the page. Later on we'll get into templates more deeply, and show how to use database queries as data sources. -

    Documentation

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

    Documentation

    Templating system documentation
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.html,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.html 18 Feb 2004 14:43:03 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.html 5 May 2004 12:36:07 -0000 1.3 @@ -77,4 +77,4 @@ <if @admin_p@ ne nil> <a href="@admin_url@">@admin_title@</a> </if> -
    View comments on this page at openacs.org
    +
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-advanced.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-advanced.html,v diff -u -N -r1.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 21 Apr 2004 09:49:43 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 5 May 2004 12:36:07 -0000 1.21 @@ -4,4 +4,4 @@

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

    View comments on this page at openacs.org
    + you've completed the basic tutorial.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-categories.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-categories.html,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/tutorial-categories.html 18 Feb 2004 14:43:03 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/tutorial-categories.html 5 May 2004 12:36:07 -0000 1.3 @@ -135,4 +135,4 @@ formtemplate tag outputs the HTML form generated by the ad_form command with the matching name. Test it by adding the new files in the APM and then deleting a few - samplenotes.

    View comments on this page at openacs.org
    + samplenotes.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-comments.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-comments.html,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/tutorial-comments.html 18 Feb 2004 14:43:03 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/tutorial-comments.html 5 May 2004 12:36:07 -0000 1.3 @@ -19,4 +19,4 @@ there are comments. Then you pass the note id, which is also the acs_object id.

    We put our two new variables in the note-edit.adp page.

    <a href="@comment_add_url@">Add a comment</a>
    - @comments_html@
    View comments on this page at openacs.org
    + @comments_html@
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-cvs.html,v diff -u -N -r1.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/tutorial-cvs.html 27 Apr 2004 08:01:35 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/tutorial-cvs.html 5 May 2004 12:36:07 -0000 1.11 @@ -58,4 +58,4 @@ initial revision: 1.1 done (many lines omitted) -[service0 myfirstpackage]$

    Figure�10.1.�Upgrading a local CVS repository

    Upgrading a local CVS repository
    View comments on this page at openacs.org
    +[service0 myfirstpackage]$

    Figure�10.1.�Upgrading a local CVS repository

    Upgrading a local CVS repository
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-database.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-database.html,v diff -u -N -r1.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/tutorial-database.html 27 Apr 2004 08:01:35 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/tutorial-database.html 5 May 2004 12:36:07 -0000 1.28 @@ -1,7 +1,7 @@ -Setting Up Database Objects

    Setting Up Database Objects

    by Joel Aufrecht

    +Setting Up Database Objects

    Setting Up Database Objects

    by Joel Aufrecht

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

    Code the data model

    We create all database objects with scripts in the +

    Code the data model

    We create all database objects with scripts in the myfirstpackage/sql/ directory. All database scripts are database-specific and are thus in either the myfirstpackage/sql/oracle or @@ -31,13 +31,13 @@ repository functions to simplify our database creation. (More information about ACS Objects. More information about the Content Repository.) -

    Figure�9.2.�Tutorial Data Model

    Tutorial Data Model

    The top of each sql file has some +

    Figure�9.2.�Tutorial Data Model

    Tutorial Data Model

    The top of each sql file has some standard comments, including doc tags such as @author which will be picked up by the API browser. The string $Id$ will automatically be expanded when the file is checked in to cvs.

    [service0 ~]$ cd /var/lib/aolserver/service0/packages/myfirstpackage/sql/postgresql
    -[service0 postgresql]$ emacs myfirstpackage-create.sql

    Paste the text below into the file, save, and close.

    Figure�9.3.�The Database Creation Script

    -- creation script
    +[service0 postgresql]$ emacs myfirstpackage-create.sql

    Paste the text below into the file, save, and close.

    Figure�9.3.�The Database Creation Script

    -- creation script
     --
     -- @author joel@aufrecht.org
     -- @cvs-id &Id:$
    @@ -61,7 +61,7 @@
         object.  Notice the use of "mfp."  This is derived from "My
         First Package" and ensures that our object is unlikely to conflict
         with objects from other packages.

    Create a database file to drop everything if the package is uninstalled.

    -[service0 postgresql]$ emacs myfirstpackage-drop.sql

    Figure�9.4.�Database Deletion Script

    -- drop script
    +[service0 postgresql]$ emacs myfirstpackage-drop.sql

    Figure�9.4.�Database Deletion Script

    -- drop script
     --
     -- @author joel@aufrecht.org
     -- @cvs-id &Id:$
    @@ -89,4 +89,4 @@
                            0
     (1 row)
     
    -[service0 postgresql]$

    Once both scripts are working without errors, run the create script one last time and proceed.

    [service0 postgresql]$ psql -f myfirstpackage-create.sql
    View comments on this page at openacs.org
    +[service0 postgresql]$

    Once both scripts are working without errors, run the create script one last time and proceed.

    [service0 postgresql]$ psql -f myfirstpackage-create.sql
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-debug.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-debug.html,v diff -u -N -r1.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/tutorial-debug.html 27 Apr 2004 08:01:35 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/tutorial-debug.html 5 May 2004 12:36:07 -0000 1.28 @@ -1,7 +1,7 @@ Debugging and Automated Testing

    Debugging and Automated Testing

    by Joel Aufrecht

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

    Debugging

    Developer Support.�The Developer Support package adds several goodies: debug +

    Debugging

    Developer Support.�The Developer Support package adds several goodies: debug information for every page; the ability to log comments to the page instead of the error log, and fast user switching so that you can test pages as anonymous and as dummy users without logging @@ -22,16 +22,16 @@ ?�searches�backward�
    /�searches�forward.�
    ����������

    -

    Manual testing

    Make a list of basic tests to make sure it works

    Test NumActionExpected Result
    001Browse to the index page while not logged in and +

    Manual testing

    Make a list of basic tests to make sure it works

    Test NumActionExpected Result
    001Browse to the index page while not logged in and while one or more notes exist.No edit or delete or add links should appear.
    002Browse to the index page while logged in. An Edit link should appear. Click on it. Fill out the form and click Submit.The text added in the form should be visible on the index page.
    API-001Invoke mfp::note::create with a specific word as the title.Proc should return an object id.
    API-002Given an object id from API-001, invoke mfp::note::get.Proc should return the specific word in the title.
    API-003Given the object id from API-001, invoke mfp::note::delete.Proc should return 0 for success.

    Other things to test: try to delete someone else's note. Try to delete your own note. Edit your own note. - Search for a note.

    Write automated tests

    by Simon Carstensen and Joel Aufrecht

    + Search for a note.

    Write automated tests

    by Simon Carstensen and Joel Aufrecht

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

    +

    It seems to me that a lot of people have been asking for some guidelines on how to write automated tests. I've done several tests by now and have found the process to be extremely easy and useful. It's a joy to work with automated testing once you get the hang of it.

    Create the directory that will contain the test script and edit the script file. The directory location and file name are standards which are recognized by the automated testing package:

    [service0 www]$ mkdir /var/lib/aolserver/service0/packages/myfirstpackage/tcl/test
     [service0 www]$ cd /var/lib/aolserver/service0/packages/myfirstpackage/tcl/test
    @@ -67,7 +67,7 @@
     goes inside -test_code {}.  We want to implement test case API-001, "Given an object id from API-001, invoke mfp::note::get.  Proc should return the specific word in the title."

           set name [ad_generate_random_string]
           set new_id [mfp::note::add -title $name]
    -      aa_true "Note add succeeded" [exists_and_not_null new_id]

    To test our simple case, we must load the test file into the system (just as with the /tcl file in the basic tutorial, since the file didn't exist when the system started, the system doesn't know about it.) To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage". Since we'll be changing it frequently, select "watch this file" on the next page. This will cause the system to check this file every time any page is requested, which is bad for production systems but convenient for developing. We can also add some aa_register_case flags to make it easier to run the test. The -procs flag, which indicates which procs are tested by this test case, makes it easier to find procs in your package that aren't tested at all. The -cats flag, setting categories, makes it easier to control which tests to run. The smoke test setting means that this is a basic test case that can and should be run any time you are doing any test. (a definition of "smoke test")

    Once the file is loaded, go to ACS Automated Testing and click on myfirstpackage. You should see your test case. Run it and examine the results.

    TCLWebtest tests

    API testing can only test part of our package - it doesn't test the code in our adp/tcl pairs. For this, we can use TCLwebtest. TCLwebtest must be installed for this test to work. This provides a library of functions that make it easy to call a page through HTTP, examine the results, and drive forms. TCLwebtest's functions overlap slightly with acs-automated-testing; see the example provided for one approach on integrating them.

    Example

    Now we can add the rest of the API tests, including a test with deliberately bad data. The complete test looks like:

    ad_library {
    +      aa_true "Note add succeeded" [exists_and_not_null new_id]

    To test our simple case, we must load the test file into the system (just as with the /tcl file in the basic tutorial, since the file didn't exist when the system started, the system doesn't know about it.) To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage". Since we'll be changing it frequently, select "watch this file" on the next page. This will cause the system to check this file every time any page is requested, which is bad for production systems but convenient for developing. We can also add some aa_register_case flags to make it easier to run the test. The -procs flag, which indicates which procs are tested by this test case, makes it easier to find procs in your package that aren't tested at all. The -cats flag, setting categories, makes it easier to control which tests to run. The smoke test setting means that this is a basic test case that can and should be run any time you are doing any test. (a definition of "smoke test")

    Once the file is loaded, go to ACS Automated Testing and click on myfirstpackage. You should see your test case. Run it and examine the results.

    TCLWebtest tests

    API testing can only test part of our package - it doesn't test the code in our adp/tcl pairs. For this, we can use TCLwebtest. TCLwebtest must be installed for this test to work. This provides a library of functions that make it easy to call a page through HTTP, examine the results, and drive forms. TCLwebtest's functions overlap slightly with acs-automated-testing; see the example provided for one approach on integrating them.

    Example

    Now we can add the rest of the API tests, including a test with deliberately bad data. The complete test looks like:

    ad_library {
         Test cases for my first package.
     }
     
    @@ -213,4 +213,4 @@
             }
         }
     
    -

    See also the section called “Automated Testing”.

    View comments on this page at openacs.org
    +

    See also the section called “Automated Testing”.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-distribute.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-distribute.html,v diff -u -N -r1.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/tutorial-distribute.html 27 Apr 2004 08:01:35 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/tutorial-distribute.html 5 May 2004 12:36:07 -0000 1.11 @@ -6,5 +6,5 @@ (37.1KB) after the label Distribution File: and save the file to - /tmp.

    -

    View comments on this page at openacs.org
    + /tmp.

    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-future-topics.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-future-topics.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/tutorial-future-topics.html 21 Apr 2004 09:49:43 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-future-topics.html 5 May 2004 12:36:07 -0000 1.4 @@ -3,4 +3,4 @@ ... what?

  • How to change the default stylesheets for Form Builder HTML forms.

  • How to make your package searchable with OpenFTS/Oracle

  • How to prepare pagelets for inclusion in other pages

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

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

  • How and when to implement caching

  • partialquery in xql

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

  • APM package dependencies

  • See also the OpenACS Programming FAQ

    View comments on this page at openacs.org
    + "does this look right" confirm page

  • APM package dependencies

  • See also the OpenACS Programming FAQ

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html,v diff -u -N -r1.28 -r1.29 --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 27 Apr 2004 08:01:35 -0000 1.28 +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 5 May 2004 12:36:07 -0000 1.29 @@ -1,7 +1,7 @@ -Creating an Application

    Creating an Application

    by Joel Aufrecht

    +Creating an Application Package

    Creating an Application Package

    by Joel Aufrecht

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

    The intended page map

    Overview

    To start developing new code in OpenACS, we build a new package. A package +

    The intended page map

    Overview

    To start developing new code in OpenACS, we build a new package. A package is a a discrete collection of web pages, tcl code, and database tables and procedures. A package with user interface is called an application; a package which provides functions to other packages and has no direct interface, a @@ -17,11 +17,11 @@ right now. Code that is temporary hackage is clearly marked.

    In this tutorial, we will make an application package for displaying a list of text notes. -

    Before you begin

    You will need:

    • A computer with a working installation of +

    Before you begin

    You will need:

    • A computer with a working installation of OpenACS. If you don't have this, see Chapter�2, Installation Overview.

    • Example files, which are included in the standard OpenACS 5.2.0d1 distribution. -

    Figure�9.1.�Assumptions in this section

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

    Use the APM to initialize a new package

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

    Figure�9.1.�Assumptions in this section

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

    Use the APM to initialize a new package

    We use the ACS Package Manager (APM) to add, remove, and upgrade packages. It handles package meta-data, such as lists of files that belong in the package. Each package is uniquely identified by a package key. To start developing a new @@ -53,7 +53,7 @@

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

    Add an Application Instance to the Server

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

    Add an Application Instance to the Server

    In order to see your work in progress, you must create a map between the URL space of incoming requests and the package application instance. You do this by adding the application in the main site administration). This creates a link between the incoming URL requests and an @@ -62,13 +62,13 @@ code and tables. This requires that a package be developed package-aware. You'll see how to do that in this tutorial.

    1. Browse to -http://yourserver.test:8000/admin/applications/application-add.

    2. Choose "My First Package" from the list and click OK (the other fields are optional).

    By mounting the package, we've caused all requests to +http://yourserver.test:8000/admin/applications/application-add/.

  • Choose "My First Package" from the list and click OK (the other fields are optional).

  • By mounting the package, we've caused all requests to http://yourserver.test:8000/my-first-package - to be satisfied from the files at /var/lib/aolserver/service0/packages/myfirstpackage/www.

    Quick start

    The remainder of the tutorial walks you through each file one at a time as you create the package. You can skip all this, and get a working package, by doing the following:

    cd /var/lib/aolserver/service0/packages/acs-core-docs/www/files/tutorial
    +      to be satisfied from the files at /var/lib/aolserver/service0/packages/myfirstpackage/www.

    Quick start

    The remainder of the tutorial walks you through each file one at a time as you create the package. You can skip all this, and get a working package, by doing the following:

    cd /var/lib/aolserver/service0/packages/acs-core-docs/www/files/tutorial
     psql service0 -f myfirstpackage-create.sql
     cp note-edit.* note-delete.tcl index.* ../../../../myfirstpackage/www/
     mkdir ../../../../myfirstpackage/lib
     cp note-list.* ../../../../myfirstpackage/lib/
     cp myfirstpackage-*sql ../../../../myfirstpackage/sql/postgresql/
     cp myfirstpackage-procs.tcl ../../../../myfirstpackage/tcl/test/
    -cp note-procs.tcl ../../../../myfirstpackage/tcl/

    After restarting the server, the tutorial application will be installed and working at the url you selected in the previous step.

    View comments on this page at openacs.org
    +cp note-procs.tcl ../../../../myfirstpackage/tcl/

    After restarting the server, the tutorial application will be installed and working at the url you selected in the previous step.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-notifications.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-notifications.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/tutorial-notifications.html 21 Apr 2004 09:49:43 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-notifications.html 5 May 2004 12:36:08 -0000 1.5 @@ -201,4 +201,4 @@ parameter is what appears at the end of the text returned (i.e. "... request notification</a> for pretty_name"), The url parameter should be set to the address we want the user to be redirected to after they have finished the subscription process.

    This should be all you need to implement a notification system. For more examples - look at the forums package.

    View comments on this page at openacs.org
    + look at the forums package.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.html,v diff -u -N -r1.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 27 Apr 2004 08:01:35 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 5 May 2004 12:36:08 -0000 1.28 @@ -1,8 +1,8 @@ Creating Web Pages

    Creating Web Pages

    by Joel Aufrecht

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

    Install some API

    As a workaround for missing content-repository functionality, copy a provided file into the directory for tcl files:

    -    cp /var/lib/aolserver/service0/packages/acs-core-docs/www/files/note-procs.tcl /var/lib/aolserver/service0/packages/myfirstpackage/tcl/

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

    Page Map

    Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a seperate file and include it on the index page.

    Figure�9.5.�Page Map

    Page Map

    Build the "Index" page

    Each user-visible page in your package has, typically, +

    Install some API

    As a workaround for missing content-repository functionality, copy a provided file into the directory for tcl files:

    +    cp /var/lib/aolserver/service0/packages/acs-core-docs/www/files/note-procs.tcl /var/lib/aolserver/service0/packages/myfirstpackage/tcl/

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

    Page Map

    Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a seperate file and include it on the index page.

    Figure�9.5.�Page Map

    Page Map

    Build the "Index" page

    Each user-visible page in your package has, typically, three parts. The tcl file holds the procedural logic for the page, including TCL and database-independent SQL code, and does things like @@ -129,4 +129,4 @@ ad_returnredirect "." # stop running this code, since we're redirecting abort -

    View comments on this page at openacs.org
    +
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-specs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-specs.html,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/tutorial-specs.html 18 Feb 2004 14:43:03 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/tutorial-specs.html 5 May 2004 12:36:08 -0000 1.3 @@ -1,4 +1,6 @@ -Write the Requirements and Design Specs

    Write the Requirements and Design Specs

    It's time to document. For the tutorial we'll use +Write the Requirements and Design Specs

    Write the Requirements and Design Specs

    Before you get started you should make yourself familiar with + the tags that are used to write your documentation. For tips on + editing SGML files in emacs, see OpenACS Documentation Guide.

    It's time to document. For the tutorial we'll use pre-written documentation. When creating a package from scratch, start by copying the documentation template from /var/lib/aolserver/openacs-dev/packages/acs-core-docs/xml/docs/xml/package-documentation-template.xml @@ -25,8 +27,7 @@ <revhistory>). Add a new record to the document version history. Look for the <authorgroup> tag and - add yourself as a second author. Save and exit. For tips on - editing SGML files in emacs, see OpenACS Documentation Guide

    Process the xml file to create html documentation. The + add yourself as a second author. Save and exit.

    Process the xml file to create html documentation. The html documentation, including supporting files such as pictures, is stored in the www/docs/ directory. A Makefile is provided to generate html from the xml, and copy all of the @@ -48,4 +49,4 @@ Writing bi01.html for bibliography Writing index.html for book [service0 xml]$

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

    View comments on this page at openacs.org
    + your changes by browsing to http://yoursite:8000/myfirstpackage/doc

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-vuh.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-vuh.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/tutorial-vuh.html 21 Apr 2004 09:49:43 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-vuh.html 5 May 2004 12:36:08 -0000 1.5 @@ -36,4 +36,4 @@ package. Commonly, you would use ad_conn package_url to build the URL. Otherwise, some of your links may be relative to the virtual directory (note/) instead of the actual directory that the note is - being served from

    View comments on this page at openacs.org
    + being served from

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial.html,v diff -u -N -r1.12 -r1.13 --- openacs-4/packages/acs-core-docs/www/tutorial.html 27 Apr 2004 08:01:35 -0000 1.12 +++ openacs-4/packages/acs-core-docs/www/tutorial.html 5 May 2004 12:36:08 -0000 1.13 @@ -1 +1 @@ -Chapter�9.�Development Tutorial
    View comments on this page at openacs.org
    +Chapter�9.�Development Tutorial
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/unix-installation.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/unix-installation.html,v diff -u -N -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/unix-installation.html 21 Apr 2004 09:49:43 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/unix-installation.html 5 May 2004 12:36:08 -0000 1.20 @@ -8,4 +8,4 @@ DocBook SGML)

  • daemontools (install from source)

  • a Mail Transport Agent, such as exim or sendmail (or install qmail from source)

  • To install a machine to the specifications of the Reference Platform, do the walkthrough of the - Red Hat 8.0 Install for OpenACS.

    ($Id$)
    View comments on this page at openacs.org
    + Red Hat 8.0 Install for OpenACS.

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/update-repository.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/update-repository.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/update-repository.html 4 Mar 2004 14:09:22 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/update-repository.html 5 May 2004 12:36:08 -0000 1.6 @@ -13,4 +13,4 @@ The files will be stored on the server's hard drive in the directory specified by the 'repository_dir' variable in the page script, by default "[acs_root_dir]/www/repository/".

  • If you're on openacs.org, everything should now be fine. Otherwise, you need to move the entire directory tree to openacs.org:/web/openacs/www/repository, replacing what was already there. -

  • View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/update-translations.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/update-translations.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/update-translations.html 11 Mar 2004 09:17:57 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/update-translations.html 5 May 2004 12:36:08 -0000 1.5 @@ -2,4 +2,4 @@ Update the translation server. (Approach 1: upgrade to the last release; approach 2: upgrade to head or to an alpha or beta release.) Use CVS up.

    This approach puts the translation server at risk. An alternate approach would be to create a whole new checkout on the appropriate branch (such as oacs-5-0), point that at the live production database, import keys (which is safe because keys on the translation server take precedence), then export keys back, and then commit. This gets the keys committed to the right branch without changing the code running on the production site. Updating the production site can then be a seperate exercise.
  • Go to ACS Lang admin page and click "Import All Messages"

  • Resolve conflicts, if any, on the provided page.

  • Back on the admin page, click the export link. If there are conflicts, the messages will be exported anyway and any errors will be shown in the web interface.

  • From the packages dir, run the acs-lang/bin/check-catalog.sh script. (This checks for keys no longer in use and some other things. Until it is rolled into the UI, do it manually and check the results and take whatever steps you can intuit you should do.) -

  • CVS commit the catalog files. Done

  • View comments on this page at openacs.org
    +

  • CVS commit the catalog files. Done

  • View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html,v diff -u -N -r1.11 -r1.12 --- openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html 21 Apr 2004 09:49:43 -0000 1.11 +++ openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html 5 May 2004 12:36:08 -0000 1.12 @@ -1,4 +1,4 @@ -Upgrading 4.5 or higher to 4.6.3

    Upgrading 4.5 or higher to 4.6.3

    The required platform for OpenACS 4.6 is the same as +Upgrading 4.5 or higher to 4.6.3

    Upgrading 4.5 or higher to 4.6.3

    The required platform for OpenACS 4.6 is the same as 4.5, with the exception of OpenFTS. OpenACS 4.6 and later require OpenFTS 0.3.2 for full text search on PostGreSQL. If you have OpenFTS 0.2, you'll need to upgrade.

    If upgrading from 4.2, you need to manually run acs-kernel/sql/postgres/upgrade-4.2-4.5.sql. See Bug #632

    1. Make a Backup.�Back up the database and file system (see the section called “Manual backup and recovery”).

    2. OPTIONAL: Upgrade OpenFTS.�the section called “Upgrading OpenFTS from 0.2 to 0.3.2”

    3. Stop the server

      [root root]# svc -d /service/service0
    4. Upgrade the file system.�the section called “Upgrading the OpenACS files”

    5. @@ -8,4 +8,4 @@ upgrade, plus any new packages you want. It's safest to upgrade the kernel by itself, and then come back and upgrade the rest of the - desired packages in a second pass.

    6. On the next screen, click Install Packages

    7. When prompted, restart the server:

      [root root]# restart-aolserver service0
    8. Wait a minute, then browse to the package manager, http://yourserver/acs-admin/apm.

    9. Check that the kernel upgrade worked by clicking All and making sure that acs-kernel version is 5.2.0d1.

  • Rollback.�If anything goes wrong, roll back to the backup snapshot.

  • View comments on this page at openacs.org
    + desired packages in a second pass.

  • On the next screen, click Install Packages

  • When prompted, restart the server:

    [root root]# restart-aolserver service0
  • Wait a minute, then browse to the package manager, http://yourserver/acs-admin/apm.

  • Check that the kernel upgrade worked by clicking All and making sure that acs-kernel version is 5.2.0d1.

  • Rollback.�If anything goes wrong, roll back to the backup snapshot.

  • View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.html,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.html 4 Mar 2004 14:13:05 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.html 5 May 2004 12:36:08 -0000 1.2 @@ -34,4 +34,4 @@ parameter::set_value -package_id [ad_acs_kernel_id] -parameter UsePasswordWidgetForUsername -value 0 }
  • If you can login, visit /acs-admin/apm and upgrade acs-kernel and acs-service-contract and uncheck the data model scripts. Restart. If everything is still working, make another backup of the database.

  • Upgrade other packages via the APM

  • - See also these forum posts: Forum OpenACS Development: 4.6.3 upgrade to 5-HEAD: final results, OpenACS 5.0 Upgrade Experiences.

    View comments on this page at openacs.org
    + See also these forum posts: Forum OpenACS Development: 4.6.3 upgrade to 5-HEAD: final results, OpenACS 5.0 Upgrade Experiences.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.html,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.html 22 Mar 2004 11:50:31 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.html 5 May 2004 12:36:08 -0000 1.3 @@ -1 +1 @@ -Upgrading 5.0.0 to 5.0.x

    Upgrading 5.0.0 to 5.0.x

    • Upgrading a stock site.�If you have no custom code, and your site is not in a CVS repository, upgrade with these steps:

      1. Go to /acs-admin/install/ and click "Upgrade Your System" in "Install from OpenACS Repository"

      2. Select all of the packages you want to upgrade and proceed

      3. After upgrade is complete, restart the server as indicated.

      4. If you are using locales other than en_US, go to acs-lang/admin and "Import all Messages" to load the new translated messages. Your local translations, if any, will take precedence over imported translations.

    • Upgrading a Custom or CVS site.�If you have custom code, and your site is in a CVS repository, upgrade with these steps:

      1. Upgrade the file system for all packages in use.�the section called “Upgrading the OpenACS files”

      2. Go to /acs-admin/install/ and click "Upgrade Your System" in "Install from local file system"

      3. Select all of the packages you want to upgrade and proceed

      4. After upgrade is complete, restart the server as indicated.

      5. If you are using locales other than en_US, go to acs-lang/admin and "Import all Messages" to load the new translated messages. Your local translations, if any, will take precedence over imported translations.

    View comments on this page at openacs.org
    +Upgrading 5.0.0 to 5.0.x

    Upgrading 5.0.0 to 5.0.x

    • Upgrading a stock site.�If you have no custom code, and your site is not in a CVS repository, upgrade with these steps:

      1. Go to /acs-admin/install/ and click "Upgrade Your System" in "Install from OpenACS Repository"

      2. Select all of the packages you want to upgrade and proceed

      3. After upgrade is complete, restart the server as indicated.

      4. If you are using locales other than en_US, go to acs-lang/admin and "Import all Messages" to load the new translated messages. Your local translations, if any, will take precedence over imported translations.

    • Upgrading a Custom or CVS site.�If you have custom code, and your site is in a CVS repository, upgrade with these steps:

      1. Upgrade the file system for all packages in use.�the section called “Upgrading the OpenACS files”

      2. Go to /acs-admin/install/ and click "Upgrade Your System" in "Install from local file system"

      3. Select all of the packages you want to upgrade and proceed

      4. After upgrade is complete, restart the server as indicated.

      5. If you are using locales other than en_US, go to acs-lang/admin and "Import all Messages" to load the new translated messages. Your local translations, if any, will take precedence over imported translations.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html,v diff -u -N -r1.11 -r1.12 --- openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html 21 Apr 2004 09:49:43 -0000 1.11 +++ openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html 5 May 2004 12:36:08 -0000 1.12 @@ -10,7 +10,7 @@ cp -r openacs-4-6/* openacs-4 exit
  • Upgrading files for a site in a private CVS repository -

    Figure�5.2.�Upgrading a local CVS repository

    Upgrading a local CVS repository
    • Step 1: Import new CVS code.�There are two common ways to get new OpenACS code into your local CVS repository - via tarball or with a working CVS checkout of OpenACS. Both methods work well for starting your local repository; the second method is better for incremental additions or upgrades.

      • (a): via tarball.�Download a current tarball and unpack the new files into a working directory.

        [root root]# su - service0
        +        

        Figure�5.2.�Upgrading a local CVS repository

        Upgrading a local CVS repository
        • Step 1: Import new CVS code.�There are two common ways to get new OpenACS code into your local CVS repository - via tarball or with a working CVS checkout of OpenACS. Both methods work well for starting your local repository; the second method is better for incremental additions or upgrades.

          • (a): via tarball.�Download a current tarball and unpack the new files into a working directory.

            [root root]# su - service0
             [service0 aolserver]$ cd /tmp
             [service0 tmp]$ tar xzf openacs-4-6.tgz
             [service0 tmp]$ cd openacs-4.6
          • (b): via cvs working checkout.�Create a CVS checkout from OpenACS. The first time you do this, you will need to create the checkout directory. We use one dedicated directory for each branch of OpenACS - if you are using OpenACS 5.0,x, you only need an OpenACS 5.0 branch. The openacs-5-0-compat tag identifies the latest released version of OpenACS 5.0 (ie, 5.0.3 or 5.0.4) and the latest compatible version of each package, including .LRN. Each minor release of OpenACS since 5.0 has this tagging structure. (Ie., OpenACS 5.1.x has openacs-5-1-compat.)

            [root root]# su - service0
            @@ -37,7 +37,7 @@
                   

            1. [service0 ~]$ cd /var/lib/aolserver/service0
               [service0 service0]$ cvs up -Pd
               (CVS feedback)
              -[service0 service0]$

            Upgrading a Production Site Safely

            If you are upgrading a production OpenACS site which is on a private CVS tree, this process lets you do the upgrade without risking extended downtime or an unusable site:

            1. Declare a freeze on new cvs updates - ie, you cannot run cvs update +[service0 service0]$

          Upgrading a Production Site Safely

          If you are upgrading a production OpenACS site which is on a private CVS tree, this process lets you do the upgrade without risking extended downtime or an unusable site:

          1. Declare a freeze on new cvs updates - ie, you cannot run cvs update on the production site

          2. Make a manual backup of the production site in addition to the automated backups

          3. Import the new code (for example, OpenACS 5.0.4, openacs-5-0-compat versions of @@ -52,4 +52,4 @@

          4. Test the service0-upgrade site

          5. If service0-upgrade is fully functional, do the real upgrade.

            1. Take down the service0 site and put up a "down for maintenance" page.

            2. Repeat the upgrade with the most recent database

            3. Test the that the new site is functional. If so, change the upgraded site to respond to - yourserver.net requests. If not, bring the original production site back up and return to the merge.

        View comments on this page at openacs.org
        + yourserver.net requests. If not, bring the original production site back up and return to the merge.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/upgrade-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-overview.html,v diff -u -N -r1.11 -r1.12 --- openacs-4/packages/acs-core-docs/www/upgrade-overview.html 21 Apr 2004 09:49:43 -0000 1.11 +++ openacs-4/packages/acs-core-docs/www/upgrade-overview.html 5 May 2004 12:36:08 -0000 1.12 @@ -3,4 +3,4 @@ or better, you should always be able to upgrade all of your core packages automatically. If you haven't changed anything, no manual intervention should be required. If you are running - OpenACS prior to 4.5, upgrading will require manual effort.

    If all of these conditions are true:

    • Your OpenACS Core is 5.0.0 or later

    • You do not keep your OpenACS site in a local CVS repository

    • You do not have any custom code

    then you can upgrade automatically using the automated installer in the OpenACS Package Manager (APM), and you can probably skip the rest of this chapter. To upgrade directly from the OpenACS repository using the APM:

    1. Browse to the Installer.

    2. Click install or upgrade under "Install from OpenACS Repository" and select the packages to install or upgrade.

    3. The APM will download the requested packages from OpenACS.org, install the files on your hard drive, run any appropriate database upgrade scripts, and prompt you to restart the server. After restarting the server again, the upgrade is complete.

    Figure�5.1.�Upgrading with the APM

    Upgrading with the APM

    It's always a good idea to precede an upgrade attempt with a snapshot backup.

    Table�5.1.�Assumptions in this section

    name of OpenACS userservice0
    OpenACS server nameservice0
    Root of OpenACS file tree/var/lib/aolserver/service0
    Database backup directory/var/lib/aolserver/service0/database-backup
    View comments on this page at openacs.org
    + OpenACS prior to 4.5, upgrading will require manual effort.

    If all of these conditions are true:

    • Your OpenACS Core is 5.0.0 or later

    • You do not keep your OpenACS site in a local CVS repository

    • You do not have any custom code

    then you can upgrade automatically using the automated installer in the OpenACS Package Manager (APM), and you can probably skip the rest of this chapter. To upgrade directly from the OpenACS repository using the APM:

    1. Browse to the Installer.

    2. Click install or upgrade under "Install from OpenACS Repository" and select the packages to install or upgrade.

    3. The APM will download the requested packages from OpenACS.org, install the files on your hard drive, run any appropriate database upgrade scripts, and prompt you to restart the server. After restarting the server again, the upgrade is complete.

    Figure�5.1.�Upgrading with the APM

    Upgrading with the APM

    It's always a good idea to precede an upgrade attempt with a snapshot backup.

    Table�5.1.�Assumptions in this section

    name of OpenACS userservice0
    OpenACS server nameservice0
    Root of OpenACS file tree/var/lib/aolserver/service0
    Database backup directory/var/lib/aolserver/service0/database-backup
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/upgrade-supporting.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-supporting.html,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-core-docs/www/upgrade-supporting.html 22 Mar 2004 11:50:31 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/upgrade-supporting.html 5 May 2004 12:36:08 -0000 1.8 @@ -75,4 +75,4 @@ postgres73 user's home directory.

  • Change the path in service0's .bashrc or .bash_profile (or both) files to reflect the new postgres73 - user directory. Also add in the PGPORT.

  • Restore the database from dump as per the recovery instructions.

  • View comments on this page at openacs.org
    + user directory. Also add in the PGPORT.

  • Restore the database from dump as per the recovery instructions.

  • View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/upgrade.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade.html,v diff -u -N -r1.15 -r1.16 --- openacs-4/packages/acs-core-docs/www/upgrade.html 4 Mar 2004 14:09:22 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/upgrade.html 5 May 2004 12:36:08 -0000 1.16 @@ -1,4 +1,4 @@ Chapter�5.�Upgrading

    Chapter�5.�Upgrading

    by Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
    View comments on this page at openacs.org
    +
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/uptime.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/uptime.html,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/uptime.html 20 Feb 2004 15:13:42 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/uptime.html 5 May 2004 12:36:08 -0000 1.3 @@ -1 +1 @@ -External uptime validation

    External uptime validation

    The OpenACS uptime site can monitor your site and send you an email whenever your site fails to respond. If you test the url http://yourserver.test/SYSTEM/dbtest.tcl, you should get back the string success.

    View comments on this page at openacs.org
    +External uptime validation

    External uptime validation

    The OpenACS uptime site can monitor your site and send you an email whenever your site fails to respond. If you test the url http://yourserver.test/SYSTEM/dbtest.tcl, you should get back the string success.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/variables.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/variables.html,v diff -u -N -r1.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/variables.html 21 Apr 2004 09:49:43 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/variables.html 5 May 2004 12:36:08 -0000 1.14 @@ -3,12 +3,12 @@ by OpenACS documentation staff.

    Date and Time Variables

    Starting with OpenACS 5.0 and the introduction of acs-lang, we recommend retrieving date/time information from the database in - ANSI format and then using lc_time_fmt to format it for display.

    Example�12.1.�Getting datetime from the database ANSI-style

    db_multirow -extend { mydate_pretty } {
    +    ANSI format and then using lc_time_fmt to format it for display.

    Example�12.1.�Getting datetime from the database ANSI-style

    db_multirow -extend { mydate_pretty } {
         select to_char(mydate, 'YYYY-MM-DD HH24:MI:SS') as mydate_ansi,
               ...
         ...
     } {
         set mydate_ansi [lc_time_system_to_conn $mydate_ansi]
         set mydate_pretty [lc_time_fmt $mydate_ansi "%x %X"]
     }
    -
    ($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/win2k-installation.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/win2k-installation.html,v diff -u -N -r1.34 -r1.35 --- openacs-4/packages/acs-core-docs/www/win2k-installation.html 21 Apr 2004 09:49:43 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/win2k-installation.html 5 May 2004 12:36:08 -0000 1.35 @@ -249,4 +249,4 @@

    In the services control panel you should see two services: AOLserver-lintcollectors and AOLserver-iguanasdirect. -

    ($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/xml/openacs.xsl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/openacs.xsl,v diff -u -N -r1.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/xml/openacs.xsl 11 Dec 2003 21:39:48 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/xml/openacs.xsl 5 May 2004 12:36:13 -0000 1.14 @@ -184,7 +184,7 @@
    - http://openacs.org/doc/ + http://openacs.org/doc/current/