Index: openacs-4/packages/acs-core-docs/www/acs-admin.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-admin.html,v diff -u -r1.8.2.4 -r1.8.2.5 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 15 Apr 2003 17:03:01 -0000 1.8.2.4 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 19 Apr 2003 20:39:31 -0000 1.8.2.5 @@ -1,2 +1,2 @@ -Part�II.�Administrator's Guide

Administrator's Guide

Table of Contents

2. Prerequisite Software
Individual Programs
3. Installing on Unix/Linux
Overview
Install Linux and supporting software
Install Oracle 8.1.7
Install PostgreSQL 7.2.3
Install AOLserver 3.3+ad13
Install OpenACS 4.6.2
Credits
4. Installing on Windows
OpenACS Installation Guide for Windows2000
5. Installing on a Macintosh
6. Upgrading
Support for upgrades.
Upgrading OpenACS 4.5 to 4.6
7. Maintenance
Database Management
Backup and Recovery
A. Install Red Hat 8.0
View comments on this page at openacs.org
+Part�II.�Administrator's Guide

Administrator's Guide

Table of Contents

2. Prerequisite Software
Individual Programs
3. Installing on Unix/Linux
Overview
Install Linux and supporting software
Install Oracle 8.1.7
Install PostgreSQL 7.2.3
Install AOLserver 3.3+ad13
Install OpenACS 4.6.2
Credits
4. Installing on Windows
OpenACS Installation Guide for Windows2000
5. Installing on a Macintosh
OpenACS Installation Guide for Mac OS X
6. Upgrading
Support for upgrades.
Upgrading from OpenACS 4.5
7. Maintenance
Hosting Web Sites
Database Management
Backup and Recovery
A. Install Red Hat 8.0
View comments on this page at openacs.org
Index: openacs-4/packages/acs-core-docs/www/acs-dev.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/acs-dev.html,v diff -u -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/acs-dev.html 15 Apr 2003 17:03:01 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/acs-dev.html 19 Apr 2003 20:39:31 -0000 1.8.2.6 @@ -1,6 +1,6 @@ -Part�III.�For OpenACS Developers

For OpenACS Developers

+Part�III.�For OpenACS Developers

For OpenACS Developers

View comments on this page at openacs.org
+

View comments on this page at openacs.org
Index: openacs-4/packages/acs-core-docs/www/aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver.html,v diff -u -r1.8.2.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/aolserver.html 15 Apr 2003 17:03:01 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/aolserver.html 19 Apr 2003 20:39:31 -0000 1.8.2.7 @@ -1,5 +1,5 @@ -Install AOLserver 3.3+ad13

Install AOLserver 3.3+ad13

+Install AOLserver 3.3+ad13

Install AOLserver 3.3+ad13

by Vinod Kurup
OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -75,17 +75,17 @@ communicate with the database. There is one script each for Oracle and PostGreSQL. They don't conflict, so if you plan to use both databases, install both.

  • Oracle

    [root@yourserver aolserver]# cd /usr/local/aolserver/bin
    -[root@yourserver bin]# cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
    +[root@yourserver bin]# cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
     [root@yourserver bin]# chmod 750 nsd-oracle
     [root@yourserver bin]#
     
    cd /usr/local/aolserver/bin
    -cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
    +cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
     chmod 750 nsd-oracle
  • PostGreSQL

    [root@yourserver aolserver]# cd /usr/local/aolserver/bin
    -[root@yourserver bin]# cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
    +[root@yourserver bin]# cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
     [root@yourserver bin]# chmod 755 nsd-postgres
     [root@yourserver bin]#
     
    cd /usr/local/aolserver/bin
    -cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
    +cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
     chmod 755 nsd-postgres
  • OPTIONAL - install nsopenssl. This AOLserver module is required if you want people to connect to your site via https. These commands compile nsopenssl and install it, along with a tcl helper script to handle https connections. You will also need ssl certificates. Because those should be different for each server service, you won't need those instructions until later. You will need the nsopenssl tarball in /tmp.

    [root@yourserver bin]# cd /usr/local/src/aolserver
     [root@yourserver aolserver]# tar xzf /tmp/nsopenssl-2.1.tar.gz
     [root@yourserver aolserver]# cd nsopenssl-2.1
    @@ -291,4 +291,4 @@
     cd analog-5.31
     make
     cd ..
    -mv analog-5.31 /usr/share/
  • ($Id$)
    View comments on this page at openacs.org
    +mv analog-5.31 /usr/share/
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/apm-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-design.html,v diff -u -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/apm-design.html 15 Apr 2003 17:03:01 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/apm-design.html 19 Apr 2003 20:39:31 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4.6.2 Package Manager Design

    OpenACS 4.6.2 Package Manager Design

    +OpenACS 4.6.2 Package Manager Design

    OpenACS 4.6.2 Package Manager Design

    by Bryan Quinn
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -89,7 +89,7 @@ packages for other ACS users to download and install.

    For a simple illustration of the difference between ACS without APM (pre-3.3) and ACS with APM (3.3 and beyond), consider a hypothetical ACS installation that uses only two of the thirty-odd modules available circa ACS -3.2 (say, bboard and e-commerce):

    APM itself is part of a package, the OpenACS Kernel, an OpenACS +3.2 (say, bboard and e-commerce):

    APM itself is part of a package, the OpenACS Kernel, an OpenACS service that is the only mandatory component of an OpenACS installation.

    Competitive Analysis

    The OpenACS is a platform for web-based application software, and any software platform has the potential to develop problems like those described above. Fortunately, there are many precedents for systematic solutions, @@ -542,4 +542,4 @@ all of this functionality in one interface and it can be confusing from a usability perspective.

    Authors

    • System creator: Bryan Quinn, Jon Salz, Michael Yoon, Lars Pind, Todd Nightingale.

    • System owner: Bryan Quinn

    • Documentation author: Bryan Quinn, building from earlier versions by Jon -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.6.2 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.6.2 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 -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 15 Apr 2003 17:03:01 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 19 Apr 2003 20:39:31 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4.6.2 Package Manager Requirements

    OpenACS 4.6.2 Package Manager Requirements

    +OpenACS 4.6.2 Package Manager Requirements

    OpenACS 4.6.2 Package Manager Requirements

    by Bryan Quinn and Todd Nightingale
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -293,4 +293,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/backup-recovery.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.html,v diff -u -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 15 Apr 2003 17:03:01 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 19 Apr 2003 20:39:31 -0000 1.1.2.5 @@ -1,5 +1,5 @@ -Backup and Recovery

    Backup and Recovery

    +Backup and Recovery

    Backup and Recovery

    by Don Baccus with additions by Joel Aufrecht
    OpenACS docs are written by the named authors, but may be edited @@ -47,7 +47,7 @@ unneccesary and has complicated permissions. Make sure that you are using the cron job to back up the database to a file in /web/service0/database-backup so that the tar command will include the database.

    [root@yourserver root]# su - service0
     [service0@yourserver service0]$ tar -cpsj --exclude /web/service0/etc/daemontools/supervise --file /tmp/service0-backup.tar.bz2 /web/service0/ 
     tar: Removing leading `/' from member names
    -[service0@yourserver service0]$

    Testing

    On a test service, make sure that your backup-recovery process work. After backing up the database and file system, delete the service as detailed below and then recover it.

    [root@yourserver root]# svc -d /service/service0
    +[service0@yourserver service0]$

    Testing

    On a test service, make sure that your backup-recovery process work. After backing up the database and file system, delete the service as detailed below and then recover it.

    [root@yourserver root]# svc -d /service/service0
     [root@yourserver root]# mv /web/service0/ /web/service0.lost
     [root@yourserver root]# rm /service/service0
     rm: remove symbolic link `/service/service0'? y
    @@ -213,4 +213,4 @@
     joeuser:~$ restart-aolserver birdnotes

    That's it! The script will email you with each successful backup (or if it fails, it will send you an email with the reason) -

    ($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/bootstrap-acs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.html,v diff -u -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 15 Apr 2003 17:03:01 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 19 Apr 2003 20:39:31 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Bootstrapping OpenACS

    Bootstrapping OpenACS

    +Bootstrapping OpenACS

    Bootstrapping OpenACS

    by Jon Salz
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -87,4 +87,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/credits.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/credits.html,v diff -u -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/credits.html 15 Apr 2003 17:03:01 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/credits.html 19 Apr 2003 20:39:31 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Credits

    Credits

    +Credits

    Credits

    by Vinod Kurup
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -34,4 +34,4 @@

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

    ($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/database-management.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/database-management.html,v diff -u -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/database-management.html 15 Apr 2003 17:03:01 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/database-management.html 19 Apr 2003 20:39:31 -0000 1.1.2.5 @@ -1,5 +1,5 @@ -Database Management

    Database Management

    +Database Management

    Database Management

    by Joel Aufrecht
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -10,26 +10,26 @@ in SVRMGRL with the cascade option. This command will drop the user and every database object the user owns.

    -SVRMGR> drop user server0 cascade;

    +SVRMGR> drop user service0 cascade;

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

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

    and then

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

    and then

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

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

    Use with caution!

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

    -SVRMGR> drop tablespace server0 including contents cascade constraints;

    Deleting a PostgreSQL tablespace

    +SVRMGR> drop tablespace service0 including contents cascade constraints;

    Deleting a PostgreSQL tablespace

    Dropping a PostgreSQL tablespace is easy. You have to stop any AOLserver instances that are using the database that you wish to drop. If you're using daemontools, this is simple, just use the 'down' flag (-d). If you're using inittab, you have to comment out your server in /etc/inittab, reread the inittab with /sbin/init q, and then restart-aolserver - server0.

    Then, to drop the db, just do:

    -server0:~$ dropdb server0
    +        service0.

    Then, to drop the db, just do:

    +service0:~$ dropdb service0
     DROP DATABASE

    Vacuum Postgres nightly

    The "vacuum" command must be run periodically to reclaim space. The "vacuum analyze" form additionally collects statistics on the @@ -46,4 +46,4 @@

    Edit your crontab:

     joeuser:~$ crontab -e

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

    -0 1 * * * /usr/local/pgsql/bin/vacuumdb birdnotes
    ($Id$)
    View comments on this page at openacs.org
    +0 1 * * * /usr/local/pgsql/bin/vacuumdb birdnotes
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/db-api-detailed.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api-detailed.html,v diff -u -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.html 15 Apr 2003 17:03:01 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html 19 Apr 2003 20:39:31 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Database Access API

    Database Access API

    +Database Access API

    Database Access API

    by Jon Salz. Revised and expanded by Roberto Mello (rmello at fslc dot usu dot edu), July 2002.
    @@ -731,4 +731,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/db-api.html 15 Apr 2003 17:03:01 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/db-api.html 19 Apr 2003 20:39:31 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -The OpenACS Database Access API

    The OpenACS Database Access API

    +The OpenACS Database Access API

    The OpenACS Database Access API

    By Pete Su and Jon Salz. Modified by Roberto Mello. @@ -737,4 +737,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 -r1.7.2.5 -r1.7.2.6 --- openacs-4/packages/acs-core-docs/www/dev-guide.html 15 Apr 2003 17:03:01 -0000 1.7.2.5 +++ openacs-4/packages/acs-core-docs/www/dev-guide.html 19 Apr 2003 20:39:32 -0000 1.7.2.6 @@ -1,2 +1,2 @@ -Chapter�9.�Development Reference

    Chapter�9.�Development Reference

    Table of Contents

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

    Chapter�9.�Development Reference

    Table of Contents

    OpenACS 4.6.2 Packages
    OpenACS 4.6.2 Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS 4.6.2
    Groups, Context, Permissions
    Writing OpenACS 4.6.2 Application Pages
    Parties in OpenACS 4.6.2
    OpenACS 4.x Permissions Tediously Explained
    Object Identity
    Programming with AOLserver
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/docbook-primer.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/docbook-primer.html,v diff -u -r1.8.2.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 15 Apr 2003 17:03:01 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 19 Apr 2003 20:39:32 -0000 1.8.2.7 @@ -1,5 +1,5 @@ -OpenACS Documentation Guide

    OpenACS Documentation Guide

    +OpenACS Documentation Guide

    OpenACS Documentation Guide

    By claus@arsdigita.com, with additions by Roberto Mello and the OpenACS Community @@ -32,7 +32,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. @@ -53,7 +53,7 @@ list of elements and use more exotic features in your documents. The list is made up of SGML-elements but basically the same elements are valid in the XML DTD as long as you remember to: - +

    • Always close your tags with corresponding end-tags and to not use other tag minimization @@ -99,7 +99,7 @@ The documentation for each package will make up a little "book" that is structured like this - examples are emphasized: - +

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

    Headlines, Sections

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

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

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

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

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

    +	  

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

     
     	    Put this in your XML:
     
    @@ -213,7 +213,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 @@ -234,7 +234,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>, @@ -260,7 +260,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 @@ -305,7 +305,7 @@ </variablelist>

    Tables

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

    Emphasis

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

    @@ -421,4 +421,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 15 Apr 2003 17:03:01 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Constraint naming standard

    Constraint naming standard

    By mbryzek@arsdigita.com


    +Constraint naming standard

    Constraint naming standard

    By mbryzek@arsdigita.com


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

    The Big Picture

    @@ -82,4 +82,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 15 Apr 2003 17:03:01 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -ACS File Naming and Formatting Standards

    ACS File Naming and Formatting Standards

    By michael@arsdigita.com and +ACS File Naming and Formatting Standards

    ACS File Naming and Formatting Standards

    By michael@arsdigita.com and aure@arsdigita.com


    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -229,4 +229,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 15 Apr 2003 17:03:01 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -PL/SQL Standards

    PL/SQL Standards

    +PL/SQL Standards

    PL/SQL Standards

    By richardl@arsdigita.com and yon@arsdigita.com


    @@ -153,4 +153,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 15 Apr 2003 17:03:02 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Release Version Numbering

    Release Version Numbering

    By Ron Henderson


    +Release Version Numbering

    Release Version Numbering

    By Ron Henderson


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

    @@ -91,4 +91,4 @@ detailed set of regression tests. For now we try to enforce this by restricting work on the release branch to fixing reported problem in the current release, e.g. no new features or big changes to -fundamental behavior.

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

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/eng-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards.html,v diff -u -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 15 Apr 2003 17:03:02 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 @@ -1,2 +1,2 @@ -Chapter�10.�Engineering Standards

    Chapter�10.�Engineering Standards

    Table of Contents

    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    View comments on this page at openacs.org
    +Chapter�10.�Engineering Standards

    Chapter�10.�Engineering Standards

    Table of Contents

    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/filename.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/filename.html,v diff -u -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/filename.html 15 Apr 2003 17:03:02 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/filename.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Detailed Design Documentation Template

    Detailed Design Documentation Template

    By You

    Start Note

    +Detailed Design Documentation Template

    Detailed Design Documentation Template

    By You

    Start Note

    NOTE: Some of the sections of this template may not apply to your package, e.g. there may be no user-visible UI elements for a component of the OpenACS Core. Furthermore, it may be easier in some circumstances @@ -136,4 +136,4 @@

    • System creator

    • System owner

    • Documentation author

    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 -r1.7.2.4 -r1.7.2.5 --- openacs-4/packages/acs-core-docs/www/for-everyone.html 15 Apr 2003 17:03:02 -0000 1.7.2.4 +++ openacs-4/packages/acs-core-docs/www/for-everyone.html 19 Apr 2003 20:39:32 -0000 1.7.2.5 @@ -1,2 +1,2 @@ -Part�I.�OpenACS For Everyone

    OpenACS For Everyone

    High level information: What is OpenACS?

    View comments on this page at openacs.org
    +Part�I.�OpenACS For Everyone

    OpenACS For Everyone

    High level information: What is OpenACS?

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/general-documents.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/general-documents.html,v diff -u -r1.7.2.4 -r1.7.2.5 --- openacs-4/packages/acs-core-docs/www/general-documents.html 15 Apr 2003 17:03:02 -0000 1.7.2.4 +++ openacs-4/packages/acs-core-docs/www/general-documents.html 19 Apr 2003 20:39:32 -0000 1.7.2.5 @@ -1,2 +1,2 @@ -Chapter�1.�High level information: What is OpenACS?

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

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

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

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/groups-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-design.html,v diff -u -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/groups-design.html 15 Apr 2003 17:03:02 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Groups Design

    OpenACS 4 Groups Design

    +OpenACS 4 Groups Design

    OpenACS 4 Groups Design

    by Rafael H. Schloming and Mark Thomas
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -301,4 +301,4 @@

    Rafael H. Schloming

    Documentation author -

    Mark Thomas

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/22/2000Rafael H. Schloming
    0.2Initial Revision08/30/2000Mark Thomas
    0.3Additional revisions; tried to clarify membership/compostion09/08/2000Mark Thomas
    View comments on this page at openacs.org
    +

    Mark Thomas

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/22/2000Rafael H. Schloming
    0.2Initial Revision08/30/2000Mark Thomas
    0.3Additional revisions; tried to clarify membership/compostion09/08/2000Mark Thomas
    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 -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/groups-requirements.html 15 Apr 2003 17:03:02 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Groups Requirements

    OpenACS 4 Groups Requirements

    +OpenACS 4 Groups Requirements

    OpenACS 4 Groups Requirements

    by Rafael H. Schloming, Mark Thomas
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -222,4 +222,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:

    • 200.0 Create a party

    • 210.0 View the attributes of a party

    • 220.0 Update the attributes of a party

    • 240.0 Delete a party

    • 250.0 Add a party to a group

    • 260.0 Remove a party from a group

    • 270.0 Perform the membership and composition checks -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
    +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/index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.html,v diff -u -r1.6.2.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/index.html 15 Apr 2003 17:03:02 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/index.html 19 Apr 2003 20:39:32 -0000 1.6.2.7 @@ -1,2 +1,2 @@ -OpenACS Documentation

    OpenACS Documentation


    Table of Contents

    I. OpenACS For Everyone
    1. High level information: What is OpenACS?
    Overview
    OpenACS 4.6.2 Release Notes
    II. Administrator's Guide
    2. Prerequisite Software
    Individual Programs
    3. Installing on Unix/Linux
    Overview
    Install Linux and supporting software
    Install Oracle 8.1.7
    Install PostgreSQL 7.2.3
    Install AOLserver 3.3+ad13
    Install OpenACS 4.6.2
    Credits
    4. Installing on Windows
    OpenACS Installation Guide for Windows2000
    5. Installing on a Macintosh
    6. Upgrading
    Support for upgrades.
    Upgrading OpenACS 4.5 to 4.6
    7. Maintenance
    Database Management
    Backup and Recovery
    A. Install Red Hat 8.0
    III. For OpenACS Developers
    8. Development Tutorial
    Setting Up Database Objects
    Creating Web Pages
    Debugging and Automated Testing
    Advanced Topics
    9. Development Reference
    OpenACS 4.6.2 Packages
    OpenACS 4.6.2 Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS 4.6.2
    Groups, Context, Permissions
    Writing OpenACS 4.6.2 Application Pages
    Parties in OpenACS 4.6.2
    OpenACS 4.x Permissions Tediously Explained
    Object Identity
    Programming with AOLserver
    10. Engineering Standards
    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    11. Kernel Documentation
    Overview
    OpenACS 4 Object Model Requirements
    OpenACS 4 Object Model Design
    OpenACS 4 Permissions Requirements
    OpenACS 4 Permissions Design
    OpenACS 4 Groups Requirements
    OpenACS 4 Groups Design
    OpenACS 4 Subsites Requirements
    OpenACS 4 Subsites Design Document
    OpenACS 4.6.2 Package Manager Requirements
    OpenACS 4.6.2 Package Manager Design
    Database Access API
    OpenACS 4 Security Requirements
    OpenACS 4 Security Design
    OpenACS 4 Security Notes
    OpenACS 4 Request Processor Requirements
    OpenACS 4 Request Processor Design
    Documenting Tcl Files: Page Contracts and Libraries
    Bootstrapping OpenACS

    List of Tables

    9.1.
    9.2.
    9.3.
    9.4.
    9.5.
    9.6.
    9.7.
    9.8.
    9.9.
    9.10.
    9.11.
    9.12.
    View comments on this page at openacs.org
    +OpenACS Documentation

    OpenACS Documentation


    Table of Contents

    I. OpenACS For Everyone
    1. High level information: What is OpenACS?
    Overview
    OpenACS 4.6.2 Release Notes
    II. Administrator's Guide
    2. Prerequisite Software
    Individual Programs
    3. Installing on Unix/Linux
    Overview
    Install Linux and supporting software
    Install Oracle 8.1.7
    Install PostgreSQL 7.2.3
    Install AOLserver 3.3+ad13
    Install OpenACS 4.6.2
    Credits
    4. Installing on Windows
    OpenACS Installation Guide for Windows2000
    5. Installing on a Macintosh
    OpenACS Installation Guide for Mac OS X
    6. Upgrading
    Support for upgrades.
    Upgrading from OpenACS 4.5
    7. Maintenance
    Hosting Web Sites
    Database Management
    Backup and Recovery
    A. Install Red Hat 8.0
    III. For OpenACS Developers
    8. Development Tutorial
    Creating a Package
    Setting Up Database Objects
    Creating Web Pages
    Debugging and Automated Testing
    Advanced Topics
    9. Development Reference
    OpenACS 4.6.2 Packages
    OpenACS 4.6.2 Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS 4.6.2
    Groups, Context, Permissions
    Writing OpenACS 4.6.2 Application Pages
    Parties in OpenACS 4.6.2
    OpenACS 4.x Permissions Tediously Explained
    Object Identity
    Programming with AOLserver
    10. Engineering Standards
    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    11. Kernel Documentation
    Overview
    OpenACS 4 Object Model Requirements
    OpenACS 4 Object Model Design
    OpenACS 4 Permissions Requirements
    OpenACS 4 Permissions Design
    OpenACS 4 Groups Requirements
    OpenACS 4 Groups Design
    OpenACS 4 Subsites Requirements
    OpenACS 4 Subsites Design Document
    OpenACS 4.6.2 Package Manager Requirements
    OpenACS 4.6.2 Package Manager Design
    Database Access API
    OpenACS 4 Security Requirements
    OpenACS 4 Security Design
    OpenACS 4 Security Notes
    OpenACS 4 Request Processor Requirements
    OpenACS 4 Request Processor Design
    Documenting Tcl Files: Page Contracts and Libraries
    Bootstrapping OpenACS

    List of Tables

    9.1.
    9.2.
    9.3.
    9.4.
    9.5.
    9.6.
    9.7.
    9.8.
    9.9.
    9.10.
    9.11.
    9.12.
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/individual-programs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/individual-programs.html,v diff -u -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/individual-programs.html 15 Apr 2003 17:03:02 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/individual-programs.html 19 Apr 2003 20:39:32 -0000 1.1.2.5 @@ -1,5 +1,5 @@ -Individual Programs

    Individual Programs

    • OpenACS 4.6.2.�The OpenACS tarball comprises the core packages and +Individual Programs

      Individual Programs

      • OpenACS 4.6.2.�The OpenACS tarball comprises the core packages and many useful additional packages. This includes a full set of documentation. The tarball works with both PostGreSQL and Oracle.

      • Operating System.�OpenACS is designed for a Unix-like system. It is @@ -9,7 +9,7 @@ standard Linux shell. If you are using a different shell, you will need to substitute your shell's conventions for setting environment variables when - appropriate.

      • Mac OS X.�???

      • Windows/VMWare.�OpenACS Installation Guide for Windows 2000 The only + appropriate.

      • Mac OS X.�the section called “OpenACS Installation Guide for Mac OS X”

      • Windows/VMWare.�OpenACS Installation Guide for Windows 2000 The only way to run OpenACS on Windows is through the VMWare emulator. (Please let me know if you have OpenACS running directly in Windows.)

    • Build Environment.�The Reference Platform installation compiles most programs from @@ -127,4 +127,4 @@ get patched and development code in between releases) use cvs.

      • cvs 1.11.2, OPTIONAL.�cvs is included in most unix distributions. You need this if you want to track old versions of your files, do controlled deployment of code from development - to production, or get or contribute development code from openacs.org.

    View comments on this page at openacs.org
    + to production, or get or contribute development code from 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 -r1.7.2.5 -r1.7.2.6 --- openacs-4/packages/acs-core-docs/www/install-overview.html 15 Apr 2003 17:03:02 -0000 1.7.2.5 +++ openacs-4/packages/acs-core-docs/www/install-overview.html 19 Apr 2003 20:39:32 -0000 1.7.2.6 @@ -1,5 +1,5 @@ -Overview

    Overview

    +Overview

    Overview

    by Vinod Kurup
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -74,7 +74,7 @@ The basic steps to getting OpenACS up and running are:

    1. Install an OS

    2. Install a webserver (AOLServer)

    3. Install a database (Oracle or PostgreSQL)

    4. Install a database driver (allows the webserver to talk to the database) -

    5. Start the OpenACS installer, which will configure a database instance..

    How to use this guide

    • This is text you will see on +

    • Start the OpenACS installer, which will configure a database instance..

    How to use this guide

    • This is text you will see on screen, such as a Button or link in a radio button list or menu.

    • This is text that you will type.

    • This is text from a program or file which you may need to examine or edit:

      if {$database == "oracle"} {
      @@ -124,10 +124,9 @@
       		  Post a question on the bboards. Make sure
       		  you've done a search first. When you do post, be sure to include
       		  your setup information (OS, etc) as well as the exact commands
      -		  that are failing with the accompanying error. If you want to post
      -		  stuff from your logs (please do!), be sure to enclose them in
      -		  <PRE></PRE> tags so that they don't get all jumbled
      -		  together.
      +		  that are failing with the accompanying error.  If
      +		  there's a SQL error in the TCL error or in the log,
      +		  post that too.
       		

    • If you find errors in this document or if you have ideas about making it better, please post them in our @@ -146,7 +145,7 @@ just plagiarism from a number of documents that came before it. If I've used something that you've written without proper credit, let me know and I'll fix it right away. -

      Version 4.6.x was edited by Joel Aufrecht. +

      Version 4.6.2 was edited by Joel Aufrecht.

      These are a few of my sources:

    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-redhat.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.html,v diff -u -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/install-redhat.html 15 Apr 2003 17:03:02 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/install-redhat.html 19 Apr 2003 20:39:32 -0000 1.1.2.5 @@ -1,5 +1,5 @@ -Appendix�A.�Install Red Hat 8.0

    Appendix�A.�Install Red Hat 8.0

    +Appendix�A.�Install Red Hat 8.0

    Appendix�A.�Install Red Hat 8.0

    by Joel Aufrecht
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -11,7 +11,7 @@ software (see the section called “Individual Programs” for details):

    • libxml2

    • tcl

    • gmake and the compile and build environment.

    and these optional items

    • emacs

    • cvs

    • ImageMagick

    • DocBook and supporting software

    (In my experience, it's almost always a net time savings of several hours to install a new machine from scratch compared to installing each of these packages installed independently.)

    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 @@ -39,7 +39,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 @@ -60,7 +60,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. To @@ -81,9 +81,9 @@ 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),
    +

    check�Editors�(this�installs�emacs),
    click�Details�next�to�Text-based�Internet,�check�lynx,�and�click�OK;
    -check�Authoring�and�Publishing�(this�installs�docbook),
    +check�Authoring�and�Publishing�(this�installs�docbook),
    uncheck�Server�Configuration�Tools,
    uncheck�Web�Server,
    uncheck�Windows�File�Server,
    @@ -96,7 +96,7 @@ 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,�
    +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),�
    @@ -124,7 +124,7 @@

  • After it finishes rebooting and shows the login prompt, log in:

    yourserver login: root
     Password:
    -[root@yourserver root]#
  • Lock down SSH

    1. +[root@yourserver root]#

    2. 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 @@ -153,4 +153,4 @@ Last login: Mon Mar 3 21:15:27 2003 from host-12-01.dsl-sea.seanet.com [remadmin@yourserver remadmin]$ su - Password: -[root@yourserver root]#

    View comments on this page at openacs.org
    +[root@yourserver root]#
  • View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/kernel-doc.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-doc.html,v diff -u -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/kernel-doc.html 15 Apr 2003 17:03:02 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/kernel-doc.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 @@ -1,2 +1,2 @@ -Chapter�11.�Kernel Documentation

    Chapter�11.�Kernel Documentation

    View comments on this page at openacs.org
    +Chapter�11.�Kernel Documentation

    Chapter�11.�Kernel Documentation

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/kernel-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-overview.html,v diff -u -r1.3.2.5 -r1.3.2.6 --- openacs-4/packages/acs-core-docs/www/kernel-overview.html 15 Apr 2003 17:03:02 -0000 1.3.2.5 +++ openacs-4/packages/acs-core-docs/www/kernel-overview.html 19 Apr 2003 20:39:32 -0000 1.3.2.6 @@ -1,5 +1,5 @@ -Overview

    Overview

    +Overview

    Overview

    Compared to its predecessors, version 4.6.2 of OpenACS has a much more structured organization, i.e. the most significant change is found at the system architecture level, @@ -28,4 +28,4 @@ This document provides a high level overview of the kernel package. Documentation for the other packages can be found elsewhere. -

    View comments on this page at openacs.org
    +

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/linux-installation.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/linux-installation.html,v diff -u -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/linux-installation.html 15 Apr 2003 17:03:02 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/linux-installation.html 19 Apr 2003 20:39:32 -0000 1.1.2.5 @@ -1,11 +1,11 @@ -Install Linux and supporting software

    Install Linux and supporting software

    +Install Linux and supporting software

    Install Linux and supporting software

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

    Paths and Users

    Figure�3.1.�Assumptions in this section

    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/web/service0
    Location of source code tarballs for new software/tmp
    The OpenACS tarball contains some files which +

    Paths and Users

    Figure�3.1.�Assumptions in this section

    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/web/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-4-6/packages/acs-core-docs/www/files
    Database backup directory/web/service0/database-backup
    Service config files/web/service0/etc
    Service log files/web/service0/log
    Compile directory/usr/local/src
    PostGreSQL directory/usr/local/pgsql
    AOLServer directory/usr/local/aolserver

    + files are located at:

    /tmp/openacs-4.6.2/packages/acs-core-docs/www/files
    Database backup directory/web/service0/database-backup
    Service config files/web/service0/etc
    Service log files/web/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 the values that we've chosen. The values that you'll probably want to change, such as service name, are @@ -24,25 +24,25 @@ you start in. Text instructions always precede the commands they refer to.

    Unpack the OpenACS tarball

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

    [root@yourserver root]# cd /tmp
    -[root@yourserver tmp]# tar xzf openacs-4-6.tgz
    +[root@yourserver tmp]# tar xzf openacs-4.6.2.tgz
     
    cd /tmp
    -tar xzf openacs-4-6.tgz

    Initialize CVS (OPTIONAL)

    CVS is a source control system. Create and prepare a +tar xzf openacs-4.6.2.tgz

    Initialize CVS (OPTIONAL)

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

    [root@yourserver tmp]# mkdir /cvsroot
     [root@yourserver tmp]# cvs -d /cvsroot init
     [root@yourserver tmp]#
     
    mkdir /cvsroot
    -cvs -d /cvsroot init

    Add PSGML commands to emacs init file (OPTIONAL)

    +cvs -d /cvsroot init

    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@yourserver tmp]# cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs
    +      terminals.

    [root@yourserver tmp]# cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs
     [root@yourserver tmp]# 

    Install Daemontools (OPTIONAL)

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

    1. Install Daemontools

      • Red Hat

        Make sure you have the source tarball in + services.

        1. Install Daemontools

          • Red Hat

            Make sure you have the source tarball in /tmp, or download it. (The -p flag in mkdir causes all implied directories in the path to be made as well.)

            [root@yourserver root]# mkdir -p /package
            @@ -68,10 +68,10 @@
             root     13294  0.0  0.1  1352  272 ?        S    09:51   0:00 svscan /service
             root     13295  0.0  0.0  1304  208 ?        S    09:51   0:00 readproctitle service errors: .......................................
             [root@yourserver root]#
          • Install a script to grant non-root users permission to - control daemontools services.

            [root@yourserver root]# cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup
            +        control daemontools services.

            [root@yourserver root]# cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup
             [root@yourserver root]# chmod 755 /usr/local/bin/svgroup
            -
            cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup 
            -chmod 755 /usr/local/bin/svgroup

      Install qmail (OPTIONAL)

      Qmail is a Mail Transfer Agent. It handles incoming and outgoing mail. Install qmail if you want your OpenACS server to send and receive mail, and you don't want to use an alternate MTA.

      1. Install ucspi.�This program handles incoming tcp connections.

        [root@yourserver root]# cd /usr/local/src
        +
        cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup 
        +chmod 755 /usr/local/bin/svgroup

      Install qmail (OPTIONAL)

      Qmail is a Mail Transfer Agent. It handles incoming and outgoing mail. Install qmail if you want your OpenACS server to send and receive mail, and you don't want to use an alternate MTA.

      1. Install ucspi.�This program handles incoming tcp connections.

        [root@yourserver root]# cd /usr/local/src
         [root@yourserver src]# tar xzf /tmp/ucspi-tcp-0.88.tar.gz
         [root@yourserver src]# cd ucspi-tcp-0.88
         [root@yourserver ucspi-tcp-0.88]# make
        @@ -93,7 +93,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@yourserver 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 @@ -104,10 +104,10 @@ Unless this mail is addressed to the same machine, qmail thinks that it's an attempt to relay mail, and rejects it. So these two commands set up an exception so that any mail sent from 127.0.0.1 is allowed to -send outgoing mail.

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

        [root@yourserver ucspi-tcp-0.88]# cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp
         [root@yourserver ucspi-tcp-0.88]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
        -
        cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp 
        -tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 
      2. Install Qmail.�

        First, set up the standard supporting users and build the binaries:

        [root@yourserver root]# cd /usr/local/src
        +
        cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp 
        +tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 
      3. Install Qmail.�

        First, set up the standard supporting users and build the binaries:

        [root@yourserver root]# cd /usr/local/src
         [root@yourserver src]# tar xzf /tmp/qmail-1.03.tar.gz
         [root@yourserver src]# mkdir /var/qmail
         [root@yourserver src]# groupadd nofiles
        @@ -140,7 +140,7 @@
         useradd -g qmail -d /var/qmail qmailr 
         useradd -g qmail -d /var/qmail qmails
         cd qmail-1.03 
        -make setup check

        Replace sendmail with qmail's wrapper.

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

        Replace sendmail with qmail's wrapper.

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

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

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

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

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

        [root@localhost root]# /var/qmail/bin/maildirmake /etc/skel/Maildir
        @@ -197,4 +197,4 @@
         [root@yourserver alias]# 
         
        echo "/usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd \ " >> /etc/rc.local
         echo "2>&1 | /var/qmail/bin/splogger smtpd 3 &  " >> /etc/rc.local
        -echo "csh -cf '/var/qmail/rc &' " >> /etc/rc.local
    ($Id$)
    View comments on this page at openacs.org
    +echo "csh -cf '/var/qmail/rc &' " >> /etc/rc.local
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/mac-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/mac-install.html,v diff -u -r1.3 -r1.3.2.1 --- openacs-4/packages/acs-core-docs/www/mac-install.html 30 Mar 2003 06:04:04 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/mac-install.html 19 Apr 2003 20:39:32 -0000 1.3.2.1 @@ -1,2 +1,2 @@ -Chapter 5. Installing on a Macintosh

    Chapter 5. Installing on a Macintosh

    View comments on this page at openacs.org
    +Chapter�5.�Installing on a Macintosh

    Chapter�5.�Installing on a Macintosh

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/mac-installation.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/mac-installation.html,v diff -u -r1.4 -r1.4.2.1 --- openacs-4/packages/acs-core-docs/www/mac-installation.html 7 Apr 2003 16:59:25 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/mac-installation.html 19 Apr 2003 20:39:32 -0000 1.4.2.1 @@ -1,3 +1,3 @@ -OpenACS Installation Guide for Mac OS X

    OpenACS Installation Guide for Mac OS X

    There are several resources for installing on OS X.

    ($Id$)
    View comments on this page at openacs.org
    +OpenACS Installation Guide for Mac OS X

    OpenACS Installation Guide for Mac OS X

    There are several resources for installing on OS X.

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/maintenance-web.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-web.html,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/maintenance-web.html 7 Apr 2003 16:59:25 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/maintenance-web.html 19 Apr 2003 20:39:32 -0000 1.1.2.4 @@ -1,10 +1,10 @@ -Hosting Web Sites

    Hosting Web Sites

    +Hosting Web Sites

    Hosting Web Sites

    by Joel Aufrecht
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff.

    This section collection of maintenance - tasks and alternate configurations for AOLserver. This section has not yet been updated for 4.6.2

    AOLserver keepalive with inittab

    This is an alternative method for keeping the AOLserver + tasks and alternate configurations for AOLserver. This section has not yet been updated for 4.6.2

    AOLserver keepalive with inittab

    This is an alternative method for keeping the AOLserver process running. The recommended method is to run AOLserver supervised.

    This step should be completed as root. This can break every service @@ -61,7 +61,7 @@ joeuser:~$ killall nsd nsd: no process killed

    The number 23727 indicates the process id(s) (PIDs) of the - processes being killed. It is important that no processes are killed by the second + processes being killed. It is important that no processes are killed by the second call to killall. If there are processes being killed, it means that the script is not working.

  • @@ -77,7 +77,7 @@ nss1 is unique.

     nss1:345:respawn:/usr/local/aolserver/bin/nsd-postgres -i -u nobody -g web -t /home/joeuser/web/birdnotes/nsd.tcl
  • - Important: Make sure there is a + Important: Make sure there is a newline at the end of the file. If there is not a newline at the end of the file, the system may suffer catastrophic failures. @@ -94,7 +94,7 @@ Killing 23750

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

    Running AOLserver on Port 80

    If you want your webserver to be http://yourserver.com, it must run on port 80, the default HTTP port. You set this in the config.tcl file. You will need to start the service as +

    Running AOLserver on Port 80

    If you want your webserver to be http://yourserver.com, it must run on port 80, the default HTTP port. You set this in the config.tcl file. You will need to start the service as root. If you follow the instructions above for automating startup, this will be taken care of, but if you ever start the @@ -109,21 +109,21 @@ root. This mean that if someone was able to exploit your web server to execute a command on your server, they would not be able to gain root - access.

    Running multiple services on one machine

    Services on different ports.�To run a different service on another port but the same + access.

    Running multiple services on one machine

    Services on different ports.�To run a different service on another port but the same ip, simply repeat Install OpenACS 4.6.2 replacing service0, and change the -

    set httpport              8000
    -set httpsport             8443 
    +

    set httpport              8000
    +set httpsport             8443 

    to different values.

    Services on different host names.�For example, suppose you want to support http://foo.com and http://bar.com on the same machine. The easiest way is to assign each one a different ip address. Then you can install two services as above, but with different values for -

    set hostname               [ns_info hostname]
    -set address                127.0.0.1 
    +

    set hostname               [ns_info hostname]
    +set address                127.0.0.1 

    If you want to install two services with different host 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. -

    ($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/maintenance.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/maintenance.html,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/maintenance.html 15 Apr 2003 17:03:02 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/maintenance.html 19 Apr 2003 20:39:32 -0000 1.1.2.4 @@ -1,2 +1,2 @@ -Chapter�7.�Maintenance

    Chapter�7.�Maintenance

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

    Chapter�7.�Maintenance

    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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/object-identity.html 15 Apr 2003 17:03:02 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/object-identity.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Object Identity

    Object Identity

    +Object Identity

    Object Identity

    by Rafael H. Schloming
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -33,4 +33,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 -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/object-system-design.html 15 Apr 2003 17:03:02 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/object-system-design.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Object Model Design

    OpenACS 4 Object Model Design

    +OpenACS 4 Object Model Design

    OpenACS 4 Object Model Design

    by Pete Su, Michael Yoon, Richard Li @@ -862,4 +862,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 -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 15 Apr 2003 17:03:02 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Object Model Requirements

    OpenACS 4 Object Model Requirements

    +OpenACS 4 Object Model Requirements

    OpenACS 4 Object Model Requirements

    By Pete Su
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -265,4 +265,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/objects.html 15 Apr 2003 17:03:02 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/objects.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -OpenACS 4.6.2 Data Models and the Object System

    OpenACS 4.6.2 Data Models and the Object System

    +OpenACS 4.6.2 Data Models and the Object System

    OpenACS 4.6.2 Data Models and the Object System

    By Pete Su
    OpenACS docs are written by the named authors, but may be edited @@ -81,7 +81,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  
    @@ -141,7 +141,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 @@ -166,7 +166,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: @@ -214,7 +214,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 @@ -396,4 +396,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 -r1.3.2.4 -r1.3.2.5 --- openacs-4/packages/acs-core-docs/www/openacs-overview.html 15 Apr 2003 17:03:02 -0000 1.3.2.4 +++ openacs-4/packages/acs-core-docs/www/openacs-overview.html 19 Apr 2003 20:39:32 -0000 1.3.2.5 @@ -1,5 +1,5 @@ -Overview

    Overview

    +Overview

    Overview

    OpenACS (Open Architecture Community System) is an advanced toolkit for building scalable, community-oriented web applications. If you're thinking of building an @@ -33,4 +33,4 @@ help you in your endeavors with the system. Stop by our web site and feel free to ask a question, post ideas or whatever. -

    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.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.html,v diff -u -r1.6.2.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/openacs.html 15 Apr 2003 17:03:02 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/openacs.html 19 Apr 2003 20:39:32 -0000 1.6.2.7 @@ -1,9 +1,9 @@ -Install OpenACS 4.6.2

    Install OpenACS 4.6.2

    +Install OpenACS 4.6.2

    Install OpenACS 4.6.2

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

    Set up the file system for an OpenACS Service

    1. The reference install stores all OpenACS services in +

    Set up the file system for an OpenACS Service

    1. The reference install stores all OpenACS services in /web, with one subdirectory per service. The first time you install a service, you must create that directory and set its permissions:

      [root@yourserver root]# mkdir /web
      @@ -72,8 +72,8 @@
       
       [root@yourserver root]#
    2. Unpack the OpenACS tarball and rename it to service0. Secure the directory so that only the owner can access it. Check the permissions by listing the directory.

      [root@yourserver root]# su - service0
       [service0@yourserver service0]$ cd /web
      -[service0@yourserver web]$ tar xzf /tmp/openacs-4-6.tgz
      -[service0@yourserver web]$ mv openacs-4-6 service0
      +[service0@yourserver web]$ tar xzf /tmp/openacs-4.6.2.tgz
      +[service0@yourserver web]$ mv openacs-4.6.2 service0
       [service0@yourserver web]$ chmod -R 700 service0
       [service0@yourserver web]$ ls -al
       total 3
      @@ -86,11 +86,11 @@
       [root@yourserver root]#
       
      su - service0
       cd /web
      -tar xzf /tmp/openacs-4-6.tgz
      -mv openacs-4-6 service0
      +tar xzf /tmp/openacs-4.6.2.tgz
      +mv openacs-4.6.2 service0
       chmod -R 700 service0/
       ls -al
      -exit
    3. Add the Service to CVS - OPTIONAL.�If this is a development server, you may want to add it to your local CVS repository.

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

        [root@yourserver root]# mkdir /cvsroot/service0
        +exit
      2. Add the Service to CVS - OPTIONAL.�If this is a development server, you may want to add it to your local CVS repository.

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

          [root@yourserver root]# mkdir /cvsroot/service0
           [root@yourserver root]# chown service0.web /cvsroot/service0
           [root@yourserver root]#
           
          mkdir /cvsroot/service0
          @@ -107,11 +107,11 @@
                       plus this string,
                       i.e.
                       /cvsroot/service0.
          -            "OpenACS" is the vendor tag, and "openacs-4-6" is the
          +            "OpenACS" is the vendor tag, and "openacs-4-6-2" is the
                       release tag.  These tags will be useful in upgrading and
                       branching.  -m sets the version comment.

          [root@yourserver root]# su - service0
           [service0@yourserver service0]$ cd /web/service0
          -[service0@yourserver service0]$ cvs import -m "initial install" service0 OpenACS openacs-4-6
          +[service0@yourserver service0]$ cvs import -m "initial install" service0 OpenACS openacs-4-6-2
           N service0/license.txt
           N service0/readme.txt
           (many lines omitted)
          @@ -122,7 +122,7 @@
           [service0@yourserver service0]$
           
          su - service0
           cd /web/service0
          -cvs import -m "initial install" service0 OpenACS openacs-4-6

          Move the original directory to a temporary location, and check out the cvs repository in its place. If the service starts correctly, come back and remove the temporary copy of the uploaded files.

          [service0@yourserver service0]$ cd ..
          +cvs import -m "initial install" service0 OpenACS openacs-4-6-2

          Move the original directory to a temporary location, and check out the cvs repository in its place. If the service starts correctly, come back and remove the temporary copy of the uploaded files.

          [service0@yourserver service0]$ cd ..
           [service0@yourserver web]$ mv service0 service0.orig
           [service0@yourserver web]$ cvs checkout service0
           cvs checkout: Updating service0
          @@ -293,7 +293,7 @@
           CREATE DATABASE
           [service0@yourserver service0]$
           
          su - service0
          -createdb service0
        2. Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user.

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

          Add this line to the file. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day.

          0 1 * * * /usr/local/pgsql/bin/vacuumdb service0
        3. Add Full Text Search Support - OPTIONAL

          If you are installing Full Text Search, add required packages to the new database.

          [service0@yourserver service0]$ /usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.2.3/contrib/tsearch/tsearch.sql
          +createdb service0
        4. 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.

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

          Add this line to the file. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day.

          0 1 * * * /usr/local/pgsql/bin/vacuumdb service0
        5. Add Full Text Search Support - OPTIONAL

          If you are installing Full Text Search, add required packages to the new database.

          [service0@yourserver service0]$ /usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.2.3/contrib/tsearch/tsearch.sql
           BEGIN
           CREATE
           (many lines omitted)
          @@ -311,7 +311,7 @@
           	  The AOLserver architecture lets you run an arbitrary number of
           	  virtual servers. A virtual server is an HTTP service running on a
           	  specific port, e.g. port 80. In order for OpenACS to work, you
          -	  need to configure a virtual server.  The Reference Platform uses a configuration file included in the OpenACS tarball.  Copy it to the /web/service0/etc directory and open it in an editor to adjust the parameters.

          [root@yourserver root]# su - service0
          +	  need to configure a virtual server.  The Reference Platform uses a configuration file included in the OpenACS tarball.  Copy it to the /web/service0/etc directory and open it in an editor to adjust the parameters.

          [root@yourserver root]# su - service0
           [service0@yourserver service0]$ cd /web/service0/etc
           [service0@yourserver etc]# cp /web/service0/packages/acs-core-docs/www/files/config.tcl.txt config.tcl
           [service0@yourserver etc]# emacs config.tcl
          @@ -360,7 +360,7 @@
           S/Sd2MYA0JVmQuIt5bYowXR1KYKDka1d3DUgtoVTiFepIRUrMkZlCli08mWVjE6T
           (11 lines omitted)
           1MU24SHLgdTfDJprEdxZOnxajnbxL420xNVc5RRXlJA8Xxhx/HBKTw==
          ------END RSA PRIVATE KEY-----

    Verify AOLserver startup

    1. +-----END RSA PRIVATE KEY-----

    Verify AOLserver startup

    1. Kill any current running AOLserver processes and start a new one. (Note, if you are using Oracle, rather than PostgreSQL, replace nsd-postgres with @@ -382,7 +382,7 @@ to make sure the service is starting without any problems. If you need to make changes, don't forget to kill any running servers with killall nsd. -

    2. OPTIONAL - Automate AOLserver keepalive

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

      The Reference Platform uses Daemontools to control AOLserver. An earlier method using init, less flexible and reliable, is here.

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

      2. Each service controlled by daemontools must have a directory in /service. That directory must have a file called run. Daemontools then creates additional files and directories to track status and log. Create the appropriate directory as /web/service0/etc/daemontools, copy the prepared run file, and set permissions. If your server is not called service0, edit /web/service0/etc/run accordingly.

        [service0@yourserver log]$ cd /web/service0/etc
        +	

      3. OPTIONAL - Automate AOLserver keepalive

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

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

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

        2. Each service controlled by daemontools must have a directory in /service. That directory must have a file called run. Daemontools then creates additional files and directories to track status and log. Create the appropriate directory as /web/service0/etc/daemontools, copy the prepared run file, and set permissions. If your server is not called service0, edit /web/service0/etc/run accordingly.

          [service0@yourserver log]$ cd /web/service0/etc
           [service0@yourserver etc]$ mkdir daemontools
           [service0@yourserver etc]$ cp /web/service0/packages/acs-core-docs/www/files/run.txt daemontools/run
           [service0@yourserver etc]$ chmod 700 daemontools/run
          @@ -515,7 +515,7 @@
           line, click
           Install.
           

      4. Restart the service.

        [service0@yourserver service0]$ svc -t /service/service0
        -[service0@yourserver service0]$
      5. Test FTS. (INCOMPLETE). Add a package that supports search,like "note," add some content, and search for it.

    Back up the New Service - OPTIONAL

    This is a very good time to back the service, even if it's not a production service. Making a backup now lets you roll back to this initial, clean setup at any point in the future, without repeating the install process. A full OpenACS service backup includes everything in the /web/service0/ directory. At this point it's probably sufficient to back up just the database, because you can recover the files from a tarball.

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

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

      [service0@yourserver service0]$ mkdir /web/service0/database-backup
      +[service0@yourserver service0]$
    • Test FTS. (INCOMPLETE). Add a package that supports search,like "note," add some content, and search for it.

    Back up the New Service - OPTIONAL

    This is a very good time to back the service, even if it's not a production service. Making a backup now lets you roll back to this initial, clean setup at any point in the future, without repeating the install process. A full OpenACS service backup includes everything in the /web/service0/ directory. At this point it's probably sufficient to back up just the database, because you can recover the files from a tarball.

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

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

      [service0@yourserver service0]$ mkdir /web/service0/database-backup
       [service0@yourserver service0]$ pg_dump -f /web/service0/database-backup/initial_backup.dmp service0
       [service0@yourserver service0]$ ls -al /web/service0/database-backup
       total 1425
      @@ -525,7 +525,7 @@
       [service0@yourserver service0]$
       
      mkdir /web/service0/database-backup
       pg_dump -f /web/service0/database-backup/initial_backup.dmp service0
      -ls -al /web/service0/database-backup
    • Oracle - INCOMPLETE.�

    Set up Automated Backup - OPTIONAL

    Backup can encompass all files in /web/service0. For a development server, putting the files in cvs is sufficient. (It's important then to back up the cvs repository!)

    A quick way to automate database backup is a cron job. This is not recommended for production and is not part of the Reference Platform, because it is not cross-platform and can fail silently. More thorough methods are documented in the section called “Backup Strategy”

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

    Add this line to the file. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day.

    0 1 * * * /usr/local/pgsql/bin/pg_dump -f /web/service0/database-backup/service0_$(date +%Y-%m-%d).dmp service0

    If you plan to back up the whole /web/service0 directory, then it would be redundant to keep a history of database backups. In that case, set up the cron job to overwrite the previous backup each time:

    0 1 * * * /usr/local/pgsql/bin/pg_dump -f /web/service0/database-backup/service0_nightly.dmp service0

    Set up Log Analysis Reports - OPTIONAL

    Analog is a program with processes webserver access logs, +ls -al /web/service0/database-backup

  • Oracle - INCOMPLETE.�

  • Set up Automated Backup - OPTIONAL

    Backup can encompass all files in /web/service0. For a development server, putting the files in cvs is sufficient. (It's important then to back up the cvs repository!)

    A quick way to automate database backup is a cron job. This is not recommended for production and is not part of the Reference Platform, because it is not cross-platform and can fail silently. More thorough methods are documented in the section called “Backup Strategy”

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

    Add this line to the file. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day.

    0 1 * * * /usr/local/pgsql/bin/pg_dump -f /web/service0/database-backup/service0_$(date +%Y-%m-%d).dmp service0

    If you plan to back up the whole /web/service0 directory, then it would be redundant to keep a history of database backups. In that case, set up the cron job to overwrite the previous backup each time:

    0 1 * * * /usr/local/pgsql/bin/pg_dump -f /web/service0/database-backup/service0_nightly.dmp service0

    Set up Log Analysis Reports - OPTIONAL

    Analog is a program with processes webserver access logs, performs DNS lookup, and outputs HTML reports. Analog should already be installed. A modified configuration file is included in @@ -556,4 +556,4 @@ [root@yourserver root]# emacs /etc/cron.daily/analog

    Put this into the file:

    #!/bin/sh
     
    -/usr/share/analog-5.31/analog -G -g/web/service0/etc/analog.cfg
    [root@yourserver root]# chmod 755 /etc/cron.daily/analog

    Test it by running the script.

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

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

    Next Steps

    • Test your backup and recovery procedure.

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

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

    ($Id$)
    View comments on this page at openacs.org
    +/usr/share/analog-5.31/analog -G -g/web/service0/etc/analog.cfg
    [root@yourserver root]# chmod 755 /etc/cron.daily/analog

    Test it by running the script.

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

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

    Next Steps

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/oracle.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.html,v diff -u -r1.8.2.7 -r1.8.2.8 --- openacs-4/packages/acs-core-docs/www/oracle.html 15 Apr 2003 17:03:02 -0000 1.8.2.7 +++ openacs-4/packages/acs-core-docs/www/oracle.html 19 Apr 2003 20:39:32 -0000 1.8.2.8 @@ -1,5 +1,5 @@ -Install Oracle 8.1.7

    Install Oracle 8.1.7

    +Install Oracle 8.1.7

    Install Oracle 8.1.7

    by Vinod Kurup
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -1274,4 +1274,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/packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/packages.html,v diff -u -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/packages.html 15 Apr 2003 17:03:02 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/packages.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -OpenACS 4.6.2 Packages

    OpenACS 4.6.2 Packages

    +OpenACS 4.6.2 Packages

    OpenACS 4.6.2 Packages

    By Pete Su and Bryan Quinn
    OpenACS docs are written by the named authors, but may be edited @@ -493,4 +493,4 @@

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

  • View comments on this page at openacs.org
    +

    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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/parties.html 15 Apr 2003 17:03:02 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/parties.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Parties in OpenACS 4.6.2

    Parties in OpenACS 4.6.2

    +Parties in OpenACS 4.6.2

    Parties in OpenACS 4.6.2

    by Rafael H. Schloming
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -313,4 +313,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 -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/permissions-design.html 15 Apr 2003 17:03:03 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/permissions-design.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Permissions Design

    OpenACS 4 Permissions Design

    +OpenACS 4 Permissions Design

    OpenACS 4 Permissions Design

    by John Prevost and Rafael H. Schloming
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -184,4 +184,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 -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/permissions-requirements.html 15 Apr 2003 17:03:03 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/permissions-requirements.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Permissions Requirements

    OpenACS 4 Permissions Requirements

    +OpenACS 4 Permissions Requirements

    OpenACS 4 Permissions Requirements

    by John McClary Prevost
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -89,4 +89,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 -r1.1.2.6 -r1.1.2.7 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 15 Apr 2003 17:03:03 -0000 1.1.2.6 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 19 Apr 2003 20:39:33 -0000 1.1.2.7 @@ -1,5 +1,5 @@ -OpenACS 4.x Permissions Tediously Explained

    OpenACS 4.x Permissions Tediously Explained

    +OpenACS 4.x Permissions Tediously Explained

    OpenACS 4.x Permissions Tediously Explained

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

    Overview

    The general permissions system has a relatively complex data model in OpenACS 4.x. @@ -86,7 +86,7 @@ to store permission information explicitly about every object, i.e. if the system has 100,000 and 1,000 users who have the read privilege on all objects, then we would need to store 100,000,000 entries of the form: -

    Table�9.1.�

    object_idgrantee_idprivilege
    object_id_1user_id_1'read'
    object_id_1user_id_2'read'
    ...
    object_id_1user_id_n'read'
    object_id_2user_id_1'read'
    object_id_2user_id_2'read'
    ...
    object_id_2user_id_n'read'
    ...
    ...
    object_id_muser_id_1'read'
    object_id_muser_id_2'read'
    ...
    object_id_muser_id_n'read'

    +

    Table�9.1.�

    object_idgrantee_idprivilege
    object_id_1user_id_1'read'
    object_id_1user_id_2'read'
    ...
    object_id_1user_id_n'read'
    object_id_2user_id_1'read'
    object_id_2user_id_2'read'
    ...
    object_id_2user_id_n'read'
    ...
    ...
    object_id_muser_id_1'read'
    object_id_muser_id_2'read'
    ...
    object_id_muser_id_n'read'

    Although quite feasible, this approach fails to take advantage of the fact that objects in the system are commonly organized hierarchally, and permissions usually follow the hierarchical structure, so that if user @@ -101,7 +101,7 @@

    Context Hierarchy

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

    Table�9.2.�

    A

    +

    Table�9.2.�

    A

    object_id=10

    B

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

    Table�9.3.�

    object_idcontext_id
    2010
    3010
    4020
    5020
    6030

    +

    Table�9.3.�

    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, we can compute that object 40 is the second-generation descendant of object 10. With this in mind, if we want to record the fact that user Joe has the read privilege on objects A, ..., F, we only need to record one entry in the acs_permissions table. -

    Table�9.4.�

    objectgranteeprivilege
    AJoeread

    +

    Table�9.4.�

    objectgranteeprivilege
    AJoeread

    The fact that Joe can also read B, C, ..., and F can be derived by ascertaining that these objects are children of A by traversing the context hierarchy. As it turns out, hierarchical queries are expensive. As Rafael Schloming put it so aptly, Oracle can't deal with hierarchies for shit.

    One way to solve this problem is to cache a flattened view of the context tree like so: -

    Table�9.5.�

    objectancestorn_generations
    AA0
    BB0
    BA1
    CC0
    CA1
    DD0
    DB1
    DA2
    EE0
    EB1
    EA2
    FF0
    FC1
    FA2

    +

    Table�9.5.�

    objectancestorn_generations
    AA0
    BB0
    BA1
    CC0
    CA1
    DD0
    DB1
    DA2
    EE0
    EB1
    EA2
    FF0
    FC1
    FA2

    Note that the number of entries in the flattened view grows exponentially with respect to the depth of the context tree. For instance, if you have a fully populated binary tree with a depth of n, then the number of entries @@ -204,7 +204,7 @@ an object's security_inherit_p column to 'f', you can stop permissions from cascading down the context tree. In the following example, Joe does not have the read permissions on C and F. -

    Table�9.6.�


    +

    Table�9.6.�


    A
    object_id=10
    readable�by�Joe
    @@ -232,7 +232,7 @@ Privileges are also organized hierarchically. In addition to the five main system privileges defined in the ACS Kernel data model, application developers may define their own. For instance, the Bboard package defines the following privileges: -

    Table�9.7.�

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

    +

    Table�9.7.�

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

    By defining parent-child relationship between privileges, the OpenACS data model makes it easier for developers to manage permissions. Instead of granting a user explicit read, write, delete, @@ -241,7 +241,7 @@ privilege to which the first four privileges are tied. To give a more detailed example, the Bboard privileges are structured as follows. -

    Table�9.8.�

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

    +

    Table�9.8.�

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

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

    @@ -287,7 +287,7 @@
         

    Party Hierarchy

    Now for the third hierarchy playing a promiment role in the permission system. The party data model is set up as follows. -

    +    

       create table parties (
           party_id
               not null
    @@ -371,7 +371,7 @@
         

    The acs_rels table entries would look like so: -

    Table�9.10.�

    rel_typeobject_oneobject_two
    +

    Table�9.10.�

    rel_typeobject_oneobject_two
    membership_rel Pranksters @@ -406,7 +406,7 @@

    The relevant entries in the acs_rels look like so. -

    Table�9.11.�

    rel_typeobject_oneobject_two
    +

    Table�9.11.�

    rel_typeobject_oneobject_two
    composition_rel Pranksters @@ -617,7 +617,7 @@

    Note that in the above example, acs_permissions had only one entry that needed to be deleted: -

    Table�9.12.�

    object_idgrantee_idprivilege
    +

    Table�9.12.�

    object_idgrantee_idprivilege
    default_context registered_users @@ -690,4 +690,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/permissions.html 15 Apr 2003 17:03:03 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/permissions.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Groups, Context, Permissions

    Groups, Context, Permissions

    By Pete Su


    +Groups, Context, Permissions

    Groups, Context, Permissions

    By Pete Su


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

    Overview

    @@ -355,4 +355,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 -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/postgres.html 15 Apr 2003 17:03:03 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/postgres.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -Install PostgreSQL 7.2.3

    Install PostgreSQL 7.2.3

    +Install PostgreSQL 7.2.3

    Install PostgreSQL 7.2.3

    by Vinod Kurup
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -42,7 +42,7 @@ Change to the postgres user and run ./configure to set the compilation options automatically. This is the point at which you can configure PostgreSQL in various ways. For example, if you want to enable - Unicode support, add the flags --enable-locale and --enable-multibyte. If you want to see what the other possibilities are, run ./configure --help. + Unicode support, add the flags --enable-locale and --enable-multibyte. If you want to see what the other possibilities are, run ./configure --help.

    [root@yourserver src]# su - postgres
     [postgres@yourserver pgsql]$ cd /usr/local/src/postgresql-7.2.3
     [postgres@yourserver postgresql-7.2.3]$ ./configure
    @@ -138,11 +138,11 @@
             changes runlevels, postgresql goes to the appropriate
             state. Red Hat and Debian and SuSE each work a little
             differently so three sets of instructions are provided.
    -	

    • Red Hat:

      [root@yourserver src]# cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
      +	

      • Red Hat:

        [root@yourserver src]# cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
         [root@yourserver src]# chown root.root /etc/rc.d/init.d/postgresql
         [root@yourserver src]# chmod 700 /etc/rc.d/init.d/postgresql
         [root@yourserver src]# 
        -
        cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
        +
        cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
         chown root.root /etc/rc.d/init.d/postgresql
         chmod 700 /etc/rc.d/init.d/postgresql

        Test the script.

        [root@yourserver root]# service postgresql stop
         Stopping PostgreSQL: ok
        @@ -159,11 +159,11 @@
         [root@yourserver root]#
         
        chkconfig --add postgresql
         chkconfig --list postgresql
        -service postgresql start
      • Debian:

        root:~# cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
        +service postgresql start
    • Debian:

      root:~# cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
       root:~# chown root.root /etc/init.d/postgresql
       root:~# chmod 700 /etc/init.d/postgresql
       root:~# 
      -cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
      +cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql
       chown root.root /etc/init.d/postgresql
       chmod 700 /etc/init.d/postgresql

      Test the script

      root:~# /etc/init.d/postgresql stop
       Stopping PostgreSQL: ok
      @@ -191,7 +191,7 @@
                   rc.d/ part in each of the
                   following commands.
       
      -          

    root:~# cp /tmp/openacs-4-6/packages/acs-core-docs/www/files/postgresql.txt /etc/rc.d/init.d/postgresql
    +          

    root:~# cp /tmp/openacs-4.6.2/packages/acs-core-docs/www/files/postgresql.txt /etc/rc.d/init.d/postgresql
     root:~# chown root.root /etc/rc.d/init.d/postgresql
     root:~# chmod 700 /etc/rc.d/init.d/postgresql

    @@ -252,4 +252,4 @@ PostgreSQL Performance Tuning -

    ($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/programming-with-aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html,v diff -u -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html 15 Apr 2003 17:03:03 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Programming with AOLserver

    Programming with AOLserver

    +Programming with AOLserver

    Programming with AOLserver

    by Michael Yoon, Jon Salz and Lars Pind.
    OpenACS docs are written by the named authors, but may be edited @@ -212,4 +212,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-mode.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-mode.html,v diff -u -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/psgml-mode.html 15 Apr 2003 17:03:03 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/psgml-mode.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Using PSGML mode in Emacs

    Using PSGML mode in Emacs

    +Using PSGML mode in Emacs

    Using PSGML mode in Emacs

    By David Lutterkort
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -84,4 +84,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 -r1.9.2.6 -r1.9.2.7 --- openacs-4/packages/acs-core-docs/www/release-notes.html 15 Apr 2003 17:03:03 -0000 1.9.2.6 +++ openacs-4/packages/acs-core-docs/www/release-notes.html 19 Apr 2003 20:39:33 -0000 1.9.2.7 @@ -1,5 +1,5 @@ -OpenACS 4.6.2 Release Notes

    OpenACS 4.6.2 Release Notes

    +OpenACS 4.6.2 Release Notes

    OpenACS 4.6.2 Release Notes

    by Don Baccus
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -64,4 +64,4 @@ Teeuwisse and made use of the OpenACS Bug Tracker and OpenACS test servers hosted by Collaboraid. -

    ($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/request-processor.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/request-processor.html,v diff -u -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/request-processor.html 15 Apr 2003 17:03:03 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/request-processor.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -The Request Processor

    The Request Processor

    +The Request Processor

    The Request Processor

    By Pete Su
    OpenACS docs are written by the named authors, but may be edited @@ -38,7 +38,7 @@ diagram summarizes the stages of the request processor assuming a URL request like http://someserver.com/notes/somepage.adp. -

    +

    Stage 1: Search Site Map

    The first thing the RP does is to map the given URL to the appropriate @@ -153,4 +153,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/requirements-template.html 15 Apr 2003 17:03:03 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/requirements-template.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -System/Application Requirements Template

    System/Application Requirements Template

    By You


    +System/Application Requirements Template

    System/Application Requirements Template

    By You


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

    Introduction

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

    Revision History

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

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
    0.2Edited8/22/2000Kai Wu
    0.1Created8/21/2000Josh Finkler, Audrey McLoghlin
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/rp-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-design.html,v diff -u -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/rp-design.html 15 Apr 2003 17:03:03 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/rp-design.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Request Processor Design

    OpenACS 4 Request Processor Design

    +OpenACS 4 Request Processor Design

    OpenACS 4 Request Processor Design

    by Rafael H. Schloming
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -98,4 +98,4 @@ sec_id_seq

    [ad_conn user_id]User_id of a person if the person is logged in. Otherwise, it is 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
    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 -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/rp-requirements.html 15 Apr 2003 17:03:03 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/rp-requirements.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Request Processor Requirements

    OpenACS 4 Request Processor Requirements

    +OpenACS 4 Request Processor Requirements

    OpenACS 4 Request Processor Requirements

    by Rafael H. Schloming
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -24,4 +24,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 -r1.7.2.5 -r1.7.2.6 --- openacs-4/packages/acs-core-docs/www/security-design.html 15 Apr 2003 17:03:03 -0000 1.7.2.5 +++ openacs-4/packages/acs-core-docs/www/security-design.html 19 Apr 2003 20:39:33 -0000 1.7.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Security Design

    OpenACS 4 Security Design

    +OpenACS 4 Security Design

    OpenACS 4 Security Design

    by Richard Li, Archit Shah
    OpenACS docs are written by the named authors, but may be edited @@ -350,4 +350,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/security-notes.html 15 Apr 2003 17:03:03 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/security-notes.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Security Notes

    OpenACS 4 Security Notes

    +OpenACS 4 Security Notes

    OpenACS 4 Security Notes

    by Richard Li
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -56,4 +56,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 -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/security-requirements.html 15 Apr 2003 17:03:03 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/security-requirements.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Security Requirements

    OpenACS 4 Security Requirements

    +OpenACS 4 Security Requirements

    OpenACS 4 Security Requirements

    by Richard Li
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -45,4 +45,4 @@ AOLserver for each step of the login process (e.g., by a load balancer).

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

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

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

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/software-versions.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/software-versions.html,v diff -u -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/software-versions.html 15 Apr 2003 17:03:03 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/software-versions.html 19 Apr 2003 20:39:33 -0000 1.1.2.5 @@ -1,5 +1,5 @@ -Chapter�2.�Prerequisite Software

    Chapter�2.�Prerequisite Software

    Table of Contents

    Individual Programs

    +Chapter�2.�Prerequisite Software

    Chapter�2.�Prerequisite Software

    Table of Contents

    Individual Programs

    by Joel Aufrecht
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -9,4 +9,4 @@ in turn require and operating system. Many additional programs, such as a Mail Transport Agent and source control system, are also needed for a fully effective instance. -

    ($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/subsites-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites-design.html,v diff -u -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/subsites-design.html 15 Apr 2003 17:03:03 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/subsites-design.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Subsites Design Document

    OpenACS 4 Subsites Design Document

    +OpenACS 4 Subsites Design Document

    OpenACS 4 Subsites Design Document

    by Rafael H. Schloming
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -210,4 +210,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.

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

    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 -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/subsites-requirements.html 15 Apr 2003 17:03:03 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/subsites-requirements.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 @@ -1,5 +1,5 @@ -OpenACS 4 Subsites Requirements

    OpenACS 4 Subsites Requirements

    +OpenACS 4 Subsites Requirements

    OpenACS 4 Subsites Requirements

    by Rafael H. Schloming and Dennis Gregorovic
    OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -55,4 +55,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/subsites.html 15 Apr 2003 17:03:03 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/subsites.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Writing OpenACS 4.6.2 Application Pages

    Writing OpenACS 4.6.2 Application Pages

    +Writing OpenACS 4.6.2 Application Pages

    Writing OpenACS 4.6.2 Application Pages

    By Rafael H. Schloming and Pete Su


    @@ -277,4 +277,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/tcl-doc.html 15 Apr 2003 17:03:03 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/tcl-doc.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Documenting Tcl Files: Page Contracts and Libraries

    Documenting Tcl Files: Page Contracts and Libraries

    +Documenting Tcl Files: Page Contracts and Libraries

    Documenting Tcl Files: Page Contracts and Libraries

    by Jon Salz on 3 July 2000
    OpenACS docs are written by the named authors, but may be edited @@ -169,4 +169,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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/templates.html 15 Apr 2003 17:03:03 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/templates.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 @@ -1,5 +1,5 @@ -Using Templates in OpenACS 4.6.2

    Using Templates in OpenACS 4.6.2

    By Pete Su


    +Using Templates in OpenACS 4.6.2

    Using Templates in OpenACS 4.6.2

    By Pete Su


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

    Overview

    @@ -168,4 +168,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. -

    ($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/tutorial-advanced.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-advanced.html,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 15 Apr 2003 17:03:03 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 19 Apr 2003 20:39:33 -0000 1.1.2.4 @@ -1,17 +1,17 @@ -Advanced Topics

    Advanced Topics

    Important

    This section is a work in progress.

    +Advanced Topics

    Advanced Topics

    Important

    This section is a work in progress.

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

    Overview

    This tutorial covers topics which are not essential to +

    Overview

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

    • How to enforce security so that users can't change other users records

    • How to use the content management tables so that ... what?

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

    • How to make your package searchable with OpenFTS/Oracle

    • How to make your package send email notifications

    • How to prepare pagelets for inclusion in other pages

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

    • How to add general_comments to your pages

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

    • How and when to implement caching

    • partialquery in xql

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

    • APM package dependencies

    Delete with confirmation

    We need a way to delete records. We'll create a + "does this look right" confirm page

  • APM package dependencies

  • Delete with confirmation

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

    Add this column to the table_def in index.tcl

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

    Create the delete confirmation/execution page.

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

    The ADP is very simple. The formtemplate tag outputs the HTML -form generated by the ad_form command with the matching name. Test it by adding the new files in the APM and then deleting a few samplenotes.

    General_comments

    You can track comments for any ACS Object. Here we'll track +form generated by the ad_form command with the matching name. Test it by adding the new files in the APM and then deleting a few samplenotes.

    General_comments

    You can track comments for any ACS Object. Here we'll track comments for notes. On the notes.tcl/adp pair, which is used to display individual notes, we want to put a link to add comments at the bottom of the screen. If there are any comments, we want to @@ -92,13 +92,13 @@ there are comments. Then you pass the note id, which is also the acs_object id.

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

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

    Prepare the package for distribution.

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

    Prepare the package for distribution.

    Browse to the package manager. Click on tutorialapp.

    Click on Generate a distribution file for this package from the filesystem.

    Click on the file size (37.1KB) after the label Distribution File: and save the file to - /tmp.

    -

    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-database.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-database.html,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-database.html 15 Apr 2003 17:03:03 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-database.html 19 Apr 2003 20:39:33 -0000 1.1.2.4 @@ -1,9 +1,9 @@ -Setting Up Database Objects

    Setting Up Database Objects

    +Setting Up Database Objects

    Setting Up Database Objects

    by Joel Aufrecht
    OpenACS docs are written by the named authors, but 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 samplenote/sql/ directory. All database scripts are database-specific and are thus in either the samplenote/sql/oracle or @@ -40,7 +40,7 @@ @author which will be picked up by the API browser. The string $Id$ will automatically be - expanded when the file is checked in to cvs.

    [service0@yourserver postgresql]$ emacs samplenote-create.sql

    Paste this into the file and save and close.

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

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

    [service0@yourserver postgresql]$ emacs samplenote-create.sql

    Paste this into the file and save and close.

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

    --
     -- packages/samplenote/sql/postgresql/samplenote-create.sql
     --
     -- @author rhs@mit.edu
    @@ -50,7 +50,7 @@
     --
     
     \i samplenote-table-create.sql
    -\i samplenote-functions-create.sql

    Create the file to create the database table.

    [service0@yourserver postgresql]$ emacs samplenote-table-create.sql

    Paste this into the file and save and close.

    Figure�8.2.�Database Creation Script - table

    --
    +\i samplenote-functions-create.sql

    Create the file to create the database table.

    [service0@yourserver postgresql]$ emacs samplenote-table-create.sql

    Paste this into the file and save and close.

    Figure�8.3.�Database Creation Script - table

    --
     -- packages/samplenote/sql/postgresql/samplenote-table-create.sql
     --
     -- @author rhs@mit.edu
    @@ -101,7 +101,7 @@
     end;' language 'plpgsql';
     select inline_0 ();
     drop function inline_0 ();
    -

    Create the file to create the functions used to manipulate records.

    [service0@yourserver postgresql]$ emacs samplenote-functions-create.sql

    Paste this into the file and save and close.

    Figure�8.3.�Database Creation Script - functions

    --
    +

    Create the file to create the functions used to manipulate records.

    [service0@yourserver postgresql]$ emacs samplenote-functions-create.sql

    Paste this into the file and save and close.

    Figure�8.4.�Database Creation Script - functions

    --
     -- packages/samplenote/sql/postgresql/samplenote-functions-create.sql
     --
     -- @author rhs@mit.edu
    @@ -123,7 +123,7 @@
     "package-aware." 
     define_function_args prepares the function to be used by a tcl wrapper function. */
     
    -select define_function_args(samplenote__new,'note_id,title,creation_date,creation_user,creation_ip,context_id'); 
    +select define_function_args('samplenote__new','note_id,title,creation_date,creation_user,creation_ip,context_id'); 
     
     create or replace function samplenote__new (integer,varchar,varchar,timestamptz,integer,varchar,integer)
     returns integer as '
    @@ -196,7 +196,7 @@
     end;
     ' language 'plpgsql';
     

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

    [service0@yourserver postgresql]$ emacs samplenote-drop.sql

    Figure�8.4.�Database deletion script

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

    [service0@yourserver postgresql]$ emacs samplenote-drop.sql

    Figure�8.5.�Database deletion script

    -- packages/samplenote/sql/samplenote-drop.sql
     -- drop script
     --
     -- @author rhs@mit.edu
    @@ -310,4 +310,4 @@
                               0
     (1 row)
     
    -[service0@yourserver postgresql]$

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

    View comments on this page at openacs.org
    +[service0@yourserver postgresql]$

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

    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 -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-debug.html 15 Apr 2003 17:03:03 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-debug.html 19 Apr 2003 20:39:33 -0000 1.1.2.4 @@ -1,9 +1,9 @@ -Debugging and Automated Testing

    Debugging and Automated Testing

    Important

    This section is a work in progress.

    +Debugging and Automated Testing

    Debugging and Automated Testing

    Important

    This section is a work in progress.

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

    Debugging

    PostgreSQL.�You can work directly with the database to do debugging +

    Debugging

    PostgreSQL.�You can work directly with the database to do debugging steps like looking directly at tables and testing stored procedures. Start emacs. Type M-x sql-postgres. Press enter for @@ -19,10 +19,10 @@ ?�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.

    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

    (Forthcoming.)

    View comments on this page at openacs.org
    + Search for a note.

    Write automated tests

    (Forthcoming.)

    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 -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 7 Apr 2003 16:59:26 -0000 1.1.2.2 +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 19 Apr 2003 20:39:33 -0000 1.1.2.3 @@ -1,21 +1,21 @@ -Creating a Package

    Creating a Package

    +Creating a Package

    Creating a Package

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

    Overview

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

    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 can be installed, upgraded, and removed. It communicates with other packages through an API. This chapter walks you through the minimum steps to create a useful package, including writing documentation, setting up database tables and procedures, writing web pages, debugging, and automatic regression testing. -

    Before you begin

    You will need:

    • A computer with a working installation of OpenACS +

    Before you begin

    You will need:

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

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

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

    Use the APM to initialize a new package

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

    Figure�8.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 keysamplenote

    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 @@ -43,7 +43,7 @@

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

    Mount the package in the site map

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

    Mount the package in the site map

    In order to see your work in progress, you must create a map between the URL space of incoming requests and the package. You do this by mounting the package in the Site Map. This creates a link between the incoming URL and an @@ -65,7 +65,7 @@ click New.

    By mounting the package, we've caused all requests to http://yourserver.test:8000/note - to be satisfied from the files at /web/service0/packages/samplenote/www.

    Write the Requirements and Design Specs

    It's time to document. For the tutorial we'll use + to be satisfied from the files at /web/service0/packages/samplenote/www.

    Write the Requirements and Design Specs

    It's time to document. For the tutorial we'll use pre-written documentation. When creating a package from scratch, start by copying the documentation template from /web/openacs-dev/packages/acs-core-docs/xml/docs/xml/package-documentation-template.xml @@ -115,7 +115,7 @@ Writing bi01.html for bibliography Writing index.html for book [service0@yourserver xml]$

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

    Add the new package to CVS

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

    Add the new package to CVS

    Before you do any more work, make sure that your work is protected by putting it all into cvs. The cvs add command is not recursive, so you'll have to traverse the directory tree manually and add as you go. (More on @@ -175,4 +175,4 @@ initial revision: 1.1 done (many lines omitted) -[service0@yourserver samplenote]$

    View comments on this page at openacs.org
    +[service0@yourserver samplenote]$
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.html,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 15 Apr 2003 17:03:03 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 19 Apr 2003 20:39:33 -0000 1.1.2.4 @@ -1,9 +1,9 @@ -Creating Web Pages

    Creating Web Pages

    +Creating Web Pages

    Creating Web Pages

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

    Build the "Index" page

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

    Build the "Index" page

    Each user-visible page in your package has, typically, three parts. The xql file contains any database queries, the tcl file holds the procedural logic for the page and does things like check permissions, invoke the database queries, and modify @@ -69,7 +69,7 @@ </queryset>

    Create the user-visible page.

    [service0@yourserver www]$ emacs index.adp

    The first line indicates that this page should be rendered within the the master template, which defaults to /web/service0/www/default-master. The second line passes a title variable to the master template. The third line inserts the contents of the variable table_html. The last line is a link to a page we haven't created yet.

    <master>
     <property name="title">Sample Notes</property>
     @table_html@
    -<p><a href="note-edit">Add a note</a></p>

    Add files to APM

    Before we can test these files, we have to notify the +<p><a href="note-edit">Add a note</a></p>

    Add files to APM

    Before we can test these files, we have to notify the package manager that they exist. (More precisely, the tcl and adp will work fine as-is, but the xql file will not be recognized until we tell the APM about it.).

    • Go to http://yourserver.test:8000/acs-admin/apm

    • Click on the samplenote link

    • Click Manage file information

    • Click Scan the packages/samplenote directory for additional files in thispackage

    • Click add checked files

    • On the list of files, on the @@ -79,7 +79,7 @@ loaded when they're added.) Watching an xql file causes the APM to load the contents of the XQL into memory so that it can be used, and to reload it whenever the file is changed. The - watch will last until the server is restarted.

    Now that the pages are in the APM, check to make sure that the self-documenting code is working.

    • Browse to http://yourserver.test:8000/api-doc/

    • Click Notes 0.1d

    • Click Content Pages

    • Click index.tcl and examine the results.

    Test the index page

    Go to http://yourserver.test:8000/note/. You should see this:

    +        watch will last until the server is restarted.

    Now that the pages are in the APM, check to make sure that the self-documenting code is working.

    • Browse to http://yourserver.test:8000/api-doc/

    • Click Notes 0.1d

    • Click Content Pages

    • Click index.tcl and examine the results.

    Test the index page

    Go to http://yourserver.test:8000/note/. You should see this:

     Sample Notes
     Your Workspace : Main Site : Sample Note 
     
    @@ -88,7 +88,7 @@
     Add a note.
     
     foo@yourserver.test
    -

    Since our table is empty, it's a pretty boring page. So next we'll make it possible to add records.

    If you get any other output, such as an error message, skip to the section called “Debugging and Automated Testing”.

    Add the add/edit page

    We'll create a single page to handle both adding and +

    Since our table is empty, it's a pretty boring page. So next we'll make it possible to add records.

    If you get any other output, such as an error message, skip to the section called “Debugging and Automated Testing”.

    Add the add/edit page

    We'll create a single page to handle both adding and editing records. In this recursive approach, the same tcl function can present a blank HTML form, present the same form pre-loaded with an existing record, and handle the resulting @@ -115,7 +115,7 @@ {label "Body"} } } -select_query_name note_query -new_data { -samplenote::new db_1row do_insert { *SQL* } +db_1row do_insert { *SQL* } } -edit_data { db_dml do_update { *SQL* } } -after_submit { @@ -167,7 +167,7 @@ title, for both variables but wrap it in curly brackets for context so that the spaces aren't interpreted separators. The formtemplate tag outputs the form - html with the matching name.

    Go to the APM as before and scan for new files and add your new work. Then test all this by going to the package home page and adding and editing a few records.

    Adding files to cvs

    Put your new work into source control.

    [service0@yourserver www]$ cvs add *.adp *.tcl *.xql
    +      html with the matching name.

    Go to the APM as before and reload. Then test all this by going to the package home page and adding and editing a few records.

    Adding files to cvs

    Put your new work into source control.

    [service0@yourserver www]$ cvs add *.adp *.tcl *.xql
     cvs add: cannot add special file `CVS'; skipping
     cvs add: doc/CVS already exists
     cvs add: scheduling file `index.adp' for addition
    @@ -182,4 +182,4 @@
     (many lines omitted)
     initial revision: 1.1
     done
    -[service0@yourserver www]$
    View comments on this page at openacs.org
    +[service0@yourserver www]$
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial.html,v diff -u -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/acs-core-docs/www/tutorial.html 15 Apr 2003 17:03:03 -0000 1.1.2.2 +++ openacs-4/packages/acs-core-docs/www/tutorial.html 19 Apr 2003 20:39:33 -0000 1.1.2.3 @@ -1,2 +1,2 @@ -Chapter�8.�Development Tutorial
    View comments on this page at openacs.org
    +Chapter�8.�Development Tutorial
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/unix-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/unix-install.html,v diff -u -r1.6.2.4 -r1.6.2.5 --- openacs-4/packages/acs-core-docs/www/unix-install.html 15 Apr 2003 17:03:03 -0000 1.6.2.4 +++ openacs-4/packages/acs-core-docs/www/unix-install.html 19 Apr 2003 20:39:33 -0000 1.6.2.5 @@ -1,2 +1,2 @@ -Chapter�3.�Installing on Unix/Linux
    View comments on this page at openacs.org
    +Chapter�3.�Installing on Unix/Linux
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html,v diff -u -r1.4.2.1 -r1.4.2.2 --- openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html 15 Apr 2003 17:03:03 -0000 1.4.2.1 +++ openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html 19 Apr 2003 20:39:33 -0000 1.4.2.2 @@ -1,13 +1,13 @@ -Upgrading OpenACS 4.5 to 4.6

    Upgrading OpenACS 4.5 to 4.6

    Checklist

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

    Upgrading OpenACS 4.5 to 4.6

    Checklist

    The required platform for OpenACS 4.6 is the same as 4.5, with the excepion of OpenFTS. You now need OpenFTS 0.3.2, not 0.2. - OpenACS 4.6 does not support PostGreSQL 7.3.

    Overview

    OpenACS consists of files and a database schema. The files + OpenACS 4.6 does not support PostGreSQL 7.3.

    Overview

    OpenACS consists of files and a database schema. The files in the OpenACS 4.6 tarball include database upgrade scripts. To start the upgrade, replace your existing files with the new files and then restart the server. Then, browse to the APM, which will detect the new packages and offer to run the appropriate database upgrade scripts. After restarting the server again, the upgrade is - complete.

    Figure�6.1.�Assumptions in this section

    name of OpenACS usernsadmin
    OpenACS server nameopenacs-dev
    Root of OpenACS file tree/web/openacs-dev
    Database backup directory/backup/openacs/

    Upgrading on Linux/Unix

    1. Make a Backup.�Back up the database and file system.

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

        [root@localhost root]# su - nsadmin
        +    complete.

        Figure�6.1.�Assumptions in this section

        name of OpenACS usernsadmin
        OpenACS server nameopenacs-dev
        Root of OpenACS file tree/web/openacs-dev
        Database backup directory/backup/openacs/

      Upgrading on Linux/Unix

      1. Make a Backup.�Back up the database and file system.

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

          [root@localhost root]# su - nsadmin
           [nsadmin@localhost aolserver]$ pg_dump -f /backup/openacs/openacs_dev_before_upgrade_to_4.6.dmp openacs-dev
           [nsadmin@localhost aolserver]$ ls -al /backup/openacs/openacs_dev_before_upgrade_to_4.6.dmp 
           -rw-rw-r--    1 nsadmin  nsadmin   4005995 Feb 21 18:28 /backup/openacs/openacs_dev_before_upgrade_to_4.6.dmp
          Index: openacs-4/packages/acs-core-docs/www/upgrade-detail.html
          ===================================================================
          RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/upgrade-detail.html,v
          diff -u -r1.3.2.1 -r1.3.2.2
          --- openacs-4/packages/acs-core-docs/www/upgrade-detail.html	15 Apr 2003 17:03:03 -0000	1.3.2.1
          +++ openacs-4/packages/acs-core-docs/www/upgrade-detail.html	19 Apr 2003 20:39:34 -0000	1.3.2.2
          @@ -1,5 +1,5 @@
           
          -Support for upgrades.

          Support for upgrades.

          +Support for upgrades.

          Support for upgrades.

          by Joel Aufrecht
          OpenACS docs are written by the named authors, but may be edited by OpenACS documentation staff. @@ -8,4 +8,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.

          View comments on this page at openacs.org
          + OpenACS prior to 4.5, upgrading will require manual effort.

          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 -r1.3.2.1 -r1.3.2.2 --- openacs-4/packages/acs-core-docs/www/upgrade.html 15 Apr 2003 17:03:03 -0000 1.3.2.1 +++ openacs-4/packages/acs-core-docs/www/upgrade.html 19 Apr 2003 20:39:34 -0000 1.3.2.2 @@ -1,2 +1,2 @@ -Chapter�6.�Upgrading

          Chapter�6.�Upgrading

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

          Chapter�6.�Upgrading

          View comments on this page at openacs.org
          Index: openacs-4/packages/acs-core-docs/www/win-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/win-install.html,v diff -u -r1.8.2.4 -r1.8.2.5 --- openacs-4/packages/acs-core-docs/www/win-install.html 15 Apr 2003 17:03:03 -0000 1.8.2.4 +++ openacs-4/packages/acs-core-docs/www/win-install.html 19 Apr 2003 20:39:34 -0000 1.8.2.5 @@ -1,2 +1,2 @@ -Chapter�4.�Installing on Windows

          Chapter�4.�Installing on Windows

          View comments on this page at openacs.org
          +Chapter�4.�Installing on Windows

          Chapter�4.�Installing on Windows

          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 -r1.8.2.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/win2k-installation.html 15 Apr 2003 17:03:03 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/win2k-installation.html 19 Apr 2003 20:39:34 -0000 1.8.2.6 @@ -1,6 +1,6 @@ -OpenACS Installation Guide for Windows2000

          OpenACS Installation Guide for Windows2000

          Currently the best option to get OpenACS 4.6.2 running on Windows +OpenACS Installation Guide for Windows2000

          OpenACS Installation Guide for Windows2000

          Currently the best option to get OpenACS 4.6.2 running on Windows is to use VMware and John Sequeira's Oasis VM distribution -

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

          ($Id$)
          View comments on this page at openacs.org
          Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/files/samplenote/Makefile'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-core-docs/www/xml/Makefile =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/Makefile,v diff -u -r1.3.2.1 -r1.3.2.2 --- openacs-4/packages/acs-core-docs/www/xml/Makefile 7 Apr 2003 16:45:03 -0000 1.3.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/Makefile 19 Apr 2003 20:41:29 -0000 1.3.2.2 @@ -1,18 +1,22 @@ # A very simple Makefile to generate the HTML docs # @author Vinod Kurup (vinod@kurup.com) +# @creation-date 2002-08-10 +# # @author Modified by Roberto Mello (rmello@fslc.usu.edu) to have PDF generation +# @modified-date 2002-09-21 # plus refactored it a bit to have rules and dependencies. + # -# @creation-date 2002-08-10 +# @author Joel Aufrecht (joel@aufrecht.org) # @modified-date 2002-09-21 +# Removed the xml/files directory as redundant. # -# This simply copys all the 'files' and 'images' +# This copies the 'images' # to the appropriate directory in www so that they are accessible # # It then moves into the www directory and runs the XSLT generation # and runs htmldoc to generate PDFs. # -# I'm a Makefile newbie, so feel free to comment/slash/change. # Paths XSLTPROC=/usr/bin/xsltproc @@ -21,9 +25,6 @@ all: html prelim: - cp -u files/*.{txt,html} ../files/ - cp -u files/samplenote/*.* ../files/samplenote/ - cp -u files/samplenote/Makefile ../files/samplenote/ cp -u images/*.{pdf,png,gif,jpg} ../images/ cp -u openacs.css .. 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 -r1.4.2.3 -r1.4.2.4 --- openacs-4/packages/acs-core-docs/www/xml/openacs.xsl 15 Apr 2003 17:04:47 -0000 1.4.2.3 +++ openacs-4/packages/acs-core-docs/www/xml/openacs.xsl 19 Apr 2003 20:41:29 -0000 1.4.2.4 @@ -3,7 +3,7 @@ version="1.1" exclude-result-prefixes="doc"> - +