[Zope3-dev] possible bug in zope.wfmc

Adam Groszer adamg at fw.hu
Tue Sep 12 04:09:23 EDT 2006


Hello Jim,

As I think it further, even if I would implement the exception and so
transitions, there might still be a chance that an activity does not
have a valid outgoing transition. These transitions can also have
conditions.
Still I have to read through the WFMC specifications.

Monday, September 11, 2006, 4:27:26 PM, I wrote:

AG> Hello Jim,

AG> My specific usecase is:

AG>                         ---------
AG>                   ----->| Final |
AG>       ---------- /      ---------
AG>...-->>| Update |-       ---------
AG>       ---------- \----->| Issue |-->...
AG>           ^       \     ---------
AG>           |        \    ----------
AG>           |         \-->| Review |
AG>           |             ----------
AG>           |                  |
AG>           +------------------+
AG>           
Update ->> Final is guarded by "review_result == 'accepted'"
Update ->> Issue is guarded by "transitionName == 'update_issue'"
Update ->> Review is guarded by "transitionName == 'update_review'"
AG> On the UI I put up every possible transition. Now if my crazy user
AG> chooses Final if review_result != 'accepted' then bang, the
AG> process gets finished. No errors, no messages, no exceptions.
AG> I already thought of filtering the possible transitions on the UI, but
AG> how? transitionName still forces the other conditions to false. A kind
AG> of transition-precondition is not available as I know.
AG> In this usecase raising an exception and thus not letting any
AG> transition to fire fits me perfectly.

AG> XPDL would give the options
AG> - exception
AG> - default exception
AG> - otherwise
AG> but none of these are implemented in zope.wfmc.

AG> I think finishing the whole process is definitely bad behaviour.
AG> But what's correct? Please give a hint what should be done.

AG> Monday, September 11, 2006, 4:00:01 PM, you wrote:

JF>> On Sep 10, 2006, at 9:00 AM, Adam Groszer wrote:

>>> Hello,
>>>
>>> I think I found a bug in zope.wfmc.
>>> Let's say the Review>Publish and Review>Reject transitions are guarded
>>> by conditions.
>>>                               -----------
>>>                            -->| Publish |
>>>   ----------   ---------- /   -----------
>>>   | Author |-->| Review |-    ----------
>>>   ----------   ---------- \-->| Reject |
>>>                               ----------
>>>
>>> If at Review.workItemFinished() both conditions are still _FALSE_ the
>>> wfmc package finishes the whole process.
>>> I think the correct behaviour should be to not to allow to finish the
>>> workitem.

JF>> I don't think that would be correct.


>>> Maybe an exception should be raised?

JF>> You can actually model that in xpdl using an exception, although I  
JF>> don't reflect off-hand  if that is supported in zope.wfmc.

JF>> Jim

JF>> --
JF>> Jim Fulton                      mailto:jim at zope.com             Python Powered!
JF>> CTO                             (540) 361-1714                  http://www.python.org
JF>> Zope Corporation        http://www.zope.com             http://www.zope.org






-- 
Best regards,
 Groszer Adam
--
Quote of the day:
Many would be scantily clad if clothed in their humility. 
- Anonymous 



More information about the Zope3-dev mailing list