Victor Safronovich wrote:
Hello Florent Guillaume,
Monday, October 24, 2005, 7:47:43 PM, you wrote:
FG> They're not skipped, they're treated specially. These exceptions are the way
FG> for transition code to notify the caller that something happened to the
FG> underlying object.
But what prevent to raise ObjectMoved, ObjectDeleted in
nofityException, notifySuccess?
That's not what these methods are for. ObjectMoved and ObjectDeleted are
designed to be raised by workflow scripts, during the transition, to inform
the workflow machinery that the transition left the object in an unexpected
place.
notifySuccess marks the end of the transition, and is designed similarly to
an event mechanism, to inform interested parties that the transition is
complete. If it raises exceptions, then they won't be caught.
Florent
I.e. DCWorkflowDefinition.notifyCreated
swallow ObjectDeleted, ObjectMoved. Why?
if ObjectMoved raised in DCWorkflowDefinition.notifyCreated,
WorkflowTool.notifyCreated doen`t know about that, and
def notifyCreated(self, ob):
""" Notify all applicable workflows that an object has been created
and put in its new place.
"""
wfs = self.getWorkflowsFor(ob)
for wf in wfs:
wf.notifyCreated(ob)
self._reindexWorkflowVariables(ob) <<-- ob reindexed in a wrong
acquisition wrapper.
--
Florent Guillaume, Nuxeo (Paris, France) CTO, Director of R&D
+33 1 40 33 71 59 http://nuxeo.com [EMAIL PROTECTED]
_______________________________________________
Zope-CMF maillist - Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf
See http://collector.zope.org/CMF for bug reports and feature requests