[Zope3-dev] possible bug in zope.wfmc

Adam Groszer adamg at fw.hu
Mon Sep 11 10:27:26 EDT 2006


Hello Jim,

My specific usecase is:

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

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

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

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:
Money, not morality, is the principle commerce of civilized nations.  -  Thomas Jefferson -



More information about the Zope3-dev mailing list