> > If you do this from Zope 2.8, though, it picks up Zope 2.8's implementation,
> > and doesn't give a warning. In short, ExtensionClass is a Zope2 thing, not
> > a ZODB thing (nor even a Zope3 thing).
> Yep, and there was much rejoicing! Sadly, I don't think Zope3 has
> Catalog yet, does it?
Yes 3.1 has a very nice catalog implementation that should be familiar
enough to a ZCatalog user. The Zope 3 version is much cleaner. I would
like to see something like Dieter's AdvancedQuery ported to it.
> Zope2 relies on ExtensionClass for the __of__ mechanism to enable
> Acquisition. I realize the implicit acquisition is currently viewed as
> less than ideal, but it seems like Zope3 would still need __of__. That
> must be coming from somewhere else.
Honestly I haven't seen a Zope 3 class yet that subclasses from
Acquisition, and if there is one it's deep in the bowels somewhere where
I don't have to worry about it, and there is no Zope 2 style implicit
acquisition on every single object in the containment hierarchy. I look
forward to writing a lot less of __of__.
> Actually, ExtensionClass was very easy. As of now, I have a running,
> but poorly tested, standalone Catalog package. (With a distutils setup
> and everything :) Once I've kicked it around a bit more, I'm going to
> release it, since I haven't seen anyone else actually package it up.
If all you're using is ZODB and a catalog then absolutely I'd recommend
using the Zope 3 version.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org