Index: openacs-4/packages/acs-core-docs/www/acs-admin.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-admin.html,v diff -u -r1.22 -r1.23 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 4 Feb 2004 16:47:32 -0000 1.22 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 12 Feb 2004 13:51:40 -0000 1.23 @@ -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 |
How to Update the OpenACS.org repository | Up | Chapter�11.�Kernel Documentation |
Table of Contents
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/aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver.html,v diff -u -r1.26 -r1.27 --- openacs-4/packages/acs-core-docs/www/aolserver.html 4 Feb 2004 16:47:32 -0000 1.26 +++ openacs-4/packages/acs-core-docs/www/aolserver.html 12 Feb 2004 13:51:40 -0000 1.27 @@ -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.
Unpack the Aolserver tarball.�Download the aolserver tarball and unpack it.
[root root]# cd /usr/local/src @@ -74,17 +74,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.0.1d1/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.0.1d1/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.0.1d1/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.0.1d1/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 -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/aolserver4.html 4 Feb 2004 16:47:32 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/aolserver4.html 12 Feb 2004 13:51:40 -0000 1.3 @@ -1,4 +1,4 @@ -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
[root root]# cd /usr/local/src @@ -66,15 +66,15 @@ 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.0.1d1/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.0.1d1/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.0.1d1/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 -chmod 755 nsd-postgres
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 +cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres +chmod 755 nsd-postgresChange 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 -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/apm-design.html 4 Feb 2004 16:47:32 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/apm-design.html 12 Feb 2004 13:51:40 -0000 1.25 @@ -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
OpenACS Services: the aforementioned building blocks. Examples of services include the OpenACS Content Repository, the OpenACS Templating -System, and the OpenACS Kernel, which includes +System, and the OpenACS Kernel, which includes APM.
An installation of the OpenACS includes the OpenACS Kernel, some services that extend the kernel's functionality, and some applications intended for end-users. Packages function as individual pieces of subsites. A subsite can contain multiple Index: openacs-4/packages/acs-core-docs/www/apm-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-requirements.html,v diff -u -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 4 Feb 2004 16:47:32 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 12 Feb 2004 13:51:40 -0000 1.20 @@ -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-testing-best-practices.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 4 Feb 2004 16:47:32 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 12 Feb 2004 13:51:40 -0000 1.5 @@ -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.� @@ -24,4 +24,4 @@ Make sure that if a duplicate name is entered that there is a reasonable error rather than a server error. Check for insert, move, copy, and rename. -
($Id$)View comments on this page at openacs.org +($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/backup-recovery.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.html,v diff -u -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 4 Feb 2004 16:47:32 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 12 Feb 2004 13:51:40 -0000 1.20 @@ -1,4 +1,4 @@ -Backup and Recovery By Don Baccus with additions +
Backup and Recovery By Don Baccus with additions by Joel Aufrecht
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. Index: openacs-4/packages/acs-core-docs/www/bootstrap-acs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.html,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 4 Feb 2004 16:47:32 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -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/ch08s06.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/ch08s06.html,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-core-docs/www/ch08s06.html 12 Feb 2004 13:51:40 -0000 1.1 @@ -0,0 +1,146 @@ +
Categories You can associate any ACS Object with one or more categories. + In this tutorial we'll show how to equip your application with user + interface to take advantage of the Categories service. +
+ We'll start by installing the Categories service. Go to + /acs/admin and install it. This step + won't be necessary for the users of your applications because you'll create + a dependency with the Package Manager which will take care that the + Categories service always gets installed when your application gets + installed. +
+ Now that we have installed the Categories service we can proceed to + modifying our application so that it can take advantage of it. We'll do it + in three steps: +
+ The Categories service provides a mechanism to associate one or + more category trees that are relevant to + a particular application instance. One example of such tree is a tree of + geographical locations. Continents are on the top of such tree, + each continent containing countries etc. Another tree might + contain market segments etc. Before users of your application + can take advantage of the Categories service there needs to be a + way for administrators of your application to choose which + category trees are applicable for the application.
+ The way to achieve this is is to provide a link + to the Category Management pages. Add the following snippet to your + /var/lib/aolserver/service0/packages/myfirstpackage/www/admin/index.tcl + file: +
+set category_map_url [export_vars -base \ + "[site_node::get_package_url -package_key categories]cadmin/one-object" \ + { { object_id $package_id } }] ++ and the following snippet to your + /var/lib/aolserver/service0/packages/myfirstpackage/www/admin/index.adp + file: +
+<li><a href="@category_map_url@" + class="action_link">Site-Wide Categories</a> +The link created by the above code will take the admin to the generic + admin UI where he can pick category trees that make sense for this + application. The same UI also includes facilities to build and edit + category trees. Notice that the only parameter in this example is + package_id so that category trees + will be associated with the object identified by this + package_id. The categorization + service is actually more general than that: instead of + package_id you could use an ID of + some other object that serves as a "container" in your application. + For example, if your discussion forums application supports multiple + forums you would use forum_id to + associate category trees with just that one forum rather than the + entire application instance. +
+ Once the category trees have been selected users need a way + to categorize items. The easiest way to do this is by adding the + category widget type of the + form builder to note-edit.tcl. + To achieve this we'll need to use the -extend + switch to the ad_form command. Here's the + note-edit.tcl page with added sections + emphasized. +
ad_page_contract { + This is the view-edit page for notes. + + @author Your Name (you@example.com) + @cvs-id $Id: ch08s06.html,v 1.1 2004/02/12 13:51:40 joela Exp $ + + @param item_id If present, assume we are editing that note. Otherwise, we + are creating a new note. + +} { + item_id:integer,optional +} + +ad_form -name note -form { + {item_id:key} + {title:text {label Title}} +} + +category::ad_form::add_widgets \ + -form_name note \ + -container_object_id [ad_conn package_id] \ + -categorized_object_id [value_if_exists item_id] + +ad_form -extend -name note \ + -new_request { + permission::require_permission -object_id [ad_conn package_id] -privilege create + set page_title "Add a Note" + set context [list $page_title] +} -edit_request { + permission::require_write_permission -object_id $item_id + mfp::note::get \ + -item_id $item_id \ + -array note_array + + set title $note_array(title) + + set page_title "Edit a Note" + set context [list $page_title] +} -on_submit { + set category_ids [category::ad_form::get_categories \ + -container_object_id [ad_conn package_id]] +} -new_data { + mfp::note::add \ + -title $title \ + -item_id $item_id + + category::map_object \ + -remove_old \ + -object_id $item_id \ + $category_ids + + set message "Note $title added" +} -edit_data { + mfp::note::edit \ + -item_id $item_id \ + -title $title + + category::map_object \ + -remove_old \ + -object_id $item_id \ + $category_ids + + + set message "Note $title changed" +} -after_submit { + ad_returnredirect -message $message "." + ad_script_abort +}+
+ Note how we have replaced what was a single + ad_form invocation with two. The + -extend flag is used to build a form + incrementally. We had to do it so that we can insert the call to + category::ad_form::add_widgets. This + procedure will add as many category widgets as there are trees associated with + our package_id. The complementary proc + category::ad_form::get_categories will take + care of collecting the values after the form has been submitted. The block + -on_submit will get executed at this time, + followed by execution of either -new_data or + -edit_data, depending on whether we are adding + a new note or editing an existing one. +
+
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/complete-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/complete-install.html,v diff -u -r1.7 -r1.8 --- openacs-4/packages/acs-core-docs/www/complete-install.html 4 Feb 2004 16:47:32 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/complete-install.html 12 Feb 2004 13:51:40 -0000 1.8 @@ -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 Fisheye: Tag 1.8 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/configure.html'. Fisheye: No comparison available. Pass `N' to diff? 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 -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/configuring-new-site.html 4 Feb 2004 16:47:32 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/configuring-new-site.html 12 Feb 2004 13:51:40 -0000 1.3 @@ -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 -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/credits.html 4 Feb 2004 16:47:32 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/credits.html 12 Feb 2004 13:51:40 -0000 1.25 @@ -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 -r1.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 4 Feb 2004 16:47:32 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 12 Feb 2004 13:51:40 -0000 1.10 @@ -1,13 +1,13 @@ -
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/service0 -[root root]# chown service0.web /cvsroot/service0 +[root root]# chown service0.service0 /cvsroot/service0 [root root]# mkdir /cvsroot/service0 -chown service0.web /cvsroot/service0Add the repository location to the user environment.
[root root]# su - service0 +chown service0.service0 /cvsroot/service0Add the repository location to the user environment. On some systems, you may get better results with .bash_profile instead of .bashrc.
[root root]# su - service0 [service0 service0]$ emacs .bashrc
Put this string into /home/service0/.bashrc:
export CVSROOT=/cvsroot[service0 service0]$ exit logout @@ -20,34 +20,43 @@ plus this string, i.e. /cvsroot/service0. - "OpenACS" is the vendor tag, and "" is the + "OpenACS" is the vendor tag, and "oacs-5-0-1" is the release tag. These tags will be useful in upgrading and branching. -m sets the version comment.[root root]# su - service0 -[service0 service0]$ cd /web/service0 -[service0 service0]$ cvs import -m "initial install" service0 OpenACS +[service0 service0]$ cd /var/lib/aolserver/service0 +[service0 service0]$ cvs import -m "initial install" service0 OpenACS oacs-5-0-1 N service0/license.txt N service0/readme.txt (many lines omitted) N service0/www/SYSTEM/flush-memoized-statement.tcl No conflicts created by this import -[service0 service0]$ +[service0 service0]$ exit +[root root]# su - service0 -cd /web/service0 -cvs import -m "initial install" service0 OpenACSMove the original directory to a temporary location, and check out the cvs repository in its place. If the service starts correctly, come back and remove the temporary copy of the uploaded files.
[service0 service0]$ cd .. -[service0 web]$ mv service0 service0.orig -[service0 web]$ cvs checkout service0 +cd /var/lib/aolserver/service0 +cvs import -m "initial install" service0 OpenACS oacs-5-0-1 +exitMove the original directory to a temporary location, and check out the cvs repository in its place.
[root root]# mv /var/lib/aolserver/service0 /var/tmp +[root root]# mkdir /var/lib/aolserver/service0 +[root root]# chown service0.service0 /var/lib/aolserver/service0 +[root root]# su - service0 +[service0 service0]$ cd /var/lib/aolserver +[service0 aolserver]$ cvs checkout service0 cvs checkout: Updating service0 U service0/license.txt (many lines omitted) U service0/www/SYSTEM/dbtest.tcl U service0/www/SYSTEM/flush-memoized-statement.tcl -[service0 web]$ exit +[service0 aolserver]$ exit logout -[root web]# -cd .. -mv service0 service0.orig +[root root]# + +mv /var/lib/aolserver/service0 /var/tmp +mkdir /var/lib/aolserver/service0 +chown service0.service0 /var/lib/aolserver/service0 +su - service0 +cd /var/lib/aolserver cvs checkout service0 -exit
Prev Home Next System/Application Requirements Template Up Appendix�E.�How to package and release OpenACS
docs@openacs.orgView comments on this page at openacs.org +exitIf the service starts correctly, come back and remove the temporary copy of the uploaded files.
Prev Home Next System/Application Requirements Template Up Appendix�E.�How to package and release OpenACS
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/database-management.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/database-management.html,v diff -u -r1.17 -r1.18 --- openacs-4/packages/acs-core-docs/www/database-management.html 4 Feb 2004 16:47:32 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/database-management.html 12 Feb 2004 13:51:40 -0000 1.18 @@ -1,4 +1,4 @@ -Database Management +Database Management OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.To run a database on a different machine than the Index: openacs-4/packages/acs-core-docs/www/db-api-detailed.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api-detailed.html,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.html 4 Feb 2004 16:47:32 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -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 -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/db-api.html 4 Feb 2004 16:47:32 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/db-api.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -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 -r1.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/dev-guide.html 4 Feb 2004 16:47:32 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/dev-guide.html 12 Feb 2004 13:51:40 -0000 1.21 @@ -1 +1 @@ -
Chapter�8.�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�9.�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 -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/doc-standards.html 4 Feb 2004 16:47:32 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/doc-standards.html 12 Feb 2004 13:51:40 -0000 1.4 @@ -1 +1 @@ -Chapter�10.�Documentation Standards View comments on this page at openacs.org +Chapter�11.�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 -r1.26 -r1.27 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 4 Feb 2004 16:47:32 -0000 1.26 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 12 Feb 2004 13:51:40 -0000 1.27 @@ -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>.
@@ -413,4 +413,4 @@
8/3/2002 Vinod Kurup 0.3 Added OpenACS information, updated tools, added extra links and added info to the Publishing section. - 12/24/2001 Roberto Mello 0.2 Changed recommendation from <phrase> to <emphasis role="strong"> 01/19/2000 Claus Rasmussen 0.1 Creation 12/2000 Claus Rasmussen View comments on this page at openacs.org +12/24/2001 Roberto Mello 0.2 Changed recommendation from <phrase> to <emphasis role="strong"> 01/19/2000 Claus Rasmussen 0.1 Creation 12/2000 Claus Rasmussen View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html,v diff -u -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 4 Feb 2004 16:47:32 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 12 Feb 2004 13:51:40 -0000 1.25 @@ -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 -r1.24 -r1.25 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 4 Feb 2004 16:47:32 -0000 1.24 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 12 Feb 2004 13:51:40 -0000 1.25 @@ -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 -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 4 Feb 2004 16:47:32 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -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 -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 4 Feb 2004 16:47:32 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -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.Index: openacs-4/packages/acs-core-docs/www/eng-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards.html,v diff -u -r1.17 -r1.18 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 4 Feb 2004 16:47:32 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 12 Feb 2004 13:51:40 -0000 1.18 @@ -1 +1 @@ -
Chapter�9.�Engineering Standards View comments on this page at openacs.org +Chapter�10.�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 -r1.14 -r1.15 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 4 Feb 2004 16:47:32 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 12 Feb 2004 13:51:40 -0000 1.15 @@ -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 -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/filename.html 4 Feb 2004 16:47:32 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/filename.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -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 @@ -114,7 +114,7 @@ within the OpenACS, this section's details are likely to shift from UI specifics to template interface specifics.
- Under OpenACS , parameters are set at two levels: at the global level by + Under OpenACS 5.0.1d1, parameters are set at two levels: at the global level by the OpenACS-admin, and at the subsite level by a sub-admin. In this section, list and discuss both levels of parameters.
Index: openacs-4/packages/acs-core-docs/www/for-everyone.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/for-everyone.html,v diff -u -r1.15 -r1.16 --- openacs-4/packages/acs-core-docs/www/for-everyone.html 4 Feb 2004 16:47:32 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/for-everyone.html 12 Feb 2004 13:51:40 -0000 1.16 @@ -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 -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/form-builder.html 4 Feb 2004 16:47:32 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 12 Feb 2004 13:51:40 -0000 1.5 @@ -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 @@ -10,5 +10,5 @@ }This will result in a single name/value pair coming back in the submitted form. Handle this within the same ad_form structure, in the -new_data and -edit_data. In the example, it is available as $foo
See also the W3C spec for "The SELECT, OPTGROUP, and OPTION elements".
Here are some common errors and what to do when you - encounter them:
($Id$)View comments on this page at openacs.org + 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 -r1.15 -r1.16 --- openacs-4/packages/acs-core-docs/www/general-documents.html 4 Feb 2004 16:47:32 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/general-documents.html 12 Feb 2004 13:51:40 -0000 1.16 @@ -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 -r1.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/groups-design.html 4 Feb 2004 16:47:32 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 12 Feb 2004 13:51:40 -0000 1.19 @@ -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 -r1.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/groups-requirements.html 4 Feb 2004 16:47:32 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 12 Feb 2004 13:51:40 -0000 1.19 @@ -1,4 +1,4 @@ -
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 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 -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/how-do-I.html 4 Feb 2004 16:47:32 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/how-do-I.html 12 Feb 2004 13:51:40 -0000 1.3 @@ -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
- +
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/service0/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:
cp /var/lib/aolserver/service0/packages/acs-subsite/www/index* /var/lib/aolserver/service0/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:
+
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/service0/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:
cp /var/lib/aolserver/service0/packages/acs-subsite/www/index* /var/lib/aolserver/service0/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/service0/www, this is /var/lib/aolserver/service0/www/default-master.adp and the associated .tcl file. -
The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/service0/www/site-master.adp and .tcl)
The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/service0/www/blank-master.adp and .tcl).
Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.
View comments on this page at openacs.org +The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/service0/www/site-master.adp and .tcl)
The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/service0/www/blank-master.adp and .tcl).
Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/i18n-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-requirements.html,v diff -u -r1.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/i18n-requirements.html 4 Feb 2004 16:47:32 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/i18n-requirements.html 12 Feb 2004 13:51:40 -0000 1.10 @@ -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.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n.html,v diff -u -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/i18n.html 4 Feb 2004 16:47:32 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/i18n.html 12 Feb 2004 13:51:40 -0000 1.17 @@ -1,4 +1,4 @@ -
Internationalization +
Internationalization By Peter Marklund and Lars Pind
@@ -48,7 +48,7 @@ which are static and mostly text, it may be easier to create a new ADP page for each language. In this case, the pages are distinguished by a file naming convention. -If the request processor finds a file named filename.locale.adp, where locale matches the user's locale, it will process that file instead of filename.adp. For example, for a user with locale tl_PH, the file index.tl_PH.adp, if found, will be used instead of index.adp. The locale-specific file should thus contain text in the language appropriate for that locale. The code in the page, however, should still be in English. Message keys are still processed.
+
If the request processor finds a file named filename.locale.adp, where locale matches the user's locale, it will process that file instead of filename.adp. For example, for a user with locale tl_PH, the file index.tl_PH.adp, if found, will be used instead of index.adp. The locale-specific file should thus contain text in the language appropriate for that locale. The code in the page, however, should still be in English. Message keys are still processed.
Internationalizing templates is about replacing human readable text in a certain language with internal message keys, which can then be dynamically replaced with real human language in @@ -263,15 +263,15 @@ Use the *_pretty version in your ADP page.
To internationalize numbers, use lc_numeric $value, which formats the number using the appropriate decimal point and thousand separator for the locale. -
When coding forms, remember to use message keys for each piece of text that is user-visible, including form option labels and button labels.
When coding forms, remember to use message keys for each piece of text that is user-visible, including form option labels and button labels.
Acs-lang includes tools to automate some internationalization. From /acs-admin/apm/, select a package and then click on Internationalization, then Convert ADP, Tcl, and SQL files to using the - message catalog..
Find datetime in .xql files. Use command line tools to find suspect SQL code:
grep -r "to_char.*H" * +
Find datetime in .xql files. Use command line tools to find suspect SQL code:
grep -r "to_char.*H" * grep -r "to_date.*H" *In SQL statements, replace the format string with the ANSI standard format, YYYY-MM-DD HH24:MI:SS and change the field name to *_ansi so that it cannot be confused with previous, improperly formatting fields. For example,
to_char(timestamp,'MM/DD/YYYY HH:MI:SS') as foo_date_prettybecomes
to_char(timestamp,'YYYY-MM-DD HH24:MI:SS') as foo_date_ansiIn TCL files where the date fields are used, convert the datetime from local server timezone, which is how it's stored in the database, to the user's timezone for display. Do this with the localizing function lc_time_system_to_conn:
set foo_date_ansi [lc_time_system_to_conn $foo_date_ansi]When a datetime will be written to the database, first convert it from the user's local time to the server's timezone with lc_time_conn_to_system. Index: openacs-4/packages/acs-core-docs/www/index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.html,v diff -u -r1.27 -r1.28 --- openacs-4/packages/acs-core-docs/www/index.html 6 Feb 2004 18:55:21 -0000 1.27 +++ openacs-4/packages/acs-core-docs/www/index.html 12 Feb 2004 13:51:40 -0000 1.28 @@ -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. Maintenance
- 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
- C. Credits
- III. For OpenACS Package Developers
- 7. Development Tutorial
- 8. 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
- 9. Engineering Standards
- 10. Documentation Standards
- D. Using CVS with an OpenACS Site
- E. How to package and release OpenACS
- IV. For OpenACS Platform Developers
- 11. 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
- Internationalization
- Security Requirements
- Security Design
- Security Notes
- Request Processor Requirements
- Request Processor Design
- Documenting Tcl Files: Page Contracts and Libraries
- Bootstrapping OpenACS
- External Authentication Requirements
- Index
List of Figures
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. Maintenance
- 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
- C. Credits
- III. For OpenACS Package Developers
- 7. Development Tutorial
- 8. Advanced Topics
- 9. 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
- 10. Engineering Standards
- 11. Documentation Standards
- D. Using CVS with an OpenACS Site
- E. How to package and release OpenACS
- IV. For OpenACS Platform Developers
- 12. 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
- Internationalization
- Security Requirements
- Security Design
- Security Notes
- Request Processor Requirements
- Request Processor Design
- Documenting Tcl Files: Page Contracts and Libraries
- Bootstrapping OpenACS
- External Authentication Requirements
- Index
List of Figures
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 -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/individual-programs.html 4 Feb 2004 16:47:32 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/individual-programs.html 12 Feb 2004 13:51:40 -0000 1.17 @@ -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.0 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.x � Yes No 7.3.2 - 7.3.4 No Yes 7.4 No Maybe Oracle 8.1.6 Maybe Yes 8.1.7 Maybe Yes 9i No Yes
OpenACS .�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.0 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.x � Yes No 7.3.2 - 7.3.4 No Yes 7.4 No Maybe Oracle 8.1.6 Maybe Yes 8.1.7 Maybe Yes 9i No Yes
OpenACS 5.0.1d1.�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 @@ -38,7 +38,7 @@ distributions.
TCL 8.3 development headers and libraries, OPTIONAL.� The site-wide-search service, OpenFTS, requires these to compile. (Debian users: apt-get install tcl8.3-dev). You need this - to install OpenFTS.
tDOM, REQUIRED.�OpenACS stores + to install OpenFTS.
tDOM, REQUIRED.�OpenACS 5.0.1d1 stores queries in XML files, so we use an AOLserver module called tDOM to parse these files. (This replaces libxml2, which was used prior to 4.6.4.) tDOM is available from http://www.tdom.org).
tclwebtest, OPTIONAL.�tclwebtest 0.3 is a tool for testing web interfaces @@ -49,7 +49,7 @@ running Apache with mod_nsd - see this post.
AOLserver 3.3oacs1, REQUIRED.�Mat Kovach's source distribution of AOLserver, including all of the patches listed below.
Mat Kovach is graciously maintaining an AOLserver distribution that - includes all the patches and modules needed to run OpenACS . These + includes all the patches and modules needed to run OpenACS 5.0.1d1. These instructions will describe how to install using his source distribution. He also has binaries for SuSE 7.3 and OpenBSD 2.8 (and perhaps more to come), currently located at uptime.openacs.org. 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 -r1.15 -r1.16 --- openacs-4/packages/acs-core-docs/www/install-cvs.html 4 Feb 2004 16:47:32 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/install-cvs.html 12 Feb 2004 13:51:40 -0000 1.16 @@ -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 -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/install-daemontools.html 4 Feb 2004 16:47:32 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/install-daemontools.html 12 Feb 2004 13:51:40 -0000 1.17 @@ -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 @@ -61,7 +61,7 @@ root 13294 0.0 0.1 1352 272 ? S 09:51 0:00 svscan /service root 13295 0.0 0.0 1304 208 ? S 09:51 0:00 readproctitle service errors: ....................................... [root root]#Install a script to grant non-root users permission to - control daemontools services.
[root root]# cp /tmp//packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup + control daemontools services.[root root]# cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup [root root]# chmod 755 /usr/local/bin/svgroup -cp /tmp//packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup +cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup chmod 755 /usr/local/bin/svgroup
Prev Home Next Add PSGML commands to emacs init file (OPTIONAL) Up Install qmail (OPTIONAL)
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-full-text-search.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/install-full-text-search.html,v diff -u -r1.14 -r1.15 --- openacs-4/packages/acs-core-docs/www/install-full-text-search.html 4 Feb 2004 16:47:32 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/install-full-text-search.html 12 Feb 2004 13:51:40 -0000 1.15 @@ -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.)
[service0 service0]$ /usr/local/pgsql/bin/psql service0 -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 -r1.8 -r1.9 --- openacs-4/packages/acs-core-docs/www/install-more-software.html 4 Feb 2004 16:47:32 -0000 1.8 +++ openacs-4/packages/acs-core-docs/www/install-more-software.html 12 Feb 2004 13:51:40 -0000 1.9 @@ -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
+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
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-nsopenssl.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nsopenssl.html,v diff -u -r1.10 -r1.11 --- openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 4 Feb 2004 16:47:32 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 12 Feb 2004 13:51:40 -0000 1.11 @@ -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 -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/install-nspam.html 4 Feb 2004 16:47:32 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/install-nspam.html 12 Feb 2004 13:51:40 -0000 1.5 @@ -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-origins.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-origins.html,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/install-origins.html 4 Feb 2004 16:47:32 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/install-origins.html 12 Feb 2004 13:51:40 -0000 1.5 @@ -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 -r1.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/install-overview.html 4 Feb 2004 16:47:33 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/install-overview.html 12 Feb 2004 13:51:40 -0000 1.21 @@ -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 -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/install-php.html 4 Feb 2004 16:47:33 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/install-php.html 12 Feb 2004 13:51:40 -0000 1.3 @@ -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 -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/install-qmail.html 4 Feb 2004 16:47:33 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/install-qmail.html 12 Feb 2004 13:51:40 -0000 1.17 @@ -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 @@ -40,10 +40,10 @@ Unless this mail is addressed to the same machine, qmail thinks that it's an attempt to relay mail, and rejects it. So these two commands set up an exception so that any mail sent from 127.0.0.1 is allowed to -send outgoing mail.
[root ucspi-tcp-0.88]# cp /tmp//packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp +send outgoing mail.[root ucspi-tcp-0.88]# cp /tmp/openacs-5.0.1d1/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//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, +cp /tmp/openacs-5.0.1d1/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, 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,13 +124,13 @@ cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root chmod 644 ~alias/.qmail* /var/qmail/bin/maildirmake ~alias/Maildir/ -chown -R alias.nofiles /var/qmail/alias/Maildir
Configure qmail to use the Maildir delivery format +chown -R alias.nofiles /var/qmail/alias/Maildir
Configure qmail to use the Maildir delivery format (instead of mbox), and install a version of the qmail startup script modified to use Maildir.
[root alias]# echo "./Maildir" > /var/qmail/bin/.qmail -[root alias]# cp /tmp//packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc +[root alias]# cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc [root alias]# chmod 755 /var/qmail/rc [root alias]# echo "./Maildir" > /var/qmail/bin/.qmail -cp /tmp//packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc +cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc chmod 755 /var/qmail/rc
Set up the skeleton directory so that new users will be configured for qmail.
[root root]# /var/qmail/bin/maildirmake /etc/skel/Maildir @@ -142,13 +142,13 @@ [root root]# mkdir -p /var/qmail/supervise/qmail-smtpd/log [root root]# mkdir /var/log/qmail [root root]# chown qmaill /var/log/qmail -[root root]# cp /tmp//packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl +[root root]# cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl [root root]# chmod 755 /var/qmail/bin/qmailctl [root root]# ln -s /var/qmail/bin/qmailctl /usr/bin -[root root]# cp /tmp//packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run -[root root]# cp /tmp//packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run -[root root]# cp /tmp//packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run -[root root]# cp /tmp//packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run +[root root]# cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run +[root root]# cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run +[root root]# cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run +[root root]# cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run [root root]# chmod 755 /var/qmail/supervise/qmail-send/run [root root]# chmod 755 /var/qmail/supervise/qmail-send/log/run [root root]# chmod 755 /var/qmail/supervise/qmail-smtpd/run @@ -159,13 +159,13 @@ mkdir -p /var/qmail/supervise/qmail-smtpd/log mkdir /var/log/qmail chown qmaill /var/log/qmail -cp /tmp//packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl +cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl chmod 755 /var/qmail/bin/qmailctl ln -s /var/qmail/bin/qmailctl /usr/bin -cp /tmp//packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run -cp /tmp//packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run -cp /tmp//packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run -cp /tmp//packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run +cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run +cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run +cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run +cp /tmp/openacs-5.0.1d1/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run chmod 755 /var/qmail/supervise/qmail-send/run chmod 755 /var/qmail/supervise/qmail-send/log/run chmod 755 /var/qmail/supervise/qmail-smtpd/run Index: openacs-4/packages/acs-core-docs/www/install-redhat.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.html,v diff -u -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/install-redhat.html 4 Feb 2004 16:47:33 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/install-redhat.html 12 Feb 2004 13:51:40 -0000 1.17 @@ -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 -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/install-resources.html 4 Feb 2004 16:47:33 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/install-resources.html 12 Feb 2004 13:51:40 -0000 1.5 @@ -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 -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 4 Feb 2004 16:47:33 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 12 Feb 2004 13:51:40 -0000 1.3 @@ -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
[service0 service0]# cd www 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 -r1.9 -r1.10 --- openacs-4/packages/acs-core-docs/www/install-steps.html 4 Feb 2004 16:47:33 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 12 Feb 2004 13:51:40 -0000 1.10 @@ -1,10 +1,10 @@ -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).
Install a database (see Install Oracle or Install PostgreSQL).
Install AOLserver (see Install AOLserver 3.3oacs1).
Create a unique database and system user. Install the OpenACS tarball, start and AOLserver instance, and use the OpenACS web pages to complete installation - (see Install OpenACS ).
There are specific instructions available for Mac OS X and + (see Install OpenACS 5.0.1d1).
There are specific instructions available for Mac OS X and Windows2000 available (see the section called “OpenACS Installation Guide for Mac OS X” or the section called “OpenACS Installation Guide for Windows2000” for those).
The patched version of AOLserver we use is not currently available in a precompiled binary.
@@ -37,9 +37,9 @@ su - service0 svc -d /service/service0 dropdb service0 -createdb service0
Table�2.1.�Default directories for a standard install
None of these locations are set in stone - they're simply the values that we've chosen. The values that you'll probably want to change, such as service name, are Index: openacs-4/packages/acs-core-docs/www/install-tclwebtest.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-tclwebtest.html,v diff -u -r1.6 -r1.7 --- openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 4 Feb 2004 16:47:33 -0000 1.6 +++ openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 12 Feb 2004 13:51:40 -0000 1.7 @@ -1,4 +1,4 @@ -
Install tclwebtest. Download the tclwebtest +
Install tclwebtest. Download the tclwebtest source, unpack it, and put it an appropriate place. As root:
cd /tmp tar xvzf tclwebtest-0.3.tar.gz Index: openacs-4/packages/acs-core-docs/www/ix01.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ix01.html,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/ix01.html 4 Feb 2004 16:47:33 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/ix01.html 12 Feb 2004 13:51:40 -0000 1.5 @@ -1,2 +1,2 @@ -
Index A
- AOLserver
- configuration, Install from tarball
- Automated tests, Write automated tests
C
- computeroutput
- code, Code
- cvs
- initializing, Initialize CVS (OPTIONAL)
- setup, Using CVS with an OpenACS Site
D
- daemontools
- installation, Install Daemontools (OPTIONAL)
- docbook
- installation, Install Red Hat 8/9
- DocBook
- DTD, Why DocBook?
- emacs configuration for, Add PSGML commands to emacs init file (OPTIONAL)
- Document structure, Document Structure
E
- emacs
- installation, Install Red Hat 8/9
- emphasis
- bold, italics, Emphasis
F
- full text search
G
- Graphics
- Images, Graphics
I
- informaltable
- table, Tables
L
- language
- installation, Install Red Hat 8/9
- Linking, Links
- lists, Lists
O
- OpenACS Package, What a Package Looks Like
P
- photo-album
- installation (see ImageMagick)
- Postgres
- Vacuuming, Install from tarball
Q
- qmail
- installation, Install qmail (OPTIONAL)
- Maildir, Install qmail (OPTIONAL)
- rcpthosts error message, Install qmail (OPTIONAL)
S
- sect1, Headlines, Sections
- sect2, Headlines, Sections
- Sections
- Headlines, Headlines, Sections
- security
- definition, Install Red Hat 8/9
- firewall, Install Red Hat 8/9
- sendmail
- removing, Install qmail (OPTIONAL)
- service0, Paths and Users
- ssh, Install Red Hat 8/9
T
- The publish point for new packages should be - fixed., Prepare the package for distribution.
U
- ulink, Links
- Unicode
- in PostgreSQL, Install PostgreSQL
- upgrade
- OpenACS 4.5 to 4.6.x
- Linux/Unix, Upgrading 4.5 or higher to 4.6.3
X
- XML guidelines, Why DocBook?
- xref
- linkend, Links
- xreflabel, Headlines, Sections
View comments on this page at openacs.org +Index A
- AOLserver
- configuration, Install from tarball
- Automated tests, Write automated tests
C
- computeroutput
- code, Code
- cvs
- initializing, Initialize CVS (OPTIONAL)
- setup, Using CVS with an OpenACS Site
D
- daemontools
- installation, Install Daemontools (OPTIONAL)
- docbook
- installation, Install Red Hat 8/9
- DocBook
- DTD, Why DocBook?
- emacs configuration for, Add PSGML commands to emacs init file (OPTIONAL)
- Document structure, Document Structure
E
- emacs
- installation, Install Red Hat 8/9
- emphasis
- bold, italics, Emphasis
F
- full text search
G
- Graphics
- Images, Graphics
I
- informaltable
- table, Tables
L
- language
- installation, Install Red Hat 8/9
- Linking, Links
- lists, Lists
O
- OpenACS Package, What a Package Looks Like
P
- photo-album
- installation (see ImageMagick)
- Postgres
- Vacuuming, Install from tarball
Q
- qmail
- installation, Install qmail (OPTIONAL)
- Maildir, Install qmail (OPTIONAL)
- rcpthosts error message, Install qmail (OPTIONAL)
S
- sect1, Headlines, Sections
- sect2, Headlines, Sections
- Sections
- Headlines, Headlines, Sections
- security
- definition, Install Red Hat 8/9
- firewall, Install Red Hat 8/9
- sendmail
- removing, Install qmail (OPTIONAL)
- service0, Paths and Users
- ssh, Install Red Hat 8/9
T
- The publish point for new packages should be + fixed., Prepare the package for distribution.
U
- ulink, Links
- Unicode
- in PostgreSQL, Install PostgreSQL
- upgrade
- OpenACS 4.5 to 4.6.x
- Linux/Unix, Upgrading 4.5 or higher to 4.6.3
X
- XML guidelines, Why DocBook?
- xref
- linkend, Links
- xreflabel, Headlines, Sections
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/kernel-doc.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-doc.html,v diff -u -r1.20 -r1.21 --- openacs-4/packages/acs-core-docs/www/kernel-doc.html 4 Feb 2004 16:47:33 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/kernel-doc.html 12 Feb 2004 13:51:40 -0000 1.21 @@ -1 +1 @@ -Chapter�11.�Kernel Documentation Table of Contents
- 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
- Internationalization
- Security Requirements
- Security Design
- Security Notes
- Request Processor Requirements
- Request Processor Design
- Documenting Tcl Files: Page Contracts and Libraries
- Bootstrapping OpenACS
- External Authentication Requirements
View comments on this page at openacs.org +Chapter�12.�Kernel Documentation Table of Contents
- 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
- Internationalization
- Security Requirements
- Security Design
- Security Notes
- Request Processor Requirements
- Request Processor Design
- Documenting Tcl Files: Page Contracts and Libraries
- Bootstrapping OpenACS
- External Authentication Requirements
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/kernel-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-overview.html,v diff -u -r1.15 -r1.16 --- openacs-4/packages/acs-core-docs/www/kernel-overview.html 4 Feb 2004 16:47:33 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/kernel-overview.html 12 Feb 2004 13:51:40 -0000 1.16 @@ -1,4 +1,4 @@ -Overview
+
Overview
The OpenACS Kernel, which handles system-wide necessities such as metadata, security, users and groups, subsites, and package @@ -22,4 +22,4 @@
This document provides a high level overview of the kernel package. Documentation for other packages on this server -
View comments on this page at openacs.org +View comments on this page at openacs.org Fisheye: Tag 1.2 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/ld-id2855573.html'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.2 refers to a dead (removed) revision in file `openacs-4/packages/acs-core-docs/www/ld-id2947100.html'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/acs-core-docs/www/mac-installation.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/mac-installation.html,v diff -u -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/mac-installation.html 4 Feb 2004 16:47:33 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/mac-installation.html 12 Feb 2004 13:51:40 -0000 1.20 @@ -1,4 +1,4 @@ -OpenACS Installation Guide for Mac OS X Prerequisites.�Install readline:
Download readline from http://ftp.gnu.org/pub/gnu/readline/readline-4.3.tar.gz into /usr/local/src
Extract readline in /usr/local/src, configure, compile, and install:
su - root +OpenACS Installation Guide for Mac OS X Prerequisites.�Install readline:
Download readline from http://ftp.gnu.org/pub/gnu/readline/readline-4.3.tar.gz into /usr/local/src
Extract readline in /usr/local/src, configure, compile, and install:
su - root cd /usr/local/src tar xvfz readline-4.3.tar.gz readline-4.3 Index: openacs-4/packages/acs-core-docs/www/maint-performance.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maint-performance.html,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/maint-performance.html 4 Feb 2004 16:47:33 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/maint-performance.html 12 Feb 2004 13:51:40 -0000 1.5 @@ -1,7 +1,7 @@ -Diagnosing Performance Problems
Did performance problems happen overnight, or did they sneak up on +
Diagnosing Performance Problems
Did performance problems happen overnight, or did they sneak up on you? Any clue what caused the performance problems (e.g. loading 20K users into .LRN)
Is the file system out of space? Is the machine swapping to disk constantly?
Isolating and solving database problems.
Without daily internal maintenance, most databases slowly degrade in performance. For PostGreSQL, see the section called “Vacuum Postgres nightly”. For Oracle, use exec dbms_stats.gather_schema_stats('SCHEMA_NAME') (Andrew Piskorski's Oracle notes).
You can track the exact amount of time each database query on a page takes:
Go to Main Site : Site-Wide Administration : Install Software
Click on "Install New Application" in "Install from OpenACS Repository"
Choose "ACS Developer Support">
After install is complete, restart the server.
Browse to Developer Support, which is automatically mounted at /ds. -
Turn on Database statistics
Browse directly to a slow page and click "Request Information" at the bottom of the page.
This should return a list of database queries on the page, including the exact query (so it can be cut-paste into psql or oracle) and the time each query took.
Identify a runaway Oracle query: first, use ps aux or top to get the UNIX process ID of a runaway Oracle process.
Log in to SQL*Plus as the admin:
[service0 ~]$ svrmgrl +
Turn on Database statistics
Browse directly to a slow page and click "Request Information" at the bottom of the page.
This should return a list of database queries on the page, including the exact query (so it can be cut-paste into psql or oracle) and the time each query took.
Identify a runaway Oracle query: first, use ps aux or top to get the UNIX process ID of a runaway Oracle process.
Log in to SQL*Plus as the admin:
[service0 ~]$ svrmgrl Oracle Server Manager Release 3.1.7.0.0 - Production Index: openacs-4/packages/acs-core-docs/www/maintenance-web.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-web.html,v diff -u -r1.17 -r1.18 --- openacs-4/packages/acs-core-docs/www/maintenance-web.html 4 Feb 2004 16:47:33 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/maintenance-web.html 12 Feb 2004 13:51:40 -0000 1.18 @@ -1,4 +1,4 @@ -Running OpenACS in Production Environments +Running OpenACS in Production Environments OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.Maintenance tasks, optional software, and alternate configurations for AOLserver.
The simplest way to start and stop and OpenACS site is to run the startup shell script provided, /var/lib/aolserver/service0/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 @@ -159,7 +159,7 @@ able to exploit your web server to execute a command on your server, they would not be able to gain root access.
Services on different ports.�To run a different service on another port but the same - ip, simply repeat Install OpenACS replacing + ip, simply repeat Install OpenACS 5.0.1d1 replacing service0, and change the
set httpport 8000 set httpsport 8443Index: openacs-4/packages/acs-core-docs/www/maintenance.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/maintenance.html,v diff -u -r1.12 -r1.13 --- openacs-4/packages/acs-core-docs/www/maintenance.html 4 Feb 2004 16:47:33 -0000 1.12 +++ openacs-4/packages/acs-core-docs/www/maintenance.html 12 Feb 2004 13:51:40 -0000 1.13 @@ -1 +1 @@ -
Chapter�6.�Maintenance
Prev Home Next Upgrading Platform components Up Running OpenACS in Production Environments
docs@openacs.orgView comments on this page at openacs.org +Chapter�6.�Maintenance
Prev Home Next Upgrading Platform components Up Running OpenACS in Production Environments
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/nxml-mode.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/nxml-mode.html,v diff -u -r1.3 -r1.4 --- openacs-4/packages/acs-core-docs/www/nxml-mode.html 4 Feb 2004 16:47:33 -0000 1.3 +++ openacs-4/packages/acs-core-docs/www/nxml-mode.html 12 Feb 2004 13:51:40 -0000 1.4 @@ -1,4 +1,4 @@ -Using nXML mode in Emacs By Jeff Davis
+Using nXML mode in Emacs By Jeff Davis
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.Index: openacs-4/packages/acs-core-docs/www/object-identity.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-identity.html,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/object-identity.html 4 Feb 2004 16:47:33 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/object-identity.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -1,18 +1,18 @@ -
Object Identity +Object Identity OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -One of the major design features of OpenACS is the explicit representation +
One of the major design features of OpenACS 5.0.1d1 is the explicit representation of object identity. The reason I say "explicit representation" is because the concept of object identity has been around forever. It is inherent to our problem domain. Consider the example of 3.x style scoping. The 3.x data models use the triple (user_id, group_id, -scope) to identify an object. In the data model this +scope) to identify an object. In the 5.0.1d1 data model this object is explicitly represented by a single party_id.
Another good example of this is can be found in the user groups data model. The 3.x user groups data model contains another example of an implied identity. Every mapping between a user and a group could have an arbitrary number of attached values (user_group_member_fields, etc.). In this case it is the pair (group_id, user_id) that implicitly refers to an -object (the person's membership in a group). In the data model this +object (the person's membership in a group). In the 5.0.1d1 data model this object identity is made explicit by adding an integer primary key to the table that maps users to groups.
Coming from a purely relational world, this might seem slightly weird at first. The pair (group_id, user_id) is sufficient to uniquely identify the Index: openacs-4/packages/acs-core-docs/www/object-system-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-design.html,v diff -u -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/object-system-design.html 4 Feb 2004 16:47:33 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/object-system-design.html 12 Feb 2004 13:51:40 -0000 1.20 @@ -1,4 +1,4 @@ -
Object Model Design By Pete Su, Michael Yoon, Richard Li, Rafael Schloming
+Object Model Design By Pete Su, Michael Yoon, Richard Li, Rafael Schloming
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
Index: openacs-4/packages/acs-core-docs/www/object-system-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-requirements.html,v diff -u -r1.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 4 Feb 2004 16:47:33 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 12 Feb 2004 13:51:40 -0000 1.19 @@ -1,4 +1,4 @@ -
Object Model Requirements By Pete Su
+Object Model Requirements By Pete Su
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.A major goal in OpenACS 4 is to unify and normalize many of the core services Index: openacs-4/packages/acs-core-docs/www/objects.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/objects.html,v diff -u -r1.26 -r1.27 --- openacs-4/packages/acs-core-docs/www/objects.html 4 Feb 2004 16:47:33 -0000 1.26 +++ openacs-4/packages/acs-core-docs/www/objects.html 12 Feb 2004 13:51:40 -0000 1.27 @@ -1,8 +1,8 @@ -
OpenACS Data Models and the Object System By Pete Su
+OpenACS Data Models and the Object System By Pete Su
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.-Developing data models in OpenACS is much like developing data models +Developing data models in OpenACS 5.0.1d1 is much like developing data models for OpenACS 3, save for the implementation. As usual, you need to examine how to model the information that the application must store and manipulate, and define a suitable set of SQL tables. In our Notes @@ -78,7 +78,7 @@ Fire up your text editor and open the ROOT/packages/notes/sql/oracle/notes-create.sql (ROOT/packages/notes/sql/postgresql/notes-create.sql for the PG version) file created when we created the package. Then, do the following: -
+
First, add an entry to the acs_object_types table with the following PL/SQL call:
begin @@ -138,7 +138,7 @@ because the new type note is a subtype of acs_object, it will inherit these attributes, so there is no need for us to define them. -The next thing we do is make a small modification to the data model to reflect the fact that each row in the notes table represents something that is not only an object of type @@ -163,7 +163,7 @@ use the acs_objects table to find objects will transparently find any objects that are instances of any subtype of acs_objects. -
The next step is to define a PL/SQL package for your new type, and write some basic procedures to create and delete objects. Here is a package definition for our new type: @@ -211,7 +211,7 @@ object OBJ was "read only", then any other object that used OBJ as its context would also be "read only" by default. We'll talk about this more later. -
The PL/SQL package body contains the implementations of the procedures defined above. The only subtle thing going on here is that we must use acs_object.new to insert a row into @@ -314,7 +314,7 @@ models that are meant to be integrated with the OpenACS object system.
-There are two basic rules you should follow when designing OpenACS data +There are two basic rules you should follow when designing OpenACS 5.0.1d1 data models: @@ -369,7 +369,7 @@ requires a good amount of thought at design time even for simple applications.
-Hooking into the OpenACS object system brings the application developer +Hooking into the OpenACS 5.0.1d1 object system brings the application developer numerous benefits, and doing it involves only four easy steps: Index: openacs-4/packages/acs-core-docs/www/openacs-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-overview.html,v diff -u -r1.16 -r1.17 --- openacs-4/packages/acs-core-docs/www/openacs-overview.html 4 Feb 2004 16:47:33 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/openacs-overview.html 12 Feb 2004 13:51:40 -0000 1.17 @@ -1,4 +1,4 @@ -
Overview +
Overview OpenACS (Open Architecture Community System) is an advanced toolkit for building scalable, community-oriented web applications. If you're thinking of building an Index: openacs-4/packages/acs-core-docs/www/openacs-unpack.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-unpack.html,v diff -u -r1.12 -r1.13 --- openacs-4/packages/acs-core-docs/www/openacs-unpack.html 4 Feb 2004 16:47:33 -0000 1.12 +++ openacs-4/packages/acs-core-docs/www/openacs-unpack.html 12 Feb 2004 13:51:40 -0000 1.13 @@ -1,17 +1,17 @@ -
Unpack the OpenACS tarball The OpenACS tarball contains sample configuration files +
Unpack the OpenACS tarball The OpenACS tarball contains sample configuration files for some of the packages listed below. In order to access those files, unpack the tarball now.
[root root]# cd /tmp -[root tmp]# tar xzf .tgz +[root tmp]# tar xzf openacs-5.0.1d1.tgz cd /tmp -tar xzf .tgz
If you are installing from a different method and just need the configuration files, you can instead get them from CVS:
[root root]# cd /tmp +tar xzf openacs-5.0.1d1.tgzIf you are installing from a different method and just need the configuration files, you can instead get them from CVS:
[root root]# cd /tmp [root tmp]# cvs -d :pserver:anonymous@openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/ cvs checkout: warning: failed to open /root/.cvspass for reading: No such file or directory cvs server: Updating openacs-4/packages/acs-core-docs/www/files U openacs-4/packages/acs-core-docs/www/files/README.TXT (many lines omitted) U openacs-4/packages/acs-core-docs/www/files/template-ini.ini U openacs-4/packages/acs-core-docs/www/files/winnsd.txt -[root tmp]# mv openacs-4 +[root tmp]# mv openacs-4 openacs-5.0.1d1 cd /tmp cvs -d :pserver:anonymous@openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/ mv openacs-4 openacs-5.0.0a4
Prev Home Next Appendix�B.�Install additional supporting software Up Initialize CVS (OPTIONAL)
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/openacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.html,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/openacs.html 4 Feb 2004 16:47:33 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/openacs.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -1,4 +1,4 @@ -Install OpenACS by Vinod Kurup
+Install OpenACS 5.0.1d1 by Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.For Linux Standard Base compliance and ease of backup, @@ -69,9 +69,10 @@ tarball and save it in /tmp and proceed:
Unpack the OpenACS tarball and rename it to service0. Secure the directory so that only the owner can access it. Check the permissions by listing the directory.
[root root]# su - service0 [service0 service0]$ cd /var/lib/aolserver -[service0 aolserver]$ tar xzf /tmp/.tgz -[service0 aolserver]$ mv service0 -[service0 aolserver]$ chmod -R 700 service0 +[service0 aolserver]$ tar xzf /tmp/openacs-5.0.1d1.tgz +[service0 aolserver]$ mv openacs-5.0.1d1 service0 +[service0 aolserver]$ chmod -R 775 service0 +[service0 aolserver]$ chown -R service0.service0 service0 [service0 aolserver]$ ls -al total 3 drwxrwx--- 3 root web 1024 Mar 29 16:41 . @@ -82,9 +83,10 @@ [root root]# su - service0 cd /var/lib/aolserver -tar xzf /tmp/.tgz -mv service0 -chmod -R 700 service0/ +tar xzf /tmp/openacs-5.0.1d1.tgz +mv openacs-5.0.1d1 service0 +chmod -R 755 service0 +chgrp -R service0.service0 service0 exitAdd the Service to CVS (OPTIONAL)
Prepare the database
Prepare Oracle for OpenACS.�If you won't be using Oracle, skip to Prepare PostgreSQL for an OpenACS Service
You should be sure that your user account (e.g. service0) is in the @@ -218,15 +220,15 @@ CREATE DATABASE [service0 service0]$ su - service0 -createdb -E UNICODE service0
Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.
[service0 service0]$ export EDITOR=emacs;crontab -eAdd this line to the file. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day.
0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0 +createdb -E UNICODE service0Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.
[service0 service0]$ export EDITOR=emacs;crontab -eAdd these lines to the file. The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve performance. We vacuum gently every hour and completely every day. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day, and every (*) day of month, month, and day of week. Type man 5 crontab for more information.
0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --analyze service0 0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze service0Add Full Text Search Support (OPTIONAL)
At this point the database should be ready for installing OpenACS.
Configure an AOLserver Service for OpenACS.�
The AOLserver architecture lets you run an arbitrary number of virtual servers. A virtual server is an HTTP service running on a specific port, e.g. port 80. In order for OpenACS to work, you need to configure a virtual server. The Reference Platform uses a configuration file included in the OpenACS tarball, /var/lib/aolserver/service0/etc/config.tcl. - Open it in an editor to adjust the parameters.
[root root]# su - service0 + Open it in an editor to adjust the parameters.[root root]# su - service0 [service0 service0]$ cd /var/lib/aolserver/service0/etc [service0 etc]$ emacs config.tcl@@ -253,20 +255,16 @@
Enable OpenFTS Full Text Search (OPTIONAL)
Install nsopenssl for SSL support. (OPTIONAL)
Verify AOLserver startup.�
Kill any current running AOLserver processes and start a new - one. If you are using Oracle, rather than PostgreSQL, replace - nsd-postgres with - nsd-oracle).
If you want to use port 80, there are complications. - First, AOLserver must be root to use system ports such as - 80, but refuses to run as root for security reasons. Thus - you must start as root and specify a non-root user ID and + one. The recommended way to start an AOLserver process is by running the included script, /var/lib/aolserver/service0/packages/etc/daemontools/run. If you are not using the default file paths and names, you will need to edit run.
If you want to use port 80, there are complications. AOLserver must be root to use system ports such as + 80, but refuses to run as root for security reasons. So, we call the run script as root and specify a non-root user ID and Group ID which AOLserver will switch to after claiming the port. To do so, find the UID and GID of the service0 user via grep service0 /etc/passwd and then put those numbers into the command line via -u 501 -g - 502. Second, if you are root then killall will affect all OpenACS services on the machine, so if there's more than one you'll have to do ps -auxw | grep + 502. In AOLserver 4, you must also send a -b flag. Do this by editing the run file as indicated in the comments.
If you are root then killall will affect all OpenACS services on the machine, so if there's more than one you'll have to do ps -auxw | grep nsd and selectively kill by job number.
[service0 etc]$ killall nsd nsd: no process killed [service0 service0]$ /usr/local/aolserver/bin/nsd-postgres -t /var/lib/aolserver/service0/etc/config.tcl @@ -291,7 +289,7 @@ AOLserver keepalive (OPTIONAL)
Configure a Service with the OpenACS Installer.� Now that you've got AOLserver up and running, let's install OpenACS - . + 5.0.1d1.
You should see a page from the webserver titled OpenACS Installation: @@ -347,15 +345,15 @@ Give the server a few minutes to start up. Then reload the final page above. You should see the front page, with an area to login near the upper right. Congratulations, OpenACS - is now up and running! + 5.0.1d1 is now up and running!
Use daemontools supervice and svc, or inittab, to automate server startup and shutdown.
Install Full Text Search (OPTIONAL). If you have installed OpenFTS and enabled OpenFTS, you can now install the OpenFTS Driver package and Full Text Search Engine package in the OpenACS service.
This is a good time to make a backup of your service. If this is a production site, you should set up automatic nightly backups.
If you want traffic reports, set up analog or another log processing program.
Follow the instruction on the home page to change the appearance of your service or add more - packages. (more information)
Proceed to the tutorial to learn how to develop your own packages.
Set up database environment variables for the site - user. These settings are necessary for working with the + packages. (more information)
Proceed to the tutorial to learn how to develop your own packages.
Set up database environment variables for the site + user. Depending on how you installed Oracle or PostGreSQL, these settings may be necessary for working with the database while logged in as the service user. They do not directly affect the service's run-time connection with the database, because those environmental variables are set by the Index: openacs-4/packages/acs-core-docs/www/oracle.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.html,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/oracle.html 4 Feb 2004 16:47:33 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/oracle.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -1,10 +1,10 @@ -
Install Oracle 8.1.7 By Vinod Kurup
+Install Oracle 8.1.7 By Vinod Kurup
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.Note
Skip this section if you're not interested in Oracle.
- OpenACS will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues. + OpenACS 5.0.1d1 will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues.
This document assumes that you'll be installing Oracle on the same Index: openacs-4/packages/acs-core-docs/www/os-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-install.html,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/os-install.html 4 Feb 2004 16:47:33 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/os-install.html 12 Feb 2004 13:51:40 -0000 1.5 @@ -1,4 +1,4 @@ -
Linux Install Guides +
Linux Install Guides Here's a list of some helpful documentation for various OS's
Painless Debian Index: openacs-4/packages/acs-core-docs/www/os-security.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-security.html,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-core-docs/www/os-security.html 4 Feb 2004 16:47:33 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/os-security.html 12 Feb 2004 13:51:40 -0000 1.5 @@ -1,4 +1,4 @@ -
Security Information +
Security Information Once you get your OS installed, it's imperative that you secure your installation. As Jon Griffin repeatedly warns us, "No distribution is secure out of the box." The Reference Platform implements Index: openacs-4/packages/acs-core-docs/www/packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/packages.html,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/packages.html 4 Feb 2004 16:47:33 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/packages.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -1,4 +1,4 @@ -
OpenACS Packages By Pete Su and Bryan Quinn
+OpenACS Packages By Pete Su and Bryan Quinn
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.@@ -56,7 +56,7 @@ the pieces of each module are strewn all over the tree in at least 3 or 4 different areas.
- Here is how an OpenACS server is laid out: + Here is how an OpenACS 5.0.1d1 server is laid out:
ROOT/ bin/ @@ -123,7 +123,7 @@ sends to our server to the right page in the appropriate package. While we're at it, this tool should also automate package installation, dependency checking, upgrades, and package - removal. In OpenACS , this tool is called the APM. + removal. In OpenACS 5.0.1d1, this tool is called the APM.The APM is used to create, maintain, and install packages. It takes care of copying all of the files and registering the package in the @@ -145,7 +145,7 @@
The following sections will show you how to make a package for the Notes application. In addition, they will discuss some new site - management features in OpenACS that take advantage of the APM's package + management features in OpenACS 5.0.1d1 that take advantage of the APM's package instance model. The two most important of these are subsites, and the site map tool, which can be used to map applications to one or more arbitrary URLs in a running site. @@ -433,7 +433,7 @@ map content that lived outside the page root into the site, and it was also hard to map mulitiple URLs to the same place in the file system.
- In OpenACS , administrators can define an arbitrary mapping between the + In OpenACS 5.0.1d1, administrators can define an arbitrary mapping between the URLs the user types and the actual file in the file system that is served. This mapping is called the site map and entries in the site map are called site nodes. Each site node maps a URL to an @@ -491,4 +491,4 @@
Writes out package distribution files for other people to download and install. We'll cover this later. -
($Id$)
Prev Home Next Chapter�8.�Development Reference Up OpenACS Data Models and the Object System
docs@openacs.orgView comments on this page at openacs.org +($Id$)
Prev Home Next Chapter�9.�Development Reference Up OpenACS Data Models and the Object System
docs@openacs.orgView comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/parties.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/parties.html,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-core-docs/www/parties.html 4 Feb 2004 16:47:33 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/parties.html 12 Feb 2004 13:51:40 -0000 1.26 @@ -1,4 +1,4 @@ -Parties in OpenACS +Parties in OpenACS OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.While many applications must deal with individuals and many applications Index: openacs-4/packages/acs-core-docs/www/permissions-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-design.html,v diff -u -r1.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/permissions-design.html 4 Feb 2004 16:47:33 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/permissions-design.html 12 Feb 2004 13:51:40 -0000 1.19 @@ -1,4 +1,4 @@ -
Permissions Design By John Prevost and Rafael H. Schloming
+Permissions Design By John Prevost and Rafael H. Schloming
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
Tcl in packages/acs-kernel
Index: openacs-4/packages/acs-core-docs/www/permissions-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-requirements.html,v diff -u -r1.18 -r1.19 --- openacs-4/packages/acs-core-docs/www/permissions-requirements.html 4 Feb 2004 16:47:33 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/permissions-requirements.html 12 Feb 2004 13:51:40 -0000 1.19 @@ -1,4 +1,4 @@ -
Permissions Requirements By John McClary Prevost
+Permissions Requirements By John McClary Prevost
OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.This document records requirements for the OpenACS 4 Permissions system, a Index: openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html,v diff -u -r1.19 -r1.20 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 4 Feb 2004 16:47:33 -0000 1.19 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 12 Feb 2004 13:51:40 -0000 1.20 @@ -1,4 +1,4 @@ -
OpenACS Permissions Tediously Explained +
OpenACS Permissions Tediously Explained by Vadim Nasardinov. Modified and converted to Docbook XML by Roberto Mello
The code has been modified since this document was written so it is now out of date. See this forum thread.