Index: openacs-4/packages/acs-core-docs/www/acs-admin.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-admin.html,v diff -u -N -r1.31 -r1.32 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 11 Jun 2004 10:17:35 -0000 1.31 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 22 Jun 2004 12:53:31 -0000 1.32 @@ -1 +1 @@ -
Table of Contents
Table of Contents
Tutorials and reference material for creating new OpenACS packages. -
Table of Contents
Tutorials and reference material for creating new OpenACS packages. +
Table of Contents
Table of Contents
Prev | Home | Next |
Appendix�D.�Using CVS with an OpenACS Site | Up | Chapter�15.�Kernel Documentation |
Table of Contents
Prev | Home | Next |
Appendix�D.�Using CVS with an OpenACS Site | Up | Chapter�15.�Kernel Documentation |
Download the Analog source tarball in +
Download the Analog source tarball in /tmp. Unpack, compile, and install analog.
[root aolserver]# cd /usr/local/src [root src]# tar xzf /tmp/analog-5.32.tar.gz [root src]# cd analog-5.32 Index: openacs-4/packages/acs-core-docs/www/analog-setup.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/analog-setup.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/analog-setup.html 11 Jun 2004 10:17:36 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/analog-setup.html 22 Jun 2004 12:53:33 -0000 1.6 @@ -1,4 +1,4 @@ -Set up Log Analysis Reports Analog is a program with processes webserver access logs, +
Set up Log Analysis Reports 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 Index: openacs-4/packages/acs-core-docs/www/aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver.html,v diff -u -N -r1.37 -r1.38 --- openacs-4/packages/acs-core-docs/www/aolserver.html 11 Jun 2004 10:17:36 -0000 1.37 +++ openacs-4/packages/acs-core-docs/www/aolserver.html 22 Jun 2004 12:53:33 -0000 1.38 @@ -1,4 +1,4 @@ -
Install AOLserver 3.3oacs1 by Vinod Kurup
+Install AOLserver 3.3oacs1 by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.We recommend the use of AOLserver 4.0.1 or later. These instructions are retained as a resource.
@@ -82,17 +82,17 @@ communicate with the database. There is one script each for Oracle and PostgreSQL. They don't conflict, so if you plan to use both databases, install both.
Oracle
[root aolserver]# cd /usr/local/aolserver/bin -[root bin]# cp /tmp//packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle +[root bin]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle [root bin]# chmod 750 nsd-oracle [root bin]# cd /usr/local/aolserver/bin -cp /tmp//packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle +cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle chmod 750 nsd-oracle
PostgreSQL
[root aolserver]# cd /usr/local/aolserver/bin -[root bin]# cp /tmp//packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres +[root bin]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres [root bin]# chmod 755 nsd-postgres [root bin]# cd /usr/local/aolserver/bin -cp /tmp//packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres +cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres chmod 755 nsd-postgres
Install tDOM.�Download the tDOM tarball, unpack it, adjust the configuration file to match our patched distribution of aolserver, and compile it.
[root root]# cd /usr/local/src Index: openacs-4/packages/acs-core-docs/www/aolserver4.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver4.html,v diff -u -N -r1.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/aolserver4.html 11 Jun 2004 10:17:37 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/aolserver4.html 22 Jun 2004 12:53:34 -0000 1.14 @@ -1,51 +1,53 @@ -Install AOLserver 4 +Install AOLserver 4 OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
Retrieve TCL 8.4 (or higher).�Download and install TCL 8.4
If you have not installed TCL already, download the latest TCL version from Sourceforge
Remember that you have to be root if you want to follow these instructions. On Mac OS X type sudo su - to become root.
Alternatively use curl -L -O instead of wget (especially on Mac OS X.
[root root]# cd /usr/local/src -[root src]# wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.5-src.tar.gz -[root src]# tar xfz tcl8.4.5-src.tar.gz -[root src]# cd tcl8.4.5/unix +[root src]# wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.6-src.tar.gz +[root src]# tar xfz tcl8.4.6-src.tar.gz +[root src]# cd tcl8.4.6/unix [root unix]# ./configure --enable-threads [root unix]# make install [root root]# cd /usr/local/src -wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.5-src.tar.gz -tar xfz tcl8.4.5-src.tar.gz -cd tcl8.4.5/unix +wget http://heanet.dl.sourceforge.net/sourceforge/tcl/tcl8.4.6-src.tar.gz +tar xfz tcl8.4.6-src.tar.gz +cd tcl8.4.6/unix ./configure --enable-threads make install
Retrieve AOLserver.�Download the aolserver from CVS.
[root root]# cd /usr/local/src -[root src]# mkdir aolserver40r2 -[root src]# cd aolserver40r2 +[root src]# mkdir aolserver40r5 +[root src]# cd aolserver40r5 [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver login -[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r aolserver_v40_r2 aolserver +[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r aolserver_v40_r5 aolserver [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nscache [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nspostgres [root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nssha1 -[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsoracle +[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r v2_7 nsoracle +[root aolserver]# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsxml [root aolserver]# wget http://www.tdom.org/tDOM-0.7.8.tar.gz [root aolserver]# tar xvfz tDOM-0.7.8.tar.gz [root root]# cd /usr/local/src -mkdir aolserver40r2 -cd aolserver40r2 -cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r aolserver_v40_r2 aolserver +mkdir aolserver40r5 +cd aolserver40r5 +cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r aolserver_v40_r5 aolserver cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nscache cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nspostgres cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nssha1 -cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsoracle +cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co -r v2_7 nsoracle +cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aolserver co nsxml wget http://www.tdom.org/tDOM-0.7.8.tar.gz -tar xvfz tDOM-0.7.8.tar.gz
Configure, compile and install AOLserver.�Many people need to run more than one version of AOLserver in parallel. This section accomodates future upgrades by installing AOLserver 4 in /usr/local/aolserver40r2.
[root aolserver]# cd /usr/local/src/aolserver40r2/aolserver -[root aolserver]# ./configure --prefix=/usr/local/aolserver40r2 --with-tcl=/usr/local/lib/ +tar xvfz tDOM-0.7.8.tar.gzConfigure, compile and install AOLserver.�Many people need to run more than one version of AOLserver in parallel. This section accomodates future upgrades by installing AOLserver 4 in /usr/local/aolserver40r5.
[root aolserver]# cd /usr/local/src/aolserver40r5/aolserver +[root aolserver]# ./configure --prefix=/usr/local/aolserver40r5 --with-tcl=/usr/local/lib/ [root aolserver]# make install - cd /usr/local/src/aolserver40r2/aolserver -./configure --prefix=/usr/local/aolserver40r2 --with-tcl=/usr/local/lib/ +cd /usr/local/src/aolserver40r5/aolserver +./configure --prefix=/usr/local/aolserver40r5 --with-tcl=/usr/local/lib/ make install -ln -s /usr/local/aolserver40r2 /usr/local/aolserver
If this is the only version of AOLserver in use, or is the default version, create a symlink. If not, then be sure to use /usr/local/aolserver40r2 instead of /usr/local/aolserver in future steps.
[root aolserver]# ln -s /usr/local/aolserver40r2 /usr/local/aolserverConfigure, compile and install the modules.� -
[root aolserver]# cd /usr/local/src/aolserver40r2/nscache +ln -s /usr/local/aolserver40r5 /usr/local/aolserverIf this is the only version of AOLserver in use, or is the default version, create a symlink. If not, then be sure to use /usr/local/aolserver40r5 instead of /usr/local/aolserver in future steps.
[root aolserver]# ln -s /usr/local/aolserver40r5 /usr/local/aolserverConfigure, compile and install the modules.� +
[root aolserver]# cd /usr/local/src/aolserver40r5/nscache [root nscache]# make installInstall nsoracle (if you want to use Oracle)
[root nscache]# cd ../nsoracle [root nsoracle]# make installInstall nspostgres (if you want to use Postgres)
[root nsrewrite]# cd ../nspostgres -[root nspostgres]# make install POSTGRES=LSB ACS=1 INST=/usr/local/aolserver40r2If you get errors like:
nspostgres.c: In function `Ns_PgTableList': +[root nspostgres]# make install POSTGRES=LSB ACS=1 INST=/usr/local/aolserver40r5If you get errors like:
nspostgres.c: In function `Ns_PgTableList': nspostgres.c:679: warning: passing arg 3 of `Tcl_DStringAppend' as signed due to prototypethen PostGreSQL is probably not in the standard location. The location of PostGreSQL is very dependent on which method was used to install it. To correct the problem, replace LSB with the path to the path to your PostGreSQL installation. Often this is /usr/local/pgsql.
Another possibility is that you may need to set the LD_LIBRARY_PATH environmental variable. You may still get warnings, but sometimes this will fix things @@ -57,24 +59,24 @@
If you run into problems with libpq.a do the following (and repeat the step above)
[root nspostgres]# ranlib /usr/local/pgsql/lib/libpq.aIf you run into problems with the linker, edit the Makefile. Add -lnsdb to the MODLIBS var.
MODLIBS = -L$(PGLIB) -lpq -lnsdb
[root nsrewrite]# cd ../nssha1 [root nssha1]# makeIf the make fails you will have to edit nssha1.c. Comment out the following 2 lines (lines 139-140):
// typedef unsigned int u_int32_t; // typedef unsigned char u_int8_t;Now install nssha1:
[root nssha1]# make install [root nssha1]# cd ../tDOM-0.7.8/unixEdit the CONFIG file. Uncomment the instructions meant for AOLserver 4, but edit it to look like this:
../configure --enable-threads --disable-tdomalloc - --prefix=/usr/local/aolserver40r2 --with-tcl=/usr/local/libNow you can compile and configure tDOM
[root unix]# sh CONFIG + --prefix=/usr/local/aolserver40r5 --with-tcl=/usr/local/libNow you can compile and configure tDOM
[root unix]# sh CONFIG [root unix]# make install
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 Oracle and PostgreSQL. They don't conflict, so if you plan - to use both databases, install both.
Oracle
[root aolserver]# cd /usr/local/aolserver40r2/bin + to use both databases, install both.
Oracle
[root aolserver]# cd /usr/local/aolserver40r5/bin [root bin]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle [root bin]# chmod 750 nsd-oracle [root bin]# -cd /usr/local/aolserver40r2/bin +cd /usr/local/aolserver40r5/bin cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle -chmod 750 nsd-oracle
PostgreSQL
[root aolserver]# cd /usr/local/aolserver40r2/bin +chmod 750 nsd-oraclePostgreSQL
[root aolserver]# cd /usr/local/aolserver40r5/bin [root bin]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres [root bin]# chmod 755 nsd-postgres [root bin]# -cd /usr/local/aolserver40r2/bin +cd /usr/local/aolserver40r5/bin cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres chmod 755 nsd-postgres
You may need to edit these scripts if you are not using - /usr/local/aolserver as the directory of Aolserver4.
Change startup script (optional).�If you want to run AOLserver on a port below 1024 (normally, for a webserver you will use 80), you will have to change the /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools/run script according to the documentation found there (namely: Add the -b yourip:yourport switch)
($Id$)View comments on this page at openacs.org + /usr/local/aolserver as the directory of Aolserver4.Change startup script (optional).�If you want to run AOLserver on a port below 1024 (normally, for a webserver you will use 80), you will have to change the /var/lib/aolserver/service0/etc/daemontools/run script according to the documentation found there (namely: Add the -b yourip:yourport switch)
($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/apm-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-design.html,v diff -u -N -r1.29 -r1.30 --- openacs-4/packages/acs-core-docs/www/apm-design.html 11 Jun 2004 10:17:37 -0000 1.29 +++ openacs-4/packages/acs-core-docs/www/apm-design.html 22 Jun 2004 12:53:35 -0000 1.30 @@ -1,4 +1,4 @@ -Package Manager Design By Bryan Quinn
+Package Manager Design By Bryan Quinn
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
Tcl API
Index: openacs-4/packages/acs-core-docs/www/apm-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-requirements.html,v diff -u -N -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 11 Jun 2004 10:17:37 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 22 Jun 2004 12:53:36 -0000 1.25 @@ -1,4 +1,4 @@ -
Package Manager Requirements By Bryan Quinn and Todd Nightingale
+Package Manager Requirements By Bryan Quinn and Todd Nightingale
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.The following is a requirements document for the OpenACS Package Manager Index: openacs-4/packages/acs-core-docs/www/automated-backup.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-backup.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/automated-backup.html 11 Jun 2004 10:17:37 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/automated-backup.html 22 Jun 2004 12:53:37 -0000 1.5 @@ -1,3 +1,3 @@ -
Automated Backup The recommended backup strategy for a production sit is to use an automated script which first backs up the database to a file in /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup and then backs up all of /var/lib/aolserver/$OPENACS_SERVICE_NAME to a single zip file, and then copies that zip file to another computer.
Make sure that the manual backup process described above works.
Customize the default backup script. Edit /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh with your specific parameters.
+
Automated Backup The recommended backup strategy for a production sit is to use an automated script which first backs up the database to a file in /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup and then backs up all of /var/lib/aolserver/$OPENACS_SERVICE_NAME to a single zip file, and then copies that zip file to another computer.
Make sure that the manual backup process described above works.
Customize the default backup script. Edit /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh with your specific parameters.
Make sure the file is executable:
chmod +x backup.shSet this file to run automatically by adding a line to root's crontab. (Typically, with export EDITOR=emacs; crontab -e.) This example runs the backup script at 1:30 am every day.
30 1 * * * * sh /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html,v diff -u -N -r1.15 -r1.16 --- openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 11 Jun 2004 10:17:37 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 22 Jun 2004 12:53:37 -0000 1.16 @@ -1,4 +1,4 @@ -Automated Testing By Jeff Davis
+Automated Testing By Jeff Davis
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.Best practices in writing OpenACS automated tests
Special characters in Tcl.� Index: openacs-4/packages/acs-core-docs/www/backup-recovery.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.html,v diff -u -N -r1.30 -r1.31 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 11 Jun 2004 10:17:37 -0000 1.30 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 22 Jun 2004 12:53:38 -0000 1.31 @@ -1,4 +1,4 @@ -
Chapter�8.�Backup and Recovery Table of Contents
By Don Baccus with additions +
Chapter�8.�Backup and Recovery Table of Contents
By Don Baccus with additions by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. @@ -7,4 +7,4 @@ probably need to create your own backup strategies (in particular full dumps from oracle, while easy to set up, are far from the best solution).There are three basic things which need to be backed up, the database data, the server - source tree, and the acs-content-repository (which is in the server source tree).
($Id$)View comments on this page at openacs.org + source tree, and the acs-content-repository (which is in the server source tree).($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/backups-with-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backups-with-cvs.html,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/backups-with-cvs.html 11 Jun 2004 10:17:37 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/backups-with-cvs.html 22 Jun 2004 12:53:38 -0000 1.5 @@ -1,4 +1,4 @@ -Using CVS for backup-recovery CVS-only backup is often appropriate for development sites. If you are already using CVS and your data is not important, you probably don't +
Using CVS for backup-recovery CVS-only backup is often appropriate for development sites. If you are already using CVS and your data is not important, you probably don't need to do anything to back up your files. Just make sure that your current work is checked into the system. You can then roll back based on date - note the Index: openacs-4/packages/acs-core-docs/www/bootstrap-acs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.html,v diff -u -N -r1.36 -r1.37 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 11 Jun 2004 10:17:37 -0000 1.36 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 22 Jun 2004 12:53:38 -0000 1.37 @@ -1,4 +1,4 @@ -
Bootstrapping OpenACS By Jon Salz
+Bootstrapping OpenACS By Jon Salz
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
Tcl code: /tcl/0-acs-init.tcl and /packages/acs-kernel/bootstrap.tcl
This document describes the startup (bootstrapping) process for an AOLserver Index: openacs-4/packages/acs-core-docs/www/complete-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/complete-install.html,v diff -u -N -r1.14 -r1.15 --- openacs-4/packages/acs-core-docs/www/complete-install.html 11 Jun 2004 10:17:37 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/complete-install.html 22 Jun 2004 12:53:38 -0000 1.15 @@ -1 +1 @@ -
Chapter�3.�Complete Installation
Prev Home Next Prerequisite Software Up Install a Unix-like system and supporting software
docs@openacs.orgView comments on this page at openacs.org +Chapter�3.�Complete Installation
Prev Home Next Prerequisite Software Up Install a Unix-like system and supporting software
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/configuring-new-site.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-new-site.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/configuring-new-site.html 11 Jun 2004 10:17:37 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/configuring-new-site.html 22 Jun 2004 12:53:38 -0000 1.6 @@ -1,4 +1,4 @@ -Chapter�4.�Configuring a new OpenACS Site Table of Contents
+Chapter�4.�Configuring a new OpenACS Site Table of Contents
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.In this chapter, Configuring refers to making changes to a new OpenACS site through the web interface. In crude terms, these changes happen in the database, and are upgrade-safe. Customizing refers to changes that touch the file system, and require some planning if easy upgradability is to be maintained.
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/credits.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/credits.html,v diff -u -N -r1.35 -r1.36 --- openacs-4/packages/acs-core-docs/www/credits.html 11 Jun 2004 10:17:37 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/credits.html 22 Jun 2004 12:53:38 -0000 1.36 @@ -1,4 +1,4 @@ -Appendix�C.�Credits Table of Contents
By Vinod Kurup
+Appendix�C.�Credits Table of Contents
By Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.Vinod Kurup put Index: openacs-4/packages/acs-core-docs/www/cvs-tips.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-tips.html,v diff -u -N -r1.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 11 Jun 2004 10:17:37 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 22 Jun 2004 12:53:38 -0000 1.21 @@ -1,7 +1,7 @@ -
Appendix�D.�Using CVS with an OpenACS Site +Appendix�D.�Using CVS with an OpenACS Site OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -Add the Service to CVS - OPTIONAL.�These steps take an existing OpenACS directory and add +
Add the Service to CVS - OPTIONAL.�These steps take an existing OpenACS directory and add it to a CVS repository.
Create and set permissions on a subdirectory in the local cvs repository.
[root root]# mkdir /cvsroot/$OPENACS_SERVICE_NAME [root root]# chown $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME /cvsroot/$OPENACS_SERVICE_NAME Index: openacs-4/packages/acs-core-docs/www/database-management.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/database-management.html,v diff -u -N -r1.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/database-management.html 11 Jun 2004 10:17:37 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/database-management.html 22 Jun 2004 12:53:38 -0000 1.22 @@ -1,4 +1,4 @@ -Chapter�7.�Database Management Table of Contents
+Chapter�7.�Database Management Table of Contents
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
Prev Home Next Diagnosing Performance Problems Up Running a PostgreSQL database on another server
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/db-api-detailed.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api-detailed.html,v diff -u -N -r1.36 -r1.37 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.html 11 Jun 2004 10:17:37 -0000 1.36 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html 22 Jun 2004 12:53:38 -0000 1.37 @@ -1,4 +1,4 @@ -Database Access API By Jon Salz. Revised and expanded by Roberto Mello (rmello at fslc dot usu dot edu), July 2002.
+Database Access API By Jon Salz. Revised and expanded by Roberto Mello (rmello at fslc dot usu dot edu), July 2002.
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
Tcl procedures: /packages/acs-kernel/10-database-procs.tcl
Tcl initialization: /packages/acs-kernel/database-init.tcl
Index: openacs-4/packages/acs-core-docs/www/db-api.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api.html,v diff -u -N -r1.36 -r1.37 --- openacs-4/packages/acs-core-docs/www/db-api.html 11 Jun 2004 10:17:37 -0000 1.36 +++ openacs-4/packages/acs-core-docs/www/db-api.html 22 Jun 2004 12:53:38 -0000 1.37 @@ -1,4 +1,4 @@ -
The OpenACS Database Access API +
The OpenACS Database Access API By Pete Su and Jon Salz. Modified by Roberto Mello.
One of OpenACS's great strengths is that code written for it is Index: openacs-4/packages/acs-core-docs/www/dev-guide.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/dev-guide.html,v diff -u -N -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/dev-guide.html 11 Jun 2004 10:17:37 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/dev-guide.html 22 Jun 2004 12:53:39 -0000 1.26 @@ -1 +1 @@ -
Chapter�11.�Development Reference Table of Contents
- OpenACS Packages
- OpenACS Data Models and the Object System
- The Request Processor
- The OpenACS Database Access API
- Using Templates in OpenACS
- Groups, Context, Permissions
- Writing OpenACS Application Pages
- Parties in OpenACS
- OpenACS Permissions Tediously Explained
- Object Identity
- Programming with AOLserver
- Using HTML Forms
View comments on this page at openacs.org +Chapter�11.�Development Reference Table of Contents
- OpenACS Packages
- OpenACS Data Models and the Object System
- The Request Processor
- The OpenACS Database Access API
- Using Templates in OpenACS
- Groups, Context, Permissions
- Writing OpenACS Application Pages
- Parties in OpenACS
- OpenACS Permissions Tediously Explained
- Object Identity
- Programming with AOLserver
- Using HTML Forms
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/doc-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/doc-standards.html,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-core-docs/www/doc-standards.html 11 Jun 2004 10:17:37 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/doc-standards.html 22 Jun 2004 12:53:39 -0000 1.8 @@ -1 +1 @@ -Chapter�13.�Documentation Standards View comments on this page at openacs.org +Chapter�13.�Documentation Standards View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/docbook-primer.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/docbook-primer.html,v diff -u -N -r1.37 -r1.38 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 11 Jun 2004 10:17:37 -0000 1.37 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 22 Jun 2004 12:53:39 -0000 1.38 @@ -1,4 +1,4 @@ -OpenACS Documentation Guide +
OpenACS Documentation Guide By Claus Rasmussen, with additions by Roberto Mello and the OpenACS Community
@@ -36,7 +36,7 @@ In order to separate content and presentation, all OpenACS documentation will be marked up to conform to the DocBook XML DTD - + This enables us to publish in a variety of formats and relieves each contributor of the burden of presentation, freeing him to focus on content and sharing knowledge. @@ -57,7 +57,7 @@ list of elements and use more exotic features in your documents. The list is made up of SGML-elements but basically the same elements are valid in the XML DTD as long as you remember to: - +
Always close your tags with corresponding end-tags and to not use other tag minimization @@ -106,7 +106,7 @@ The documentation for each package will make up a little "book" that is structured like this - examples are emphasized: - +
book : Docs for one package - templating @@ -130,20 +130,20 @@ sources of these DocBook documents to get an idea of how they are tied together.- + Given that your job starts at the sect1-level, all your documents should open with a <sect1>-tag and end with the corresponding </sect1>.
- + You need to feed every <sect1> two attributes. The first attribute, id, is standard and can be used with all elements. It comes in very handy when interlinking between documents (more about this when talking about links in the section called “Links”). The value of id has to be unique throughout the book you're making since the id's in your sect1's will turn into filenames when the book is parsed into HTML.
- + The other attribute is xreflabel. The value of this is the text that will appear as the link when referring to this sect1.
@@ -158,7 +158,7 @@ </sect1>
- + Inside this container your document will be split up into <sect2>'s, each with the same requirements - id and xreflabel @@ -167,7 +167,7 @@ When it comes to naming your sect2's and below, prefix them with some abbreviation of the id in the sect1 such as requirements-overview.
- + For displaying a snippet of code, a filename or anything else you just want to appear as a part of a sentence, we will use the tag <computeroutput>. @@ -177,12 +177,12 @@ <programlisting> is used. Just wrap your code block in it; mono-spacing, indents and all that stuff is taken care of automatically.
- + Linking falls into two different categories: inside the book you're making and outside:
- 1. Inside linking, cross-referencing other parts of your book
By having unique id's you can cross-reference any part of your book with a simple tag, regardless of where that part is. -
Check out how I link to a subsection of the Developer's Guide:
Put this in your XML:
+Check out how I link to a subsection of the Developer's Guide:
Put this in your XML:
- Find information about creating a package in <xref linkend="packages-making-a-package"></xref>.And the output is:
@@ -206,7 +206,7 @@ packages-looks, the parser will try its best to explain where the link takes you.- 2. Linking outside the documentation
- + If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just a little different @@ -227,7 +227,7 @@ do it, so if you want to start converting your documents right away, start out with the ones without graphics ;)
- + To insert a graphic we use the elements <mediaobject>, <imageobject>, @@ -253,7 +253,7 @@ Put your graphics in a separate directory ("images") and link to them only with relative paths.
- + Here's how you make the DocBook equivalent of the three usual HTML-lists:
- 1. How to make an <ul>
Making an unordered list is pretty much like doing the same thing in HTML - if you close your <li>, that is. The only differences are that each list item has to be wrapped in something more, such as @@ -298,7 +298,7 @@ </variablelist>
- + DocBook supports several types of tables, but in most cases, the <informaltable> is enough: @@ -335,7 +335,7 @@ <table> for an example.
- + Our documentation uses two flavors of emphasis - italics and bold type. DocBook uses one - <emphasis>.
Index: openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html,v diff -u -N -r1.35 -r1.36 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 11 Jun 2004 10:17:37 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 22 Jun 2004 12:53:40 -0000 1.36 @@ -1,4 +1,4 @@ -
Constraint naming standard By Michael Bryzek
+Constraint naming standard By Michael Bryzek
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.Index: openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html,v diff -u -N -r1.35 -r1.36 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 11 Jun 2004 10:17:37 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 22 Jun 2004 12:53:41 -0000 1.36 @@ -1,4 +1,4 @@ -
ACS File Naming and Formatting Standards By Michael Yoon and Aurelius Prochazka
+ACS File Naming and Formatting Standards By Michael Yoon and Aurelius Prochazka
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.Index: openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html,v diff -u -N -r1.36 -r1.37 --- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 11 Jun 2004 10:17:37 -0000 1.36 +++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 22 Jun 2004 12:53:43 -0000 1.37 @@ -1,4 +1,4 @@ -
PL/SQL Standards +
PL/SQL Standards By Richard Li and Yon Feldman
OpenACS docs are written by the named authors, and may be edited Index: openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html,v diff -u -N -r1.36 -r1.37 --- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 11 Jun 2004 10:17:37 -0000 1.36 +++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 22 Jun 2004 12:53:43 -0000 1.37 @@ -1,4 +1,4 @@ -Release Version Numbering By Ron Henderson
Revised by Joel Aufrecht
+Release Version Numbering By Ron Henderson
Revised by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.@@ -59,4 +59,8 @@
So what distinguishes an alpha release from a beta release? Or from a production release? We follow a specific set of rules for how OpenACS makes the transition from one state of maturity to -the next. These rules are fine-tuned with each release; an example is 5.0.0 Milestones and Milestone Criteria
($Id$)View comments on this page at openacs.org +the next. These rules are fine-tuned with each release; an example is 5.0.0 Milestones and Milestone CriteriaDatabase upgrade scripts must be named very precisely in order for the Package Manager to run the correct script at the correct time.
Upgrade scripts should be named /packages/myfirstpackage/sql/postgresql/upgrade/upgrade-OLDVERSION-NEWVERSION.sql
If the version you are working on is a later version than the current released version, OLDVERSION should be the current version. The current version is package version in the APM and in /packages/myfirstpackage/myfirstpackage.info. So if forums is at 2.0.1, OLDVERSION should be 2.0.1d1. Note that this means that new version development that includes an upgrade must start at d2, not d1. +
If you are working on a pre-release version of a package, use the current package version as OLDVERSION. Increment the package version as appropriate (see above) and use the new version as NEWVERSION. For example, if you are working on 2.0.1d3, make it 2.0.1d4 and use upgrade-2.0.1d3-2.0.1d4.sql.
Database upgrades should be confined to development releases, not alpha or beta releases.
+ Never use a final release number as a NEWVERSION. If you do, then it is impossible to add any more database upgrades without incrementing the overall package version.
Use only the d, a, and b letters in OLDVERSION and NEWVERSION. rc is not supported by OpenACS APM.
The distance from OLDVERSION to NEWVERSION should never span a release. For example if we had a bug fix in +acs-kernel on 5.1.0 you wouldn't want a file upgrade-5.0.4-5.1.0d1.sql since if you subsequently need to provide a 5.0.4-5.0.5 upgrade you will have to rename the 5.0.4-5.1.0 upgrade since you can't have upgrades which overlap like that. Instead, use upgrade-5.1.0d1-5.1.0d2.sql +
($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/eng-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards.html,v diff -u -N -r1.21 -r1.22 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 11 Jun 2004 10:17:37 -0000 1.21 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 22 Jun 2004 12:53:44 -0000 1.22 @@ -1 +1 @@ -Chapter�12.�Engineering Standards View comments on this page at openacs.org +Chapter�12.�Engineering Standards View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html,v diff -u -N -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 11 Jun 2004 10:17:37 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 22 Jun 2004 12:53:45 -0000 1.26 @@ -1,4 +1,4 @@ -External Authentication Requirements People have plenty of usernames and passwords already, we +
External Authentication Requirements People have plenty of usernames and passwords already, we don't want them to have yet another. We want people to be able to log in to OpenACS with the same password they use to log in to any other system.
Besides, administrators have better things to do than create @@ -44,7 +44,7 @@ only one implementation of the authentication API, namly the one included in OpenACS Core.
Authentication Driver API: The service contract which authentication drivers implement.
Authentication:
-
Account Management (NO PICTURE YET)
Batch Synchronization (NO PICTURE YET)
Feature Status Description EXT-AUTH-01 A Extend Authentication/Acct Status API EXT-AUTH-03 A Account Creation API EXT-AUTH-05 A Password Management API EXT-AUTH-30 A Authority Management API
Feature Status Description EXT-AUTH-04 A Rewrite login, register, and admin pages to use APIs EXT-AUTH-38 A ad_form complain feature EXT-AUTH-19 A Rewrite password recovery to use API EXT-AUTH-21 A Rewrite email verification with API EXT-AUTH-28 A Username is email switch Users will log in using a username, a authority, and a +
Account Management (NO PICTURE YET)
Batch Synchronization (NO PICTURE YET)
Feature Status Description EXT-AUTH-01 A Extend Authentication/Acct Status API EXT-AUTH-03 A Account Creation API EXT-AUTH-05 A Password Management API EXT-AUTH-30 A Authority Management API
Feature Status Description EXT-AUTH-04 A Rewrite login, register, and admin pages to use APIs EXT-AUTH-38 A ad_form complain feature EXT-AUTH-19 A Rewrite password recovery to use API EXT-AUTH-21 A Rewrite email verification with API EXT-AUTH-28 A Username is email switch Users will log in using a username, a authority, and a password. The authority is the source for user/password verification. OpenACS can be an authority itself.
Each user in OpenACS will belong to exactly one authority, which can either be the "local" OpenACS users table, in which case the Index: openacs-4/packages/acs-core-docs/www/filename.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/filename.html,v diff -u -N -r1.36 -r1.37 --- openacs-4/packages/acs-core-docs/www/filename.html 11 Jun 2004 10:17:37 -0000 1.36 +++ openacs-4/packages/acs-core-docs/www/filename.html 22 Jun 2004 12:53:45 -0000 1.37 @@ -1,4 +1,4 @@ -
Detailed Design Documentation Template By You
+
Detailed Design Documentation Template By You
NOTE: Some of the sections of this template may not apply to your package, e.g. there may be no user-visible UI elements for a component of the OpenACS Core. Furthermore, it may be easier in some circumstances Index: openacs-4/packages/acs-core-docs/www/for-everyone.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/for-everyone.html,v diff -u -N -r1.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/for-everyone.html 11 Jun 2004 10:17:37 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/for-everyone.html 22 Jun 2004 12:53:46 -0000 1.19 @@ -1 +1 @@ -
Part�I.�OpenACS For Everyone
Prev Home Next OpenACS Core Documentation Up Chapter�1.�High level information: What is OpenACS?
docs@openacs.orgView comments on this page at openacs.org +Part�I.�OpenACS For Everyone
Prev Home Next OpenACS Core Documentation Up Chapter�1.�High level information: What is OpenACS?
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/form-builder.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.html,v diff -u -N -r1.15 -r1.16 --- openacs-4/packages/acs-core-docs/www/form-builder.html 11 Jun 2004 10:17:37 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 22 Jun 2004 12:53:46 -0000 1.16 @@ -1,4 +1,4 @@ -Using HTML Forms Some elements have more than one choice, or can submit more than one value.
Creating the form element.�Populate a list of lists with values for the option list.
set foo_options [db_list_of_lists foo_option_list " +Using HTML Forms Some elements have more than one choice, or can submit more than one value.
Creating the form element.�Populate a list of lists with values for the option list.
set foo_options [db_list_of_lists foo_option_list " select foo, foo_id from foos @@ -43,5 +43,5 @@ ns_set print $mypage }Here are some common errors and what to do when you - encounter them:
This generally happens when there is an error in your + encounter them:
($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/general-documents.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/general-documents.html,v diff -u -N -r1.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/general-documents.html 11 Jun 2004 10:17:37 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/general-documents.html 22 Jun 2004 12:53:46 -0000 1.19 @@ -1 +1 @@ -Chapter�1.�High level information: What is OpenACS? Table of Contents
View comments on this page at openacs.org +Chapter�1.�High level information: What is OpenACS? Table of Contents
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/groups-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-design.html,v diff -u -N -r1.23 -r1.24 --- openacs-4/packages/acs-core-docs/www/groups-design.html 11 Jun 2004 10:17:37 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 22 Jun 2004 12:53:46 -0000 1.24 @@ -1,4 +1,4 @@ -Groups Design By Rafael H. Schloming and Mark Thomas
+Groups Design By Rafael H. Schloming and Mark Thomas
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
User directory
Sitewide administrator directory
Subsite administrator directory
TCL script directory
Data model
PL/SQL file
Index: openacs-4/packages/acs-core-docs/www/groups-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-requirements.html,v diff -u -N -r1.23 -r1.24 --- openacs-4/packages/acs-core-docs/www/groups-requirements.html 11 Jun 2004 10:17:37 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 22 Jun 2004 12:53:46 -0000 1.24 @@ -1,223 +1,223 @@ -
Groups Requirements By Rafael H. Schloming, Mark Thomas
+Groups Requirements By Rafael H. Schloming, Mark Thomas
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.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 -the flexibility needed to model complex real-world organizational structures, -particularly to support powerful subsite services; that is, where one OpenACS -installation can support what appears to the user as distinct web services -for different user communities.
A powerful web service that can meet the needs of large enterprises must -be able to model the the real world's very rich organizational structures -and many ways of decomposing the same organization. For example, a -corporation can be broken into structures (the corporation, its divisions, -and their departments) or regions (the Boston office, the LA office); a -person who is employed by (is a member of) a specific department is also a -member of the division and the corporation, and works at (is a member of, but -in a different sense) a particular office. OpenACS's Parties and Groups -system will support such complex relations faithfully.
Historical Motivations
The primary limitation of the OpenACS 3.x user group system is that it -restricts the application developer to representing a "flat group" -that contains only users: The user_groups table may contain the -group_id of a parent group, but parent-child relationship -support is limited because it only allows one kind of relationship between -groups to be represented. Moreover, the Oracle database's limited support -for tree-like structures makes the queries over these relationships -expensive.
In addition, the Module Scoping design in OpenACS 3.0 introduced a -party abstraction - a thing that is a person or a group of people - -though not in the form of an explicit table. Rather, the triple of -scope, user_id, and group_id columns -was used to identify the party. One disadvantage of this design convention is -that it increases a data model's complexity by requiring the programmer -to:
add these three columns to each "scoped" table
define a multi-column check constraint to protect against data corruption -(e.g., a row with a scope value of "group" but a null -group_id)
perform extra checks in Tcl and PL/SQL -functions and procedures to check both the user_id and -group_id values
In sum, the goal of the Parties and Groups system is to -provide OpenACS programmers and site administrators with simple tools that fully -describe the complex relationships that exist among groups in the real -world.
Pat Developer has a client project and wants to model the company, its -offices, its divisions, and its departments as groups and the employees as -users.
We start with Groups, which contain members; the -member can be either a person or another group (i.e. a -member is a party).
In addition to membership, the party and groups system defines a -composition relationship that may exist between groups: A -group can be a component of another group. The child group -is called a component group; the parent group is called a -composite group.
A group Gc can be a member and/or a component -of another group Gp; the difference is in the way -the members of Gc are related to -Gp:
If a party P is a member (or a component) of -Gc and if Gc is a -component of Gp, then P is also -a member (or a component) of Gp
If a party P is a member (or a component) of -Gc and if Gc is a -member of Gp, then no -relationship between P and -Gp exists as a result of the relationship between -Gp and Gp.
Consider an example to make this less abstract: Pretend that the Sierra -Club is a member of Greenpeace. The Sierra Club has chapters; each -chapter is a component of the Sierra Club. If Eddie Environmentalist -is a member of the Massachusetts Chapter of the Sierra Club, Eddie is -automatically a member of the Sierra Club, but being a Sierra Club member -does not make Eddie a member of Greenpeace.
In the OpenACS, Greenpeace, Sierra Club, and the Sierra Club chapters would be -modeled as groups, and Eddie would be a user. There would be a composition -relationship between each Sierra Club chapter and the Sierra Club. Membership -relationships would exist between Eddie and the Massachusetts Chapter, -between Eddie and the Sierra Club (due to Eddie's membership in the -Massachusetts chapter), and between the Sierra Club and Greenpeace.
Membership requirements can vary from group to group. The parties and -groups system must provide a base type that specifies the bare minimum -necessary to join a group.
The parties and groups system must support constraints between a composite -group GP and any of its component groups, -GC. For example, the system should be able to -enforce a rule like: Do not allow a party P to become a -member of GC unless P is already -a member of GP.
The data model for the parties and groups system must provide support for -the following types of entities:
- 10.0 Parties + grouping of users. The OpenACS 4 Parties and Groups system is intended to provide + the flexibility needed to model complex real-world organizational structures, + particularly to support powerful subsite services; that is, where one OpenACS + installation can support what appears to the user as distinct web services + for different user communities.
A powerful web service that can meet the needs of large enterprises must + be able to model the the real world's very rich organizational structures + and many ways of decomposing the same organization. For example, a + corporation can be broken into structures (the corporation, its divisions, + and their departments) or regions (the Boston office, the LA office); a + person who is employed by (is a member of) a specific department is also a + member of the division and the corporation, and works at (is a member of, but + in a different sense) a particular office. OpenACS's Parties and Groups + system will support such complex relations faithfully.
Historical Motivations
The primary limitation of the OpenACS 3.x user group system is that it + restricts the application developer to representing a "flat group" + that contains only users: The user_groups table may contain the + group_id of a parent group, but parent-child relationship + support is limited because it only allows one kind of relationship between + groups to be represented. Moreover, the Oracle database's limited support + for tree-like structures makes the queries over these relationships + expensive.
In addition, the Module Scoping design in OpenACS 3.0 introduced a + party abstraction - a thing that is a person or a group of people - + though not in the form of an explicit table. Rather, the triple of + scope, user_id, and group_id columns + was used to identify the party. One disadvantage of this design convention is + that it increases a data model's complexity by requiring the programmer + to:
add these three columns to each "scoped" table
define a multi-column check constraint to protect against data corruption + (e.g., a row with a scope value of "group" but a null + group_id)
perform extra checks in Tcl and PL/SQL + functions and procedures to check both the user_id and + group_id values
In sum, the goal of the Parties and Groups system is to + provide OpenACS programmers and site administrators with simple tools that fully + describe the complex relationships that exist among groups in the real + world.
Pat Developer has a client project and wants to model the company, its + offices, its divisions, and its departments as groups and the employees as + users.
We start with Groups, which contain members; the + member can be either a person or another group (i.e. a + member is a party).
In addition to membership, the party and groups system defines a + composition relationship that may exist between groups: A + group can be a component of another group. The child group + is called a component group; the parent group is called a + composite group.
A group Gc can be a member and/or a component + of another group Gp; the difference is in the way + the members of Gc are related to + Gp:
If a party P is a member (or a component) of + Gc and if Gc is a + component of Gp, then P is also + a member (or a component) of Gp
If a party P is a member (or a component) of + Gc and if Gc is a + member of Gp, then no + relationship between P and + Gp exists as a result of the relationship between + Gp and Gp.
Consider an example to make this less abstract: Pretend that the Sierra + Club is a member of Greenpeace. The Sierra Club has chapters; each + chapter is a component of the Sierra Club. If Eddie Environmentalist + is a member of the Massachusetts Chapter of the Sierra Club, Eddie is + automatically a member of the Sierra Club, but being a Sierra Club member + does not make Eddie a member of Greenpeace.
In the OpenACS, Greenpeace, Sierra Club, and the Sierra Club chapters would be + modeled as groups, and Eddie would be a user. There would be a composition + relationship between each Sierra Club chapter and the Sierra Club. Membership + relationships would exist between Eddie and the Massachusetts Chapter, + between Eddie and the Sierra Club (due to Eddie's membership in the + Massachusetts chapter), and between the Sierra Club and Greenpeace.
Membership requirements can vary from group to group. The parties and + groups system must provide a base type that specifies the bare minimum + necessary to join a group.
The parties and groups system must support constraints between a composite + group GP and any of its component groups, + GC. For example, the system should be able to + enforce a rule like: Do not allow a party P to become a + member of GC unless P is already + a member of GP.
The data model for the parties and groups system must provide support for + the following types of entities:
- 10.0 Parties -
A party is an entity used to represent either a -group or a person.
The data model should enforce these constraints:
10.10 A party has an email address, which can be -empty.
10.20 A party may have multiple email addresses -associated with it.
10.30 The email address of a party must be unique within -an OpenACS system.
- 20.0 Groups +
A party is an entity used to represent either a + group or a person.
The data model should enforce these constraints:
10.10 A party has an email address, which can be + empty.
10.20 A party may have multiple email addresses + associated with it.
10.30 The email address of a party must be unique within + an OpenACS system.
- 20.0 Groups -
A group is a collection of zero or more parties.
20.10 The data model should support the subclassing of -groups via OpenACS Objects.
- 30.0 Persons +
A group is a collection of zero or more parties.
20.10 The data model should support the subclassing of + groups via OpenACS Objects.
- 30.0 Persons -
A person represents an actual human being, past or -present.
- 40.0 Users +
A person represents an actual human being, past or + present.
- 40.0 Users -
A user is a person who has registered with an OpenACS site. A -user may have additional attributes, such as a screen name.
The data model should enforce these constraints:
40.10 A user must have a non-empty email address.
40.20 Two different users may not have the same email -address on a single OpenACS installation; i.e., an email address identifies a -single user on the system.
40.30 A user may have multiple email addresses; for -example, two or more email addresses may identify a single user.
40.40 A user must have password field which can be -empty.
The data model for the parties and groups system must provide support for -the following types of relationships between entities:
- 50.0 Membership +
A user is a person who has registered with an OpenACS site. A + user may have additional attributes, such as a screen name.
The data model should enforce these constraints:
40.10 A user must have a non-empty email address.
40.20 Two different users may not have the same email + address on a single OpenACS installation; i.e., an email address identifies a + single user on the system.
40.30 A user may have multiple email addresses; for + example, two or more email addresses may identify a single user.
40.40 A user must have password field which can be + empty.
The data model for the parties and groups system must provide support for + the following types of relationships between entities:
- 50.0 Membership -
-A party P is considered a member of a -group G
when a direct membership relationship exists between P -and G
or when there exists a direct membership relationship between -P and some group GC and -GC has a composition relationship (c.f., 60.0) with G.
50.10 A party may be a member of multiple groups.
50.20 A party may be a member of the same group multiple -times only when all the memberships have different types; for example, Jane -may be a member of The Company by being both an Employee and an -Executive.
50.30 A party as a member of itself is not supported.
50.40 The data model must support membership -constraints.
50.50The data model should support the subclassing of -membership via OpenACS Relationships.
- - -60.0 Composition -
A group GC is considered a -component of a second group -GP
when a direct composition relationship exists between -GC and GP
or when there exists a direct composition relationship between -GC and some group Gi -and Gi has a composition relationship with -GP.
60.10A group may be a component of multiple groups.
60.20A group as a component of itself is not -supported.
60.30The data model must support component -constraints.
60.40The data model should support the subclassing of -composition via OpenACS Relationships.
The API should let programmers accomplish the following tasks:
- 70.10 Create a group +
+ A party P is considered a member of a + group G
when a direct membership relationship exists between P + and G
or when there exists a direct membership relationship between + P and some group GC and + GC has a composition relationship (c.f., 60.0) with G.
50.10 A party may be a member of multiple groups.
50.20 A party may be a member of the same group multiple + times only when all the memberships have different types; for example, Jane + may be a member of The Company by being both an Employee and an + Executive.
50.30 A party as a member of itself is not supported.
50.40 The data model must support membership + constraints.
50.50The data model should support the subclassing of + membership via OpenACS Relationships.
- + + 60.0 Composition +
A group GC is considered a + component of a second group + GP
when a direct composition relationship exists between + GC and GP
or when there exists a direct composition relationship between + GC and some group Gi + and Gi has a composition relationship with + GP.
60.10A group may be a component of multiple groups.
60.20A group as a component of itself is not + supported.
60.30The data model must support component + constraints.
60.40The data model should support the subclassing of + composition via OpenACS Relationships.
The API should let programmers accomplish the following tasks:
- 70.10 Create a group -
The parties and groups system provides a well defined API call that -creates a new group by running the appropriate transactions on the parties -and groups system data model. This API is subject to the constraints laid out -in the data model.
- 70.20 Create a person +
The parties and groups system provides a well defined API call that + creates a new group by running the appropriate transactions on the parties + and groups system data model. This API is subject to the constraints laid out + in the data model.
- 70.20 Create a person -
The parties and groups system provides a well defined API call that -creates a new person by running the appropriate transactions on the parties -and groups system data model. This API is subject to the constraints laid out -in the data model.
- 70.30 Create a user +
The parties and groups system provides a well defined API call that + creates a new person by running the appropriate transactions on the parties + and groups system data model. This API is subject to the constraints laid out + in the data model.
- 70.30 Create a user -
The parties and groups system provides a well defined API call that -creates a new user by running the appropriate transactions on the parties and -groups system data model. This API is subject to the constraints laid out in -the data model.
- 80.10 Refine a person to a user +
The parties and groups system provides a well defined API call that + creates a new user by running the appropriate transactions on the parties and + groups system data model. This API is subject to the constraints laid out in + the data model.
- 80.10 Refine a person to a user -
The parties and groups system provides a well defined API call that -creates a new user by running the appropriate transactions on an existing -person entity. This API is subject to the constraints laid out in the data -model.
- 80.30 Demote a user to a person +
The parties and groups system provides a well defined API call that + creates a new user by running the appropriate transactions on an existing + person entity. This API is subject to the constraints laid out in the data + model.
- 80.30 Demote a user to a person -
The parties and groups system provides a well defined API call that -demotes an existing user entity to a person entity by running the appropriate -transactions on the existing user. This API is subject to the constraints -laid out in the data model.
- 90.10 Update a party +
The parties and groups system provides a well defined API call that + demotes an existing user entity to a person entity by running the appropriate + transactions on the existing user. This API is subject to the constraints + laid out in the data model.
- 90.10 Update a party -
The programmer should be able to modify, add, and delete attributes on any -party. This API is subject to the constraints laid out in the data model.
- 95.10 Get the attributes of a party +
The programmer should be able to modify, add, and delete attributes on any + party. This API is subject to the constraints laid out in the data model.
- 95.10 Get the attributes of a party -
The programmer should be able to view the attributes on any party. This -API is subject to the constraints laid out in the data model.
- 100.10 Delete a party +
The programmer should be able to view the attributes on any party. This + API is subject to the constraints laid out in the data model.
- 100.10 Delete a party -
The system provides an API for deleting a party. This API is subject to -the constraints laid out in the data model.
100.30 The system may provide a single API call to remove -the party from all groups and then delete the party.
100.40 In the case of a group, the system may provide a -single API call to remove all parties from a group and then delete the -group.
- 110.0 Add a party as a member of a group +
The system provides an API for deleting a party. This API is subject to + the constraints laid out in the data model.
100.30 The system may provide a single API call to remove + the party from all groups and then delete the party.
100.40 In the case of a group, the system may provide a + single API call to remove all parties from a group and then delete the + group.
- 110.0 Add a party as a member of a group -
The parties and groups system provides an API for adding a party as a -member of a group. This API is subject to the constraints laid out in the -data model.
- 115.0 Add a group as a component of a second group +
The parties and groups system provides an API for adding a party as a + member of a group. This API is subject to the constraints laid out in the + data model.
- 115.0 Add a group as a component of a second group -
The parties and groups system provides an API for adding a group as a -component of a second group. This API is subject to the constraints laid out -in the data model.
- 120.0 Remove a party as a member of a group +
The parties and groups system provides an API for adding a group as a + component of a second group. This API is subject to the constraints laid out + in the data model.
- 120.0 Remove a party as a member of a group -
The parties and groups system provides an API for deleting a party's -membership in a group. This API is subject to the constraints laid out in the -data model.
- 125.0 Remove a group as a component of a second -group +
The parties and groups system provides an API for deleting a party's + membership in a group. This API is subject to the constraints laid out in the + data model.
- 125.0 Remove a group as a component of a second + group -
The parties and groups system provides an API for deleting a group's -composition in a second group. This API is subject to the constraints laid -out in the data model.
- 130.0 Membership check +
The parties and groups system provides an API for deleting a group's + composition in a second group. This API is subject to the constraints laid + out in the data model.
- 130.0 Membership check -
The parties and groups system provides an API for answering the question: -"Is party P a member of group -G?"
- 135.0 Composition check +
The parties and groups system provides an API for answering the question: + "Is party P a member of group + G?"
- 135.0 Composition check -
The parties and groups system provides an API for answering the question: -"Is group GC a component of group -GP?"
- 140.0 Get members query +
The parties and groups system provides an API for answering the question: + "Is group GC a component of group + GP?"
- 140.0 Get members query -
The parties and groups system provides an API for answering the question: -"Which parties are members of group G?"
- 145.0 Get components query +
The parties and groups system provides an API for answering the question: + "Which parties are members of group G?"
- 145.0 Get components query -
The parties and groups system provides an API for answering the question: -"Which groups are components of group G?"
- 150.0 Member-of-groups query +
The parties and groups system provides an API for answering the question: + "Which groups are components of group G?"
- 150.0 Member-of-groups query -
The parties and groups system provides an API for answering the question: -"Of which groups is party P a member?"
- 155.0 Component-of-groups query +
The parties and groups system provides an API for answering the question: + "Of which groups is party P a member?"
- 155.0 Component-of-groups query -
The parties and groups system provides an API for answering the question: -"Of which groups is group G a component?"
- 160.0 Allowed membership check +
The parties and groups system provides an API for answering the question: + "Of which groups is group G a component?"
- 160.0 Allowed membership check -
The parties and groups system provides an API for answering the question: -"Is party P allowed to become a member of group -G?"
- 165.0 Allowed composition check +
The parties and groups system provides an API for answering the question: + "Is party P allowed to become a member of group + G?"
- 165.0 Allowed composition check -
The parties and groups system provides an API for answering the question: -"Is group GC allowed to become a component -of group GP?"
- 170.0 Efficiency +
The parties and groups system provides an API for answering the question: + "Is group GC allowed to become a component + of group GP?"
- 170.0 Efficiency -
Since many pages at a site may check membership in a group before serving -a page (e.g., as part of a general permissions check), the data model must -support the efficient storage and retrieval of party attributes and -membership.
- 180.0 Ease of Use +
Since many pages at a site may check membership in a group before serving + a page (e.g., as part of a general permissions check), the data model must + support the efficient storage and retrieval of party attributes and + membership.
- 180.0 Ease of Use -
Since many SQL queries will check membership in a group as part of the -where clause, whatever mechanism is used to check membership in SQL -should be fairly small and simple.
The user interface is a set of HTML pages that are used to drive the -underlying API. The user interface may provide the following functions:
200.0 Create a party
210.0 View the attributes of a party
220.0 Update the attributes of a party
240.0 Delete a party
250.0 Add a party to a group
260.0 Remove a party from a group
270.0 Perform the membership and composition checks -outlined in 130.x to 165.x
Document Revision # Action Taken, Notes When? By Whom? 0.1 Creation 08/16/2000 Rafael Schloming 0.2 Initial revision 08/19/2000 Mark Thomas 0.3 Edited and reviewed, conforms to requirements template 08/23/2000 Kai Wu 0.4 Further revised, added UI requirements 08/24/2000 Mark Thomas 0.5 Final edits, pending freeze 08/24/2000 Kai Wu 0.6 More revisions, added composition requirements 08/30/2000 Mark Thomas 0.7 More revisions, added composition requirements 09/08/2000 Mark Thomas View comments on this page at openacs.org +Since many SQL queries will check membership in a group as part of the + where clause, whatever mechanism is used to check membership in SQL + should be fairly small and simple.
The user interface is a set of HTML pages that are used to drive the + underlying API. The user interface may provide the following functions:
200.0 Create a party
210.0 View the attributes of a party
220.0 Update the attributes of a party
240.0 Delete a party
250.0 Add a party to a group
260.0 Remove a party from a group
270.0 Perform the membership and composition checks + outlined in 130.x to 165.x
Document Revision # Action Taken, Notes When? By Whom? 0.1 Creation 08/16/2000 Rafael Schloming 0.2 Initial revision 08/19/2000 Mark Thomas 0.3 Edited and reviewed, conforms to requirements template 08/23/2000 Kai Wu 0.4 Further revised, added UI requirements 08/24/2000 Mark Thomas 0.5 Final edits, pending freeze 08/24/2000 Kai Wu 0.6 More revisions, added composition requirements 08/30/2000 Mark Thomas 0.7 More revisions, added composition requirements 09/08/2000 Mark Thomas View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/high-avail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/high-avail.html,v diff -u -N -r1.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/high-avail.html 11 Jun 2004 10:17:37 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/high-avail.html 22 Jun 2004 12:53:47 -0000 1.11 @@ -1 +1 @@ -High Availability/High Performance Configurations
Prev Home Next Running multiple services on one machine Up Staged Deployment for Production Networks
docs@openacs.orgView comments on this page at openacs.org +High Availability/High Performance Configurations
Prev Home Next Running multiple services on one machine Up Staged Deployment for Production Networks
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/how-do-I.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/how-do-I.html,v diff -u -N -r1.13 -r1.14 --- openacs-4/packages/acs-core-docs/www/how-do-I.html 11 Jun 2004 10:17:37 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/how-do-I.html 22 Jun 2004 12:53:47 -0000 1.14 @@ -1,6 +1,6 @@ -How Do I? The easiest way is to install the Edit-This-Page package.
Log in to the web site as an administrator.
Click on Admin > Install Software > Install from OpenACS Repository / Install new application
Choose Edit This Page and install
Follow the instructions within Edit This Page (the link will only work after Edit This Page is installed).
Go to /admin/permissions and grant Create to Registered Users
Suppose you install a new site and install Weblogger, and you want all visitors to see weblogger automatically.
On the front page, click the Admin button.
On the administration page, click Parameters link.
Change the parameter IndexRedirectUrl to be the URI of the desired application. For a default weblogger installation, this would be weblogger/. Note the trailing slash.
Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:
cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-subsite/www/index* /var/lib/aolserver/$OPENACS_SERVICE_NAME/wwwEdit the new index.adp to change the text; you shouldn't need to edit index.tcl unless you are adding new functionality.
Almost all pages on an OpenACS site use ACS Templating, and so their appearance is driven by a layer of different files. Let's examine how this works:
+
How Do I? The easiest way is to install the Edit-This-Page package.
Log in to the web site as an administrator.
Click on Admin > Install Software > Install from OpenACS Repository / Install new application
Choose Edit This Page and install
Follow the instructions within Edit This Page (the link will only work after Edit This Page is installed).
Go to /admin/permissions and grant Create to Registered Users
Suppose you install a new site and install Weblogger, and you want all visitors to see weblogger automatically.
On the front page, click the Admin button.
On the administration page, click Parameters link.
Change the parameter IndexRedirectUrl to be the URI of the desired application. For a default weblogger installation, this would be weblogger/. Note the trailing slash.
Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:
cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-subsite/www/index* /var/lib/aolserver/$OPENACS_SERVICE_NAME/wwwEdit the new index.adp to change the text; you shouldn't need to edit index.tcl unless you are adding new functionality.
Almost all pages on an OpenACS site use ACS Templating, and so their appearance is driven by a layer of different files. Let's examine how this works:
A templated page uses an ADP/TCL pair. The first line in the ADP file is usually:
<master>If it appears exactly like this, without any arguments, the template processer uses default-master for that subsite. For pages in /var/lib/aolserver/$OPENACS_SERVICE_NAME/www, this is /var/lib/aolserver/$OPENACS_SERVICE_NAME/www/default-master.adp and the associated .tcl file. -
The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/site-master.adp and .tcl)
The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/blank-master.adp and .tcl).
Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.
Steps to Reproduce.�The events package does not allow users to register for new events.
Go to the http://yourserver.net/events as a visitor (ie, log out and, if necessary, clear cookies). This in on a 4.6.3 site with events version 0.1d3.
Select an available event
A link such as Registration: Deadline is 03/15/2004 10:00am. +
The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/site-master.adp and .tcl)
The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/blank-master.adp and .tcl).
Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.
Steps to Reproduce.�The events package does not allow users to register for new events.
Go to the http://yourserver.net/events as a visitor (ie, log out and, if necessary, clear cookies). This in on a 4.6.3 site with events version 0.1d3.
Select an available event
A link such as Registration: Deadline is 03/15/2004 10:00am. � Login or sign up to register for this event. is visible. Click on "Login or sign up" -
Complete a new registration. Afterwards, you should be redirected back to the same page.
Actual Results: The page says "You do not have permission to register for this event."
Expected results: A link or form to sign up for the event is shown.
Finding the problem.�We start with the page that has the error. In the URL it's http://myserver.net/events/event-info.tcl, so open the file /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/events/www/event-info.tcl. It contains this line:
set can_register_p [events::security::can_register_for_event_p -event_id $event_id]We need to know what that procedure does, so go to /api-doc, paste events::security::can_register_for_event_p into the ACS Tcl API Search box, and click Feeling Lucky. The next pages shows the proc, and we click "show source" to see more information. The body of the proc is simply
return [permission::permission_p -party_id $user_id -object_id $event_id -privilege write]This means that a given user must have the write privilige on the event in order to register. Let's assume that the priviliges inherit, so that if a user has the write privilige on the whole package, they will have the write privilege on the event.
Setting Permissions.�A permission has three parts: the privilige, the object of the privilige, and the subject being granted the privilige. In this case the privilige is "write," the object is the Events package, and the subject is all Registered Users.
To grant permissions on a package, start at the site map. Find the event package and click "Set permissions".
Click "Grant Permission"
Grant the write permission to Registered Users.
OpenACS 5.0 offers a prettier version at /admin/applications.
View comments on this page at openacs.org +Complete a new registration. Afterwards, you should be redirected back to the same page.
Actual Results: The page says "You do not have permission to register for this event."
Expected results: A link or form to sign up for the event is shown.
Finding the problem.�We start with the page that has the error. In the URL it's http://myserver.net/events/event-info.tcl, so open the file /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/events/www/event-info.tcl. It contains this line:
set can_register_p [events::security::can_register_for_event_p -event_id $event_id]We need to know what that procedure does, so go to /api-doc, paste events::security::can_register_for_event_p into the ACS Tcl API Search box, and click Feeling Lucky. The next pages shows the proc, and we click "show source" to see more information. The body of the proc is simply
return [permission::permission_p -party_id $user_id -object_id $event_id -privilege write]This means that a given user must have the write privilige on the event in order to register. Let's assume that the priviliges inherit, so that if a user has the write privilige on the whole package, they will have the write privilege on the event.
Setting Permissions.�A permission has three parts: the privilige, the object of the privilige, and the subject being granted the privilige. In this case the privilige is "write," the object is the Events package, and the subject is all Registered Users.
To grant permissions on a package, start at the site map. Find the event package and click "Set permissions".
Click "Grant Permission"
Grant the write permission to Registered Users.
OpenACS 5.0 offers a prettier version at /admin/applications.
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/i18n-convert.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-convert.html,v diff -u -N -r1.11 -r1.12 --- openacs-4/packages/acs-core-docs/www/i18n-convert.html 11 Jun 2004 10:17:37 -0000 1.11 +++ openacs-4/packages/acs-core-docs/www/i18n-convert.html 22 Jun 2004 12:53:47 -0000 1.12 @@ -1,4 +1,4 @@ -How to Internationalize a Package Tip
+
How to Internationalize a Package Tip
For multilingual websites we recommend using the UTF8 charset. In order for AOLserver to use utf8 you need to set the config parameters OutputCharset and @@ -71,7 +71,7 @@ test. If you don't provide the package_key argument then all packages with catalog files will be checked. The script will run its checks primarily on en_US xml catalog files. -
Replace complicated keys with longer, simpler keys.�When writing in one language, it is possible to create clever code to make correct text. In English, for example, you can put an if command at the end of a word which adds "s" if a count is anything but 1. This pluralizes nouns correctly based on the data. However, it is confusing to read and, when internationalized, may result in message keys that are both confusing and impossible to set correctly in some languages. While internationalizing, watch out that the automate converter does not create such keys. Also, refactor compound text as you encounter it.
The automated system can easily get confused by tags within message texts, so that it tries to create two or three message keys for one long string with a tag in the middle. In these cases, uncheck those keys during the conversion and then edit the files directly. For example, this code:
<p class="form-help-text"><b>Invitations</b> are sent, +
Replace complicated keys with longer, simpler keys.�When writing in one language, it is possible to create clever code to make correct text. In English, for example, you can put an if command at the end of a word which adds "s" if a count is anything but 1. This pluralizes nouns correctly based on the data. However, it is confusing to read and, when internationalized, may result in message keys that are both confusing and impossible to set correctly in some languages. While internationalizing, watch out that the automate converter does not create such keys. Also, refactor compound text as you encounter it.
The automated system can easily get confused by tags within message texts, so that it tries to create two or three message keys for one long string with a tag in the middle. In these cases, uncheck those keys during the conversion and then edit the files directly. For example, this code:
<p class="form-help-text"><b>Invitations</b> are sent, when this wizard is completed and casting begins.</p>has a bold tag which confuses the converter into thinking there are two message keys for the text beginning "Invitations ..." where there should be one:
Instead, we cancel those keys, edit the file manually, and put in a single temporary message tag:
<p class="form-help-text"> <#Invitations_are_sent <b>Invitations</b> are sent, when this wizard is completed and casting begins.#> </p>Complex if statements may produce convoluted message keys that are very hard to localize. Rewrite these if statements. For example:
Select which case <if @simulation.casting_type@ eq "open">and Index: openacs-4/packages/acs-core-docs/www/i18n-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-design.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/i18n-design.html 11 Jun 2004 10:17:37 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/i18n-design.html 22 Jun 2004 12:53:47 -0000 1.6 @@ -1,2 +1,2 @@ -Design Notes User locale is a property of ad_conn, ad_conn locale. The request processor sets this by calling lang::conn::locale, which looks for the following in order of precedence:
Use user preference for this package (stored in ad_locale_user_prefs)
Use system preference for the package (stored in apm_packages)
Use user's general preference (stored in user_preferences)
Use Browser header (Accept-Language HTTP header)
Use system locale (an APM parameter for acs_lang)
default to en_US
For ADP pages, message key lookup occurs in the templating engine. For TCL pages, message key lookup happens with the _ function. In both cases, if the requested locale is not found but a locale which is the default for the language which matches your locale's language is +
Design Notes User locale is a property of ad_conn, ad_conn locale. The request processor sets this by calling lang::conn::locale, which looks for the following in order of precedence:
Use user preference for this package (stored in ad_locale_user_prefs)
Use system preference for the package (stored in apm_packages)
Use user's general preference (stored in user_preferences)
Use Browser header (Accept-Language HTTP header)
Use system locale (an APM parameter for acs_lang)
default to en_US
For ADP pages, message key lookup occurs in the templating engine. For TCL pages, message key lookup happens with the _ function. In both cases, if the requested locale is not found but a locale which is the default for the language which matches your locale's language is found, then that locale is offered instead.
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/i18n-introduction.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-introduction.html,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-core-docs/www/i18n-introduction.html 11 Jun 2004 10:17:37 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/i18n-introduction.html 22 Jun 2004 12:53:47 -0000 1.8 @@ -1,4 +1,4 @@ -How Internationalization/Localization works in OpenACS +
How Internationalization/Localization works in OpenACS This document describes how to develop internationalized OpenACS packages, including writing new packages with internationalization and converting old packages. Text that @@ -209,4 +209,4 @@
Developers are responsible for creating the keys in the message catalog, which is available at /acs-lang/admin/ -
Prev Home Next Internationalization and Localization Up How to Internationalize a Package
docs@openacs.orgView comments on this page at openacs.org +
Prev Home Next Internationalization and Localization Overview Up How to Internationalize a Package
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/i18n-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-overview.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/i18n-overview.html 11 Jun 2004 10:17:37 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/i18n-overview.html 22 Jun 2004 12:53:47 -0000 1.6 @@ -1 +1 @@ -Internationalization and Localization Table�14.1.�Internationalization and Localization
Stage Task Who Internationalization Package Developer uses the acs-lang tools to replace all visible text in a package with message keys. (More information) Package Developer Release Management The newly internationalized package is released. Package Developer The translation server is updated with the new package. Translation server maintainers Localization Translators work in their respective locales to write text for each message key. (More information) Translators Release Management The translated text in the database of the translation server is compared to the current translations in the OpenACS code base, conflicts are resolved, and the new text is written to catalog files on the translation server. Translation server maintainers The catalog files are committed to the OpenACS code base. Translation server maintainers A new version of OpenACS core and/or affected packages is released and published in the OpenACS.org repository. Release Manager Upgrading Site Administrators upgrade their OpenACS sites, either via the automatic upgrade from the Repository or via tarball or CVS Site Administrators Site Administrators import the new translations. Existing local translations, if they exist, are not overwritten. Site Administrators
Prev Home Next Chapter�14.�Internationalization Up How Internationalization/Localization works in OpenACS
docs@openacs.orgView comments on this page at openacs.org +Internationalization and Localization Overview Table�14.1.�Internationalization and Localization Overview
Stage Task Who Internationalization Package Developer uses the acs-lang tools to replace all visible text in a package with message keys. (More information) Package Developer Release Management The newly internationalized package is released. Package Developer The translation server is updated with the new package. Translation server maintainers Localization Translators work in their respective locales to write text for each message key. (More information) Translators Release Management The translated text in the database of the translation server is compared to the current translations in the OpenACS code base, conflicts are resolved, and the new text is written to catalog files on the translation server. Translation server maintainers The catalog files are committed to the OpenACS code base. Translation server maintainers A new version of OpenACS core and/or affected packages is released and published in the OpenACS.org repository. Release Manager Upgrading Site Administrators upgrade their OpenACS sites, either via the automatic upgrade from the Repository or via tarball or CVS Site Administrators Site Administrators import the new translations. Existing local translations, if they exist, are not overwritten. Site Administrators
Prev Home Next Chapter�14.�Internationalization Up How Internationalization/Localization works in OpenACS
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/i18n-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-requirements.html,v diff -u -N -r1.15 -r1.16 --- openacs-4/packages/acs-core-docs/www/i18n-requirements.html 11 Jun 2004 10:17:37 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/i18n-requirements.html 22 Jun 2004 12:53:47 -0000 1.16 @@ -1,4 +1,4 @@ -OpenACS Internationalization Requirements by Henry Minsky, +
OpenACS Internationalization Requirements by Henry Minsky, Yon Feldman, Lars Pind, Peter Marklund, Index: openacs-4/packages/acs-core-docs/www/i18n-translators.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-translators.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/i18n-translators.html 11 Jun 2004 10:17:37 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/i18n-translators.html 22 Jun 2004 12:53:47 -0000 1.6 @@ -1 +1 @@ -
Translator's Guide Most translators use the OpenACS Public Translation Server, because the process of getting new message keys onto the server and getting new translations back into the distribution are handled by the maintainers of that machine. You can also do translation work on your own OpenACS site; this makes your own translations more readily available to you but also means that your work will not be shared with other users unless you take extra steps (contacting an OpenACS core developer or submitting a patch) to get your work back to the OpenACS core.
The basic steps for translators:
Go to the Localization page and choose the locale that you are translating to. If the locale is not present you need to visit Administration of Localization and create the locale.
Translating with Translator Mode.�To translate messages in the pages they appear, Toggle Translator Mode and then browse to the page you want to translate. Untranslated messages will have a yellow background and a red star that you click to translate the message. Translated messages have a green star next to them that is a hyperlink to editing your translation. There is a history mechanism that allows you to see previous translations in case you would want to revert a translation.
While in Translator mode, a list of all message keys appears at the bottom of each page.
Batch translation.�To translate many messages at once, go to Administration of Localization, click on the locale to translate, then click on a package, and then click Batch edit these messages.
When creating a new locale based on an existing one, such as creating the Guatamalan version of Spanish, you can copy the existing locale's catalog files using the script /packages/acs-core-docs/www/files/create-new-catalog.sh.
View comments on this page at openacs.org +Translator's Guide Most translators use the OpenACS Public Translation Server, because the process of getting new message keys onto the server and getting new translations back into the distribution are handled by the maintainers of that machine. You can also do translation work on your own OpenACS site; this makes your own translations more readily available to you but also means that your work will not be shared with other users unless you take extra steps (contacting an OpenACS core developer or submitting a patch) to get your work back to the OpenACS core.
The basic steps for translators:
Go to the Localization page and choose the locale that you are translating to. If the locale is not present you need to visit Administration of Localization and create the locale.
Translating with Translator Mode.�To translate messages in the pages they appear, Toggle Translator Mode and then browse to the page you want to translate. Untranslated messages will have a yellow background and a red star that you click to translate the message. Translated messages have a green star next to them that is a hyperlink to editing your translation. There is a history mechanism that allows you to see previous translations in case you would want to revert a translation.
While in Translator mode, a list of all message keys appears at the bottom of each page.
Batch translation.�To translate many messages at once, go to Administration of Localization, click on the locale to translate, then click on a package, and then click Batch edit these messages.
When creating a new locale based on an existing one, such as creating the Guatamalan version of Spanish, you can copy the existing locale's catalog files using the script /packages/acs-core-docs/www/files/create-new-catalog.sh.
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/i18n.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n.html,v diff -u -N -r1.23 -r1.24 --- openacs-4/packages/acs-core-docs/www/i18n.html 11 Jun 2004 10:17:37 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/i18n.html 22 Jun 2004 12:53:47 -0000 1.24 @@ -1,7 +1,7 @@ -Chapter�14.�Internationalization Table of Contents
+
Chapter�14.�Internationalization Table of Contents
By Peter Marklund and Lars Pind
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -
Prev Home Next System/Application Requirements Template Up Internationalization and Localization
docs@openacs.orgView comments on this page at openacs.org +
Prev Home Next System/Application Requirements Template Up Internationalization and Localization Overview
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.html,v diff -u -N -r1.38 -r1.39 --- openacs-4/packages/acs-core-docs/www/index.html 11 Jun 2004 10:17:37 -0000 1.38 +++ openacs-4/packages/acs-core-docs/www/index.html 22 Jun 2004 12:53:48 -0000 1.39 @@ -1 +1 @@ -OpenACS Core Documentation Table of Contents
- I. OpenACS For Everyone
- II. Administrator's Guide
- 2. Installation Overview
- 3. Complete Installation
- 4. Configuring a new OpenACS Site
- 5. Upgrading
- 6. Production Environments
- Starting and Stopping an OpenACS instance.
- AOLserver keepalive with inittab
- Running multiple services on one machine
- High Availability/High Performance Configurations
- Staged Deployment for Production Networks
- Installing SSL Support for an OpenACS service
- Set up Log Analysis Reports
- External uptime validation
- Diagnosing Performance Problems
- 7. Database Management
- 8. Backup and Recovery
- A. Install Red Hat 8/9
- B. Install additional supporting software
- Unpack the OpenACS tarball
- Initialize CVS (OPTIONAL)
- Add PSGML commands to emacs init file (OPTIONAL)
- Install Daemontools (OPTIONAL)
- Install qmail (OPTIONAL)
- Install Analog web file analyzer
- Install nspam
- Install Full Text Search
- Install nsopenssl
- Install tclwebtest.
- Install PHP for use in AOLserver
- Install Squirrelmail for use as a webmail system for OpenACS
- Install AOLserver 3.3oacs1
- A. Credits
- III. For OpenACS Package Developers
- 1. Development Tutorial
- 2. Advanced Topics
- 3. Development Reference
- OpenACS Packages
- OpenACS Data Models and the Object System
- The Request Processor
- The OpenACS Database Access API
- Using Templates in OpenACS
- Groups, Context, Permissions
- Writing OpenACS Application Pages
- Parties in OpenACS
- OpenACS Permissions Tediously Explained
- Object Identity
- Programming with AOLserver
- Using HTML Forms
- 4. Engineering Standards
- 5. Documentation Standards
- 6. Internationalization
- B. Using CVS with an OpenACS Site
- IV. For OpenACS Platform Developers
- 7. Kernel Documentation
- Overview
- Object Model Requirements
- Object Model Design
- Permissions Requirements
- Permissions Design
- Groups Requirements
- Groups Design
- Subsites Requirements
- Subsites Design Document
- Package Manager Requirements
- Package Manager Design
- Database Access API
- OpenACS Internationalization Requirements
- Security Requirements
- Security Design
- Security Notes
- Request Processor Requirements
- Request Processor Design
- Documenting Tcl Files: Page Contracts and Libraries
- Bootstrapping OpenACS
- External Authentication Requirements
- 8. Releasing OpenACS
- Index
List of Figures
- 4.1. Site Templates
- 4.2. Granting Permissions
- 4.3. Granting Permissions in 5.0
- 5.1. Upgrading with the APM
- 5.2. Upgrading a local CVS repository
- 6.1. Multiple-server configuration
- 6.2. Simple A/B Deployment - Step 1
- 6.3. Simple A/B Deployment - Step 2
- 6.4. Simple A/B Deployment - Step 3
- 6.5. Complex A/B Deployment - Step 1
- 6.6. Complex A/B Deployment - Step 2
- 6.7. Complex A/B Deployment - Step 3
- 6.8. Query Analysis example
- 8.1. Backup and Recovery Strategy
- 1.1. Assumptions in this section
- 1.2. Tutorial Data Model
- 1.3. The Database Creation Script
- 1.4. Database Deletion Script
- 1.5. Page Map
- 2.1. Upgrading a local CVS repository
List of Tables
List of Examples
View comments on this page at openacs.org +OpenACS Core Documentation Table of Contents
- I. OpenACS For Everyone
- II. Administrator's Guide
- 2. Installation Overview
- 3. Complete Installation
- 4. Configuring a new OpenACS Site
- 5. Upgrading
- 6. Production Environments
- Starting and Stopping an OpenACS instance.
- AOLserver keepalive with inittab
- Running multiple services on one machine
- High Availability/High Performance Configurations
- Staged Deployment for Production Networks
- Installing SSL Support for an OpenACS service
- Set up Log Analysis Reports
- External uptime validation
- Diagnosing Performance Problems
- 7. Database Management
- 8. Backup and Recovery
- A. Install Red Hat 8/9
- B. Install additional supporting software
- Unpack the OpenACS tarball
- Initialize CVS (OPTIONAL)
- Add PSGML commands to emacs init file (OPTIONAL)
- Install Daemontools (OPTIONAL)
- Install qmail (OPTIONAL)
- Install Analog web file analyzer
- Install nspam
- Install Full Text Search
- Install nsopenssl
- Install tclwebtest.
- Install PHP for use in AOLserver
- Install Squirrelmail for use as a webmail system for OpenACS
- Install AOLserver 3.3oacs1
- C. Credits
- III. For OpenACS Package Developers
- 9. Development Tutorial
- 10. Advanced Topics
- 11. Development Reference
- OpenACS Packages
- OpenACS Data Models and the Object System
- The Request Processor
- The OpenACS Database Access API
- Using Templates in OpenACS
- Groups, Context, Permissions
- Writing OpenACS Application Pages
- Parties in OpenACS
- OpenACS Permissions Tediously Explained
- Object Identity
- Programming with AOLserver
- Using HTML Forms
- 12. Engineering Standards
- 13. Documentation Standards
- 14. Internationalization
- D. Using CVS with an OpenACS Site
- IV. For OpenACS Platform Developers
- 15. Kernel Documentation
- Overview
- Object Model Requirements
- Object Model Design
- Permissions Requirements
- Permissions Design
- Groups Requirements
- Groups Design
- Subsites Requirements
- Subsites Design Document
- Package Manager Requirements
- Package Manager Design
- Database Access API
- OpenACS Internationalization Requirements
- Security Requirements
- Security Design
- Security Notes
- Request Processor Requirements
- Request Processor Design
- Documenting Tcl Files: Page Contracts and Libraries
- Bootstrapping OpenACS
- External Authentication Requirements
- 16. Releasing OpenACS
- Index
List of Figures
- 4.1. Site Templates
- 4.2. Granting Permissions
- 4.3. Granting Permissions in 5.0
- 5.1. Upgrading with the APM
- 5.2. Upgrading a local CVS repository
- 6.1. Multiple-server configuration
- 6.2. Simple A/B Deployment - Step 1
- 6.3. Simple A/B Deployment - Step 2
- 6.4. Simple A/B Deployment - Step 3
- 6.5. Complex A/B Deployment - Step 1
- 6.6. Complex A/B Deployment - Step 2
- 6.7. Complex A/B Deployment - Step 3
- 6.8. Query Analysis example
- 8.1. Backup and Recovery Strategy
- 9.1. Assumptions in this section
- 9.2. Tutorial Data Model
- 9.3. The Database Creation Script
- 9.4. Database Deletion Script
- 9.5. Page Map
- 10.1. Upgrading a local CVS repository
List of Tables
List of Examples
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/individual-programs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/individual-programs.html,v diff -u -N -r1.22 -r1.23 --- openacs-4/packages/acs-core-docs/www/individual-programs.html 11 Jun 2004 10:17:37 -0000 1.22 +++ openacs-4/packages/acs-core-docs/www/individual-programs.html 22 Jun 2004 12:53:50 -0000 1.23 @@ -1,12 +1,12 @@ -Prerequisite Software +Prerequisite Software OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.OpenACS requires, at a minimum, an operating system, database, and webserver. Many additional programs, such as a Mail Transport Agent and source control system, are also needed for a fully effective instance. -
Table�2.2.�Version Compatibility Matrix
OpenACS Version 3.2.5 4.5 4.6 4.6.1 4.6.2 4.6.3 5.0 5.1 AOLserver 3 Yes No 3.3+ad13 Maybe Yes 3.3oacs1 Maybe Yes 3.4.2 No 3.4.2oacs1 Maybe Yes Maybe 3.5.5 Maybe Yes No 4.0 Maybe Yes � � � � � � � � PostgreSQL 7.0 Yes No � � � � � � � � 7.2 � Yes No 7.3.2 - 7.3.x No Yes � � � � � � � � 7.4 No Maybe Oracle 8.1.6 Maybe Yes � � � � � � � � 8.1.7 Maybe Yes � � � � � � � � 9i No Yes
OpenACS 5.2.0d1.�The OpenACS tarball comprises the core packages and +
Table�2.2.�Version Compatibility Matrix
OpenACS Version 3.2.5 4.5 4.6 4.6.1 4.6.2 4.6.3 5.0 5.1 AOLserver 3 Yes No 3.3+ad13 Maybe Yes 3.3oacs1 Maybe Yes 3.4.2 No 3.4.2oacs1 Maybe Yes Maybe 3.5.5 Maybe Yes No 4.0 Maybe Yes PostgreSQL 7.0 Yes No 7.2 � Yes No 7.3.2 - 7.3.x No Yes 7.4 No Maybe Oracle 8.1.6 Maybe Yes 8.1.7 Maybe Yes 9i No Yes
OpenACS 5.2.0d1.�The OpenACS tarball comprises the core packages and many useful additional packages. This includes a full set of documentation. The tarball works with both PostgreSQL and Oracle.
Operating System.�OpenACS is designed for a Unix-like system. It is Index: openacs-4/packages/acs-core-docs/www/install-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-cvs.html,v diff -u -N -r1.26 -r1.27 --- openacs-4/packages/acs-core-docs/www/install-cvs.html 11 Jun 2004 10:17:37 -0000 1.26 +++ openacs-4/packages/acs-core-docs/www/install-cvs.html 22 Jun 2004 12:53:51 -0000 1.27 @@ -1,4 +1,4 @@ -
Initialize CVS (OPTIONAL) CVS is a source control system. Create and initialize a +
Initialize CVS (OPTIONAL) CVS is a source control system. Create and initialize a directory for a local cvs repository.
[root tmp]# mkdir /cvsroot [root tmp]# cvs -d /cvsroot init [root tmp]# Index: openacs-4/packages/acs-core-docs/www/install-daemontools.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.html,v diff -u -N -r1.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/install-daemontools.html 11 Jun 2004 10:17:37 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/install-daemontools.html 22 Jun 2004 12:53:51 -0000 1.28 @@ -1,9 +1,9 @@ -Install Daemontools (OPTIONAL) Daemontools is a collection of programs for controlling +
Install Daemontools (OPTIONAL) Daemontools is a collection of programs for controlling other processes. We use daemontools to run and monitor AOLserver. It is installed in /package. These commands install daemontools and svgroup. svgroup is a script for granting permissions, to allow users other than root to use daemontools for specific - services.
Install Daemontools
download daemontools and install it.
Red Hat 8
[root root]# mkdir -p /package + services.
Install Daemontools
download daemontools and install it.
Red Hat 8
[root root]# mkdir -p /package [root root]# chmod 1755 /package/ [root root]# cd /package/ [root package]# tar xzf /tmp/daemontools-0.76.tar.gz Index: openacs-4/packages/acs-core-docs/www/install-full-text-search.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/install-full-text-search.html,v diff -u -N -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/install-full-text-search.html 11 Jun 2004 10:17:37 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/install-full-text-search.html 22 Jun 2004 12:53:51 -0000 1.26 @@ -1,7 +1,7 @@ -Install Full Text Search By Joel Aufrecht and Malte Sussdorff
+Install Full Text Search By Joel Aufrecht and Malte Sussdorff
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and +
If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and AOLserver. You will need the openfts tarball in /tmp.
Install Tsearch. This is a PostgreSQL module that OpenFTS requires.
[root root]# su - postgres @@ -76,7 +76,7 @@ make su postgres make install -exitIf you are installing Full Text Search, add required packages to the new database. (In order for full text search to work, you must also install the PostgreSQL OpenFTS module and prerequisites.)
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ /usr/local/pgsql/bin/psql $OPENACS_SERVICE_NAME -f /usr/local/src/postgresql-7.3.4/contrib/tsearch/tsearch.sql Index: openacs-4/packages/acs-core-docs/www/install-more-software.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-more-software.html,v diff -u -N -r1.12 -r1.13 --- openacs-4/packages/acs-core-docs/www/install-more-software.html 11 Jun 2004 10:17:37 -0000 1.12 +++ openacs-4/packages/acs-core-docs/www/install-more-software.html 22 Jun 2004 12:53:52 -0000 1.13 @@ -1,4 +1,4 @@ -Appendix�B.�Install additional supporting software Table of Contents
- Unpack the OpenACS tarball
- Initialize CVS (OPTIONAL)
- Add PSGML commands to emacs init file (OPTIONAL)
- Install Daemontools (OPTIONAL)
- Install qmail (OPTIONAL)
- Install Analog web file analyzer
- Install nspam
- Install Full Text Search
- Install nsopenssl
- Install tclwebtest.
- Install PHP for use in AOLserver
- Install Squirrelmail for use as a webmail system for OpenACS
- Install AOLserver 3.3oacs1
+Appendix�B.�Install additional supporting software Table of Contents
- Unpack the OpenACS tarball
- Initialize CVS (OPTIONAL)
- Add PSGML commands to emacs init file (OPTIONAL)
- Install Daemontools (OPTIONAL)
- Install qmail (OPTIONAL)
- Install Analog web file analyzer
- Install nspam
- Install Full Text Search
- Install nsopenssl
- Install tclwebtest.
- Install PHP for use in AOLserver
- Install Squirrelmail for use as a webmail system for OpenACS
- Install AOLserver 3.3oacs1
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.This section assumes that the source tarballs for supporting Index: openacs-4/packages/acs-core-docs/www/install-next-add-server.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-add-server.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/install-next-add-server.html 11 Jun 2004 10:17:37 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/install-next-add-server.html 22 Jun 2004 12:53:52 -0000 1.6 @@ -1,4 +1,4 @@ -
Running multiple services on one machine Services on different ports.�To run a different service on another port but the same +
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 5.2.0d1 replacing $OPENACS_SERVICE_NAME, and change the
set httpport 8000 Index: openacs-4/packages/acs-core-docs/www/install-next-backups.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-backups.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/install-next-backups.html 11 Jun 2004 10:17:37 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/install-next-backups.html 22 Jun 2004 12:53:52 -0000 1.4 @@ -1,4 +1,4 @@ -Backup Strategy +
Backup Strategy The purpose of backup is to enable recovery. Backup and recovery are always risky; here are some steps that minimize the chance recovery is necessary: Index: openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html,v diff -u -N -r1.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html 11 Jun 2004 10:17:37 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html 22 Jun 2004 12:53:52 -0000 1.11 @@ -1,4 +1,4 @@ -
Vacuum Postgres nightly +
Vacuum Postgres nightly The "vacuum" command must be run periodically to reclaim space in versions of PostgreSQL before 7.4. The "vacuum analyze" form additionally collects statistics on the Index: openacs-4/packages/acs-core-docs/www/install-nsopenssl.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nsopenssl.html,v diff -u -N -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 11 Jun 2004 10:17:37 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 22 Jun 2004 12:53:52 -0000 1.17 @@ -1,4 +1,4 @@ -
Install nsopenssl By Joel Aufrecht and Malte Sussdorff
+Install nsopenssl By Joel Aufrecht and Malte Sussdorff
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.This AOLserver module is required if you want people to connect to your site via Index: openacs-4/packages/acs-core-docs/www/install-nspam.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nspam.html,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-core-docs/www/install-nspam.html 11 Jun 2004 10:17:37 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/install-nspam.html 22 Jun 2004 12:53:52 -0000 1.8 @@ -1 +1 @@ -
Install nspam View comments on this page at openacs.org +Install nspam View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html 11 Jun 2004 10:17:37 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html 22 Jun 2004 12:53:52 -0000 1.4 @@ -1,4 +1,4 @@ -Deleting a tablespace Skip down for instructions on Deleting a PostgreSQL tablespace. +
Deleting a tablespace Skip down for instructions on Deleting a PostgreSQL tablespace.
Should it become necessary to rebuild a tablespace from scratch, you can use the drop user command Index: openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html 11 Jun 2004 10:17:37 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html 22 Jun 2004 12:53:52 -0000 1.4 @@ -1,4 +1,4 @@ -
AOLserver keepalive with inittab This is an alternative method for keeping the AOLserver +
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 Index: openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html,v diff -u -N -r1.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html 11 Jun 2004 10:17:37 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html 22 Jun 2004 12:53:52 -0000 1.11 @@ -1,4 +1,4 @@ -
Starting and Stopping an OpenACS instance. The simplest way to start and stop and OpenACS site is to run the startup shell script provided, /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools/run. This runs as a regular task, and logs to the logfile. To stop the site, kill the script.
A more stable way to run OpenACS is with a "keepalive" mechanism of some sort, so that whenever the server halts or is stopped for a reset, it restarts automatically. This is recommended for development and production servers.
The Reference Platform uses Daemontools to control AOLserver. A simpler method, using init, is here.
Daemontools must already be installed. If not, install it.
Each service controlled by daemontools must have a +
Starting and Stopping an OpenACS instance. The simplest way to start and stop and OpenACS site is to run the startup shell script provided, /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools/run. This runs as a regular task, and logs to the logfile. To stop the site, kill the script.
A more stable way to run OpenACS is with a "keepalive" mechanism of some sort, so that whenever the server halts or is stopped for a reset, it restarts automatically. This is recommended for development and production servers.
The Reference Platform uses Daemontools to control AOLserver. A simpler method, using init, is here.
Daemontools must already be installed. If not, install it.
Each service controlled by daemontools must have a directory in /service. That directory must have a file called run. It works like this:
The init program starts every @@ -63,6 +63,6 @@ Most of this information comes from Tom Jackson's AOLserver+Daemontools Mini-HOWTO. -
Table�6.1.�How it Works
Program Invoked by this program ... ... using this file Where to find errors Log goes to Use these commands to control it svscanboot + Table�6.1.�How it Works
Program Invoked by this program ... ... using this file Where to find errors Log goes to Use these commands to control it svscanboot init /etc/inittab ps -auxw | grep readproctitle n/a � aolserver supervise (a child of svscanboot) /service/$OPENACS_SERVICE_NAME/run /var/lib/aolserver/$OPENACS_SERVICE_NAME/log/error.log /var/lib/aolserver/$OPENACS_SERVICE_NAME/log/$OPENACS_SERVICE_NAME.log svc -k /service/$OPENACS_SERVICE_NAME postgresql Redhat init scripts during boot /etc/init.d/postgresql /usr/local/pgsql/data/server.log � service postgresql start (Red Hat), /etc/init.d/postgresql start (Debian)
Prev Home Next Chapter�6.�Production Environments Up AOLserver keepalive with inittab
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-origins.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-origins.html,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-core-docs/www/install-origins.html 11 Jun 2004 10:17:37 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/install-origins.html 22 Jun 2004 12:53:52 -0000 1.8 @@ -1,4 +1,4 @@ -Where did this document come from? +
Where did this document come from? This document was created by Vinod Kurup, but it's really just plagiarism from a number of documents that came before it. If I've used something that you've written without proper credit, let me Index: openacs-4/packages/acs-core-docs/www/install-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-overview.html,v diff -u -N -r1.23 -r1.24 --- openacs-4/packages/acs-core-docs/www/install-overview.html 11 Jun 2004 10:17:37 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/install-overview.html 22 Jun 2004 12:53:52 -0000 1.24 @@ -1,4 +1,4 @@ -
Chapter�2.�Installation Overview Table of Contents
by Vinod Kurup
+Chapter�2.�Installation Overview Table of Contents
by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-php.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-php.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/install-php.html 11 Jun 2004 10:17:37 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/install-php.html 22 Jun 2004 12:53:53 -0000 1.6 @@ -1,4 +1,4 @@ -Install PHP for use in AOLserver +Install PHP for use in AOLserver OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.To be able to use PHP software with AOLserver (and OpenACS), you have to install PHP with AOLserver support. Get the latest version from www.php.net. For convenience we get version 4.3.4 from a mirror
[root root]# cd /usr/local/src Index: openacs-4/packages/acs-core-docs/www/install-qmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-qmail.html,v diff -u -N -r1.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/install-qmail.html 11 Jun 2004 10:17:37 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/install-qmail.html 22 Jun 2004 12:53:53 -0000 1.28 @@ -1,4 +1,4 @@ -Install qmail (OPTIONAL) Qmail is a Mail Transfer Agent. It handles incoming and +
Install qmail (OPTIONAL) Qmail is a Mail Transfer Agent. It handles incoming and outgoing mail. Install qmail if you want your OpenACS server to send and receive mail, and you don't want to use an alternate MTA.
Red Hat 9: all djb tools (qmail, daemontools, ucspi) will @@ -29,7 +29,7 @@ tcpserver: usage: tcpserver [ -1UXpPhHrRoOdDqQv ] [ -c limit ] [ -x rules.cdb ] [ -B banner ] [ -g gid ] [ -u uid ] [ -b backlog ] [ -l localname ] [ -t timeout ] host port program [root ucspi-tcp-0.88]# -
(I'm not sure if this next step is 100% necessary, but when I skip it I get problems. If you get the error 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) then you need to do this.) AOLserver sends outgoing mail via the ns_sendmail command, which pipes a command to the sendmail executable. Or, in our @@ -43,7 +43,7 @@ send outgoing mail.
[root ucspi-tcp-0.88]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp [root ucspi-tcp-0.88]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp -tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
Download qmail, +tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
Download qmail, set up the standard supporting users and build the binaries:
[root root]# cd /usr/local/src [root src]# wget http://www.qmail.org/netqmail-1.04.tar.gz [root src]# tar xzf netqmail-1.04.tar.gz @@ -102,7 +102,7 @@ cd netqmail-1.04 ./collate.sh cd netqmail-1.04 -make setup checkReplace sendmail with qmail's wrapper.
[root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail +make setup checkReplace sendmail with qmail's wrapper.
[root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail [root qmail-1.03]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail [root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail @@ -124,7 +124,7 @@ cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root chmod 644 ~alias/.qmail* /var/qmail/bin/maildirmake ~alias/Maildir/ -chown -R alias.nofiles /var/qmail/alias/Maildir
Configure qmail to use the Maildir delivery format +chown -R alias.nofiles /var/qmail/alias/Maildir
Configure qmail to use the Maildir delivery format (instead of mbox), and install a version of the qmail startup script modified to use Maildir.
[root alias]# echo "./Maildir" > /var/qmail/bin/.qmail [root alias]# cp /tmp/openacs-5.2.0d1/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc [root alias]# chmod 755 /var/qmail/rc Index: openacs-4/packages/acs-core-docs/www/install-redhat.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.html,v diff -u -N -r1.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/install-redhat.html 11 Jun 2004 10:17:37 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/install-redhat.html 22 Jun 2004 12:53:53 -0000 1.28 @@ -1,4 +1,4 @@ -Appendix�A.�Install Red Hat 8/9 +Appendix�A.�Install Red Hat 8/9 OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.This section takes a blank PC and sets up some supporting @@ -26,7 +26,7 @@
Unplug the network cable from your computer. We don't want to connect to the network until we're sure the computer is secure. - + (Wherever you see the word secure, you should always read it as, "secure enough for our purposes, given the amount of work we're @@ -54,7 +54,7 @@ Review (and modify if needed) the partitions created and click Next
On the pop-up window asking "Are you sure you want to do this?" click Yes - IF YOU ARE WIPING YOUR HARD DRIVE.
Click Next on the boot loader screen
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.
DHCP is a system by which a computer that @@ -75,7 +75,7 @@ Mail (SMTP). In the Other ports box, enter 443, 8000, 8443. Click Next. -Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.
Select any additional languages you want the +Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.
Select any additional languages you want the computer to support and then click Next
Choose your time zone and click Next.
Type in a root password, twice.
On the Package selection page, we're going to @@ -87,13 +87,13 @@ risk that's still screened by the firewall, or a resource hog. Just don't install a database or web server, because that would conflict with the database and web server we'll install later. -
At the bottom, check Select Individual Packages and click Next
We need to fine-tune the exact list of packages. +
At the bottom, check Select Individual Packages and click Next
We need to fine-tune the exact list of packages. The same rules apply as in the last step - you can add more stuff, but you shouldn't remove anything the guide adds. We're going to go through all the packages in one big list, so select Flat View and wait. In a minute, a -list of packages will appear.
Red Hat isn't completely happy with the combination +list of packages will appear.
Red Hat isn't completely happy with the combination of packages we've selected, and wants to satisfy some dependencies. Don't let it. On the next screen, choose Ignore Package @@ -119,7 +119,7 @@ upgrading all of that. Since you are upgrading the kernel, reboot after this step.
Lock down SSH
- + SSH is the protocol we use to connect securely to the computer (replacing telnet, which is insecure). sshd is the daemon that listens for incoming Index: openacs-4/packages/acs-core-docs/www/install-resources.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-resources.html,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-core-docs/www/install-resources.html 11 Jun 2004 10:17:37 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/install-resources.html 22 Jun 2004 12:53:54 -0000 1.8 @@ -1,4 +1,4 @@ -
Resources +
Resources Here are some resources that OpenACS users have found useful.
Index: openacs-4/packages/acs-core-docs/www/install-squirrelmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-squirrelmail.html,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 11 Jun 2004 10:17:37 -0000 1.6 +++ openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 22 Jun 2004 12:53:54 -0000 1.7 @@ -1,4 +1,4 @@ -
Install Squirrelmail for use as a webmail system for OpenACS +Install Squirrelmail for use as a webmail system for OpenACS OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.This section is work in progress. It will detail how you can install Squirrelmail as a webmail frontend for OpenACS, thereby neglecting the need to have a seperate webmail package within OpenACS
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]# cd www Index: openacs-4/packages/acs-core-docs/www/install-ssl.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-ssl.html,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-core-docs/www/install-ssl.html 11 Jun 2004 10:17:37 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/install-ssl.html 22 Jun 2004 12:53:54 -0000 1.6 @@ -1,4 +1,4 @@ -Installing SSL Support for an OpenACS service Debian Users: apt-get install openssl before proceeding.
Make sure nsopenssl.so is installed for AOLserver.
Uncomment this line from config.tcl.
#ns_param nsopenssl ${bindir}/nsopenssl.so +Installing SSL Support for an OpenACS service Debian Users: apt-get install openssl before proceeding.
Make sure nsopenssl.so is installed for AOLserver.
Uncomment this line from config.tcl.
#ns_param nsopenssl ${bindir}/nsopenssl.soPrepare a certificate directory for the service.
[$OPENACS_SERVICE_NAME etc]$ mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs [$OPENACS_SERVICE_NAME etc]$ chmod 700 /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs [$OPENACS_SERVICE_NAME etc]$ Index: openacs-4/packages/acs-core-docs/www/install-steps.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.html,v diff -u -N -r1.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/install-steps.html 11 Jun 2004 10:17:37 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 22 Jun 2004 12:53:54 -0000 1.21 @@ -1,4 +1,4 @@ -Basic Steps +
Basic Steps The basic steps for getting OpenACS installed are:
Install an OS and supporting software (see Install a Unix-like OS or Appendix�A, Install Red Hat 8/9 for more details). See the Table�2.2, “Version Compatibility Matrix”.
Install a database (see the section called “Install Oracle 8.1.7” or Install PostgreSQL).
Install AOLserver (Install AOLserver 4) .
Create a unique database and system user. @@ -37,7 +37,7 @@ su - $OPENACS_SERVICE_NAME svc -d /service/$OPENACS_SERVICE_NAME dropdb $OPENACS_SERVICE_NAME -createdb $OPENACS_SERVICE_NAME
Setting a global shell variable for cut and paste.�In order to cut and paste the instructions into your shell, you must set the environment variable $OPENACS_SERVICE_NAME. In order to set it globally so that it works for any new users or special service users you may create, edit the file /etc/profile and add this line:
export OPENACS_SERVICE_NAME=service0
Table�2.1.�Default directories for a standard install