Index: openacs-4/packages/acs-core-docs/www/xml/kernel/groups-design.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/kernel/groups-design.xml,v diff -u -r1.1 -r1.2 --- openacs-4/packages/acs-core-docs/www/xml/kernel/groups-design.xml 13 Mar 2001 22:59:26 -0000 1.1 +++ openacs-4/packages/acs-core-docs/www/xml/kernel/groups-design.xml 2 Feb 2002 03:47:32 -0000 1.2 @@ -1,5 +1,5 @@ - -ACS 4 Groups Design + +OpenACS 4 Groups Design by Rafael H. Schloming and Mark Thomas @@ -45,9 +45,9 @@ Almost all database-backed websites have users, and need to model the -grouping of users. The ACS 4 Parties and Groups system is intended to provide +grouping of users. The OpenACS 4 Parties and Groups system is intended to provide the flexibility needed to model complex real-world organizational structures, -particularly to support powerful subsite services; that is, where one ACS +particularly to support powerful subsite services; that is, where one OpenACS installation can support what appears to the user as distinct web services for different user communities. @@ -57,7 +57,7 @@ Historical Considerations -The primary limitation of the ACS 3.x user group system is that it +The primary limitation of the OpenACS 3.x user group system is that it restricts the application developer to representing a "flat group" that contains only users: The user_groups table may contain the group_id of a parent group, but parent-child relationship @@ -66,7 +66,7 @@ for tree-like structures makes the queries over these relationships expensive. -In addition, the Module Scoping design in ACS 3.0 introduced a +In addition, the Module Scoping design in OpenACS 3.0 introduced a party abstraction - a thing that is a person or a group of people - though not in the form of an explicit table. Rather, the triple of scope, user_id, and group_id columns @@ -194,8 +194,8 @@ -A mapping of a party P to the groups -{Gi}the party is a member of; this mapping +A mapping of a party P to the groups +{Gi}the party is a member of; this mapping includes the type of relationship by including the appropriaterel_id from the membership_rels table. @@ -214,8 +214,8 @@ -A mapping of a group Gto the set of groups -{Gi} that G is a component of; +A mapping of a group Gto the set of groups +{Gi} that G is a component of; this mapping includes the type of relationship by including the appropriaterel_id from the composition_rels table. @@ -314,7 +314,7 @@ A person may appear in the group member map multiple times, for example, by being a member of two different groups that are both components of a third -group. This view is strictly a mapping of approved members +group. This view is strictly a mapping of approved members to groups. @@ -323,8 +323,8 @@ -A mapping of a group Gto the set of groups -{Gi} group G is a component of; +A mapping of a group Gto the set of groups +{Gi} group G is a component of; this mapping includes the type of relationship by including the appropriaterel_id from the composition_rels table. @@ -334,8 +334,8 @@ -A mapping of a party P to the set of parties -{Pi} party P is a member +A mapping of a party P to the set of parties +{Pi} party P is a member of. @@ -344,9 +344,9 @@ -A mapping of a party P to the set of parties -{Pi} party P is an -approved member of. +A mapping of a party P to the set of parties +{Pi} party P is an +approved member of. @@ -374,7 +374,7 @@ PL/SQL API -Person +Person person.new creates a new person and returns the person_id. The function must be given the full name of the person in @@ -415,7 +415,7 @@ ) return varchar; -User +User acs_user.new creates a new user and returns the user_id. The function must be given the user's email address and the full name of @@ -475,7 +475,7 @@ ); -Group +Group acs_group.new creates a new group and returns the group_id. All fields are optional and default to null except for @@ -517,7 +517,7 @@ ) return char; -Membership Relationship +Membership Relationship membership_rel.new creates a new membership relationship type between two parties and returns the relationship type's rel_id. @@ -593,7 +593,7 @@ ); -Composition Relationship +Composition Relationship composition_rel.new creates a new composition relationship type and returns the relationship's rel_id. All fields are optional @@ -697,10 +697,10 @@ -Document Revision # -Action Taken, Notes -When? -By Whom? +Document Revision # +Action Taken, Notes +When? +By Whom?