Index: openacs-4/packages/assessment/www/doc/versioning.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/versioning.html,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/assessment/www/doc/versioning.html 13 Jun 2004 23:20:44 -0000 1.1
+++ openacs-4/packages/assessment/www/doc/versioning.html 28 Jul 2004 10:35:57 -0000 1.2
@@ -40,14 +40,12 @@
- Many-many relationships: a given Section may be reused in
many different Assessments (eg if it contains commonly-needed Items
-such as questions about demographic details)
-
+such as questions about demographic details)
- Multiple versions: that same Section may exist in
different versions in those different Assessments (eg if different
Assessment authors add or subtract an Item, change wording of an Item's
label, etc). This includes different translations of semantically
-identical text.
-
+identical text.
Approach
The Content Repository (CR) in OpenACS is designed to handle these
@@ -64,11 +62,9 @@
- as_items (a cr_item) for whatever "immutable" attributes there
-are
-
+are
- as_items_revs (a cr_revision) for all mutable attributes
-including translations
-
+including translations
This pattern of dual tables is used for all components that need to
@@ -106,8 +102,7 @@
If we change the text of an Item Choice, then we need to insert
-new stuff all the way up the hierarchy.
-
+new stuff all the way up the hierarchy.
Another key issue, discussed in
-On the other hand, if we manage the many-many hierarchies of
-Assessment package entities in our own mapping tables outside of the CR
-mechanism, then we can handle this differently. At this point, we're
-not sure what is the best approach. Please post comments!
-
+as_item_rev for the existing as_item.
A final point concerns the mapping tables. The OpenACS
framework provides a variety of special-purpose mapping tables that are
all proper acs_objects (member_rels, composition_rels, acs_rels, and
the CR's own cr_rels). These provide additional control over
-permissioning but fundamentally are mapping tables. Whether to use them
-or just simple two-key tables will depend on the need for permission
-management in the given relationship. Presumably for most of the
-relations over which joins occur (ie that aren't exposed to outside
-procs etc), the simple kind will be superior since they are far lighter
-weight constructs.
+permissioning but fundamentally are mapping tables. In the long run the
+benefit of using them is the ability of OpenACS 6, to auto construct
+code based on cr_item_types and relationships.
Specific Versionable Entities
@@ -156,66 +142,50 @@
Core - Items:
- - Items: as_items; as_items_revs
-
- - Item Choices: as_item_choices; as_item_choices_revs
-
+ - Items: as_items; as_items_revs
+ - Item Choices: as_item_choices; as_item_choices_revs
- Localized Items: as_item_localized; as_item_localized_revs
Note:
we're not yet entirely sure what we gain by this when Items themselves
are versioned; we haven't yet settled on whether different translations
-of the same Items should be different versions or not.
-
- - Messages: as_messages; as_messages_revs
-
+of the same Items should be different versions or not.
+ Messages: as_messages; as_messages_revs
-
-
+
Core - Grouping:
- - Assessments: as_assessments; as_assessments_revs
-
- - Sections: as_sections; as_sections_revs
-
+ - Assessments: as_assessments; as_assessments_revs
+ - Sections: as_sections; as_sections_revs
-
-
+
Scheduling:
- Assessment Events: as_assessment_events;
-as_assessment_events_revs
-
+as_assessment_events_revs
Assessment Policies: as_assessment_policies;
-as_assessment_policies_revs
-
+as_assessment_policies_revs
-
-
+
Core - Collected Data:
- - Item Data: as_item_data; as_item_data_revs
-
- - Scale Data: as_scale_data; as_scale_data_revs
-
+ - Item Data: as_item_data; as_item_data_revs
+ - Scale Data: as_scale_data; as_scale_data_revs
-
-
+
Session Data:
- - Sessions: as_sessions; as_sessions_revs
-
+ - Sessions: as_sessions; as_sessions_revs
- Assessment Data: as_assessment_data; as_assessment_data_revs
- - Section Data: as_section_data; as_section_data_revs
-
+ - Section Data: as_section_data; as_section_data_revs