[Zope-dev] RE: RFC : ZPatterns Customer Relationship Management Framework

Roch'e Compaan roche@ybm.co.za
Sat, 11 Nov 2000 12:30:31 +0200


Thanks for your comments on our model Philip, it is really appreciated and
very enlightening.

From your comments some other questions came to mind (I posted this on the
Wiki as well):

It seems that we did not give enough consideration for the pattern, Roles
Before Objects but we can retrofit this pattern to our existing design
without to much trouble. The area where I need more guidance is on the
ability of a specialist to add attributes on top of objects.

Thinking out load:

Objects might have different attributes depending on the roles they play in
various application frameworks. Specialists make it possible to add these
attributes through AttributeProviders.

One might create a Person ZClass with properties Name, Surname, Age. When
the Person plays the role of Customer we will create a Customers specialist
for that role providing us with services relevant to dealing with Customers.
Let's say for now that the properties defined on our ZClass propertysheet
for Person suffices for the Customer role.

Our Person object also plays the role of Requester in our Requesters
specialist. For this role we need an extra attribute, Priority. The
Requesters specialist will ask the Customers specialist for properties Name,
Surname and Age but will store the attribute Priority in it's own rack.

For storage in the ZODB this will imply that the extra attributes will be
stored persisently in the slots of the Requester. For non-ZODB storage like
a SQL RDB one will have to add a table to the RDB.

Roché