Index: openacs-4/packages/acs-subsite/www/doc/group-admin-pages-design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/doc/group-admin-pages-design.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-subsite/www/doc/group-admin-pages-design.adp 27 Oct 2014 16:39:57 -0000 1.2 +++ openacs-4/packages/acs-subsite/www/doc/group-admin-pages-design.adp 7 Aug 2017 23:47:59 -0000 1.3 @@ -1,45 +1,54 @@ -{/doc/acs-subsite {Subsite}} {Group Admin Pages - Design} +{/doc/acs-subsite {ACS Subsite}} {Group Admin Pages - Design} Group Admin Pages - Design - - -

Group Admin Pages - Design

ACS subsite docs : Group Admin Pages - Design -

I. Essentials

+

II. Introduction

+ +The group administration packages provides a "control +panel" to allow the administrator of a subsite to control the +groups in use on that subsite. Administrators manage the types of +groups in use on a subsite. For each of these group types, the +administrator can create new groups, specify applicable +relationship types, create relations between these groups, and +modify attributes of the types and groups.

III. Historical Considerations

+ Versions 4.0.x of the ACS lacked a useful group administration package for subsites. For example: + This package addresses most of the short-coming of the previous subsites group administration package making group administration subsite aware and better integrated with the ACS Object Model.

IV. Design Tradeoffs

+ Whenever possible, the design of this package tries to minimize disturbance to the core ACS 4.0 data model. Instead, we focus on adding a more powerful user interface and PL/SQL API to the existing group admin pages while extending the data model only when necessary. -

V. API

Permissible relationship types

+

V. API

+

Permissible relationship types

+ We defined the following two tables to store the relationship type used to store the permissible relationship types for group types and individual groups. Whenever a group is created using the -acs_group.new function, the relationship types for the +acs_group.new + function, the relationship types for the new group are automatically copied from those allowed for its group type.
@@ -70,40 +79,56 @@
        constraint group_rels_group_rel_type_un unique (group_id, rel_type)
 );
 
-

Dynamic subtypes of object types

+ +

Dynamic subtypes of object types

+ To allow administrators to create dynamic object types (e.g. -subtypes of the object types group, -membership_rel, and composition_rel), we +subtypes of the object types group +, +membership_rel +, and composition_rel +), we provide a Tcl library of procedure that generate PL/SQL packages. For each dynamically created object type, we: + Whenever an attribute is added or deleted, a type added or removed, we regenerate some of the PL/SQL packages, based on the type hierarchy affected by the change.

Attributes themselves are stored using type-specific storage. For each new attribute, we create a column in the table dynamically created for the new object -type.

To support the clean separation between programmer defined +type.

+

To support the clean separation between programmer defined PL/SQL packages and automatically generated packages, we add the dynamic_p column to the acs_object_types -table.

+table.

+
 acs_object_types.dynamic_p       char(1) default 'f' 
                                  constraint acs_obj_types_dynamic_p_ck
                                  check (dynamic_p in ('t', 'f'))
-

Note that the dynamic_p is still experimental -and may be removed in a future version of ACS

VII. Data Model Discussion

+
+

Note that the dynamic_p is still +experimental and may be removed in a future version of +ACS

+

VII. Data Model Discussion

+ ...

VIII. User Interface

+ The user interface comprises entirely of administrative pages -located in the /admin/ directory of the subsite +located in the /admin/ + directory of the subsite package.

IX. Configuration/Parameters

+ The revised group administration pages require no new package parameters.

X. Future Improvements/Areas of Likely Change

+ There are many areas for improvement to the user interface, including tighter integration with the relational segments and constraints packages. One major improvement would allow individual @@ -112,28 +137,36 @@ are not themselves objects, it is difficult to properly scope object types.

We also may add a few additional package parameters -including:

XI. Authors

+including:

+ +

XI. Authors

+ This document is primarily the result of discussions between Oumi Mehrotra and Michael Bryzek. Bryan Quinn and Rafi Schloming provided key insights early in the development process.

XII. Revision History

+ +

XII. Revision History

+
-
Document Revision #Action Taken, NotesWhen?By Whom?
0.1Creation11/30/2000Michael Bryzek
1.0Major Revision1/11/2001Michael Bryzek

Michael -Bryzek

group-admin-pages-design.html,v 1.1.4.1 2001/01/12 + +
+
Michael +Bryzek
+
+group-admin-pages-design.html,v 1.1.4.1 2001/01/12 22:43:33 mbryzek Exp -