Raphael Ritz, on 2007-05-14:
> More a workaround than a solution but have you tried
> doing it the "new way" (Zope-2.10) and introducing
> backwards compatibility via a module alias to make
> zope.annotations also available as zope.app.annotations?
Ah, that might work yes.
Hm, I had problems getting it to work, and I think I have it the other
way around than what you said. The python code and the zcml only use
zope.annotation now and I make sure that in 2.9 zope.app.annotation is
available under the module name zope.annotation.
And I need to do the same for zope.(app.)annotation.interfaces,
otherwise problems still remain. So I now have the following in my
# BBB for Zope 2.9
sys.modules['zope.annotation'] = zope.app.annotation
sys.modules['zope.annotation.interfaces'] = zope.app.annotation.interfaces
Then it works. Thanks!
If someone knows a better way to do this with some condition in zcml
(not the ones that failed for me in the original message) then that
would still be appreciated.
BTW, for the python code a conditional import is not even really
necessary: in zope 2.10 (or 3.3) you simply get a DeprecationWarning
that zope.app.annotation will be removed in ope 3.5. But there is no
such deprecation for the zcml file: it has simply been removed.
Hm: for this reason it would be nice to still have the original zcml
file in there. Then including that zcml would still work though you
get a DeprecationWarning. Actually, that zcml file should then look
<include package="zope.annotation" />
That would work for me too: I just tried it. Should I propose this on
the zope 3 dev list? I do not currently read that list btw.
Maurits van Rees | http://maurits.vanrees.org/ [NL]
Work | http://zestsoftware.nl/
"Do not worry about your difficulties in computers,
I can assure you mine are still greater."
Zope maillist - Zope@zope.org
** No cross posts or HTML encoding! **
(Related lists -