Hi, I was wondering if I understand the CMMN autoComplete
property correctly, if it is set to false
. In the spec (table 8.12) there is an AND + OR condition defined:
There are no Active children AND
(all children are in {Disabled, Completed, Terminated, Failed} AND there are no DiscretionaryItems)
OR
(Manual Completion AND all required (requiredRule evaluates to TRUE) children are in {Disabled, Completed, Terminated, Failed}).
Besides the fact that it would be way nicer to have an additional pair of parenthesis around the OR condition, I have another problem. If I understand that correctly, the second part doesn’t consider normal[1] child Tasks and Stages that are still in Available
(maybe because they are waiting for an entry criteria to become true). So the Stage will still complete, although there are maybe child Tasks and Stages in Available
left. Is that correct?
Wouldn’t that behaviour contradict the usual assumption about AutoComplete = false
?
One sentence later the spec says:
“In other words, a Stage instance SHOULD complete if a user has no option to do further planning or work with the Stage instance.”
My interpretation of that sentence is: if a task is not yet active, but will get to that state in future, a user have the option to work with the Stage instance in the future. This includes some time considerations, which is not explicitly stated in this sentence. But since the before mentioned table includes Manual Tasks that have to be in an end state, I think it would also be correct to say the same about normal Tasks. Is that correct or do I misunderstand something?
Thanks in advance,
Kai
with normal I mean Task/Stages that don’t have a manual or required rule. ↩︎