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:[EMAIL PROTECTED] 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 _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com