Pete Taylor wrote:
hi all... question for any event subscriber gurus (or just anyone who knows
more than me, which probably won't take much ;) )
i have a set of actions that i would like to have trigger off of a
particular state in a workflow. in my unittest i can see that the workflow
fires the event, but my subscriber doesn't pick up on it. similarly, the
subscriber i have in zcml in the application proper does not respond when
the workflow transition event is fired.
the functionality works if i explicitly call my subscription method against
the event, but that only proves that the functionality of the code isn't
broken...
the relevant zcml portion is as follows:
<subscriber
for="qarelease.interfaces.IRelease
zope.app.workflow.stateful.interfaces.IAfterTransitionEvent"
factory=".release.notifyTransition"
/>
the unittest subscribes with ztapi as follows:
ztapi.subscribe((IRelease, IAfterTransitionEvent), None, notifyTransition)
As Jim mentioned, and as I discovered yesterday :), the ability to subscribe
using a multi-adapter is not "stock" behavior of the basic event
notification (which only sends one IEvent object), but actually behavior of
the IObjectEvents, which have a special subscriber re-dispatching on both
event.object and event, so that the multi-adapter subscribers can work.
What workflow framework are you using ? And what's
qarelease.interfaces.IRelease ? Is it a transition or something else ?
That framework could be updated to do the same dance, if there's a clear
"object" there. Or maybe some workflow event interfaces could be subclassed
from IObjectEvent.
Florent
--
Florent Guillaume, Nuxeo (Paris, France) CTO, Director of R&D
+33 1 40 33 71 59 http://nuxeo.com [EMAIL PROTECTED]
_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users