[Zope-dev] Property Storage Bloat Question

Steve Alexander steve@cat-box.net
Sun, 22 Jul 2001 15:26:16 +0100


Chris Withers wrote:
 > Hi,
 >
 > If I store a moderately frequently changed property on a Folder will
 >  only the folder object get tacked on the end of Data.fs when the
 > folder changes or will it be the folder object plus all the objects
 >  in the folder?

Assuming the Folder contains persistent objects, then only the folder 
will be written. However, "just the folder" includes all the folder's 
instance attributes, which includes a list of the ids+metatypes of the 
folder's contents, as well as its security attributes, other properties 
such as "title", and so on.

You can get around this in Zope by using a webdav propertysheet to store 
your property in. This is a separate persistent object, and so won't 
cause all the rest of your folder's attributes to be written when that 
property changes.

<zpatterns_stuff>
I've got around this using ZPatterns, by using a folder that is derived 
from DataSkin, and having a special attribute provider just for that one 
property/attribute. Basically, I designed the app, then looked at which 
properties were getting updated too often, then told ZPatterns to store 
those properties in a separate BTree.
</zpatterns_stuff>

--
Steve Alexander
Software Engineer
Cat-Box limited