Index: openacs-4/packages/acs-core-docs/www/xml/Makefile =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/Makefile,v diff -u -r1.8.2.2 -r1.8.2.3 --- openacs-4/packages/acs-core-docs/www/xml/Makefile 18 Nov 2003 23:30:22 -0000 1.8.2.2 +++ openacs-4/packages/acs-core-docs/www/xml/Makefile 19 Nov 2003 14:35:15 -0000 1.8.2.3 @@ -62,5 +62,11 @@ # I got this to work with FOP 0.20.5 and docbook-xsl 1.62, and Jimi 1.0 # see README.fop for some notes. pdf: XSL - cd ..; $(XSLTPROC) --xinclude --output fop.fo xml/fo.xsl xml/index.xml - cd ..; fop -d fop.fo -pdf full.pdf + cd ..; $(XSLTPROC) --xinclude --output fop.fo xml/fo.xsl xml/index.xml + cd ..; fop -fo fop.fo -pdf full.pdf + +# Validate with xmllint. --postvalid is needed so validation takes place after xincludes. +# In emacs do M-x compile then make lint; then C-x ` to walk through the resulting errors. +# +lint: XSL + xmllint --xinclude --noout -postvalid index.xml 2>&1 | grep -v 'No declaration for attribute base of element' Index: openacs-4/packages/acs-core-docs/www/xml/fo.xsl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/fo.xsl,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/xml/fo.xsl 18 Nov 2003 23:30:22 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/fo.xsl 19 Nov 2003 14:35:15 -0000 1.1.2.2 @@ -48,7 +48,7 @@ - + Index: openacs-4/packages/acs-core-docs/www/xml/index.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/index.xml,v diff -u -r1.19.2.2 -r1.19.2.3 --- openacs-4/packages/acs-core-docs/www/xml/index.xml 17 Nov 2003 16:38:09 -0000 1.19.2.2 +++ openacs-4/packages/acs-core-docs/www/xml/index.xml 19 Nov 2003 14:35:15 -0000 1.19.2.3 @@ -1,20 +1,22 @@ - - + + - + %myvars; ]> OpenACS Core Documentation - + OpenACS For Everyone High level information: What is OpenACS? + Overview @@ -56,7 +58,7 @@ System. ArsDigita (now part of Red Hat, Inc.) kindly made their work available under the GPL, - making all of this possible. + making all of this possible. @@ -84,7 +86,7 @@ the development and numerous developers and non-developers contribute from around the world. - + The OpenACS community would like to hear your comments and help you in your endeavors with the system. Stop by our @@ -97,89 +99,93 @@ - + Administrator's Guide Installation Overview - + - by Vinod Kurup + by Vinod Kurup - + Overview Section Missing - - + Section Missing - + Complete Installation - Section Missing - - - - Section Missing - - - - Section Missing - - - - Section Missing - - - - Section Missing - - - + Section Missing + + + + Section Missing + + + Section Missing + + + + Section Missing + + + + Section Missing + + + Section missing - - -Section missing - - + + + + Section missing + + + Configuring a New Service Placeholder - Upgrading - -Section missing - - + Upgrading + + Section missing + + - Maintenance - -Section missing - - -Section missing - - -Section missing - + Maintenance + + Section missing + + + Section missing + + + Section missing + - -Section missing - - -Section missing - - + + + Section missing + + + + Section missing + + + Section Missing @@ -191,99 +197,100 @@ - + Development Tutorial - -Section missing - - -Section missing - - -Section missing - - -Section missing - - -Section missing - + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + Development Reference - -Section missing - - -Section missing - - -Section missing - - -Section missing - - -Section missing - - -Section missing - - -Section missing - - -Section missing - - + + Section missing - -Section missing - - -Section missing - + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + Engineering Standards - -Section missing - - -Section missing - - -Section missing - - -Section missing - - -Section missing - - -Section missing - - -Section missing - - - Section missing - + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + + + Section missing + - -CVS Section missing - - -'Releasing OpenACS' missing - + + CVS Section missing + + + 'Releasing OpenACS' missing + - + For OpenACS Platform Developers @@ -297,7 +304,7 @@ Overview - + @@ -319,12 +326,15 @@ - OpenACS Application packages, which typically provide user-level + + OpenACS Application packages, + which typically provide user-level web services built on top of the Kernel and Core. Such packages include those built by ArsDigita as well as external contributors. Application packages are developed separately from the Kernel, and are typically released independently of it. + @@ -334,75 +344,75 @@ - + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - - + + Section missing - + - + Index: openacs-4/packages/acs-core-docs/www/xml/openacs.css =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/openacs.css,v diff -u -r1.2.4.1 -r1.2.4.2 --- openacs-4/packages/acs-core-docs/www/xml/openacs.css 18 Nov 2003 23:30:22 -0000 1.2.4.1 +++ openacs-4/packages/acs-core-docs/www/xml/openacs.css 19 Nov 2003 14:35:15 -0000 1.2.4.2 @@ -28,15 +28,15 @@ .guibutton { background-color: #fff; border: solid #eee 3px; - padding: 1px; + margin: 2px; } .replaceable { color: red; font-style: italic; } .guilabel { background-color: #ccc; - padding: 2px; + margin: 2px; } .programlisting { background-color: #eee; Index: openacs-4/packages/acs-core-docs/www/xml/openacs.xsl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/openacs.xsl,v diff -u -r1.12.2.4 -r1.12.2.5 --- openacs-4/packages/acs-core-docs/www/xml/openacs.xsl 18 Nov 2003 22:05:21 -0000 1.12.2.4 +++ openacs-4/packages/acs-core-docs/www/xml/openacs.xsl 19 Nov 2003 14:35:15 -0000 1.12.2.5 @@ -16,6 +16,7 @@ + 1 1 @@ -198,14 +199,11 @@ for authorblurb. Also add doc disclaimer. -->
-

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

Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/cvs.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/cvs.xml,v diff -u -r1.4 -r1.4.2.1 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/cvs.xml 31 Oct 2003 10:36:43 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/cvs.xml 19 Nov 2003 14:35:15 -0000 1.4.2.1 @@ -8,7 +8,7 @@ Using CVS with an OpenACS Site - by Joel Aufrecht + By Joel Aufrecht Add the Service to CVS - OPTIONAL Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml,v diff -u -r1.8.2.2 -r1.8.2.3 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml 19 Nov 2003 00:10:34 -0000 1.8.2.2 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/db-api.xml 19 Nov 2003 14:35:15 -0000 1.8.2.3 @@ -544,9 +544,9 @@ Performs the SQL query sql, saving results in variables of the form - var_name:1, var_name:2, etc, - setting var_name:rowcount to the total number - of rows, and setting var_name:columns to a + var_name:1, var_name:2, etc, + setting var_name:rowcount to the total number + of rows, and setting var_name:columns to a list of column names. @@ -575,7 +575,7 @@ You may also add additional, computed columns to the multirow, using the - -extend { col_1 col_2 ... } switch. This is + -extend { col_1 col_2 ... } switch. This is useful for things like constructing a URL for the object retrieved by the query. Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml,v diff -u -r1.6.2.1 -r1.6.2.2 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml 18 Nov 2003 15:26:33 -0000 1.6.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/i18n.xml 19 Nov 2003 14:35:15 -0000 1.6.2.2 @@ -100,21 +100,21 @@ The short: - #package_key.message_key# + #package_key.message_key# The advantage of the short syntax is that it's short. It's as simple as inserting the value of a variable. Example: - #forum.title# + #forum.title# The verbose: <trn - key="package_key.message_key" - locale="locale">default - text</trn> + key="package_key.message_key" + locale="locale">default + text</trn> The verbose syntax allows you to specify a default text in @@ -131,8 +131,8 @@ The temporary: - <#message_key - original text#> + <#message_key + original text#> This syntax has been designed to make it easy to Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/object-identity.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/object-identity.xml,v diff -u -r1.5 -r1.5.2.1 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/object-identity.xml 20 Aug 2003 16:20:18 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/object-identity.xml 19 Nov 2003 14:35:15 -0000 1.5.2.1 @@ -9,7 +9,7 @@ -by Rafael H. Schloming +By Rafael H. Schloming Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/objects.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/objects.xml,v diff -u -r1.7 -r1.7.2.1 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/objects.xml 30 Sep 2003 12:10:01 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/objects.xml 19 Nov 2003 14:35:15 -0000 1.7.2.1 @@ -8,7 +8,7 @@ OpenACS Data Models and the Object System -By Pete Su +By Pete Su Overview Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml,v diff -u -r1.6.2.1 -r1.6.2.2 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml 17 Nov 2003 16:38:09 -0000 1.6.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml 19 Nov 2003 14:35:15 -0000 1.6.2.2 @@ -8,7 +8,7 @@ OpenACS &version; Packages - By Pete Su and Bryan Quinn + By Pete Su and Bryan Quinn Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/parties.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/parties.xml,v diff -u -r1.5 -r1.5.2.1 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/parties.xml 20 Aug 2003 16:20:18 -0000 1.5 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/parties.xml 19 Nov 2003 14:35:15 -0000 1.5.2.1 @@ -8,7 +8,7 @@ Parties in OpenACS &version; -by Rafael H. Schloming +By Rafael H. Schloming Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions-tediously-explained.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions-tediously-explained.xml,v diff -u -r1.3.2.1 -r1.3.2.2 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions-tediously-explained.xml 14 Nov 2003 09:43:47 -0000 1.3.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions-tediously-explained.xml 19 Nov 2003 14:35:15 -0000 1.3.2.2 @@ -89,13 +89,13 @@ create table acs_permissions ( object_id not null - constraint acs_permissions_on_what_id_fk references acs_objects (object_id), + constraint acs_permissions_on_what_id_fk references (object_id), grantee_id not null - constraint acs_permissions_grantee_id_fk references parties (party_id), + constraint acs_permissions_grantee_id_fk references (party_id), privilege not null - constraint acs_permissions_priv_fk references acs_privileges (privilege), + constraint acs_permissions_priv_fk references (privilege), constraint acs_permissions_pk primary key (object_id, grantee_id, privilege) ); @@ -121,7 +121,7 @@ entries of the form: - + @@ -196,7 +196,7 @@ -
+ Although quite feasible, this approach fails to take advantage of the fact @@ -223,6 +223,7 @@ + Context Hierarchy Example @@ -275,12 +276,13 @@
- This can be represented in the - acs_objects table + This can be represented in the + table by the following entries: + acs_objects example data @@ -322,10 +324,10 @@ we can compute that object 40 is the second-generation descendant of object 10. With this in mind, if we want to record the fact that user Joe has the read privilege on objects A, ..., F, we only need to record one entry in the - acs_permissions table. + table. -
+ @@ -345,7 +347,7 @@ -
+ The fact that Joe can also read B, C, @@ -359,7 +361,7 @@ One way to solve this problem is to cache a flattened view of the context tree like so: - + @@ -444,7 +446,7 @@ -
+ Note that the number of entries in the flattened view grows exponentially with @@ -453,7 +455,7 @@ in its flattened view is - + 1 + 2*2 + 3*4 + 4*8 + 5*16 + ... + (n+1)*2n = n*2n+1 + 1 @@ -467,10 +469,10 @@ create table acs_object_context_index ( object_id not null - constraint acs_obj_context_idx_obj_id_fk references acs_objects(object_id), + constraint acs_obj_context_idx_obj_id_fk references (object_id), ancestor_id not null - constraint acs_obj_context_idx_anc_id_fk references acs_objects(object_id), + constraint acs_obj_context_idx_anc_id_fk references (object_id), n_generations integer not null constraint acs_obj_context_idx_n_gen_ck check (n_generations >= 0), @@ -492,32 +494,32 @@ The acs_object_context_index is kept in sync with the - acs_objects + table by triggers like this: create or replace trigger acs_objects_context_id_in_tr -after insert on acs_objects +after insert on for each row begin - insert into acs_object_context_index + insert into (object_id, ancestor_id, n_generations) values (:new.object_id, :new.object_id, 0); if :new.context_id is not null and :new.security_inherit_p = 't' then - insert into acs_object_context_index + insert into (object_id, ancestor_id, n_generations) select :new.object_id as object_id, ancestor_id, n_generations + 1 as n_generations - from acs_object_context_index + from where object_id = :new.context_id; elsif :new.object_id != 0 then -- 0 is the id of the security context root object - insert into acs_object_context_index + insert into (object_id, ancestor_id, n_generations) values (:new.object_id, 0, 1); @@ -526,14 +528,14 @@ - One final note about - acs_objects. By setting + One final note about + . By setting an object's security_inherit_p column to 'f', you can stop permissions from cascading down the context tree. In the following example, Joe does not have the read permissions on C and F. - + @@ -589,7 +591,7 @@ -
+ @@ -602,7 +604,7 @@ the Bboard package defines the following privileges:
- + @@ -652,7 +654,7 @@ -
+ By defining parent-child relationship between privileges, the OpenACS data model @@ -665,7 +667,7 @@ as follows. - + @@ -707,7 +709,7 @@ -
+ The parent-child relationship between privileges is represented in @@ -719,10 +721,10 @@ create table acs_privilege_hierarchy ( privilege not null - constraint acs_priv_hier_priv_fk references acs_privileges (privilege), + constraint acs_priv_hier_priv_fk references (privilege), child_privilege not null - constraint acs_priv_hier_child_priv_fk references acs_privileges (privilege), + constraint acs_priv_hier_child_priv_fk references (privilege), constraint acs_privilege_hierarchy_pk primary key (privilege, child_privilege) ); @@ -740,14 +742,14 @@ p1.privilege, p2.privilege as descendant from - acs_privileges p1, - acs_privileges p2 + p1, + p2 where p2.privilege in (select child_privilege from - acs_privilege_hierarchy + start with privilege = p1.privilege connect by @@ -773,46 +775,38 @@ data model is set up as follows. - + - - parties - + - - persons - + - - groups - + - - users - + -
+ create table parties ( party_id not null - constraint parties_party_id_fk references acs_objects (object_id) + constraint parties_party_id_fk references (object_id) constraint parties_pk primary key, email varchar2(100) constraint parties_email_un unique, @@ -824,7 +818,7 @@ create table persons ( person_id not null - constraint persons_person_id_fk references parties (party_id) + constraint persons_person_id_fk references (party_id) constraint persons_pk primary key, first_names varchar2(100) not null, @@ -837,7 +831,7 @@ create table users ( user_id not null - constraint users_user_id_fk references persons (person_id) + constraint users_user_id_fk references (person_id) constraint users_pk primary key, password char(40), -- other attributes @@ -848,15 +842,15 @@ create table groups ( group_id not null - constraint groups_group_id_fk references parties (party_id) + constraint groups_group_id_fk references (party_id) constraint groups_pk primary key, group_name varchar2(100) not null ); Recall that the grantee_id column of the - acs_permissions table references + table references parties.party_id. This means that you can grant a privilege on an object to a party, person, user, or group. Groups represent aggregations of parties. The most common scenario that you are likely @@ -877,17 +871,17 @@ create table acs_rels ( rel_id not null - constraint acs_rels_rel_id_fk references acs_objects (object_id) + constraint acs_rels_rel_id_fk references (object_id) constraint acs_rels_pk primary key, rel_type not null constraint acs_rels_rel_type_fk references acs_rel_types (rel_type), object_id_one not null - constraint acs_object_rels_one_fk references acs_objects (object_id), + constraint acs_object_rels_one_fk references (object_id), object_id_two not null - constraint acs_object_rels_two_fk references acs_objects (object_id), + constraint acs_object_rels_two_fk references (object_id), constraint acs_object_rels_un unique (rel_type, object_id_one, object_id_two) ); @@ -896,7 +890,7 @@ create table membership_rels ( rel_id - constraint membership_rel_rel_id_fk references acs_rels (rel_id) + constraint membership_rel_rel_id_fk references (rel_id) constraint membership_rel_rel_id_pk primary key, -- null means waiting for admin approval member_state varchar2(20) @@ -906,11 +900,11 @@ - The acs_rels + The table entries would look like so: - + @@ -964,32 +958,32 @@ -
+ Another way of building up groups is by adding subgroups. Suppose we define Merry Pranksters and Sad Pranksters as subgroups of Pranksters. We say that the Pranksters group is composed of groups Merry Pranksters and Sad Pranksters. This - information is stored in the acs_rels + information is stored in the and composition_rels tables. create table composition_rels ( rel_id - constraint composition_rel_rel_id_fk references acs_rels (rel_id) + constraint composition_rel_rel_id_fk references (rel_id) constraint composition_rel_rel_id_pk primary key ); The relevant entries in the - acs_rels look like so. + look like so. - + @@ -1032,7 +1026,7 @@ -
+ The composition relationship means that if I add Matt, Mel, and Mary to the @@ -1059,16 +1053,16 @@ create table group_component_index ( group_id not null constraint group_comp_index_group_id_fk - references groups (group_id), + references (group_id), component_id not null constraint group_comp_index_comp_id_fk - references groups (group_id), + references (group_id), rel_id not null constraint group_comp_index_rel_id_fk references composition_rels (rel_id), container_id not null constraint group_comp_index_cont_id_ck - references groups (group_id), + references (group_id), constraint group_component_index_ck check (group_id != component_id), constraint group_component_index_pk @@ -1080,35 +1074,35 @@ create table group_member_index ( group_id not null - constraint group_member_index_grp_id_fk references groups (group_id), + constraint group_member_index_grp_id_fk references (group_id), member_id not null - constraint group_member_index_mem_id_fk references parties (party_id), + constraint group_member_index_mem_id_fk references (party_id), rel_id not null - constraint group_member_index_rel_id_fk references membership_rels (rel_id), + constraint group_member_index_rel_id_fk references (rel_id), container_id not null - constraint group_member_index_cont_id_fk references groups (group_id), + constraint group_member_index_cont_id_fk references (group_id), constraint group_member_index_pk primary key (member_id, group_id, rel_id) ) organization index; The group_component_index table stores a flattened representation of the - group composition hierarchy that is maintained in sync with the acs_rels + group composition hierarchy that is maintained in sync with the and composition_rels tables through triggers. As far as the group_member_index table goes, I am not sure I understand its purpose. It maintains group-member relationships that are resolved with respect to group composition. Note that information stored in - group_member_index can be trivially derived by joining - membership_rels, - acs_rels, - and group_component_index. Here + can be trivially derived by joining + , + , + and . Here is a view that does it. (This view is not part of the OpenACS Kernel data model.) @@ -1122,23 +1116,23 @@ select group_id, group_id as component_id from - groups + union select group_id, component_id from group_component_index ) gci, - membership_rels mr, - acs_rels r + mr, + r where mr.rel_id = r.rel_id and r.object_id_one = gci.component_id; A heuristic way to verify that group_member_view is essentially identical - to group_member_index is to compute the + to is to compute the symmetric difference between the two: @@ -1149,14 +1143,14 @@ ( select group_id, member_id from group_member_view minus - select group_id, member_id from group_member_index + select group_id, member_id from ) union select group_id, member_id from ( - select group_id, member_id from group_member_index + select group_id, member_id from minus select group_id, member_id from group_member_view ) @@ -1165,7 +1159,7 @@ The query returns no rows. The important point is, if we have a flattened view of the composition hierarchy -- like one provided - by the group_component_index table -- + by the table -- membership relationship resolution can be computed trivially with no hierarchical queries involved. There is no need to keep the view in a denormalized table, unless doing so results in substantial performance gains. @@ -1196,7 +1190,7 @@ begin -- XXX This must be fixed: -1 shouldn't be hardcoded (it is the public) select decode(count(*),0,'f','t') into exists_p - from acs_object_party_privilege_map + from where object_id = permission_p.object_id and party_id in (permission_p.party_id, -1) and privilege = permission_p.privilege; @@ -1208,7 +1202,7 @@ The function simply queries - acs_object_party_privilege_map, + , which is a humongous view that joins three flattened hierarchies: the context tree, the privilege hierarchy, the party composition (and membership) hierarchy. As such, @@ -1225,7 +1219,7 @@ select count(*) - from acs_object_party_privilege_map; + from ; @@ -1238,7 +1232,7 @@ select object_id, party_id from - acs_object_party_privilege_map + where privilege = 'foo_create'; begin @@ -1278,7 +1272,7 @@ one entry that needed to be deleted: - + @@ -1310,7 +1304,7 @@ -
+ The above script would never get around to deleting this entry because it had @@ -1331,8 +1325,8 @@ gmm.member_id as party_id, ogpm.privilege from - acs_object_grantee_priv_map ogpm, - group_member_map gmm + ogpm, + gmm where ogpm.grantee_id = gmm.group_id union @@ -1341,7 +1335,7 @@ grantee_id as party_id, privilege from - acs_object_grantee_priv_map; + ; @@ -1352,8 +1346,8 @@ a.grantee_id, m.descendant as privilege from - acs_permissions_all a, - acs_privilege_descendant_map m + a, + m where a.privilege = m.privilege; @@ -1367,8 +1361,8 @@ p.grantee_id, p.privilege from - acs_object_paths op, - acs_permissions p + op, + p where op.ancestor_id = p.object_id; @@ -1381,7 +1375,7 @@ ancestor_id, n_generations from - acs_object_context_index; + ; @@ -1394,7 +1388,7 @@ rel_id, container_id from - group_member_index; + ; Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml,v diff -u -r1.7.2.2 -r1.7.2.3 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml 18 Nov 2003 22:04:49 -0000 1.7.2.2 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml 19 Nov 2003 14:35:15 -0000 1.7.2.3 @@ -9,7 +9,7 @@ -By Pete Su +By Pete Su Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/programming-with-aolserver.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/programming-with-aolserver.xml,v diff -u -r1.4.2.1 -r1.4.2.2 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/programming-with-aolserver.xml 17 Nov 2003 16:38:09 -0000 1.4.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/programming-with-aolserver.xml 19 Nov 2003 14:35:15 -0000 1.4.2.2 @@ -9,7 +9,7 @@ -by Michael Yoon, Jon Salz and Lars Pind. +By Michael Yoon, Jon Salz and Lars Pind. Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml,v diff -u -r1.7 -r1.7.2.1 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml 20 Aug 2003 16:20:18 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/rp.xml 19 Nov 2003 14:35:15 -0000 1.7.2.1 @@ -9,7 +9,7 @@ The Request Processor -By Pete Su +By Pete Su Overview Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/subsites.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/subsites.xml,v diff -u -r1.5.2.1 -r1.5.2.2 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/subsites.xml 17 Nov 2003 16:38:09 -0000 1.5.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/subsites.xml 19 Nov 2003 14:35:15 -0000 1.5.2.2 @@ -4,14 +4,12 @@ %myvars; ]> - + Writing OpenACS &version; Application Pages - -By Rafael H. Schloming and Pete Su - +By Rafael H. Schloming and Pete Su 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 -r1.6.2.1 -r1.6.2.2 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/templates.xml 17 Nov 2003 16:38:09 -0000 1.6.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/templates.xml 19 Nov 2003 14:35:15 -0000 1.6.2.2 @@ -9,7 +9,7 @@ -By Pete Su +By Pete Su Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml,v diff -u -r1.4 -r1.4.2.1 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml 28 Oct 2003 22:07:40 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-advanced.xml 19 Nov 2003 14:35:15 -0000 1.4.2.1 @@ -10,7 +10,7 @@ This section is a work in progress. - by Joel Aufrecht + by Joel Aufrecht Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-db.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-db.xml,v diff -u -r1.7 -r1.7.2.1 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-db.xml 11 Nov 2003 10:28:28 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-db.xml 19 Nov 2003 14:35:15 -0000 1.7.2.1 @@ -8,7 +8,7 @@ Setting Up Database Objects - by Joel Aufrecht + by Joel Aufrecht Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-debug.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-debug.xml,v diff -u -r1.4 -r1.4.2.1 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-debug.xml 14 Oct 2003 10:03:22 -0000 1.4 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-debug.xml 19 Nov 2003 14:35:15 -0000 1.4.2.1 @@ -11,7 +11,7 @@ - by Joel Aufrecht + by Joel Aufrecht Debugging @@ -81,13 +81,15 @@ + Write automated tests + - by Simon Carstensen + by Simon Carstensen - Write automated tests - - Create the automated tests for the package. - It seems to me that a lot of + + + Automated tests +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 Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-pages.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-pages.xml,v diff -u -r1.5.2.1 -r1.5.2.2 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-pages.xml 18 Nov 2003 10:58:37 -0000 1.5.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial-pages.xml 19 Nov 2003 14:35:15 -0000 1.5.2.2 @@ -8,7 +8,7 @@ Creating Web Pages - by Joel Aufrecht + by Joel Aufrecht Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml,v diff -u -r1.9 -r1.9.2.1 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml 11 Nov 2003 10:28:28 -0000 1.9 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/tutorial.xml 19 Nov 2003 14:35:15 -0000 1.9.2.1 @@ -10,26 +10,28 @@ Creating a Package - by Joel Aufrecht + by Joel Aufrecht The intended page map -... - - + + + + + Overview To start developing new code in OpenACS, we build a new package. A package is a a discrete collection of web pages, tcl code, and database tables and procedures. A package with user interface is called an application; a package which provides + role="strong">application; a package which provides functions to other packages and has no direct interface, a - service. A package + service. A package can be installed, upgraded, and removed. It communicates with other packages through an API. This chapter walks you through the minimum steps to create a useful package, including writing Index: openacs-4/packages/acs-core-docs/www/xml/engineering-standards/constraint-naming.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/engineering-standards/constraint-naming.xml,v diff -u -r1.4.2.1 -r1.4.2.2 --- openacs-4/packages/acs-core-docs/www/xml/engineering-standards/constraint-naming.xml 17 Nov 2003 16:38:09 -0000 1.4.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/engineering-standards/constraint-naming.xml 19 Nov 2003 14:35:15 -0000 1.4.2.2 @@ -9,7 +9,7 @@ -by Michael Bryzek +By Michael Bryzek Index: openacs-4/packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml,v diff -u -r1.9.2.2 -r1.9.2.3 --- openacs-4/packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml 18 Nov 2003 15:24:31 -0000 1.9.2.2 +++ openacs-4/packages/acs-core-docs/www/xml/engineering-standards/docbook-primer.xml 19 Nov 2003 14:35:15 -0000 1.9.2.3 @@ -658,7 +658,7 @@ Converting to HTML - This section is quoted almost verbatim from the LDP Author Guide. + This section is quoted almost verbatim from the LDP Author Guide. @@ -685,12 +685,14 @@ + This example uses Daniel Veillard's xsltproc command available as part of libxslt from http://www.xmlsoft.org/XSLT/. If you are using other XML processors such as Xalan or Saxon, you will need to change the command line appropriately. + Index: openacs-4/packages/acs-core-docs/www/xml/engineering-standards/filenaming.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/engineering-standards/filenaming.xml,v diff -u -r1.4.2.1 -r1.4.2.2 --- openacs-4/packages/acs-core-docs/www/xml/engineering-standards/filenaming.xml 17 Nov 2003 16:38:09 -0000 1.4.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/engineering-standards/filenaming.xml 19 Nov 2003 14:35:15 -0000 1.4.2.2 @@ -9,7 +9,7 @@ -By Michael Yoon and Aurelius Prochazka +By Michael Yoon and Aurelius Prochazka Index: openacs-4/packages/acs-core-docs/www/xml/engineering-standards/psgml-mode.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/engineering-standards/psgml-mode.xml,v diff -u -r1.5.2.1 -r1.5.2.2 --- openacs-4/packages/acs-core-docs/www/xml/engineering-standards/psgml-mode.xml 17 Nov 2003 16:38:09 -0000 1.5.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/engineering-standards/psgml-mode.xml 19 Nov 2003 14:35:15 -0000 1.5.2.2 @@ -8,7 +8,7 @@ Using PSGML mode in Emacs -By David Lutterkort +By David Lutterkort 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 -r1.11 -r1.11.2.1 --- openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml 11 Nov 2003 13:09:13 -0000 1.11 +++ openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml 19 Nov 2003 14:35:15 -0000 1.11.2.1 @@ -184,9 +184,10 @@ - ($Id$) + + Version 4.6.3 Release Notes for 4.6.3 Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/aolserver.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/aolserver.xml,v diff -u -r1.15 -r1.15.2.1 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/aolserver.xml 11 Nov 2003 10:28:29 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/aolserver.xml 19 Nov 2003 14:35:15 -0000 1.15.2.1 @@ -8,7 +8,7 @@ Install AOLserver 3.3oacs1 - by Vinod Kurup + by Vinod Kurup @@ -168,7 +168,7 @@ wget --passive http://www.tdom.org/tDOM-0.7.8.tar.gz tar xzf tDOM-0.7.8.tar.gz cd tDOM-0.7.8/unix - Edit the file CONFIG and change this section: + Edit the file CONFIG and change this section: # ---------------------------------------------------- # aolsrc="/usr/src/aolserver-3.4" # ../configure --enable-threads --disable-tdomalloc \ @@ -203,7 +203,6 @@ cp libtdom0.7.8.so /usr/local/aolserver/bin/ cd /usr/local/aolserver/bin ln -s libtdom0.7.8.so libtdom.so -
Install nsopenssl Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/credits.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/credits.xml,v diff -u -r1.10.2.1 -r1.10.2.2 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/credits.xml 17 Nov 2003 16:38:10 -0000 1.10.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/credits.xml 19 Nov 2003 14:35:15 -0000 1.10.2.2 @@ -8,7 +8,7 @@ Credits - by Vinod Kurup + By Vinod Kurup Vinod Kurup put Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/database-maintenance.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/database-maintenance.xml,v diff -u -r1.2 -r1.2.2.1 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/database-maintenance.xml 24 Jun 2003 03:37:04 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/database-maintenance.xml 19 Nov 2003 14:35:15 -0000 1.2.2.1 @@ -1,13 +1,13 @@ Database Management - + - by Joel Aufrecht + By Joel Aufrecht - + Running a PostGreSQL database on another server - + To run a database on a different machine than the webserver requires changes to the database configuration file and access control file, and to the OpenACS service's @@ -93,7 +93,7 @@ your server in /etc/inittab, reread the inittab with /sbin/init q, and then restart-aolserver - service0. + service0. Then, to drop the db, just do: @@ -126,9 +126,10 @@ line: 0 1 * * * /usr/local/pgsql/bin/vacuumdb birdnotes + ($Id$) + - ($Id$)