[Zope3-dev] Heads up: zope.app.intid and zope.app.keyreference are now optional

Ivo van der Wijk vladdrac at gmail.com
Thu Jun 16 03:08:03 EDT 2005


On 6/16/05, Jim Fulton <jim at zope.com> wrote:
> Ivo van der Wijk wrote:
> > On 6/14/05, Jim Fulton <jim at zope.com> wrote:
> >
> >>In preparation for the 3.1 release, I made these packages (as
> >>well as zope.app.observable and zope.app.schema) optional and thus
> >>configured vie package includes.  If you have an instance that
> >>uses these, you will need to add package includes for these.
> >>
> >
> >
> > I somewhat missed it - cubic started to work without much errors (the
> > catalog simply stopped working)
> >
> > After fixing things/ adding includes, I ran into an old issue again (I
> > have clean Zope3 svn checkout at this moment, no additional
> > hacks/workarounds anymore):
> >
> >   File "/home/ivo/Projects/Zope3/Zope3-svn/src/zope/app/security/adapter.py",
> > line 88, in __call__    adapter = self.factory(*args)
> >   File "/home/ivo/Projects/Zope3/Zope3-svn/src/zope/app/keyreference/persistent.py",
> > line 41, in __init__
> >     raise zope.app.keyreference.interfaces.NotYet(object)
> > NotYet: <zope.app.workflow.stateful.definition.State object at 0xb3bd076c>
> >
> > The IntId utility can't handle these exceptions. The following diff
> > fixes things (for me, at least)
> >

> 
> Yes, but I worry that this could hide bugs.
> 
> You have an object that could potentially be registered, but
> can't be yet because we can't get the database yet.  It is being added.
> Later, when it has a database, it won't be added again and so won't be
> registered.  This will lead to mysterous bugs where objects that should
> be cataloged won't be.
> 

I guess somehow Zope3 is trying to assign an id to workflow state
definitions too early. I can't "retry" this from my code myself (my
request will simply crash with the trace above), the real fix would
probably to make sure that these definitions can get IKeyReferenced,
but this is beyond my knowledge.

I've tried to explicitly _p_jar.add these objects in the past, but
this fails with recent Zope3 versions.

Cheers

  Ivo

-- 
Drs. I.R. van der Wijk                                      -=-
Korte Leidsedwarsstraat 12                                 Amaze
1017 RC Amsterdam, NL                                       -=-
T +31-20-4688336         F +31-20-4688337       Zope/Plone/Content Management
W http://www.amaze.nl    E info at amaze.nl           Open Source Solutions
W http://vanderwijk.info E ivo at amaze.nl                 Consultancy
PGP http://vanderwijk.info/pgp


More information about the Zope3-dev mailing list