Index: openacs-4/packages/acs-core-docs/www/objects.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/objects.html,v diff -u -r1.43 -r1.44 --- openacs-4/packages/acs-core-docs/www/objects.html 16 Feb 2005 00:21:03 -0000 1.43 +++ openacs-4/packages/acs-core-docs/www/objects.html 4 Jun 2006 00:45:24 -0000 1.44 @@ -1,8 +1,9 @@ -
Using ACS objects is straightforward: all that's required are a few extra steps in the design of your application data model. @@ -78,7 +79,7 @@ Fire up your text editor and open the ROOT/packages/notes/sql/oracle/notes-create.sql (ROOT/packages/notes/sql/postgresql/notes-create.sql for the PG version) file created when we created the package. Then, do the following: -
+
First, add an entry to the acs_object_types table with the following PL/SQL call:
begin @@ -138,7 +139,7 @@ because the new type note is a subtype of acs_object, it will inherit these attributes, so there is no need for us to define them. -
The next thing we do is make a small modification to the data model to reflect the fact that each row in the notes table represents something that is not only an object of type @@ -163,7 +164,7 @@ use the acs_objects table to find objects will transparently find any objects that are instances of any subtype of acs_objects. -
The next step is to define a PL/SQL package for your new type, and write some basic procedures to create and delete objects. Here is a package definition for our new type: @@ -208,10 +209,10 @@ this way: if no permissions are explicitly attached to the object, then the object inherits its permissions from the context. For example, if I had told you how to use the permissions system to specify that an -object OBJ was "read only", then any other object that used OBJ as its -context would also be "read only" by default. We'll talk about this more +object OBJ was "read only", then any other object that used OBJ as its +context would also be "read only" by default. We'll talk about this more later. -
The PL/SQL package body contains the implementations of the procedures defined above. The only subtle thing going on here is that we must use acs_object.new to insert a row into @@ -314,7 +315,7 @@ models that are meant to be integrated with the OpenACS object system.
-There are two basic rules you should follow when designing OpenACS 5.2.0d1 data +There are two basic rules you should follow when designing OpenACS 5.2.3b1 data models: @@ -336,7 +337,7 @@ context_id to the package instance in which the note was created. The idea will be that in a real site, the administrator would create one package instance for every separate set of Notes (say, one -per user). The instance would "own" all of the notes that it created, +per user). The instance would "own" all of the notes that it created, and the administrator would be able to use the package instance as the basis for access control, which is convenient.
@@ -369,7 +370,7 @@ requires a good amount of thought at design time even for simple applications.