[Zope-dev] improving the utility and adapter lookup APIs

Chris McDonough chrism at plope.com
Fri Nov 27 12:56:24 EST 2009

Martijn Faassen wrote:
> Hey,
> Christian Theune wrote:
> [snip]
>> Another option would be to provide a backwards-compatibility mode of our 
>> code which can be switched on and off.
>> Your notion of bringing the component lookup mechanics closer to being a 
>> "language feature" is very intriguing and I like it a lot. However, if 
>> we do so, I'd like us to not having to resort to second-best 
>> spelling/implementation due to backwards compatbility. I'd like to work 
>> pretty hard on doing the implementation we want because it's a good 
>> implementation and then make backwards compatibility work. (I know, I'm 
>> a dreamer ...)
> I'd be in favor of an API based off calling the interface directly for 
> everything *if* we can come up with a backwards compatibility story somehow.

Just as a data point, I forgot to hook "adapter_hook" in BFG (and I still 
haven't), which means that the IFoo() sugar doesn't work.  Nobody noticed, even 
though lots of folks who use BFG also use the ZCA global API.

I'm not implying that this means it's not useful or convenient for old hands. 
But the old hands don't really need it.

If the primary goal is to increase adoption, I think further abstraction of 
stuff behind nicer calling conventions won't help improve matters: people 
really need to understand the "A-through-Y" concepts before they can jump to 
"Z"; promoting "Z" before better explaining "A-through-Y" first will only add 
more confusion.  We currently do a pretty poor job of explaining A-Y, at least 
in all the documentation I've read.  I think this implies that we need to break 
down the concepts into more consumable layers and document each of them before 
we add more abstraction.

- C

More information about the Zope-Dev mailing list