Index: openacs-4/packages/acs-core-docs/www/acs-admin.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-admin.html,v diff -u -N -r1.19.2.10 -r1.19.2.11 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 11 Feb 2004 11:19:46 -0000 1.19.2.10 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 8 Mar 2004 21:21:45 -0000 1.19.2.11 @@ -1 +1 @@ -
Table of Contents
Table of Contents
Oracle
[root aolserver]# cd /usr/local/aolserver/bin
-[root bin]# cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
+[root bin]# cp /tmp/openacs-5.0.4/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/openacs-5.0.2/packages/acs-core-docs/www/files/nsd-oracle.txt ./nsd-oracle
+cp /tmp/openacs-5.0.4/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/openacs-5.0.2/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
+[root bin]# cp /tmp/openacs-5.0.4/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/openacs-5.0.2/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
+cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/nsd-postgres.txt ./nsd-postgres
chmod 755 nsd-postgres
Install tDOM.�Download the tDOM tarball, unpack it, adjust the configuration file to match our patched distribution of aolserver, and compile it.
[root root]# cd /usr/local/src Index: openacs-4/packages/acs-core-docs/www/aolserver4.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver4.html,v diff -u -N -r1.1.2.12 -r1.1.2.13 --- openacs-4/packages/acs-core-docs/www/aolserver4.html 11 Feb 2004 11:19:46 -0000 1.1.2.12 +++ openacs-4/packages/acs-core-docs/www/aolserver4.html 8 Mar 2004 21:21:45 -0000 1.1.2.13 @@ -1,14 +1,7 @@ -Install AOLserver 4 View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/bootstrap-acs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.html,v diff -u -N -r1.22.2.14 -r1.22.2.15 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 11 Feb 2004 11:19:46 -0000 1.22.2.14 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 8 Mar 2004 21:21:45 -0000 1.22.2.15 @@ -7,7 +7,7 @@ Before OpenACS 3.3, the OpenACS startup process was extremely simple: after AOLserver performed its internal initialization (reading the configuration file, loading shared libraries and module code, etc.) it scanned through the Tcl -library directory (generally /web/yourservername/tcl), +library directory (generally /var/lib/aolserver/yourservername/tcl), sourcing each file in sequence.While this overall structure for initialization is still intact, package management has thrown a wrench into the works - there are a few extra things @@ -28,9 +28,9 @@
Next AOLserver sources, in lexicographical order, each file in the /tcl directory. The first such file is 0-acs-init.tcl, which doesn't do much directly except to -determine the OpenACS path root (e.g., /web/yourservername) +determine the OpenACS path root (e.g., /var/lib/aolserver/yourservername) by trimming the final component from the path to the Tcl library directory -(/web/yourservername/tcl). But +(/var/lib/aolserver/yourservername/tcl). But 0-acs-init.tcl's has an important function, namely sourcing /packages/acs-core/bootstrap.tcl, which does the following:
Initialize some NSVs used by the core. These NSVs are documented in /packages/acs-core/apm-procs.tcl - no need to Index: openacs-4/packages/acs-core-docs/www/complete-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/complete-install.html,v diff -u -N -r1.4.2.10 -r1.4.2.11 --- openacs-4/packages/acs-core-docs/www/complete-install.html 11 Feb 2004 11:19:46 -0000 1.4.2.10 +++ openacs-4/packages/acs-core-docs/www/complete-install.html 8 Mar 2004 21:21:45 -0000 1.4.2.11 @@ -1 +1 @@ -
Chapter�3.�Complete Installation View comments on this page at openacs.org +Chapter�3.�Complete Installation View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/cvs-tips.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-tips.html,v diff -u -N -r1.6.2.13 -r1.6.2.14 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 11 Feb 2004 11:19:46 -0000 1.6.2.13 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 8 Mar 2004 21:21:45 -0000 1.6.2.14 @@ -1,7 +1,7 @@Appendix�D.�Using CVS with an OpenACS Site 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 @@ -20,11 +20,11 @@ plus this string, i.e. /cvsroot/service0. - "OpenACS" is the vendor tag, and "openacs-5-0-2-final" is the + "OpenACS" is the vendor tag, and "openacs-5-0-4-final" 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 openacs-5-0-2-final +[service0 service0]$ cd /var/lib/aolserver/service0 +[service0 service0]$ cvs import -m "initial install" service0 OpenACS openacs-5-0-4-final N service0/license.txt N service0/readme.txt (many lines omitted) @@ -34,8 +34,8 @@ [service0 service0]$ su - service0 -cd /web/service0 -cvs import -m "initial install" service0 OpenACS openacs-5-0-2-finalMove 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 .. +cd /var/lib/aolserver/service0 +cvs import -m "initial install" service0 OpenACS openacs-5-0-4-finalMove 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 cvs checkout: Updating service0 Index: openacs-4/packages/acs-core-docs/www/database-management.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/database-management.html,v diff -u -N -r1.14.2.14 -r1.14.2.15 --- openacs-4/packages/acs-core-docs/www/database-management.html 11 Feb 2004 11:19:46 -0000 1.14.2.14 +++ openacs-4/packages/acs-core-docs/www/database-management.html 8 Mar 2004 21:21:45 -0000 1.14.2.15 @@ -35,8 +35,9 @@ service0.Then, to drop the db, just do:
[service0 ~]$ dropdb service0 DROP DATABASE
- The "vacuum" command must be run periodically to reclaim space. The - "vacuum analyze" form additionally collects statistics on the + The "vacuum" command must be run periodically to reclaim space + in versions of PostgreSQL before 7.4. The "vacuum analyze" form + additionally collects statistics on the disbursion of columns in the database, which the optimizer uses when it calculates just how to execute queries. The availability of this data can make a tremendous difference in the execution speed of @@ -46,7 +47,8 @@ prefer it to happen immediately after (not before!) you've made a backup! The "vacuum" command is very reliable, but conservatism is the key to good system management. So, if you're using the export - procedure described above, you don't need to do this extra step. + procedure described above, you don't need to do this extra + step.
Edit your crontab:
[joeuser ~]$ crontab -eWe'll set vacuum up to run nightly at 1 AM. Add the following line:
0 1 * * * /usr/local/pgsql/bin/vacuumdb service0
($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/docbook-primer.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/docbook-primer.html,v diff -u -N -r1.23.2.14 -r1.23.2.15 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 11 Feb 2004 11:19:46 -0000 1.23.2.14 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 8 Mar 2004 21:21:45 -0000 1.23.2.15 @@ -36,7 +36,7 @@ In order to separate content and presentation, all OpenACS documentation will be marked up to conform to the DocBook XML DTD - + This enables us to publish in a variety of formats and relieves each contributor of the burden of presentation, freeing him to focus on content and sharing knowledge. @@ -57,7 +57,7 @@ list of elements and use more exotic features in your documents. The list is made up of SGML-elements but basically the same elements are valid in the XML DTD as long as you remember to: - +
Always close your tags with corresponding end-tags and to not use other tag minimization @@ -106,7 +106,7 @@ The documentation for each package will make up a little "book" that is structured like this - examples are emphasized: - +
book : Docs for one package - templating @@ -130,20 +130,20 @@ sources of these DocBook documents to get an idea of how they are tied together.- + Given that your job starts at the sect1-level, all your documents should open with a <sect1>-tag and end with the corresponding </sect1>.
- + You need to feed every <sect1> two attributes. The first attribute, id, is standard and can be used with all elements. It comes in very handy when interlinking between documents (more about this when talking about links in the section called “Links”). The value of id has to be unique throughout the book you're making since the id's in your sect1's will turn into filenames when the book is parsed into HTML.
- + The other attribute is xreflabel. The value of this is the text that will appear as the link when referring to this sect1.
@@ -158,7 +158,7 @@ </sect1>
- + Inside this container your document will be split up into <sect2>'s, each with the same requirements - id and xreflabel @@ -167,7 +167,7 @@ When it comes to naming your sect2's and below, prefix them with some abbreviation of the id in the sect1 such as requirements-overview.
- + For displaying a snippet of code, a filename or anything else you just want to appear as a part of a sentence, we will use the tag <computeroutput>. @@ -177,12 +177,12 @@ <programlisting> is used. Just wrap your code block in it; mono-spacing, indents and all that stuff is taken care of automatically.
- + Linking falls into two different categories: inside the book you're making and outside:
- 1. Inside linking, cross-referencing other parts of your book
By having unique id's you can cross-reference any part of your book with a simple tag, regardless of where that part is. -
Check out how I link to a subsection of the Developer's Guide:
Put this in your XML:
+Check out how I link to a subsection of the Developer's Guide:
Put this in your XML:
- Find information about creating a package in <xref linkend="packages-making-a-package"></xref>.And the output is:
@@ -206,7 +206,7 @@ packages-looks, the parser will try its best to explain where the link takes you.- 2. Linking outside the documentation
- + If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just a little different @@ -227,7 +227,7 @@ do it, so if you want to start converting your documents right away, start out with the ones without graphics ;)
- + To insert a graphic we use the elements <mediaobject>, <imageobject>, @@ -253,7 +253,7 @@ Put your graphics in a separate directory ("images") and link to them only with relative paths.
- + Here's how you make the DocBook equivalent of the three usual HTML-lists:
- 1. How to make an <ul>
Making an unordered list is pretty much like doing the same thing in HTML - if you close your <li>, that is. The only differences are that each list item has to be wrapped in something more, such as @@ -298,7 +298,7 @@ </variablelist>
- + DocBook supports several types of tables, but in most cases, the <informaltable> is enough: @@ -335,7 +335,7 @@ <table> for an example.
- + Our documentation uses two flavors of emphasis - italics and bold type. DocBook uses one - <emphasis>.
Index: openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html,v diff -u -N -r1.11.2.14 -r1.11.2.15 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 11 Feb 2004 11:19:46 -0000 1.11.2.14 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 8 Mar 2004 21:21:46 -0000 1.11.2.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 -N -r1.22.2.14 -r1.22.2.15 --- openacs-4/packages/acs-core-docs/www/filename.html 11 Feb 2004 11:19:46 -0000 1.22.2.14 +++ openacs-4/packages/acs-core-docs/www/filename.html 8 Mar 2004 21:21:46 -0000 1.22.2.15 @@ -114,7 +114,7 @@ within the OpenACS, this section's details are likely to shift from UI specifics to template interface specifics.
- Under OpenACS 5.0.2, parameters are set at two levels: at the global level by + Under OpenACS 5.0.4, 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/form-builder.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.html,v diff -u -N -r1.1.2.12 -r1.1.2.13 --- openacs-4/packages/acs-core-docs/www/form-builder.html 11 Feb 2004 11:19:46 -0000 1.1.2.12 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 8 Mar 2004 21:21:46 -0000 1.1.2.13 @@ -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:
This generally happens when there is an error in your + encounter them:
($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/how-do-I.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/how-do-I.html,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/how-do-I.html 11 Feb 2004 11:19:46 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/how-do-I.html 8 Mar 2004 21:21:46 -0000 1.1.2.5 @@ -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.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n.html,v diff -u -N -r1.13.2.15 -r1.13.2.16 --- openacs-4/packages/acs-core-docs/www/i18n.html 27 Feb 2004 10:03:50 -0000 1.13.2.15 +++ openacs-4/packages/acs-core-docs/www/i18n.html 8 Mar 2004 21:21:46 -0000 1.13.2.16 @@ -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 @@ -271,15 +271,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 -N -r1.22.2.15 -r1.22.2.16 --- openacs-4/packages/acs-core-docs/www/index.html 11 Feb 2004 11:19:47 -0000 1.22.2.15 +++ openacs-4/packages/acs-core-docs/www/index.html 8 Mar 2004 21:21:46 -0000 1.22.2.16 @@ -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. 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 Index: openacs-4/packages/acs-core-docs/www/individual-programs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/individual-programs.html,v diff -u -N -r1.13.2.10 -r1.13.2.11 --- openacs-4/packages/acs-core-docs/www/individual-programs.html 11 Feb 2004 11:19:47 -0000 1.13.2.10 +++ openacs-4/packages/acs-core-docs/www/individual-programs.html 8 Mar 2004 21:21:46 -0000 1.13.2.11 @@ -6,7 +6,7 @@ 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 5.0.2.�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.4.�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 5.0.2 stores + to install OpenFTS.
tDOM, REQUIRED.�OpenACS 5.0.4 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 5.0.2. These + includes all the patches and modules needed to run OpenACS 5.0.4. 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 -N -r1.12.2.13 -r1.12.2.14 --- openacs-4/packages/acs-core-docs/www/install-cvs.html 11 Feb 2004 11:19:47 -0000 1.12.2.13 +++ openacs-4/packages/acs-core-docs/www/install-cvs.html 8 Mar 2004 21:21:46 -0000 1.12.2.14 @@ -1,4 +1,4 @@ -
Initialize CVS (OPTIONAL) CVS is a source control system. Create and initialize a +
Initialize CVS (OPTIONAL) CVS is a source control system. Create and initialize a directory for a local cvs repository.
[root tmp]# mkdir /cvsroot [root tmp]# cvs -d /cvsroot init [root tmp]# Index: openacs-4/packages/acs-core-docs/www/install-daemontools.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.html,v diff -u -N -r1.13.2.13 -r1.13.2.14 --- openacs-4/packages/acs-core-docs/www/install-daemontools.html 11 Feb 2004 11:19:47 -0000 1.13.2.13 +++ openacs-4/packages/acs-core-docs/www/install-daemontools.html 8 Mar 2004 21:21:46 -0000 1.13.2.14 @@ -3,7 +3,7 @@ installed in /package. These commands install daemontools and svgroup. svgroup is a script for granting permissions, to allow users other than root to use daemontools for specific - services.
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/openacs-5.0.2/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup + control daemontools services.[root root]# cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup [root root]# chmod 755 /usr/local/bin/svgroup -cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup +cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/svgroup.txt /usr/local/bin/svgroup chmod 755 /usr/local/bin/svgroup
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/install-full-text-search.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/install-full-text-search.html,v diff -u -N -r1.11.2.14 -r1.11.2.15 --- openacs-4/packages/acs-core-docs/www/install-full-text-search.html 11 Feb 2004 11:19:47 -0000 1.11.2.14 +++ openacs-4/packages/acs-core-docs/www/install-full-text-search.html 8 Mar 2004 21:21:46 -0000 1.11.2.15 @@ -1,7 +1,7 @@Install Full Text Search 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-qmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-qmail.html,v diff -u -N -r1.13.2.13 -r1.13.2.14 --- openacs-4/packages/acs-core-docs/www/install-qmail.html 11 Feb 2004 11:19:47 -0000 1.13.2.13 +++ openacs-4/packages/acs-core-docs/www/install-qmail.html 8 Mar 2004 21:21:46 -0000 1.13.2.14 @@ -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/openacs-5.0.2/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.4/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp [root ucspi-tcp-0.88]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp -cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp -tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
Download qmail, +cp /tmp/openacs-5.0.4/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/openacs-5.0.2/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc +[root alias]# cp /tmp/openacs-5.0.4/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/openacs-5.0.2/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc +cp /tmp/openacs-5.0.4/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/openacs-5.0.2/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl +[root root]# cp /tmp/openacs-5.0.4/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/openacs-5.0.2/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run -[root root]# cp /tmp/openacs-5.0.2/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.2/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run -[root root]# cp /tmp/openacs-5.0.2/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.4/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run +[root root]# cp /tmp/openacs-5.0.4/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.4/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run +[root root]# cp /tmp/openacs-5.0.4/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/openacs-5.0.2/packages/acs-core-docs/www/files/qmailctl.txt /var/qmail/bin/qmailctl +cp /tmp/openacs-5.0.4/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/openacs-5.0.2/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run -cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run -cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run -cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/qmail-smtpd-log-run.txt /var/qmail/supervise/qmail-smtpd/log/run +cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/qmail-send-run.txt /var/qmail/supervise/qmail-send/run +cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/qmail-send-log-run.txt /var/qmail/supervise/qmail-send/log/run +cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/qmail-smtpd-run.txt /var/qmail/supervise/qmail-smtpd/run +cp /tmp/openacs-5.0.4/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 -N -r1.13.2.13 -r1.13.2.14 --- openacs-4/packages/acs-core-docs/www/install-redhat.html 11 Feb 2004 11:19:47 -0000 1.13.2.13 +++ openacs-4/packages/acs-core-docs/www/install-redhat.html 8 Mar 2004 21:21:46 -0000 1.13.2.14 @@ -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
On the pop-up window asking "Are you sure you want to do this?" click
- IF YOU ARE WIPING YOUR HARD DRIVE.Click
on the boot loader screenClick
on the boot loader screenConfigure 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 . -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
Choose your time zone and click
.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
We need to fine-tune the exact list of packages. +
At the bottom, check Select Individual Packages and click
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-steps.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.html,v diff -u -N -r1.6.2.15 -r1.6.2.16 --- openacs-4/packages/acs-core-docs/www/install-steps.html 11 Feb 2004 11:19:47 -0000 1.6.2.15 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 8 Mar 2004 21:21:46 -0000 1.6.2.16 @@ -5,7 +5,7 @@ Install AOLserver 4).
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 5.0.2).
There are specific instructions available for Mac OS X and + (see Install OpenACS 5.0.4).
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.
@@ -38,9 +38,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/ix01.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ix01.html,v diff -u -N -r1.1.4.12 -r1.1.4.13 --- openacs-4/packages/acs-core-docs/www/ix01.html 11 Feb 2004 11:19:47 -0000 1.1.4.12 +++ openacs-4/packages/acs-core-docs/www/ix01.html 8 Mar 2004 21:21:46 -0000 1.1.4.13 @@ -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/maintenance-web.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-web.html,v diff -u -N -r1.14.2.14 -r1.14.2.15 --- openacs-4/packages/acs-core-docs/www/maintenance-web.html 11 Feb 2004 11:19:47 -0000 1.14.2.14 +++ openacs-4/packages/acs-core-docs/www/maintenance-web.html 8 Mar 2004 21:21:46 -0000 1.14.2.15 @@ -8,8 +8,18 @@ creates additional files and directories to track status and log. A daemontools directory is included in the OpenACS tarball at - /var/lib/aolserver/service0/etc/daemontools. To use it, first ill any existing AOLserver instances. As root, link the daemontools directory into the /service directory. Daemontools' svscan process checks this directory every five seconds, and will quickly execute run.[service0 etc]$ killall nsd + /var/lib/aolserver/service0/etc/daemontools. + To use it, first ill any existing AOLserver instances. As + root, link the daemontools + directory into the /service + directory. Daemontools' + svscan process checks this + directory every five seconds, and will quickly execute + run. Note that the run script + will need to be edited beforehand, to change + service0 with your service name.[service0 etc]$ killall nsd nsd: no process killed +[service0 etc]$ emacs /var/lib/aolserver/service0/etc/daemontools/run [service0 etc]$ exit [root root]# ln -s /var/lib/aolserver/service0/etc/daemontools/ /service/service0Verify that AOLserver is running.
[root root]# ps -auxw | grep nsd @@ -159,7 +169,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 5.0.2 replacing + ip, simply repeat Install OpenACS 5.0.4 replacing service0, and change the
set httpport 8000 set httpsport 8443Index: openacs-4/packages/acs-core-docs/www/object-identity.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-identity.html,v diff -u -N -r1.22.2.14 -r1.22.2.15 --- openacs-4/packages/acs-core-docs/www/object-identity.html 11 Feb 2004 11:19:47 -0000 1.22.2.14 +++ openacs-4/packages/acs-core-docs/www/object-identity.html 8 Mar 2004 21:21:46 -0000 1.22.2.15 @@ -1,18 +1,18 @@
Object Identity One of the major design features of OpenACS 5.0.4 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 5.0.2 data model this +scope) to identify an object. In the 5.0.4 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 5.0.2 data model this +object (the person's membership in a group). In the 5.0.4 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/objects.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/objects.html,v diff -u -N -r1.23.2.14 -r1.23.2.15 --- openacs-4/packages/acs-core-docs/www/objects.html 11 Feb 2004 11:19:47 -0000 1.23.2.14 +++ openacs-4/packages/acs-core-docs/www/objects.html 8 Mar 2004 21:21:46 -0000 1.23.2.15 @@ -2,7 +2,7 @@ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
-Developing data models in OpenACS 5.0.2 is much like developing data models +Developing data models in OpenACS 5.0.4 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 5.0.2 data +There are two basic rules you should follow when designing OpenACS 5.0.4 data models: @@ -369,7 +369,7 @@ requires a good amount of thought at design time even for simple applications.
-Hooking into the OpenACS 5.0.2 object system brings the application developer +Hooking into the OpenACS 5.0.4 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-unpack.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-unpack.html,v diff -u -N -r1.8.2.10 -r1.8.2.11 --- openacs-4/packages/acs-core-docs/www/openacs-unpack.html 11 Feb 2004 11:19:47 -0000 1.8.2.10 +++ openacs-4/packages/acs-core-docs/www/openacs-unpack.html 8 Mar 2004 21:21:46 -0000 1.8.2.11 @@ -1,17 +1,17 @@
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 openacs-5.0.2.tgz +[root tmp]# tar xzf openacs-5.0.4.tgz cd /tmp -tar xzf openacs-5.0.2.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.4.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 openacs-5.0.2 +[root tmp]# mv openacs-4 openacs-5.0.4 cd /tmp cvs -d :pserver:anonymous@openacs.org:/cvsroot co openacs-4/packages/acs-core-docs/www/files/ mv openacs-4 openacs-5.0.0a4View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/openacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.html,v diff -u -N -r1.22.2.15 -r1.22.2.16 --- openacs-4/packages/acs-core-docs/www/openacs.html 11 Feb 2004 11:19:47 -0000 1.22.2.15 +++ openacs-4/packages/acs-core-docs/www/openacs.html 8 Mar 2004 21:21:46 -0000 1.22.2.16 @@ -1,4 +1,4 @@ -Install OpenACS 5.0.2
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 Index: openacs-4/packages/acs-core-docs/www/oracle.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.html,v diff -u -N -r1.22.2.14 -r1.22.2.15 --- openacs-4/packages/acs-core-docs/www/oracle.html 11 Feb 2004 11:19:47 -0000 1.22.2.14 +++ openacs-4/packages/acs-core-docs/www/oracle.html 8 Mar 2004 21:21:46 -0000 1.22.2.15 @@ -4,7 +4,7 @@
Note
Skip this section if you're not interested in Oracle.
- OpenACS 5.0.2 will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues. + OpenACS 5.0.4 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/packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/packages.html,v diff -u -N -r1.22.2.14 -r1.22.2.15 --- openacs-4/packages/acs-core-docs/www/packages.html 11 Feb 2004 11:19:48 -0000 1.22.2.14 +++ openacs-4/packages/acs-core-docs/www/packages.html 8 Mar 2004 21:21:46 -0000 1.22.2.15 @@ -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 5.0.2 server is laid out: + Here is how an OpenACS 5.0.4 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 5.0.2, this tool is called the APM. + removal. In OpenACS 5.0.4, 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 5.0.2 that take advantage of the APM's package + management features in OpenACS 5.0.4 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 5.0.2, administrators can define an arbitrary mapping between the + In OpenACS 5.0.4, 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 Index: openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html,v diff -u -N -r1.16.2.13 -r1.16.2.14 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 11 Feb 2004 11:19:48 -0000 1.16.2.13 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 8 Mar 2004 21:21:47 -0000 1.16.2.14 @@ -100,7 +100,7 @@
Suppose objects A, B, ..., and F form the following hierarchy. -
Table�8.1.�Context Hierarchy Example
A +
Table�8.1.�Context Hierarchy Example
A object_id=10
B object_id=20 @@ -116,7 +116,7 @@ This can be represented in the acs_objects table by the following entries: -
+
The first entry tells us that object 20 is the descendant of object 10, and the third entry shows that object 40 is the descendant of object 20. By running a CONNECT BY query, Index: openacs-4/packages/acs-core-docs/www/permissions.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions.html,v diff -u -N -r1.22.2.14 -r1.22.2.15 --- openacs-4/packages/acs-core-docs/www/permissions.html 11 Feb 2004 11:19:48 -0000 1.22.2.14 +++ openacs-4/packages/acs-core-docs/www/permissions.html 8 Mar 2004 21:21:47 -0000 1.22.2.15 @@ -2,7 +2,7 @@ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
-The OpenACS 5.0.2 Permissions system allows developers and administrators to +The OpenACS 5.0.4 Permissions system allows developers and administrators to set access control policies at the object level, that is, any application or system object represented by a row in the acs_objects table can be access-controlled via a simple @@ -13,7 +13,7 @@ Although this may all sound easy and wonderful, no developer or administrator would want to explicitly set access control rights for every user and every object on a -site. Therefore, OpenACS 5.0.2 has two auxiliary mechanisms for making this +site. Therefore, OpenACS 5.0.4 has two auxiliary mechanisms for making this easier: First, the Groups system allows users to be grouped together in flexible ways. Second, the object model defines a notion of object context, which allows applications to group objects @@ -25,7 +25,7 @@ define simple groupings of users. Each group had a human readable name and unique ID, and there was a single mapping table that mapped users to groups. (The actual data model was more complicated because it -contained a meta-data system much like the OpenACS 5.0.2 object type system, +contained a meta-data system much like the OpenACS 5.0.4 object type system, but that's not relevant right now.)
The 3.x groups system, while very useful, was limited in few ways. The @@ -47,7 +47,7 @@ member of Greenpeace, its members are not necessarily members of Greenpeace.
-OpenACS 5.0.2 solves both of these modeling problems by introducing a new +OpenACS 5.0.4 solves both of these modeling problems by introducing a new abstraction called a party. Parties have a recursive definition, and we can illustrate how it works with the following simplified data model. First, we define the parties @@ -113,18 +113,18 @@ already know what parties and objects are, but we don't know what privileges are.
-In OpenACS 5.0.2, a privilege models the right to perform some operation on +In OpenACS 5.0.4, a privilege models the right to perform some operation on some object. They are the basic units out of which we build access control policies. For example, in the Unix filesystem we typically implement access control by granting users some combination of -read. write or execute privileges on files and directories. In OpenACS 5.0.2, +read. write or execute privileges on files and directories. In OpenACS 5.0.4, the table of privileges is organized hierarchically so that developers can define privileges that aggregate some set of privileges together. For example, if we have read, write, create and delete privileges, it might be convenient to combine them into a new privilege called "admin". Then if we grant a user this privilege she is automatically granted all the child privileges that the privilege -contains. The OpenACS 5.0.2 kernel data model actually defines these +contains. The OpenACS 5.0.4 kernel data model actually defines these privileges as follows:
@@ -164,7 +164,7 @@ permissions to large groups of objects in the site, all at once. We use contexts to achieve this goal.-In OpenACS 5.0.2, an object context is a generalization of the scoping +In OpenACS 5.0.4, an object context is a generalization of the scoping mechanism introduced in OpenACS 3.x. "Scoping" and "scope" are terms best explained by example: consider some hypothetical rows in the address_book table: @@ -179,7 +179,7 @@ person or a group of people or the general public (itself a group of people).
-In OpenACS 5.0.2, rather than breaking the world into a limited set of scopes, +In OpenACS 5.0.4, rather than breaking the world into a limited set of scopes, every object lives in a single context. A context is just an another object that represents the security domain to which the object belongs. By convention, if an object A doesn't have any permissions @@ -196,7 +196,7 @@ application. With only row-level permissions it is not obvious how to reasonably initialize the access control list when creating a message. At best, we have to explicitly grant various read and write -privileges whenever we create a message, which is tedious. In OpenACS 5.0.2, +privileges whenever we create a message, which is tedious. In OpenACS 5.0.4, a reasonable thing to do is to create an object representing a forum, and point the context_id field of a new message at the forum. Then, suppose we grant every user in the system read-access to @@ -328,7 +328,7 @@
This displays the title of the note as either a link or plain text depending on whether or not we have write privileges on the object. -The if tag is something that the OpenACS 5.0.2 template system +The if tag is something that the OpenACS 5.0.4 template system defines for you to support conditional presentation. The templates developer guide provides more information about this.
If you study the rest of the system, you will also notice that the @@ -342,7 +342,7 @@ permissions to notes that she wanted to make public or whatever. But that's beyond the scope of this example.
-OpenACS 5.0.2 defines three separate mechanisms for specifying access control +OpenACS 5.0.4 defines three separate mechanisms for specifying access control in applications. The Groups data model allows you to define hierarchical organizations of users and groups of users. The Permissions data model allows you to define a hierarchy of user rights. Finally, Index: openacs-4/packages/acs-core-docs/www/postgres.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/postgres.html,v diff -u -N -r1.21.2.14 -r1.21.2.15 --- openacs-4/packages/acs-core-docs/www/postgres.html 11 Feb 2004 11:19:48 -0000 1.21.2.14 +++ openacs-4/packages/acs-core-docs/www/postgres.html 8 Mar 2004 21:21:47 -0000 1.21.2.15 @@ -1,7 +1,7 @@
Install PostgreSQL Skip this section if you will run only Oracle.
OpenACS 5.0.2 will run with PostgreSQL 7.3.2, 7.3.3, and 7.3.4. 7.3.4 is the recommended version of PostgreSQL. PostgreSQL 7.4 has been verified.
Skip this section if you will run only Oracle.
OpenACS 5.0.4 will run with PostgreSQL 7.3.2, 7.3.3, and 7.3.4. 7.3.4 is the recommended version of PostgreSQL. PostgreSQL 7.4 has been verified.
Mac OS X.�If you are running Mac OS X prior to 10.3, you should be able to install and use PostGreSQL 7.3.x. Mac OS X 10.3 requires PostGreSQL 7.4.
Debian users, especially Debian stable users, should install PostGreSQL from source as detailed below. Debian unstable users: the following process has been known to work (but you should double-check that the version of PostGreSQL is @@ -81,7 +81,7 @@ Change to the postgres user and run ./configure to set the compilation options automatically. This is the point at which you can configure PostgreSQL in various ways. For example, if you want to enable - Unicode support, add the flags --enable-locale and --enable-multibyte. If you want to see what the other possibilities are, run ./configure --help. + Unicode support, add the flags --enable-locale and --enable-multibyte. If you want to see what the other possibilities are, run ./configure --help.
[root src]# su - postgres [postgres pgsql]$ cd /usr/local/src/postgresql-7.3.4 [postgres postgresql-7.3.4]$ ./configure @@ -178,11 +178,11 @@ state. Red Hat and Debian and SuSE each work a little differently.
Red Hat RPM:
The init script is already installed; just turn it on for the appropriate run levels.
[root root]# chkconfig --level 345 postgresql on -[root root]#Red Hat from source:
[root src]# cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql +[root root]#Red Hat from source:
[root src]# cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql [root src]# chown root.root /etc/rc.d/init.d/postgresql [root src]# chmod 755 /etc/rc.d/init.d/postgresql [root src]# -cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql +cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql chown root.root /etc/rc.d/init.d/postgresql chmod 755 /etc/rc.d/init.d/postgresql
Test the script.
[root root]# service postgresql stop Stopping PostgreSQL: ok @@ -201,11 +201,11 @@ chkconfig --add postgresql chkconfig --level 345 postgresql on chkconfig --list postgresql -service postgresql start
Debian:
[root ~]# cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql +service postgresql startDebian:
[root ~]# cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql [root ~]# chown root.root /etc/init.d/postgresql [root ~]# chmod 755 /etc/init.d/postgresql [root ~]# -cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql +cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/postgresql.txt /etc/init.d/postgresql chown root.root /etc/init.d/postgresql chmod 755 /etc/init.d/postgresql
Test the script
[root ~]# /etc/init.d/postgresql stop Stopping PostgreSQL: ok @@ -233,7 +233,7 @@ rc.d/ part in each of the following commands. -[root ~]# cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/postgresql.txt /etc/rc.d/init.d/postgresql +[root ~]# cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/postgresql.txt /etc/rc.d/init.d/postgresql [root ~]# chown root.root /etc/rc.d/init.d/postgresql [root ~]# chmod 755 /etc/rc.d/init.d/postgresqlIndex: openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html,v diff -u -N -r1.13.2.13 -r1.13.2.14 --- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 11 Feb 2004 11:19:48 -0000 1.13.2.13 +++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 8 Mar 2004 21:21:47 -0000 1.13.2.14 @@ -1,8 +1,8 @@ -
Add PSGML commands to emacs init file (OPTIONAL) Add PSGML commands to emacs init file (OPTIONAL) If you plan to write or edit any documentation with emacs, install a customized emacs configuration file with DocBook commands in the skeleton directory, so it will be used for all new users. The file also fixes the backspace -> help mis-mapping that often occurs in - terminals.
[root tmp]# cp /tmp/openacs-5.0.2/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs + terminals.[root tmp]# cp /tmp/openacs-5.0.4/packages/acs-core-docs/www/files/emacs.txt /etc/skel/.emacs cp: overwrite `/etc/skel/.emacs'? y [root tmp]#Debian users:
apt-get install psgml
Note: The new nxml mode for emacs, when used in combination with psgml, provides a pretty good set of functionality that makes DocBook editing much less painless. In particular, nxml does syntax testing in real-time so that you can see syntax errors immediately instead of in the output of the xsltproc hours or days later. For debian, apt-get install nxml.
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/release-notes.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/release-notes.html,v diff -u -N -r1.26.2.16 -r1.26.2.17 --- openacs-4/packages/acs-core-docs/www/release-notes.html 26 Feb 2004 16:33:31 -0000 1.26.2.16 +++ openacs-4/packages/acs-core-docs/www/release-notes.html 8 Mar 2004 21:21:47 -0000 1.26.2.17 @@ -1,4 +1,4 @@ -OpenACS Release Notes
Bug fixes: #1495. Croatian enabled by default, #1496. APM automated install fails if files have spaces in their names, #1494. automated upgrade crashes (halting the upgrade process)
Complete Change list since 5.0.0 in Changelog
File tagging scheme in CVS changed to follow TIP #46: (Approved) Rules for Version Numbering and CVS tagging of Packages
All work on the translation server from 7 Nov 2003 to 7 Feb 2004 is now included in catalogs.
One new function in acs-tcl, util::age_pretty
Complete Change list since 5.0.0 in Changelog
Many documentation updates and doc bug fixes
+
OpenACS Release Notes
Bug fixes: #1495. Croatian enabled by default, #1496. APM automated install fails if files have spaces in their names, #1494. automated upgrade crashes (halting the upgrade process)
Complete Change list since 5.0.0 in Changelog
File tagging scheme in CVS changed to follow TIP #46: (Approved) Rules for Version Numbering and CVS tagging of Packages
All work on the translation server from 7 Nov 2003 to 7 Feb 2004 is now included in catalogs.
One new function in acs-tcl, util::age_pretty
Complete Change list since 5.0.0 in Changelog
Many documentation updates and doc bug fixes
This is OpenACS 5.0.0. This version contains no known security, data loss, or crashing bugs, nor any bugs judged release blockers. This version has received manual testing. It has passed current automated testing, which is not comprehensive. This release contains work done on the translation server http://translate.openacs.org through 7 Nov 2003.
Please report bugs using our @@ -7,7 +7,7 @@
You may want to begin by reading our installation documentation for the section called “a Unix-like system”. Note that the Windows documentation is - not current for OpenACS 5.0.3, but an alternative is to use John + not current for OpenACS 5.0.4, but an alternative is to use John Sequeira's Oasis VM project.
@@ -95,4 +95,4 @@
Serving backup files and files from the CVS directories is turned off by default via the acs-kernel parameter ExcludedFiles in section request-processor (The variable provides a string match glob list of files and is defaulted to "*/CVS/* *~") -
($Id$)View comments on this page at openacs.org +($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/releasing-openacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-openacs.html,v diff -u -N -r1.6.2.14 -r1.6.2.15 --- openacs-4/packages/acs-core-docs/www/releasing-openacs.html 11 Feb 2004 12:46:51 -0000 1.6.2.14 +++ openacs-4/packages/acs-core-docs/www/releasing-openacs.html 8 Mar 2004 21:21:47 -0000 1.6.2.15 @@ -127,4 +127,4 @@ # Clean up after ourselves... cd $BASE && rm -rf dotlrn-tarball tarball openacs-4 dotlrn-packages -($Id$)View comments on this page at openacs.org +($Id$)View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/request-processor.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/request-processor.html,v diff -u -N -r1.22.2.14 -r1.22.2.15 --- openacs-4/packages/acs-core-docs/www/request-processor.html 11 Feb 2004 11:19:48 -0000 1.22.2.14 +++ openacs-4/packages/acs-core-docs/www/request-processor.html 8 Mar 2004 21:21:47 -0000 1.22.2.15 @@ -2,11 +2,11 @@ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.-This document is a brief introduction to the OpenACS 5.0.2 Request Processor; +This document is a brief introduction to the OpenACS 5.0.4 Request Processor; more details can be found in the OpenACS 4 Request Processor Design. Here we cover the high level concepts behind the system, and implications and usage for the application developer.
-The 5.0.2 Request Processor is a global filter and set of Tcl procs that +The 5.0.4 Request Processor is a global filter and set of Tcl procs that respond to every incoming URL reaching the server. The following diagram summarizes the stages of the request processor assuming a URL request like http://someserver.com/notes/somepage.adp. @@ -35,7 +35,7 @@ extracts or sets up new session tokens for the user.
- Stage 3: Authorization
Next, the Request Processor checks if the user has appropriate access -privileges to the requested part of the site. In OpenACS 5.0.2, access control +privileges to the requested part of the site. In OpenACS 5.0.4, access control is dictated by the permissions system. In this case, the RP checks if the user has "read" priviledges on the object in the site map specified by the URL. This object is typically Index: openacs-4/packages/acs-core-docs/www/rp-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-design.html,v diff -u -N -r1.16.2.6 -r1.16.2.7 --- openacs-4/packages/acs-core-docs/www/rp-design.html 10 Feb 2004 13:19:05 -0000 1.16.2.6 +++ openacs-4/packages/acs-core-docs/www/rp-design.html 8 Mar 2004 21:21:47 -0000 1.16.2.7 @@ -15,13 +15,13 @@ pageroot -- Any directory that contains scripts and/or static files intended to be served in response to HTTP requests. A typical OpenACS installation is required to serve files from multiple pageroots.
global pageroot -(/web/servicename/www) -- Files appearing under +(/var/lib/aolserver/servicename/www) -- Files appearing under this pageroot will be served directly off the base url http://www.servicename.com/
package root -(/web/servicename/packages) -- Each subdirectory of +(/var/lib/aolserver/servicename/packages) -- Each subdirectory of the package root is a package. A typical OpenACS installation will have several packages.
package pageroot -(/web/servicename/packages/package_key/www) +(/var/lib/aolserver/servicename/packages/package_key/www) -- This is the pageroot for the package_key package.
request environment (ad_conn) -- This is a global namespace containing variables associated with the current request.
abstract URL -- A URL with no extension that doesn't Index: openacs-4/packages/acs-core-docs/www/subsites.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites.html,v diff -u -N -r1.22.2.14 -r1.22.2.15 --- openacs-4/packages/acs-core-docs/www/subsites.html 11 Feb 2004 11:19:48 -0000 1.22.2.14 +++ openacs-4/packages/acs-core-docs/www/subsites.html 8 Mar 2004 21:21:47 -0000 1.22.2.15 @@ -253,15 +253,15 @@ visible to that user. The end result is a site where users can come and write notes to themselves.
-This is a good example of the leverage available in the OpenACS 5.0.2 +This is a good example of the leverage available in the OpenACS 5.0.4 system. The code that we have written for Notes is not at all more complex than a similar application without access control or site map awareness. By adding a small amount of code, we have taken a small, simple, and special purpose application to something that has the potential to be a very useful, general-purpose tool, complete with multi-user features, access control, and centralized administration.
-In OpenACS 5.0.2, application pages and scripts can be aware of the package +In OpenACS 5.0.4, application pages and scripts can be aware of the package instance, or subsite in which they are executing. This is a powerful general purpose mechanism that can be used to structure web services in very flexible ways. Index: openacs-4/packages/acs-core-docs/www/templates.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/templates.html,v diff -u -N -r1.22.2.14 -r1.22.2.15 --- openacs-4/packages/acs-core-docs/www/templates.html 11 Feb 2004 11:19:48 -0000 1.22.2.14 +++ openacs-4/packages/acs-core-docs/www/templates.html 8 Mar 2004 21:21:47 -0000 1.22.2.15 @@ -167,4 +167,4 @@ inserting properties into the text of the page. Later on we'll get into templates more deeply, and show how to use database queries as data sources. -
View comments on this page at openacs.org +View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/tutorial-advanced.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-advanced.html,v diff -u -N -r1.14.2.14 -r1.14.2.15 --- openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 11 Feb 2004 11:19:48 -0000 1.14.2.14 +++ openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 8 Mar 2004 21:21:47 -0000 1.14.2.15 @@ -4,7 +4,7 @@This tutorial covers topics which are not essential to creating a minimal working package. Each section can be used independently of all of the others; all sections assume that - you've completed the basic tutorial.
It's time to document. For the tutorial we'll use + you've completed the basic tutorial.
It's time to document. For the tutorial we'll use pre-written documentation. When creating a package from scratch, start by copying the documentation template from /var/lib/aolserver/openacs-dev/packages/acs-core-docs/xml/docs/xml/package-documentation-template.xml @@ -54,7 +54,7 @@ Writing bi01.html for bibliography Writing index.html for book [service0 xml]$
Verify that the documentation was generated and reflects - your changes by browsing to http://yoursite:8000/myfirstpackage/doc
Before you do any more work, make sure that your work is + your changes by browsing to http://yoursite:8000/myfirstpackage/doc
Before you do any more work, make sure that your work is protected by putting it all into cvs. The cvs add command is not recursive, so you'll have to traverse the directory tree manually and add as you go. (More on @@ -114,7 +114,7 @@ initial revision: 1.1 done (many lines omitted) -[service0 myfirstpackage]$
You can track comments for any ACS Object. Here we'll track +[service0 myfirstpackage]$
You can track comments for any ACS Object. Here we'll track comments for notes. On the note-edit.tcl/adp pair, which is used to display individual notes, we want to put a link to add comments at the bottom of the screen. If there are any comments, we want to @@ -135,7 +135,7 @@ there are comments. Then you pass the note id, which is also the acs_object id.
We put our two new variables in the note-edit.adp page.
<a href="@comment_add_url@">Add a comment</a> - @comments_html@There are at least two flavors of admin user interface:
Admins use same pages as all other users, except that they are offered admin links and buttons where appropriate. @@ -212,7 +212,7 @@ <if @admin_p@ ne nil> <a href="@admin_url@">@admin_title@</a> </if> -
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.
@@ -320,22 +320,22 @@ ad_script_abort }
-
There are several facilities for profiling your code in OpenACS. The first thing to do is to install the developer-support package and play around with it. But there is also support in the API for profiling your code: profiling your code using ds_profile -
Browse to the package manager. Click on tutorialapp.
Click on Generate a distribution file for this package from the filesystem.
Click on the file size (37.1KB) after the label Distribution File: and save the file to - /tmp.
The notifications package allows you to send notifications through any @@ -442,14 +442,20 @@ parameter is what appears at the end of the text returned (i.e. "... request notification</a> for pretty_name"), The url parameter should be set to the address we want the user to be redirected to after they have finished the subscription process.
This should be all you need to implement a notification system. For more examples - look at the forums package.
One of the nice things about using the OpenACS object system is that it has a built-in facility for tracking hierarchical data in an efficient way. The algorithm behind this is called - tree_sortkey.
Any time your tables are subclasses of the acs_objects + tree_sortkey.. This is built into + the PostgreSql portion of the + acs_objects table. (If you are + using Oracle, then you should just use CONNECT BY to build your + hierarchical queries, using context_id as the parent_id + column). Note that packages based on acs_objects use and/or abuse + context_id inconsistently to maintain a hierarchy.
Any time your tables are subclasses of the acs_objects table, then you automatically get the ability to structure them hierarchically. The way you do this is currently via the context_id column of Index: openacs-4/packages/acs-core-docs/www/tutorial-database.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-database.html,v diff -u -N -r1.14.2.14 -r1.14.2.15 --- openacs-4/packages/acs-core-docs/www/tutorial-database.html 11 Feb 2004 11:19:48 -0000 1.14.2.14 +++ openacs-4/packages/acs-core-docs/www/tutorial-database.html 8 Mar 2004 21:21:47 -0000 1.14.2.15 @@ -1,7 +1,7 @@
Setting Up Database Objects We create all database objects with scripts in the myfirstpackage/sql/ directory. All database scripts are database-specific and are thus in either the myfirstpackage/sql/oracle or @@ -31,13 +31,13 @@ repository functions to simplify our database creation. (More information about ACS Objects. More information about the Content Repository.) -
The top of each sql file has some +
The top of each sql file has some standard comments, including doc tags such as @author which will be picked up by the API browser. The string $Id$ will automatically be expanded when the file is checked in to cvs.
[service0 ~]$ cd /var/lib/aolserver/service0/packages/myfirstpackage/sql/postgresql -[service0 postgresql]$ emacs myfirstpackage-create.sql
Paste this into the file and save and close.
Figure�7.3.�Database Creation Script - master create file
-- creation script +[service0 postgresql]$ emacs myfirstpackage-create.sqlPaste this into the file and save and close.
Figure�7.3.�Database Creation Script - master create file
-- creation script -- -- @author joel@aufrecht.org -- @cvs-id &Id:$ @@ -62,7 +62,7 @@ First Package," ensures that our object is unlikely to conflict with objects from other packages.Create a database file to drop everything if the package is uninstalled.
-[service0 postgresql]$ emacs myfirstpackage-drop.sqlFigure�7.4.�Database deletion script
-- drop script +[service0 postgresql]$ emacs myfirstpackage-drop.sqlFigure�7.4.�Database deletion script
-- drop script -- -- @author joel@aufrecht.org -- @cvs-id &Id:$ Index: openacs-4/packages/acs-core-docs/www/tutorial-debug.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-debug.html,v diff -u -N -r1.14.2.13 -r1.14.2.14 --- openacs-4/packages/acs-core-docs/www/tutorial-debug.html 11 Feb 2004 11:19:48 -0000 1.14.2.13 +++ openacs-4/packages/acs-core-docs/www/tutorial-debug.html 8 Mar 2004 21:21:47 -0000 1.14.2.14 @@ -1,7 +1,7 @@Debugging and Automated Testing Developer Support.�The Developer Support package adds several goodies: debug information for every page; the ability to log comments to the page instead of the error log, and fast user switching so that you can test pages as anonymous and as dummy users without logging @@ -20,16 +20,16 @@ G�goes�to�the�end.
?�searches�backward�
/�searches�forward.�
-����������Make a list of basic tests to make sure it works
Test Num Action Expected Result 001 Browse to the index page while not logged in and +���������� Make a list of basic tests to make sure it works
Test Num Action Expected Result 001 Browse to the index page while not logged in and while one or more notes exist. No edit or delete or add links should appear. 002 Browse to the index page while logged in. An Edit link should appear. Click on it. Fill out the form and click Submit. The text added in the form should be visible on the index page. API-001 Invoke mfp::note::create with a specific word as the title. Proc should return an object id. API-002 Given an object id from API-001, invoke mfp::note::get. Proc should return the specific word in the title. API-003 Given the object id from API-001, invoke mfp::note::delete. Proc should return 0 for success. Other things to test: try to delete someone else's note. Try to delete your own note. Edit your own note. - Search for a note.
It seems to me that a lot of people have been asking for some guidelines on how to write automated tests. I've done several tests by now and have found the process to be extremely easy and useful. It's a joy to work with automated testing once you get the hang of it.
Create the directory that will contain the test script and edit the script file. The directory location and file name are standards which are recognized by the automated testing package:
[service0 www]$ mkdir /var/lib/aolserver/service0/packages/myfirstpackage/tcl/test [service0 www]$ cd /var/lib/aolserver/service0/packages/myfirstpackage/tcl/test Index: openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html,v diff -u -N -r1.14.2.13 -r1.14.2.14 --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 11 Feb 2004 11:19:48 -0000 1.14.2.13 +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 8 Mar 2004 21:21:47 -0000 1.14.2.14 @@ -1,7 +1,7 @@Creating a Package To start developing new code in OpenACS, we build a new package. A package is a a discrete collection of web pages, tcl code, and database tables and procedures. A package with user interface is called an application; a package which provides @@ -21,11 +21,11 @@
In this tutorial, we will make an application package for displaying a list of text notes. -
You will need:
A computer with a working installation of +
You will need:
A computer with a working installation of OpenACS. If you don't have this, see Chapter�2, Installation Overview.
Example files, which are included in the -standard OpenACS 5.0.2 distribution. -
We use the ACS Package Manager (APM) to add, remove, and +standard OpenACS 5.0.4 distribution. +
We use the ACS Package Manager (APM) to add, remove, and upgrade packages. It handles package meta-data, such as lists of files that belong in the package. Each package is uniquely identified by a package key. To start developing a new @@ -54,7 +54,7 @@
This creates a package rooted at /var/lib/aolserver/service0/packages/myfirstpackage. This is the "home directory" of our new package, and all - files in the package will be within this directory.
In order to see your work in progress, you must create a + files in the package will be within this directory.
In order to see your work in progress, you must create a map between the URL space of incoming requests and the package. You do this by mounting the package in the Site Map. This creates a link between the incoming URL and an Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.html,v diff -u -N -r1.14.2.14 -r1.14.2.15 --- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 11 Feb 2004 11:19:48 -0000 1.14.2.14 +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 8 Mar 2004 21:21:47 -0000 1.14.2.15 @@ -1,8 +1,8 @@
Creating Web Pages As a workaround for missing content-repository functionality, copy a provided file into the directory for tcl files:
- cp /var/lib/aolserver/service0/packages/acs-core-docs/www/files/note-procs.tcl /var/lib/aolserver/service0/packages/myfirstpackage/tcl/
To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".
Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a seperate file and include it on the index page.
As a workaround for missing content-repository functionality, copy a provided file into the directory for tcl files:
+ cp /var/lib/aolserver/service0/packages/acs-core-docs/www/files/note-procs.tcl /var/lib/aolserver/service0/packages/myfirstpackage/tcl/
To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".
Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a seperate file and include it on the index page.
Each user-visible page in your package has, typically, three parts. The tcl file holds the procedural logic for the page, including TCL and database-independent SQL code, and does things like @@ -126,5 +126,5 @@ ad_returnredirect "." # stop running this code, since we're redirecting -abort +ad_script_abort
View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/upgrade-openacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/upgrade-openacs.html,v diff -u -N -r1.1.2.9 -r1.1.2.10 --- openacs-4/packages/acs-core-docs/www/upgrade-openacs.html 11 Feb 2004 11:19:48 -0000 1.1.2.9 +++ openacs-4/packages/acs-core-docs/www/upgrade-openacs.html 8 Mar 2004 21:21:47 -0000 1.1.2.10 @@ -1,4 +1,4 @@ -Upgrading OpenACS The required platform for OpenACS 4.6 is the same as +
Upgrading OpenACS The required platform for OpenACS 4.6 is the same as 4.5, with the exception of OpenFTS. OpenACS 4.6 and later require OpenFTS 0.3.2 for full text search on PostGreSQL. If you have OpenFTS 0.2, you'll need to upgrade.
If upgrading from 4.2, you need to manually run acs-kernel/sql/postgres/upgrade-4.2-4.5.sql. See Bug #632
A computer with OpenACS 4.5.
OpenACS 4.6 tarball or CVS checkout/export.
Required for Full Text Search on PostgreSQL: OpenFTS 0.3.2
Make a Backup.�Back up the database and file system (see the section called “Manual backup and recovery”).
OPTIONAL: Upgrade OpenFTS.�the section called “Upgrading OpenFTS from 0.2 to 0.3.2”
Stop the server
[root root]# svc -d /service/service0
Upgrade the file system.�the section called “Upgrading the OpenACS files”
@@ -8,7 +8,7 @@ upgrade, plus any new packages you want. It's safest to upgrade the kernel by itself, and then come back and upgrade the rest of the - desired packages in a second pass.
On the next screen, click
When prompted, restart the server:
[root root]# restart-aolserver service0
Wait a minute, then browse to the package manager, http://yourserver/acs-admin/apm.
Check that the kernel upgrade worked by clicking All and making sure that acs-kernel version is 5.0.2.
Rollback.�If anything goes wrong, roll back to the backup snapshot.
Oracle.�Not yet documented. It should be possible to upgrade via the APM just as when upgrading to 4.6.3.
PostGreSQL.�You must use PostGreSQL 7.3.x or newer to upgrade OpenACS beyond 4.6.3. See Upgrade PostGreSQL to 7.3; Table�2.2, “Version Compatibility Matrix” + desired packages in a second pass.
On the next screen, click
When prompted, restart the server:
[root root]# restart-aolserver service0
Wait a minute, then browse to the package manager, http://yourserver/acs-admin/apm.
Check that the kernel upgrade worked by clicking All and making sure that acs-kernel version is 5.0.4.
Rollback.�If anything goes wrong, roll back to the backup snapshot.
Oracle.�Not yet documented. It should be possible to upgrade via the APM just as when upgrading to 4.6.3.
PostGreSQL.�You must use PostGreSQL 7.3.x or newer to upgrade OpenACS beyond 4.6.3. See Upgrade PostGreSQL to 7.3; Table�2.2, “Version Compatibility Matrix”
Upgrade the file system for packages/acs-kernel.�the section called “Upgrading the OpenACS files”
Upgrade the kernel manually. (There is a script to do most of the rest: /contrib/misc/upgrade_4.6_to_5.0.sh on HEAD). You'll still have to do a lot of stuff manually, but automated trial and error is much more fun.)
[root root]# su - service0 [service0 aolserver]$ cd /var/lib/aolserver/ service0/packages/acs-kernel/sql/postgresql/upgradeManually execute each of the upgrade scripts in sequence, either from within psql or from the command line with commands such as psql -f upgrade-4.6.3-4.6.4.sql service0. Run the scripts in this order (order is tentative, not verified): Index: openacs-4/packages/acs-core-docs/www/upgrade-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-overview.html,v diff -u -N -r1.1.2.9 -r1.1.2.10 --- openacs-4/packages/acs-core-docs/www/upgrade-overview.html 11 Feb 2004 11:19:48 -0000 1.1.2.9 +++ openacs-4/packages/acs-core-docs/www/upgrade-overview.html 8 Mar 2004 21:21:47 -0000 1.1.2.10 @@ -6,4 +6,4 @@ OpenACS prior to 4.5, upgrading will require manual effort.
It's always a good idea to precede an upgrade attempt with a snapshot backup.
OpenACS consists of files and a database schema. The files in a new tarball include database upgrade scripts. To start the upgrade, replace your existing files with the new files and then browse to the APM, which will detect the new packages and offer to run the appropriate database upgrade scripts. After restarting the server again, the upgrade is - complete.
View comments on this page at openacs.org + complete.View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/variables.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/variables.html,v diff -u -N -r1.1.2.13 -r1.1.2.14 --- openacs-4/packages/acs-core-docs/www/variables.html 11 Feb 2004 11:19:48 -0000 1.1.2.13 +++ openacs-4/packages/acs-core-docs/www/variables.html 8 Mar 2004 21:21:47 -0000 1.1.2.14 @@ -3,7 +3,7 @@ by OpenACS documentation staff.Starting with OpenACS 5.0 and the introduction of acs-lang, we recommend retrieving date/time information from the database in - ANSI format and then using lc_time_fmt to format it for display.
Example�9.1.�Getting datetime from the database ANSI-style
db_multirow -extend { mydate_pretty } { + ANSI format and then using lc_time_fmt to format it for display.Example�9.1.�Getting datetime from the database ANSI-style
db_multirow -extend { mydate_pretty } { select to_char(mydate, 'YYYY-MM-DD HH24:MI:SS') as mydate_ansi, ... ... Index: openacs-4/packages/acs-core-docs/www/win2k-installation.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/win2k-installation.html,v diff -u -N -r1.22.2.14 -r1.22.2.15 --- openacs-4/packages/acs-core-docs/www/win2k-installation.html 11 Feb 2004 11:19:48 -0000 1.22.2.14 +++ openacs-4/packages/acs-core-docs/www/win2k-installation.html 8 Mar 2004 21:21:47 -0000 1.22.2.15 @@ -1,11 +1,11 @@ -OpenACS Installation Guide for Windows2000 View comments on this page at openacs.org Index: openacs-4/packages/acs-core-docs/www/xml/variables.ent =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/variables.ent,v diff -u -N -r1.4.2.9 -r1.4.2.10 --- openacs-4/packages/acs-core-docs/www/xml/variables.ent 26 Feb 2004 16:33:32 -0000 1.4.2.9 +++ openacs-4/packages/acs-core-docs/www/xml/variables.ent 8 Mar 2004 21:21:50 -0000 1.4.2.10 @@ -1,5 +1,5 @@ - - - + + + Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/templates.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/templates.xml,v diff -u -N -r1.6.2.4 -r1.6.2.5 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/templates.xml 4 Feb 2004 23:14:15 -0000 1.6.2.4 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/templates.xml 8 Mar 2004 21:21:50 -0000 1.6.2.5 @@ -241,7 +241,7 @@ -+ END OF TEMPLATE --> + Documentation Templating system documentation Index: openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml,v diff -u -N -r1.11.2.8 -r1.11.2.9 --- openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml 26 Feb 2004 16:33:33 -0000 1.11.2.8 +++ openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml 8 Mar 2004 21:21:50 -0000 1.11.2.9 @@ -48,6 +48,16 @@+ +Version 5.0.4 + ++ ++ +New translations, including for .LRN 2.0.2. +Version 5.0.3 Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml,v diff -u -N -r1.15.2.13 -r1.15.2.14 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml 27 Feb 2004 00:15:47 -0000 1.15.2.13 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/openacs.xml 8 Mar 2004 21:21:51 -0000 1.15.2.14 @@ -342,7 +342,7 @@ email when the crontab items are executed. If you don't want to receive email for those crontab items, you can add> /dev/null - 2>&1 to the end of each crontab + 2>&1 to the end of each crontab line