It’s so amazing. I’ve been waiting for that for a long time, and just
in time for halloween, Jim comes out with a really nice treat. For
those that are not aware of the implications, Zope 2 has what is
considered (by me) the grandfather of the metaclasses, and it is
called ExtensionClass. ExtensionClass comes from a looong time ago, I
think that they are from around the time Zope ran on Python 1.5 (just
so you know, I didn’t even knew Zope by that time).
What does that buy us? Well, it allows us to use new features like
descriptors, metaclasses, and things like that. BTW, I forgot to ask
Jim if its already possible to mix ExtensionClass and
metaclasses (/me takes note).
My guess is that, once solved the problems on Zope and CMF core (which
Jim already did), it should be trivial to fix most of the products in
the Collective, and even Plone, as most of them use just simple
subclassing. I guess that the one which can give me more trouble is
Archetypes, which adds quite some classes to the mix (and does some
nasty tricks to make the developer life easier).
So, wish me good luck and a good weekend! More on the topic over the