Hi, I'm in the process of evolving a DB and have come across an issue where the zope.app.broken classFactory isn't being used, hence broken objects come back as Pc PersistentBroken rather than zope.app.broken.Broken.
The installBroken handler takes care of the logistics in monkey patching the ZODB.DB object's classFactory function when an IDatabaseOpened event is emitted, however a reference to the original ZODB.DB.classFactory is held by the ObjectReader created by the ZODB.Connection object when zope.app.appsetup.bootstrap.bootStrapSubscriber is called upon a IDatabaseOpened event. The problem is that zope.app.zcmlfiles includes zope.app.appsetup before zope.app.broken and so when an IDatabaseOpened event is emitted a reference to original classFactory is held by the ObjectReader before the DB.classFactory can be patched with the zope.app.broken classFactory. Of course modifying zope.app.zcmlfiles.configure.zcml to include zope.app.broken before zope.app.appsetup fixes the problem. Seems odd for this to been an oversight so thus the question, I doing something wrong here? Thanks -Michael Dove _______________________________________________ Zope3-users mailing list Zope3email@example.com http://mail.zope.org/mailman/listinfo/zope3-users