On Thursday 11 May 2006 10:06, Philipp von Weitershausen wrote:
> On the other hand, it seems that the BBB packages that would guarantee
> the pickle to be loaded were not included in the release
> (http://www.zope.org/Collectors/Zope3-dev/603).

This is not enough. You are required to provide BBB *and* generation scripts 
for objects that are referenced in the ZODB. Once the BBB references are 
removed the database will not load anymore.

> And yes, no generation scripts were written. Why? Because
> a) there doesn't (yet) seem to be an API that lets you iterate over
> objects (perferrably of a certain class) in the ZODB so that you could
> have them repickled (at least that's what Jim told me when I asked him)

This is a problem, not a reason not to do it. At least for FileStorage, which 
most people use I assume, there is a way. Here is a good example of its use:


> b) no persistent class was moved for this reason. Of course,
> non-persistent classes might still have been pickled. However, IIRC even
> if we had such an API described in a), it wouldn't be of any use because
> the objects that were moved don't have their own pickle but live in the
> pickle of some persistent object that makes a reference to it.

This is not true. See


class ZDCAnnotationData(PersistentDict):
    """Data for a Dublin Core annotation.

    A specialized class is used to allow an alternate fssync
    serialization to be registered.  See the
    zope.dublincore.fssync package.

> As said, BBB packages were provided, but not included in the release.
> This is a packaging problem.

Right, this is fixable. I am not too concerned about that.

Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
Zope3-users mailing list

Reply via email to