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

Reply via email to