[Zope-dev] Alternative Storages: (was RelationalStorage (was LocalFS))

Phillip J. Eby pje@telecommunity.com
Thu, 04 May 2000 10:14:27 -0500


At 03:08 PM 5/4/00 +0000, Jason Spisak wrote:
>Phillip J. Eby:
>
>> Ty and I are working on fixing that.  As of today, the Specialist+Rack
>> subsystems of the ZPatterns library are now capable of managing objects
>> with mixed-source attributes and property sheets.  
>
>Can you use that code and extend it to allow Zope to pull it's object data
>from multiple sources? 
>

Not really.  It operates at a different level of abstraction than that.  It
can, however, be extended to allow objects stored in a "primary" ZODB
Folder or ObjectManager the ability to have mixed-source attributes and
propertysheets.  But there has to be some kind of object to "start with".

But that level of extension may be all you need, since most
"application"-oriented usages lend themselves well to using Racks directly,
and "content"-oriented usages can still have some of their attributes and
propertysheets handled elsewhere.

There are some key issues that are NOT dealt with in the Rack model yet,
however.  Chief amongst them is Undo management.  Jim Fulton made a change
to ZODB to allow the use of a custom Undo manager, which would allow
prevention of Undo for transactions that modified "outside" sources, or
alternatively allow them to be rolled back if there was a source for the
undo data.  However, we have not yet begun to integrate this into the
ZPatterns framework.  Another, related issue is garbage collection, or
making sure that objects are deleted in "both" places.  I plan to add a GC
function to Racks soon to allow them to clean up ZODB persistent data
associated with non-ZODB objects which no longer exist, but that's only a
beginning.