[Zope-dev] RE: [Zope] ZPatterns Question

RC Compaan roche@up-front.co.za
Tue, 8 Aug 2000 13:57:06 +0200


I've added a propertysheet called "properties" to my ZClass and i notice
there is Persistent Sheetprovider under the default rack already.  The
Sheetprovider has properties Sheet_Names and Sheet_Namespaces.  I guess
Sheet_Names should refer to the sheetname i created for my ZClass??? but how
do Sheet_Namespaces come into play.

From the IRC_Chatlog:
"Call "getItem(key)" to retrieve an item from the Specialist, and
"newItem(key)" to create a new item in the specialist."

Does this imply that I can simply call "newItem(key)" from a dtml-method
inside the specialist to create a new instance of my object?

I think I understand ZPattern architecture somewhat but get lost on the
implementation side, particularly at that place where  attributes are
retrieved from storage or more clearly how a specialist(datamanager) links
up/communicates with a sheetprovider (data-plugin) and how the sheetprovider
in turn communicates with the rack and how the rack retrieves from storage
(dataskin).

A very simple outline like this would help me a lot, eg:
Specialist to Sheetprovider (handled in IDE - add a SheetProvider under
Plugins)
Sheetprovider to rack (handled in IDE - select Storage Class under rack)
Rack to Dataskin (????)
Dataskin to physical storage (????)

Roché

PS: I would be more than willing to document my enlightenment in a howto

> -----Original Message-----
> From: alexande@cat-box.net [mailto:alexande@cat-box.net]On Behalf Of
> Steve Alexander
> Sent: 07 August 2000 06:19
> To: RC Compaan; zope-dev@zope.org
> Subject: Re: [Zope] ZPatterns Question
>
>
> I've moved your question to zope-dev, as that's where ZPatterns
> questions probably belong.
>
> Roche wrote:
> > I created a ZClass called "Product" with Dataskin as baseclass.
> >
> > I also added a specialist called ProductManager containing a
> default rack.
> > Under storage for the rack I selected the newly created Product ZClass.
> >
> > My product ZClass needs to query both a RDBMS and the ZODB for
> > attributevalues.  At this point I get lost.
> > I guess i should add an attributeprovider plug-in???
>
> The easiest way is to use a couple of SheetProviders. Use a
> PersistentSheetProvider for your ZODB values. You'll have to write your
> own one for SQL values.
>
> You will need to create the appropriate propertysheets in your ZClass
> class definition in your product.
>
> > What should go into the fromexpr and attrsexprs properties of the
> > attributeprovider?  Should one add an attributeprovider for
> each attribute
> > of the product?
>
> See the IRC chat log:
>
  http://www.zope.org/Documentation/Chats/zpatt_chat_log

An attribute provider can provide multiple attributes. You can have
multiple attribute providers if you like.

--
Steve Alexander
Software Engineer
Cat-Box limited
http://www.cat-box.net