[Zope-dev] Re: Establishing root objects in ZODB under Zope

Ross Boylan RossBoylan@stanfordalumni.org
Wed, 23 Jan 2002 21:58:38 -0800


At 09:37 PM 1/23/02 -0800, Ross Boylan wrote:
>I have some data that will not naturally live as an item in a folder.  If 
>I'm using Zope, how do I establish a root for it?  The ZODB docs talk 
>about how to handle a free-standing database, but I don't see info about 
>how to use the one that Zope has already set up.  I recall there's some 
>way to get a handle to the open database, but I don't recall exactly 
>what.  Can anybody help me out?
>
>If I use a class variable, will that be persisted automatically, e.g.
>class MyManager(Persistence.Persistent):
>         MyClassVariable = SomePersistentClass()
>         .....
>? (Actually, I'm not sure if it matters whether MyManager is a subclass of 
>Persistent).
>
>Or, if it is not automatically persistent, is there anything I can do to 
>make it persistent so that it will obey the transaction boundaries coming 
>from web requests?

I just realized that I can hang the persistent object off the item or 
folder that is my product.  I'm still curious what the other options are.


>Final question, which is distinct from the root objects issue: if I use 
>Zope's Persistent List, will that avoid the problem of faulting in the 
>whole list if I don't need it?  I am looking for a good way to keep a 
>record of transactions.  ZODB's raw transaction recording is probably not 
>quite right since it has the wrong granularity, it mixes a lot of 
>unrelated transactions (it's only some I want), and I think it can get 
>zapped if I do various database compactions and cleanups.
>
>Thanks.