Index: openacs-4/packages/acs-core-docs/www/object-system-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-requirements.html,v diff -u -r1.30.2.2 -r1.30.2.3 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 12 Dec 2010 00:07:02 -0000 1.30.2.2 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 12 Dec 2010 01:37:24 -0000 1.30.2.3 @@ -1,10 +1,5 @@ -<<<<<<< object-system-requirements.html - -Object Model Requirements

Object Model Requirements

By Pete Su

-======= -Object Model Requirements

Object Model Requirements

By Pete Su

->>>>>>> 1.32 +Object Model Requirements

Object Model Requirements

By Pete Su

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

I. Introduction

A major goal in OpenACS 4 is to unify and normalize many of the core services @@ -90,11 +85,7 @@ between data.

Design Note: While this doesn't really belong in a requirements document, the fact that we are constrained to using relational databases means that certain constraints on the overall design of the object -<<<<<<< object-system-requirements.html -data model exist, which you can read about in ???.

Modifiable Data Models

Another recurring applications problem is how to store a modifiable data -======= data model exist, which you can read about in Summary and Design Considerations.

Modifiable Data Models

Another recurring applications problem is how to store a modifiable data ->>>>>>> 1.32 model, or how to store information that may change extensively between releases or in different client installations. Furthermore, we want to avoid changes to an application's database queries in the face of any custom @@ -135,13 +126,8 @@ that store metadata on application objects. The object type system supports subtyping with inheritance, so new object types can be defined in terms of existing object types.

The OM data model forms the main part of the OpenACS 4 Kernel data model. The -<<<<<<< object-system-requirements.html -other parts of the Kernel data model include:

  • Parties and Groups

  • Permissions

Each of these is documented elsewhere at length.

Use-cases and User-scenarios

(Pending as of 8/27/00)

Requirements: Data Model

The data model for the object system provides support for the following -kinds of schema patterns that are used by many existing OpenACS modules:

10.0 Object Identification and Storage

Object identification is a central mechanism in the new metadata system. -======= other parts of the Kernel data model include:

  • Parties and Groups

  • Permissions

Each of these is documented elsewhere at length.

Use-cases and User-scenarios

(Pending as of 8/27/00)

Requirements: Data Model

The data model for the object system provides support for the following kinds of schema patterns that are used by many existing OpenACS modules:

10.0 Object Identification and Storage

Object identification is a central mechanism in the new metadata system. ->>>>>>> 1.32 The fact that every object has a known unique identifier means that the core can deal with all objects in a generic way. Thus the only action required of an application to obtain any general service is to "hook into" the @@ -216,17 +202,10 @@ developers to represent a hierarchy of object contexts. These contexts are used as the basis for the permissions system. In general, if an object has no explicit permissions attached to it, then it inherits -<<<<<<< object-system-requirements.html -permissions from its context.

The context data model also forms the basis of the subsites system, and is -a basic part of the permissions system, -described in separate documents.

The context data model should provide the following facilities:

50.10 Unique ID

Every context should have a unique ID in the system.

50.20 Tree Structure

The data model should support a tree structured organization of contexts. -That is, contexts can be logically "contained" within other -======= permissions from its context.

The context data model also forms the basis of the subsites system, and is a basic part of the permissions system, described in separate documents.

The context data model should provide the following facilities:

50.10 Unique ID

Every context should have a unique ID in the system.

50.20 Tree Structure

The data model should support a tree structured organization of contexts. That is, contexts can be logically "contained" within other ->>>>>>> 1.32 contexts (i.e. contexts have parents) and contexts can contain other contexts (i.e. contexts can have children).

50.30 Data Model Constraints

All objects must have a context ID. This ID must refer to an existing context or be NULL. The meaning of a NULL context is determined by the @@ -285,4 +264,4 @@ this integrate with application level SQL queries?

Revision History

Document Revision #Action Taken, NotesWhen?By Whom?
0.1Creation08/10/2000Bryan Quinn
0.2Major re-write08/11/2000Pete Su
0.3Draft completed after initial reviews08/22/2000Pete Su
0.4Edited, updated to conform to requirements template, pending freeze08/23/2000Kai Wu
Final edits before freeze08/24/2000Pete Su
0.5Edited for consistency08/27/2000Kai Wu
0.6Put Object ID stuff first, because it makes more sense08/28/2000Pete Su
0.7Added requirement that knowledge-level objects must be moveable between databases.08/29/2000Richard Li
0.8Rewrote intro to match language and concepts in the design document. Also cleaned up usage a bit in the requirements section. Added short vague -requirements on relation types.09/06/2000Pete Su
0.9Edited for ACS 4 Beta release.09/30/2000Kai Wu
View comments on this page at openacs.org
+requirements on relation types.09/06/2000Pete Su0.9Edited for ACS 4 Beta release.09/30/2000Kai Wu
View comments on this page at openacs.org