Marius Gedminas wrote:
from zope.annotation.adapter import AnnotationAdapter
getFoo = AnnotationAdapter(for_=IBar,
> # I suppose the key could be optional; you could use a
> # dotted interface name by default
and then the ordinary
<zope:adapter factory=".foo.getFoo" />
I think this is exactly the same as Jeff Shell's suggestion, but its
3am, and I'm too tired to read his entire message.
I guess it comes down to the question whether annotations are a basic
configuration concept, like views, and thus have their own directive to
register them, or not.
In your example, the ZCML doesn't show that we actually are setting up
an annotation, and it doesn't show for what we're setting up an
annotation for in the first place either. It's one intrepretation of
ZCML that it should show these things. The other interpretation of ZCML
is that its main task is just hooking components into the system.
Perhaps we should make explicit which ZCML we want to have, as its
design can be quite different depending on that choice.
Zope3-dev mailing list