Martijn Faassen wrote:
Stephan Richter wrote:
On Friday 27 November 2009, Martijn Faassen wrote:
Are people okay with the proposed semantics?
Would people be okay with such an upgrade path? Any better ideas? Looks good.
Note: We had Thanks Giving over the weekend, so please allow more US people, like Jim, to comment before finalizing the decision.
Good point. We'll give it some more time.
Given some feedback about backwards compatibility, I'm leaning to the following adjusted scenario:
* allow IFoo((a, b)) for multi adaptation. This breaks tuple adaptation. It's not as pretty as IFoo(a, b), but it's pretty tolerable and it *is* actually symmetric with registration.
+1
* deprecate a non-explicit default such as IFoo(a, default), require IFoo(a, default=default)
+0
* do the other stuff (name, utility lookups, etc)
+1
* this will be a zope.component 3.x release. Or we could even call it 4.0.
I'd say 4.0 is more appropriate. This gives us some room to have further 3.x releases in-between/afterwards.
* we can stick with this for quite a while.
* in some years time, see about allowing IFoo(a, b) for multi adaptation. By that time people will have updated their code to use explicit defaults everywhere.
+0
* then deprecate IFoo((a, b)) in favor of IFoo(a, b)
* we can then allow tuple adaptation again. :)
+0 This seems like a more reasonable compromise to me. Cheers, Martin -- Author of `Professional Plone Development`, a book for developers who want to work with Plone. See http://martinaspeli.net/plone-book