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.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 19 Apr 2003 20:39:31 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 29 Apr 2003 05:58:33 -0000 1.8.2.6 @@ -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
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
+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.3oacs1
Install OpenACS 4.6.3
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/aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver.html,v diff -u -r1.8.2.7 -r1.8.2.8 --- openacs-4/packages/acs-core-docs/www/aolserver.html 19 Apr 2003 20:39:31 -0000 1.8.2.7 +++ openacs-4/packages/acs-core-docs/www/aolserver.html 29 Apr 2003 05:58:33 -0000 1.8.2.8 @@ -1,11 +1,11 @@ -Install AOLserver 3.3+ad13

Install AOLserver 3.3+ad13

+Install AOLserver 3.3oacs1

Install AOLserver 3.3oacs1

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

This page assumes you have downloaded aolserver to to /tmp/aolserver3.3oacs1.tar.gz. If not, -get it. It also assumes you are following the 4.6.2-P or 4.6.2-O Reference Platform installation, using Red Hat 8.0. Places where other systems are different are noted.

  1. +get it. It also assumes you are following the 4.6.3-P or 4.6.3-O Reference Platform installation, using Red Hat 8.0. Places where other systems are different are noted.

    1. As root, untar aolserver3.3oacs1.tar.gz into /usr/local/src. @@ -67,9 +67,7 @@ ================================================================== Done Building Sat Mar 8 10:31:35 PST 2003 [root@yourserver aolserver]#

      - This takes about 5 minutes. All of the results are logged to - files in - /usr/local/src/aolserver/log. If you run into problems running AOLserver, check these files for build errors.

    2. Add a database-specific wrapper script. This script + This takes about 5 minutes. It builds aolserver, several modules, and the database driver. (Upgraders, note that the postgres database driver has changed from postgres.so to nspostgres.so). All of the results are logged to files in /usr/local/src/aolserver/log. If you run into problems running AOLserver, check these files for build errors.

    3. Add a database-specific wrapper script. This script sets database environment variables before starting AOLserver; this allows the AOLserver instance can communicate with the database. There is one script each for @@ -276,7 +274,8 @@ have the source tarball in /tmp. Unpack, compile, and install analog.

      [root@yourserver aolserver]# cd /usr/local/src
       [root@yourserver src]# tar xzf /tmp/analog-5.31.tar.gz
      -root@yourserver analog-5.31]# make
      +[root@yourserver src]# cd analog-5.31
      +[root@yourserver analog-5.31]# make
       cd src && make
       make[1]: Entering directory `/usr/local/src/analog-5.31/src'
       (many lines omitted)
      @@ -291,4 +290,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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/apm-design.html 19 Apr 2003 20:39:31 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/apm-design.html 29 Apr 2003 05:58:33 -0000 1.6.2.7 @@ -1,9 +1,9 @@ -OpenACS 4.6.2 Package Manager Design

OpenACS 4.6.2 Package Manager Design

+OpenACS 4.6.3 Package Manager Design

OpenACS 4.6.3 Package Manager Design

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

Essentials

Revision History

Document Revision #Action Taken, NotesWhen?By Whom?
0.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.3 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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 19 Apr 2003 20:39:31 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 29 Apr 2003 05:58:33 -0000 1.6.2.7 @@ -1,7 +1,7 @@ -OpenACS 4.6.2 Package Manager Requirements

OpenACS 4.6.2 Package Manager Requirements

+OpenACS 4.6.3 Package Manager Requirements

OpenACS 4.6.3 Package Manager Requirements

by Bryan Quinn and Todd Nightingale
- OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

Introduction

The following is a requirements document for the OpenACS Package Manager (APM), version 4.0 (APM4). APM4 offers a superset of APM v3.3 functionality @@ -155,7 +155,7 @@ adding new files, by scanning the file system for new files automatically, and allowing the developer to confirm adding them.

20.10 The developer cannot add files to a given package via the UI that do not exist in the file system already.

20.15 Package file structure must follow a specified -convention. Please see the design +convention. Please see the design document for what we do currently.

  • 30.0 Remove files from a package

    The developer must be able to remove files from a package. This can be done in two ways.

    • 30.1 Access the APM UI, browse the file list, and remove files.

      30.1.1If a file is removed from the package list, but not @@ -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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 19 Apr 2003 20:39:31 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 29 Apr 2003 05:58:33 -0000 1.1.2.6 @@ -2,7 +2,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Backup Strategy

    The purpose of backup is to enable recovery. Backup and @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 19 Apr 2003 20:39:31 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -1,7 +1,7 @@ Bootstrapping OpenACS

    Bootstrapping OpenACS

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

    This document describes the startup (bootstrapping) process for an AOLserver running OpenACS. @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/credits.html 19 Apr 2003 20:39:31 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/credits.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -1,7 +1,7 @@ -Credits

    Credits

    +Credits

    Credits

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

    Vinod Kurup put together the January 2002 version of this guide from many sources of @@ -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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/database-management.html 19 Apr 2003 20:39:31 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/database-management.html 29 Apr 2003 05:58:33 -0000 1.1.2.6 @@ -1,7 +1,7 @@ Database Management

    Database Management

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

    Deleting a tablespace

    Skip down for instructions on Deleting a PostgreSQL tablespace.

    Deleting an Oracle tablespace

    @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.html 19 Apr 2003 20:39:31 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -1,9 +1,9 @@ -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.
    - OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    • Tcl procedures: /packages/acs-kernel/10-database-procs.tcl

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

    The Big Picture

    One of OpenACS's great strengths is that code written for it is very close to @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/db-api.html 19 Apr 2003 20:39:31 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/db-api.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -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.6 -r1.7.2.7 --- openacs-4/packages/acs-core-docs/www/dev-guide.html 19 Apr 2003 20:39:32 -0000 1.7.2.6 +++ openacs-4/packages/acs-core-docs/www/dev-guide.html 29 Apr 2003 05:58:33 -0000 1.7.2.7 @@ -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.3 Packages
    OpenACS 4.6.3 Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS 4.6.3
    Groups, Context, Permissions
    Writing OpenACS 4.6.3 Application Pages
    Parties in OpenACS 4.6.3
    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.7 -r1.8.2.8 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 19 Apr 2003 20:39:32 -0000 1.8.2.7 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 29 Apr 2003 05:58:33 -0000 1.8.2.8 @@ -1,9 +1,9 @@ -OpenACS Documentation Guide

    OpenACS Documentation Guide

    +DocBook and Documentation

    DocBook and Documentation

    By claus@arsdigita.com, with additions by Roberto Mello and the OpenACS Community -

    Overview of OpenACS 4.6.2 Documentation

    +

    Overview of OpenACS 4.6.3 Documentation

    ArsDigita created a good documentation ground for us to build upon. Some sections of the documentation, however, lack details and examples; others are simply nonexistant. Our goal is to give @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -1,6 +1,6 @@ Constraint naming standard

    Constraint naming standard

    By mbryzek@arsdigita.com


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

    The Big Picture

    Constraint naming standard is important for one reason: The SYS_* name oracle @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -1,7 +1,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    To ensure consistency (and its collateral benefit, maintainability), @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -1,9 +1,9 @@ -PL/SQL Standards

    PL/SQL Standards

    +PL/SQL Standards

    PL/SQL Standards

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


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

    Like any other part of the OpenACS, PL/SQL (or pl/pgsql) code must be @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -1,6 +1,6 @@ Release Version Numbering

    Release Version Numbering

    By Ron Henderson


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

    OpenACS version numbers help identify at a high-level what is in a @@ -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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 29 Apr 2003 05:58:33 -0000 1.6.2.7 @@ -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

    DocBook and Documentation
    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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/filename.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/filename.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -115,7 +115,7 @@ within the OpenACS, this section's details are likely to shift from UI specifics to template interface specifics.

    Configuration/Parameters

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

    Future Improvements/Areas of Likely Change

    @@ -136,4 +136,4 @@

    Revision History

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

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

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
    0.2Edited8/22/2000Kai Wu
    0.1Creation8/21/2000Josh Finkler, Audrey McLoghlin
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/for-everyone.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/for-everyone.html,v diff -u -r1.7.2.5 -r1.7.2.6 --- openacs-4/packages/acs-core-docs/www/for-everyone.html 19 Apr 2003 20:39:32 -0000 1.7.2.5 +++ openacs-4/packages/acs-core-docs/www/for-everyone.html 29 Apr 2003 05:58:33 -0000 1.7.2.6 @@ -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.5 -r1.7.2.6 --- openacs-4/packages/acs-core-docs/www/general-documents.html 19 Apr 2003 20:39:32 -0000 1.7.2.5 +++ openacs-4/packages/acs-core-docs/www/general-documents.html 29 Apr 2003 05:58:33 -0000 1.7.2.6 @@ -1,2 +1,2 @@ -Chapter�1.�High level information: What is OpenACS?

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

    Table of Contents

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

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

    Table of Contents

    Overview
    OpenACS 4.6.3 Release Notes
    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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/groups-design.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 29 Apr 2003 05:58:33 -0000 1.6.2.7 @@ -1,7 +1,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Essentials

    Introduction

    Almost all database-backed websites have users, and need to model the @@ -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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/groups-requirements.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 29 Apr 2003 05:58:33 -0000 1.6.2.7 @@ -1,7 +1,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Introduction

    Almost all database-backed websites have users, and need to model the grouping of users. The OpenACS 4 Parties and Groups system is intended to provide @@ -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:

    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.7 -r1.6.2.8 --- openacs-4/packages/acs-core-docs/www/index.html 19 Apr 2003 20:39:32 -0000 1.6.2.7 +++ openacs-4/packages/acs-core-docs/www/index.html 29 Apr 2003 05:58:33 -0000 1.6.2.8 @@ -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
    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 Figures

    3.1. Assumptions in this section
    6.1. Assumptions in this section
    8.1. Assumptions in this section
    8.2. Database Creation Script - master create file
    8.3. Database Creation Script - table
    8.4. Database Creation Script - functions
    8.5. Database deletion script

    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.3 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.3oacs1
    Install OpenACS 4.6.3
    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 Package 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.3 Packages
    OpenACS 4.6.3 Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS 4.6.3
    Groups, Context, Permissions
    Writing OpenACS 4.6.3 Application Pages
    Parties in OpenACS 4.6.3
    OpenACS 4.x Permissions Tediously Explained
    Object Identity
    Programming with AOLserver
    10. Engineering Standards
    DocBook and Documentation
    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
    IV. For OpenACS Platform Developers
    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.3 Package Manager Requirements
    OpenACS 4.6.3 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 Figures

    3.1. Assumptions in this section
    6.1. Assumptions in this section
    8.1. Assumptions in this section
    8.2. Database Creation Script - master create file
    8.3. Database Creation Script - table
    8.4. Database Creation Script - functions
    8.5. Database deletion script

    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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/individual-programs.html 19 Apr 2003 20:39:32 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/individual-programs.html 29 Apr 2003 05:58:33 -0000 1.1.2.6 @@ -1,5 +1,5 @@ -Individual Programs

    Individual Programs

  • libxml2 and libxml2-devel, REQUIRED.� OpenACS 4.6.3 stores queries in XML files, so we use an AOLserver module called nsxml to parse these files. libxml2-devel is required to compile nsxml. Libxml2 is available from http://xmlsoft.org). On Debian, @@ -41,7 +41,7 @@ running Apache with mod_nsd - see this post.

    • AOLserver 3.3oacs1, REQUIRED.�Mat Kovach's source distribution of AOLserver, including all of the patches listed below.

      Mat Kovach is graciously maintaining an AOLserver distribution that - includes all the patches and modules needed to run OpenACS 4.6.2. These + includes all the patches and modules needed to run OpenACS 4.6.3. These instructions will describe how to install using his source distribution. He also has binaries for SuSE 7.3 and OpenBSD 2.8 (and perhaps more to come), currently located at uptime.openacs.org. @@ -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.6 -r1.7.2.7 --- openacs-4/packages/acs-core-docs/www/install-overview.html 19 Apr 2003 20:39:32 -0000 1.7.2.6 +++ openacs-4/packages/acs-core-docs/www/install-overview.html 29 Apr 2003 05:58:33 -0000 1.7.2.7 @@ -1,7 +1,7 @@ Overview

    Overview

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

    What is OpenACS?

    According to Philip Greenspun: @@ -17,21 +17,21 @@ et al decided to port ACS from Oracle to PostgreSQL, thus making it a fully open-source solution.

    - OpenACS 4.6.2 is the next generation of the web toolkit. It's based on + OpenACS 4.6.3 is the next generation of the web toolkit. It's based on ACS 4, but no longer follows ArsDigita development. Unlike both ACS (which required Oracle) and OpenACS 3.x (which required PostgreSQL), - OpenACS 4.6.2 allows you to use either database. It's also built in such + OpenACS 4.6.3 allows you to use either database. It's also built in such a way to allow enterprising hackers (in the good sense of the word) to extend it to other databases. Don Baccus leads the development and numerous developers (and non-developers) contribute from around the world.

    Purpose of this document

    This document will describe how to install, configure, and - maintain an installation of OpenACS 4.6.2 on a Unix-like + maintain an installation of OpenACS 4.6.3 on a Unix-like system, including all supporting software. All examples - in this chapter are part of the OpenACS 4.6.2-P or - OpenACS 4.6.2-O Reference Platform, which use Red + in this chapter are part of the OpenACS 4.6.3-P or + OpenACS 4.6.3-O Reference Platform, which use Red Hat 8.0. Differences between the Reference Platform and common alternate platforms are noted where known.

    Requirements

    @@ -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"} {
      @@ -137,15 +137,15 @@
             better way. Well, not quite. Jonathan Marsden has created RPMs (at
             http://www.xc.org)
             for OpenACS 4.5 but there are not yet any for version
      -      4.6.2. There has been talk about automating the install process,
      +      4.6.3. There has been talk about automating the install process,
             but that hasn't happened yet. Stay tuned!
       
           

    Where did this document come from?

    This document was created by Vinod Kurup, but it's really just plagiarism from a number of documents that came before it. If I've used something that you've written without proper credit, let me know and I'll fix it right away. -

    Version 4.6.2 was edited by Joel Aufrecht. +

    Version 4.6.3 was edited by Joel Aufrecht.

    These are a few of my 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/install-redhat.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.html,v diff -u -r1.1.2.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/install-redhat.html 19 Apr 2003 20:39:32 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/install-redhat.html 29 Apr 2003 05:58:33 -0000 1.1.2.6 @@ -1,7 +1,7 @@ -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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    This section takes a blank PC and sets up some supporting software. You should do this section as-is if you have a machine @@ -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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/kernel-doc.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/kernel-doc.html 29 Apr 2003 05:58:33 -0000 1.6.2.7 @@ -1,2 +1,2 @@ -Chapter�11.�Kernel Documentation

    Chapter�11.�Kernel Documentation

    Table of Contents

    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
    View comments on this page at openacs.org
    +Chapter�11.�Kernel Documentation

    Chapter�11.�Kernel Documentation

    Table of Contents

    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.3 Package Manager Requirements
    OpenACS 4.6.3 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
    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.6 -r1.3.2.7 --- openacs-4/packages/acs-core-docs/www/kernel-overview.html 19 Apr 2003 20:39:32 -0000 1.3.2.6 +++ openacs-4/packages/acs-core-docs/www/kernel-overview.html 29 Apr 2003 05:58:33 -0000 1.3.2.7 @@ -1,23 +1,23 @@ Overview

    Overview

    - Compared to its predecessors, version 4.6.2 of OpenACS has a much + Compared to its predecessors, version 4.6.3 of OpenACS has a much more structured organization, i.e. the most significant change is found at the system architecture level, reflected in the following hierarchy:

    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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/linux-installation.html 19 Apr 2003 20:39:32 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/linux-installation.html 29 Apr 2003 05:58:33 -0000 1.1.2.6 @@ -1,9 +1,9 @@ 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 + OpenACS docs are written by the named authors, and 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.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 @@ -26,12 +26,12 @@ files, unpack the tarball now.

    [root@yourserver root]# cd /tmp
     [root@yourserver tmp]# tar xzf openacs-4.6.2.tgz
     
    cd /tmp
    -tar xzf openacs-4.6.2.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 @@ -42,7 +42,7 @@ installed in /package. These commands install daemontools and svgroup. svgroup is a script for granting permissions, to allow users other than root to use daemontools for specific - services.

    1. Install Daemontools

      • 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
            @@ -71,7 +71,7 @@
                     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.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
        +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 @@ -107,7 +107,7 @@ 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.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 
      2. Install Qmail.�

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

        [root@yourserver root]# cd /usr/local/src
        +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,7 +162,7 @@
         
        cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root 
         chmod 644 ~alias/.qmail* 
         /var/qmail/bin/maildirmake ~alias/Maildir/ 
        -chown -R alias.nofiles /var/qmail/alias/Maildir

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

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

        [root@yourserver alias]# echo "./Maildir" > /var/qmail/bin/.qmail
         [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
        @@ -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.2.1 -r1.3.2.2 --- openacs-4/packages/acs-core-docs/www/mac-install.html 19 Apr 2003 20:39:32 -0000 1.3.2.1 +++ openacs-4/packages/acs-core-docs/www/mac-install.html 29 Apr 2003 05:58:33 -0000 1.3.2.2 @@ -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.2.1 -r1.4.2.2 --- openacs-4/packages/acs-core-docs/www/mac-installation.html 19 Apr 2003 20:39:32 -0000 1.4.2.1 +++ openacs-4/packages/acs-core-docs/www/mac-installation.html 29 Apr 2003 05:58:33 -0000 1.4.2.2 @@ -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
    + older forum thread

    ($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.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/maintenance-web.html 19 Apr 2003 20:39:32 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/maintenance-web.html 29 Apr 2003 05:58:33 -0000 1.1.2.5 @@ -1,10 +1,10 @@ Hosting Web Sites

    Hosting Web Sites

    by Joel Aufrecht
    - OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and 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.3

    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 @@ -110,7 +110,7 @@ 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 - ip, simply repeat Install OpenACS 4.6.2 replacing + ip, simply repeat Install OpenACS 4.6.3 replacing service0, and change the

    set httpport              8000
     set httpsport             8443 

    @@ -126,4 +126,4 @@ names sharing the same ip, you'll need nsvhr to redirect requests based on the contents of the tcp headers. See AOLserver Virtual Hosting with TCP by markd. -

    ($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.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/maintenance.html 19 Apr 2003 20:39:32 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/maintenance.html 29 Apr 2003 05:58:33 -0000 1.1.2.5 @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/object-identity.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/object-identity.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -1,20 +1,20 @@ Object Identity

    Object Identity

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

    One of the major design features of OpenACS 4.6.2 is the explicit representation +

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

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

    Coming from a purely relational world, this might seem slightly weird at first. The pair (group_id, user_id) is sufficient to uniquely identify the @@ -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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/object-system-design.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/object-system-design.html 29 Apr 2003 05:58:33 -0000 1.6.2.7 @@ -4,7 +4,7 @@ Michael Yoon, Richard Li and Rafael Schloming
    - OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Essentials

    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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 19 Apr 2003 20:39:32 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 29 Apr 2003 05:58:33 -0000 1.6.2.7 @@ -1,7 +1,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    I. Introduction

    A major goal in OpenACS 4 is to unify and normalize many of the core services of the system into a coherent common data model and API. In the past, these @@ -127,7 +127,7 @@ that store metadata on application objects. The object type system supports subtyping with inheritance, so new object types can be defined in terms of existing object types.

    The OM data model forms the main part of the OpenACS 4 Kernel data model. The -other parts of the Kernel data model include:

    • Parties and Groups

    • Permissions

    Each of these is documented elsewhere at length.

    Use-cases and User-scenarios

    (Pending as of 8/27/00)

    Requirements: Data Model

    The data model for the object system provides support for the following +other parts of the Kernel data model include:

    • Parties and Groups

    • Permissions

    Each of these is documented elsewhere at length.

    Use-cases and User-scenarios

    (Pending as of 8/27/00)

    Requirements: Data Model

    The data model for the object system provides support for the following kinds of schema patterns that are used by many existing OpenACS modules:

    10.0 Object Identification and Storage

    Object identification is a central mechanism in the new metadata system. The fact that every object has a known unique identifier means that the core can deal with all objects in a generic way. Thus the only action required of @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/objects.html 19 Apr 2003 20:39:32 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/objects.html 29 Apr 2003 05:58:33 -0000 1.8.2.7 @@ -1,11 +1,11 @@ -OpenACS 4.6.2 Data Models and the Object System

    OpenACS 4.6.2 Data Models and the Object System

    +OpenACS 4.6.3 Data Models and the Object System

    OpenACS 4.6.3 Data Models and the Object System

    By Pete Su
    - OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Overview

    -Developing data models in OpenACS 4.6.2 is much like developing data models +Developing data models in OpenACS 4.6.3 is much like developing data models for OpenACS 3, save for the implementation. As usual, you need to examine how to model the information that the application must store and manipulate, and define a suitable set of SQL tables. In our Notes @@ -28,12 +28,12 @@ Thinking further ahead, we can imagine doing any of the following things with Notes as well:

    • Define access control policies on notes.

    • Attach user comments on notes.

    • Allow users to define custom fields to store on their notes.

    • Automatically generate input forms or output displays for notes.

    • Allow other applications to use notes in ways we don't know of yet.

    -In OpenACS 4.6.2, the key to enabling these types of services on your +In OpenACS 4.6.3, the key to enabling these types of services on your application data is to take advantage of the Object System. The first question, then, is "Just what are objects, and what do you use them for anyway?". The short answer: objects are anything represented in the application's data model that will need to be -managed by any central service in OpenACS 4.6.2, or that may be reusable in +managed by any central service in OpenACS 4.6.3, or that may be reusable in the context of future applications. Every object in the system is represented using a row in the acs_objects table. This table defines all the standard attributes that are stored on every @@ -63,7 +63,7 @@ new object type. Object types are analogous to classes in programming languages such as C++ and Java. In Java, a class defines a set of attributes that store data and a set of methods -that run code. In OpenACS 4.6.2, we use one or more Oracle tables to store the +that run code. In OpenACS 4.6.3, we use one or more Oracle tables to store the data attributes, and we define a PL/SQL package to hold procedures to define the programming interface to the data model.

    @@ -80,8 +80,8 @@

    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

    +when we created the package. Then, do the following: +

    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: @@ -197,7 +197,7 @@ You might be wondering what all the extra parameters are to these calls, since we haven't mentioned them before. These parameters are needed to fill out information that will be stored about the object -that's not stored directly in the table you defined. The OpenACS 4.6.2 Object +that's not stored directly in the table you defined. The OpenACS 4.6.3 Object System defines these attributes on the type acs_object since all objects should have these attributes. Internally, there are tables that store this information for you. Most of the data is pretty @@ -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 @@ -317,7 +317,7 @@ models that are meant to be integrated with the OpenACS object system.

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

    Summary

    -Hooking into the OpenACS 4.6.2 object system brings the application developer +Hooking into the OpenACS 4.6.3 object system brings the application developer numerous benefits, and doing it involves only four easy steps: @@ -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.5 -r1.3.2.6 --- openacs-4/packages/acs-core-docs/www/openacs-overview.html 19 Apr 2003 20:39:32 -0000 1.3.2.5 +++ openacs-4/packages/acs-core-docs/www/openacs-overview.html 29 Apr 2003 05:58:34 -0000 1.3.2.6 @@ -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.7 -r1.6.2.8 --- openacs-4/packages/acs-core-docs/www/openacs.html 19 Apr 2003 20:39:32 -0000 1.6.2.7 +++ openacs-4/packages/acs-core-docs/www/openacs.html 29 Apr 2003 05:58:34 -0000 1.6.2.8 @@ -1,9 +1,9 @@ -Install OpenACS 4.6.2

    Install OpenACS 4.6.2

    +Install OpenACS 4.6.3

    Install OpenACS 4.6.3

    by Vinod Kurup
    - OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and 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
      @@ -31,7 +31,7 @@
             of your site is one word, that would be a good choice. For
             example "service0" might be the service name for the
             service0.net
      -      community.

      For the 4.6.2-P and 4.6.2-O Reference Platform, + community.

      For the 4.6.3-P and 4.6.3-O Reference Platform, we'll use a server named service0 and a user named service0. We'll leave the password blank for increased security. The only way to log in will be @@ -75,7 +75,7 @@ [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 +[service0@yourserver web]$ ls -al total 3 drwxrwx--- 3 root web 1024 Mar 29 16:41 . drwxr-xr-x 25 root root 1024 Mar 29 16:24 .. @@ -89,8 +89,7 @@ tar xzf /tmp/openacs-4.6.2.tgz mv openacs-4.6.2 service0 chmod -R 700 service0/ -ls -al -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
        +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
          @@ -293,7 +292,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 +310,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 +359,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 @@ -379,9 +378,13 @@ If you don't see the login page, view your error log (/web/service0/log/service0-error.log) - 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. - + to make sure the service is starting without any + problems. The most common errors here are trying to start a + port 80 server while not root, failing to connect because of + a firewall, and aolserver failing to start due to + permissions errors or missing files. 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. 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
        @@ -433,7 +436,7 @@
                   Mini-HOWTO.
         

    Configure a Service with the OpenACS Installer

    Now that you've got AOLserver up and running, let's install OpenACS - 4.6.2. + 4.6.3.

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

    • OPTIONAL - Install Full Text Search.

      1. Click Package Manager on the right side of the default home page. If prompted, log in with the account and password you entered during install.

      2. Click on the Install packages link.

      3. On the next screen, after it loads, click on Uncheck all boxes, then click the second checkbox next to OpenFTS Driver 4.2. This will automatically check the first box. Then click Next.

      4. Click Install Packages

      5. Restart the service.

        [service0@yourserver service0]$ svc -t /service/service0
         [service0@yourserver service0]$
      6. Wait a minute, then browse back to the home page.

      7. Click on Site Map on the top right side of the screen.

      8. Mount the OpenFTS Full Text Search Engine in the site map.

        1. Click the new sub folder link on the "/" line, the first line under Main Site:/.

        2. Type openfts @@ -515,7 +518,7 @@ line, click Install.

      9. Restart the service.

        [service0@yourserver service0]$ svc -t /service/service0
        -[service0@yourserver service0]$
      10. 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 +528,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 +559,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

    • 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
    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.8 -r1.8.2.9 --- openacs-4/packages/acs-core-docs/www/oracle.html 19 Apr 2003 20:39:32 -0000 1.8.2.8 +++ openacs-4/packages/acs-core-docs/www/oracle.html 29 Apr 2003 05:58:34 -0000 1.8.2.9 @@ -1,15 +1,15 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Skip this page if you're not interested in Oracle

    Note

    - OpenACS 4.6.2 does not yet work with Oracle 9i + OpenACS 4.6.3 does not yet work with Oracle 9i

    @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/packages.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/packages.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -1,8 +1,8 @@ -OpenACS 4.6.2 Packages

    OpenACS 4.6.2 Packages

    +OpenACS 4.6.3 Packages

    OpenACS 4.6.3 Packages

    By Pete Su and Bryan Quinn
    - OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Overview

    This document is a guide on how to write a software package for @@ -61,7 +61,7 @@ the pieces of each module are strewn all over the tree in at least 3 or 4 different areas.

    - Here is how an OpenACS 4.6.2 server is laid out: + Here is how an OpenACS 4.6.3 server is laid out:

     
     ROOT/
    @@ -125,7 +125,7 @@
           sends to our server to the right page in the appropriate
           package. While we're at it, this tool should also automate
           package installation, dependency checking, upgrades, and package
    -      removal. In OpenACS 4.6.2, this tool is called the APM.
    +      removal. In OpenACS 4.6.3, this tool is called the APM.
         

    The APM

    The APM is used to create, maintain, and install packages. It takes care of copying all of the files and registering the package in the @@ -147,7 +147,7 @@

    The following sections will show you how to make a package for the Notes application. In addition, they will discuss some new site - management features in OpenACS 4.6.2 that take advantage of the APM's package + management features in OpenACS 4.6.3 that take advantage of the APM's package instance model. The two most important of these are subsites, and the site map tool, which can be used to map applications to one or more arbitrary URLs in a running site. @@ -365,7 +365,7 @@ notes.info file. Create a file called ROOT/packages/notes/sql/oracle/notes-create.sql. We'll - fill this file with our data model + fill this file with our data model very soon. Create a file called ROOT/packages/notes/sql/oracle/notes-drop.sql. This will contain the instructions to drop the data model. To be @@ -398,7 +398,7 @@ this point, you should add your package files to your CVS repository. I'll assume that you have set up your development repository according to the standards described in - these instructions. If so, then you just do this: + these instructions. If so, then you just do this:

     
     % cd ROOT/packages
    @@ -413,7 +413,7 @@
     
         
  • Now you can start developing the package. In addition to writing code, - you should also consider the tasks outlined in the package submission guidelines. + you should also consider the tasks outlined in the package submission guidelines.

  • The Site Map and Package Instances

    At this point, you are probably excited to see your new package in action. But, we haven't added any user visible pages yet. By @@ -435,7 +435,7 @@ map content that lived outside the page root into the site, and it was also hard to map mulitiple URLs to the same place in the file system.

    - In OpenACS 4.6.2, administrators can define an arbitrary mapping between the + In OpenACS 4.6.3, administrators can define an arbitrary mapping between the URLs the user types and the actual file in the file system that is served. This mapping is called the site map and entries in the site map are called site nodes. Each site node maps a URL to an @@ -450,7 +450,7 @@ of many indedendent applications that actually run on a single shared code base. The request-processor document shows you how OpenACS figures out which instance of your application was - requested by the user at any given time. The page development tutorial shows you how to use this + requested by the user at any given time. The page development tutorial shows you how to use this information in your user interface.

    In order to make the new notes application visible to @@ -477,7 +477,7 @@ yet written Notes application at various places in the site. In a later document, we'll see how to write your application so that the code can detect from what URL it was invoked. This is the key - to supporting subsites. + to supporting subsites.

    Summary

    The APM performs the following tasks in an OpenACS site:

    • @@ -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
    +

    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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/parties.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/parties.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -1,7 +1,7 @@ -Parties in OpenACS 4.6.2

    Parties in OpenACS 4.6.2

    +Parties in OpenACS 4.6.3

    Parties in OpenACS 4.6.3

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

    Introduction

    While many applications must deal with individuals and many applications must deal with groups, most applications must deal with individuals @@ -67,7 +67,7 @@ users) is that it is now possible to "nuke" a user from a live system by removing his entry from the users table, but leaving the rest of his information present (i.e. turning him from a user into a person). This is -because wherever possible the OpenACS 4.6.2 data model references the persons or +because wherever possible the OpenACS 4.6.3 data model references the persons or parties table, not the users table. If this feature is desired when extending the system, then the developers should be careful to only references the users table in situations where it is clear that the @@ -299,7 +299,7 @@ have a primary key that references the users table, thereby guaranteeing that each row in the mensa_users table has a corresponding row in each of the users, persons, parties, and acs_objects tables. This child table could then -store any extra information relevant to the MENSA community.

    Specializing Groups

    If one were to build an intranet application on top of the 4.6.2 party +store any extra information relevant to the MENSA community.

    Specializing Groups

    If one were to build an intranet application on top of the 4.6.3 party system, it is likely that one would want to take advantage of the systems efficient representation of sophisticated organizational structures, but there would be much more specialized information associated with each group. @@ -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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/permissions-design.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/permissions-design.html 29 Apr 2003 05:58:34 -0000 1.6.2.7 @@ -1,7 +1,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Essentials

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/permissions-requirements.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/permissions-requirements.html 29 Apr 2003 05:58:34 -0000 1.6.2.7 @@ -1,7 +1,7 @@ OpenACS 4 Permissions Requirements

    OpenACS 4 Permissions Requirements

    by John McClary Prevost
    - OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Introduction

    This document records requirements for the OpenACS 4 Permissions system, a component of the OpenACS 4 Kernel. The Permissions system is meant to unify and @@ -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.7 -r1.1.2.8 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 19 Apr 2003 20:39:33 -0000 1.1.2.7 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 29 Apr 2003 05:58:34 -0000 1.1.2.8 @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/permissions.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/permissions.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -1,9 +1,9 @@ -Groups, Context, Permissions

    Groups, Context, Permissions

    By Pete Su


    - OpenACS docs are written by the named authors, but may be edited +Groups, Context, Permissions

    Groups, Context, Permissions

    By Pete Su


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

    Overview

    -The OpenACS 4.6.2 Permissions system allows developers and administrators to +The OpenACS 4.6.3 Permissions system allows developers and administrators to set access control policies at the object level, that is, any application or system object represented by a row in the acs_objects table can be access-controlled via a simple @@ -14,7 +14,7 @@ Although this may all sound easy and wonderful, no developer or administrator would want to explicitly set access control rights for every user and every object on a -site. Therefore, OpenACS 4.6.2 has two auxiliary mechanisms for making this +site. Therefore, OpenACS 4.6.3 has two auxiliary mechanisms for making this easier: First, the Groups system allows users to be grouped together in flexible ways. Second, the object model defines a notion of object context, which allows applications to group objects @@ -26,7 +26,7 @@ define simple groupings of users. Each group had a human readable name and unique ID, and there was a single mapping table that mapped users to groups. (The actual data model was more complicated because it -contained a meta-data system much like the OpenACS 4.6.2 object type system, +contained a meta-data system much like the OpenACS 4.6.3 object type system, but that's not relevant right now.)

    The 3.x groups system, while very useful, was limited in few ways. The @@ -48,7 +48,7 @@ member of Greenpeace, its members are not necessarily members of Greenpeace.

    -OpenACS 4.6.2 solves both of these modeling problems by introducing a new +OpenACS 4.6.3 solves both of these modeling problems by introducing a new abstraction called a party. Parties have a recursive definition, and we can illustrate how it works with the following simplified data model. First, we define the parties @@ -114,18 +114,18 @@ already know what parties and objects are, but we don't know what privileges are.

    -In OpenACS 4.6.2, a privilege models the right to perform some operation on +In OpenACS 4.6.3, a privilege models the right to perform some operation on some object. They are the basic units out of which we build access control policies. For example, in the Unix filesystem we typically implement access control by granting users some combination of -read. write or execute privileges on files and directories. In OpenACS 4.6.2, +read. write or execute privileges on files and directories. In OpenACS 4.6.3, the table of privileges is organized hierarchically so that developers can define privileges that aggregate some set of privileges together. For example, if we have read, write, create and delete privileges, it might be convenient to combine them into a new privilege called "admin". Then if we grant a user this privilege she is automatically granted all the child privileges that the privilege -contains. The OpenACS 4.6.2 kernel data model actually defines these +contains. The OpenACS 4.6.3 kernel data model actually defines these privileges as follows:

     
    @@ -165,7 +165,7 @@
     permissions to large groups of objects in the site, all at once. We
     use contexts to achieve this goal.
     

    Object Context

    -In OpenACS 4.6.2, an object context is a generalization of the scoping +In OpenACS 4.6.3, an object context is a generalization of the scoping mechanism introduced in OpenACS 3.x. "Scoping" and "scope" are terms best explained by example: consider some hypothetical rows in the address_book table: @@ -180,7 +180,7 @@ person or a group of people or the general public (itself a group of people).

    -In OpenACS 4.6.2, rather than breaking the world into a limited set of scopes, +In OpenACS 4.6.3, rather than breaking the world into a limited set of scopes, every object lives in a single context. A context is just an another object that represents the security domain to which the object belongs. By convention, if an object A doesn't have any permissions @@ -197,7 +197,7 @@ application. With only row-level permissions it is not obvious how to reasonably initialize the access control list when creating a message. At best, we have to explicitly grant various read and write -privileges whenever we create a message, which is tedious. In OpenACS 4.6.2, +privileges whenever we create a message, which is tedious. In OpenACS 4.6.3, a reasonable thing to do is to create an object representing a forum, and point the context_id field of a new message at the forum. Then, suppose we grant every user in the system read-access to @@ -331,7 +331,7 @@

    This displays the title of the note as either a link or plain text depending on whether or not we have write privileges on the object. -The if tag is something that the OpenACS 4.6.2 template system +The if tag is something that the OpenACS 4.6.3 template system defines for you to support conditional presentation. The templates developer guide provides more information about this.

    If you study the rest of the system, you will also notice that the @@ -345,7 +345,7 @@ permissions to notes that she wanted to make public or whatever. But that's beyond the scope of this example.

    Summary

    -OpenACS 4.6.2 defines three separate mechanisms for specifying access control +OpenACS 4.6.3 defines three separate mechanisms for specifying access control in applications. The Groups data model allows you to define hierarchical organizations of users and groups of users. The Permissions data model allows you to define a hierarchy of user rights. Finally, @@ -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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/postgres.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/postgres.html 29 Apr 2003 05:58:34 -0000 1.6.2.7 @@ -1,7 +1,7 @@ -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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Skip this section if you will run only Oracle.

    This page assumes you have downloaded postgresql to /tmp/postgresql-7.2.3.tar.gz. If not, @@ -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
    @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -2,7 +2,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    The global command

    When using AOLserver, remember that there are effectively two types @@ -42,7 +42,7 @@ which runs frequently, don't use the -thread switch.

    Note also that thread is initialized with a copy of what was installed during server startup, so if the procedure table have changed since -startup (e.g. using the APM watch +startup (e.g. using the APM watch facility), that will not be reflected in the scheduled thread.

    Using return

    The return command in Tcl returns control to the caller procedure. @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/psgml-mode.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/psgml-mode.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -1,7 +1,7 @@ -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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    What it is

    PSGML Mode is a mode for editing, umm, SGML and XML documents in emacs. It can parse a DTD and help you insert the right tags in the right place, knows @@ -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 the section called “DocBook and Documentation”

    ($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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/request-processor.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/request-processor.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -1,11 +1,11 @@ -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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Overview

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

    The Old Way

    @@ -28,30 +28,30 @@ To achieve this functionality above in OpenACS 3.x, developers used an ad hoc combination of AOLserver filters, the ns_perm call, -special purpose code in pages, and other procedures. In OpenACS 4.6.2, the +special purpose code in pages, and other procedures. In OpenACS 4.6.3, the Request Processor, along with the OpenACS Package Manager, centralizes and unifies this functionality, making it more transparent and readily available to developers.

    The New Way

    -The 4.6.2 Request Processor is a global filter and set of Tcl procs that +The 4.6.3 Request Processor is a global filter and set of Tcl procs that respond to every incoming URL reaching the server. The following diagram summarizes the stages of the request processor assuming a URL request like http://someserver.com/notes/somepage.adp. -

    +

    Stage 1: Search Site Map

    The first thing the RP does is to map the given URL to the appropriate physical directory in the filesystem, from which to serve content. We do this by searching the site map data model (touched on in the Packages, and further -discussed in the section called “Writing OpenACS 4.6.2 Application Pages”). This data model maps URLs to objects representing +discussed in the section called “Writing OpenACS 4.6.3 Application Pages”). This data model maps URLs to objects representing content, and these objects are typically package instances.

    After looking up the appropriate object, the RP stores the URL, the ID of the object it found, and the package and package instance the object belongs to into the environment of the connection. This environment can be queried using the ad_conn procedure, -which is described in detail in OpenACS 4 Request Processor Design. The page +which is described in detail in OpenACS 4 Request Processor Design. The page development tutorial shows you how to use this interface to make your pages aware of which instance was requested.

    Stage 2: Authentication

    @@ -62,7 +62,7 @@ extracts or sets up new session tokens for the user.

    Stage 3: Authorization

    Next, the Request Processor checks if the user has appropriate access -privileges to the requested part of the site. In OpenACS 4.6.2, access control +privileges to the requested part of the site. In OpenACS 4.6.3, access control is dictated by the permissions system. In this case, the RP checks if the user has "read" priviledges on the object in the site map specified by the URL. This object is typically @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/requirements-template.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/requirements-template.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -1,6 +1,6 @@ System/Application Requirements Template

    System/Application Requirements Template

    By You


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

    Introduction

    Briefly explain to the reader what this document is for, whether @@ -61,7 +61,7 @@

    For guidelines writing requirements, take a look - at the quality standards, along with a good example, such as OpenACS 4.6.2 Package Manager Requirements. + at the quality standards, along with a good example, such as OpenACS 4.6.3 Package Manager Requirements.

    Besides writing requirements in natural language, consider using the following techniques as needed: @@ -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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/rp-design.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/rp-design.html 29 Apr 2003 05:58:34 -0000 1.6.2.7 @@ -1,7 +1,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Essentials

    Terminology

    • +provides to the browser.

    Terminology

    • pageroot -- Any directory that contains scripts and/or static files intended to be served in response to HTTP requests. A typical OpenACS installation is required to serve files from multiple pageroots.

    • global pageroot @@ -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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/rp-requirements.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/rp-requirements.html 29 Apr 2003 05:58:34 -0000 1.6.2.7 @@ -1,7 +1,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Introduction

    The following is a requirements document for the OpenACS 4.0 request processor. The major enhancements in the 4.0 version include a more @@ -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.6 -r1.7.2.7 --- openacs-4/packages/acs-core-docs/www/security-design.html 19 Apr 2003 20:39:33 -0000 1.7.2.6 +++ openacs-4/packages/acs-core-docs/www/security-design.html 29 Apr 2003 05:58:34 -0000 1.7.2.7 @@ -2,7 +2,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Introduction

    This document explains security model design for OpenACS 4. The security system @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/security-notes.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/security-notes.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -1,7 +1,7 @@ OpenACS 4 Security Notes

    OpenACS 4 Security Notes

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

    The security system was designed for security. Thus, decisions requiring @@ -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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/security-requirements.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/security-requirements.html 29 Apr 2003 05:58:34 -0000 1.6.2.7 @@ -1,7 +1,7 @@ OpenACS 4 Security Requirements

    OpenACS 4 Security Requirements

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

    Introduction

    This document lists the requirements for the security system for the OpenACS. @@ -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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/software-versions.html 19 Apr 2003 20:39:33 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/software-versions.html 29 Apr 2003 05:58:34 -0000 1.1.2.6 @@ -1,12 +1,12 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    OpenACS is a collection of tcl scripts and database schema and commands. To run, it requires a database and webserver, which 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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/subsites-design.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/subsites-design.html 29 Apr 2003 05:58:34 -0000 1.6.2.7 @@ -1,7 +1,7 @@ -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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    *Note* This document has not gone through the any of the required QA process yet. It is being tagged as stable due to high @@ -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.6 -r1.6.2.7 --- openacs-4/packages/acs-core-docs/www/subsites-requirements.html 19 Apr 2003 20:39:33 -0000 1.6.2.6 +++ openacs-4/packages/acs-core-docs/www/subsites-requirements.html 29 Apr 2003 05:58:34 -0000 1.6.2.7 @@ -1,7 +1,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Introduction

    The following is a requirements document for OpenACS 4 Subsites, part of the OpenACS 4 Kernel. The Subsites system allows one OpenACS server instance to serve @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/subsites.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/subsites.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -1,22 +1,22 @@ -Writing OpenACS 4.6.2 Application Pages

    Writing OpenACS 4.6.2 Application Pages

    +Writing OpenACS 4.6.3 Application Pages

    Writing OpenACS 4.6.3 Application Pages

    By Rafael H. Schloming and Pete Su


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

    Overview

    In this document, we'll examine the user interface pages of the Notes application in more detail, covering two separate aspects of page -development in OpenACS 4.6.2. First, we'll talk about the code needed to make +development in OpenACS 4.6.3. First, we'll talk about the code needed to make your pages aware of which application instance they are running in. Second, we'll talk about using the form builder to develop -form-based user interfaces in OpenACS 4.6.2. While these seem like unrelated +form-based user interfaces in OpenACS 4.6.3. While these seem like unrelated topics, they both come up in the example page that we are going to look at, so it makes sense to address them at the same time.

    Application Instances and Subsites

    -As you will recall from the packages tutorial, the Request -Processor (RP) and Package Manager (APM) in OpenACS 4.6.2 allow site +As you will recall from the packages tutorial, the Request +Processor (RP) and Package Manager (APM) in OpenACS 4.6.3 allow site administrators to define an arbitrary mapping from URLs in the site to objects representing content. These objects may represent single files, or entire applications. The APM uses the site map to map @@ -70,7 +70,7 @@

    In the Notes example, we are particularly interested in the package_id field. If you study the data model and code, -you'll see why. As we said before in the data modeling tutorial, the Notes application points the +you'll see why. As we said before in the data modeling tutorial, the Notes application points the context_id of each Note object that it creates to the package instance that created it. That is, the context_id corresponds exactly to the package_id that comes in from @@ -257,15 +257,15 @@ visible to that user. The end result is a site where users can come and write notes to themselves.

    -This is a good example of the leverage available in the OpenACS 4.6.2 +This is a good example of the leverage available in the OpenACS 4.6.3 system. The code that we have written for Notes is not at all more complex than a similar application without access control or site map awareness. By adding a small amount of code, we have taken a small, simple, and special purpose application to something that has the potential to be a very useful, general-purpose tool, complete with multi-user features, access control, and centralized administration.

    Summary

    -In OpenACS 4.6.2, application pages and scripts can be aware of the package +In OpenACS 4.6.3, application pages and scripts can be aware of the package instance, or subsite in which they are executing. This is a powerful general purpose mechanism that can be used to structure web services in very flexible ways. @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/tcl-doc.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/tcl-doc.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -2,7 +2,7 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    • Tcl procedures: /packages/acs-kernel/tcl-documentation-procs.tcl

    The Big Picture

    We use functions to document Tcl files and a web-based user interface for browsing the documentation:

    • ad_page_contract: Every Tcl page @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/templates.html 19 Apr 2003 20:39:33 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/templates.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -1,9 +1,9 @@ -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 +Using Templates in OpenACS 4.6.3

    Using Templates in OpenACS 4.6.3

    By Pete Su


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

    Overview

    -The OpenACS 4.6.2 Template System (ATS) is designed to allow developers to +The OpenACS 4.6.3 Template System (ATS) is designed to allow developers to cleanly separate application logic from display logic. The intent is to have all of the logic related to manipulating the database and other application state data in one @@ -160,12 +160,12 @@

    Summary

    Templates separate application logic from display logic by requiring the developer to write pages in two stages, one file for database -queries and application logic, and another for display. In OpenACS 4.6.2, the +queries and application logic, and another for display. In OpenACS 4.6.3, the logic part of the page is just a .tcl that sets up data sources that are used by the display part of the page. The display part of the page is an .adp file with some special tags and notations for dealing with display logic and 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.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 19 Apr 2003 20:39:33 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 29 Apr 2003 05:58:34 -0000 1.1.2.5 @@ -1,17 +1,17 @@ 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 + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    Overview

    This tutorial covers topics which are not essential to +

    Overview

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

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

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

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

    • How to make your package searchable with OpenFTS/Oracle

    • How to make your package send email notifications

    • How to prepare pagelets for inclusion in other pages

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

    • How to add general_comments to your pages

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

    • How and when to implement caching

    • partialquery in xql

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

    • APM package dependencies

    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.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-database.html 19 Apr 2003 20:39:33 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-database.html 29 Apr 2003 05:58:34 -0000 1.1.2.5 @@ -1,9 +1,9 @@ Setting Up Database Objects

    Setting Up Database Objects

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

    Code the data model

    We create all database objects with scripts in the +

    Code the data model

    We create all database objects with scripts in the 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.2.�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.3.�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.4.�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
    @@ -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.5.�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.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-debug.html 19 Apr 2003 20:39:33 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-debug.html 29 Apr 2003 05:58:34 -0000 1.1.2.5 @@ -1,9 +1,9 @@ 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 + OpenACS docs are written by the named authors, and 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.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 19 Apr 2003 20:39:33 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 29 Apr 2003 05:58:34 -0000 1.1.2.4 @@ -1,21 +1,21 @@ Creating a Package

    Creating a Package

    by Joel Aufrecht
    - OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and 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 +standard OpenACS 4.6.3 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 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 @@ -93,7 +93,7 @@ new record to the document version history. Look for the <authorgroup> tag and add yourself as a second author. Save and exit. For tips on - editing SGML files in emacs, see OpenACS Documentation Guide

    Process the xml file to create html documentation. The + editing SGML files in emacs, see the section called “DocBook and Documentation”

    Process the xml file to create html documentation. The html documentation, including supporting files such as pictures, is stored in the www/docs/ directory. A Makefile is provided to generate html from the xml, and copy all of the @@ -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.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 19 Apr 2003 20:39:33 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 29 Apr 2003 05:58:34 -0000 1.1.2.5 @@ -1,9 +1,9 @@ Creating Web Pages

    Creating Web Pages

    by Joel Aufrecht
    - OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and 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 @@ -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 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
    +      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.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial.html 19 Apr 2003 20:39:33 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial.html 29 Apr 2003 05:58:34 -0000 1.1.2.4 @@ -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.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/unix-install.html 19 Apr 2003 20:39:33 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/unix-install.html 29 Apr 2003 05:58:34 -0000 1.6.2.6 @@ -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-detail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/upgrade-detail.html,v diff -u -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-core-docs/www/upgrade-detail.html 19 Apr 2003 20:39:34 -0000 1.3.2.2 +++ openacs-4/packages/acs-core-docs/www/upgrade-detail.html 29 Apr 2003 05:58:34 -0000 1.3.2.3 @@ -1,11 +1,11 @@ Support for upgrades.

    Support for upgrades.

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

    Starting with Version 4.5, all OpenACS core packages support automatic upgrade. That means that, if you have OpenACS 4.5 or better, you should always be able to upgrade all of your core packages automatically. If you haven't changed anything, no manual intervention should be required. If you are running - OpenACS prior to 4.5, upgrading will require manual effort.

    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.2 -r1.3.2.3 --- openacs-4/packages/acs-core-docs/www/upgrade.html 19 Apr 2003 20:39:34 -0000 1.3.2.2 +++ openacs-4/packages/acs-core-docs/www/upgrade.html 29 Apr 2003 05:58:34 -0000 1.3.2.3 @@ -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.5 -r1.8.2.6 --- openacs-4/packages/acs-core-docs/www/win-install.html 19 Apr 2003 20:39:34 -0000 1.8.2.5 +++ openacs-4/packages/acs-core-docs/www/win-install.html 29 Apr 2003 05:58:34 -0000 1.8.2.6 @@ -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.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/win2k-installation.html 19 Apr 2003 20:39:34 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/win2k-installation.html 29 Apr 2003 05:58:34 -0000 1.8.2.7 @@ -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.3 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
    Index: openacs-4/packages/acs-core-docs/www/xml/index.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/index.xml,v diff -u -r1.8.2.2 -r1.8.2.3 --- openacs-4/packages/acs-core-docs/www/xml/index.xml 30 Mar 2003 20:30:41 -0000 1.8.2.2 +++ openacs-4/packages/acs-core-docs/www/xml/index.xml 29 Apr 2003 05:58:49 -0000 1.8.2.3 @@ -2,7 +2,7 @@ + - @@ -160,14 +160,11 @@

    - rmello at fslc.usu.edu -
    -
    - mailto:vinod@kurup.com + mailto:docs@openacs.org - vinod@kurup.com + docs@openacs.org
    @@ -184,7 +181,7 @@
    - http://openacs.org/doc/openacs-4/ + http://openacs.org/doc/openacs-4-6-3/ @@ -204,7 +201,7 @@
    - OpenACS docs are written by the named authors, but may be edited + OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml,v diff -u -r1.5 -r1.5.2.1 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml 10 Aug 2002 19:45:14 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml 29 Apr 2003 05:59:02 -0000 1.5.2.1 @@ -681,7 +681,7 @@ this point, you should add your package files to your CVS repository. I'll assume that you have set up your development repository according to the standards described in - these instructions. If so, then you just do this: + these instructions. If so, then you just do this: @@ -704,7 +704,7 @@ Now you can start developing the package. In addition to writing code, - you should also consider the tasks outlined in the package submission guidelines. + you should also consider the tasks outlined in the package submission guidelines. Index: openacs-4/packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml,v diff -u -r1.5.2.4 -r1.5.2.5 --- openacs-4/packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml 15 Jan 2003 09:45:21 -0000 1.5.2.4 +++ openacs-4/packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml 29 Apr 2003 05:59:16 -0000 1.5.2.5 @@ -1,6 +1,5 @@ - - OpenACS Documentation Guide - + + DocBook and Documentation By claus@arsdigita.com, with Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/aolserver.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/aolserver.xml,v diff -u -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/aolserver.xml 19 Apr 2003 20:42:59 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/aolserver.xml 29 Apr 2003 05:59:41 -0000 1.6.2.6 @@ -1,5 +1,5 @@ - Install AOLserver 3.3+ad13 + Install AOLserver 3.3oacs1 by Vinod Kurup @@ -92,13 +92,9 @@ [root@yourserver aolserver]# - This takes about 5 minutes. All of the results are logged to - files in - /usr/local/src/aolserver/log. If you run into problems running AOLserver, check these files for build errors. - + This takes about 5 minutes. It builds aolserver, several modules, and the database driver. (Upgraders, note that the postgres database driver has changed from postgres.so to nspostgres.so). All of the results are logged to files in /usr/local/src/aolserver/log. If you run into problems running AOLserver, check these files for build errors. - Add a database-specific wrapper script. This script sets database environment variables before starting @@ -384,7 +380,8 @@ /tmp. Unpack, compile, and install analog. [root@yourserver aolserver]# cd /usr/local/src [root@yourserver src]# tar xzf /tmp/analog-5.31.tar.gz -root@yourserver analog-5.31]# make +[root@yourserver src]# cd analog-5.31 +[root@yourserver analog-5.31]# make cd src && make make[1]: Entering directory `/usr/local/src/analog-5.31/src' (many lines omitted) Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml,v diff -u -r1.5.2.6 -r1.5.2.7 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml 19 Apr 2003 20:42:59 -0000 1.5.2.6 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml 29 Apr 2003 05:59:41 -0000 1.5.2.7 @@ -124,7 +124,7 @@ [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 +[service0@yourserver web]$ ls -al total 3 drwxrwx--- 3 root web 1024 Mar 29 16:41 . drwxr-xr-x 25 root root 1024 Mar 29 16:24 .. @@ -138,7 +138,6 @@ tar xzf /tmp/openacs-4.6.2.tgz mv openacs-4.6.2 service0 chmod -R 700 service0/ -ls -al exit @@ -637,11 +636,15 @@ - If you don't see the login page, view your error log + If you don't see the login page, view your error log (/web/service0/log/service0-error.log) - 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. - + to make sure the service is starting without any + problems. The most common errors here are trying to start a + port 80 server while not root, failing to connect because of + a firewall, and aolserver failing to start due to + permissions errors or missing files. If you need to make + changes, don't forget to kill any running servers with + killall nsd.