[Zope-dev] Python Based DataSkins and Propertysheets

Steve Alexander steve@cat-box.net
Mon, 12 Feb 2001 10:58:15 +0000


Johan Carlsson wrote:

> 
> Ah, I see. 
> But why do I need SimpleItems, isn't PropertyManagers sufficient?

It makes your class play nicely with Zope.

So, it can work with DAV, be copied and pasted, properly work
with traversal, work with ZDOM, be Owned, support undo, work
with Acquisition, and manage roles.

Take a look at the source to lib/python/OFS/SimpleItem.py

You can omit some of this if you know for sure in advance that you
will be using instances of your class only with Specialists in 
Racks.

However, ZPatterns is set up so you can use the same DataSkin class
with instances stored in a Rack or stored as normal Persistent objects
in the ZODB.


>> In your case, I suggest making your class Persistent, and using
>> PropertyManager properties.
>
> But making it presistent doesn't that lock the objects to be stored in the ZODB?
> I may want to change storage to SQL later.

No it doesn't tie the object to the ZODB if you're using a Specialist. That's the magic of ZPatterns.

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