Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-6942

The conditional boundary and event sub process are evaluated on scope creation time

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: L3 - Default L3 - Default
    • 7.6.0, 7.6.0-alpha6
    • None
    • engine
    • None

      AT:

      • conditional boundary and also the condition start event of an event sub process are evaluated on scope creation time
      • if they are satisfied they are triggered

        This is the controller panel for Smart Panels app

            [CAM-6942] The conditional boundary and event sub process are evaluated on scope creation time

            Schimak added a comment -

            I want to cautiously support the tendency to change the behaviour.

            Schimak added a comment - I want to cautiously support the tendency to change the behaviour.

            We decided that we will not change the current behavior, since the conditional event is an catch event. See for example signal or message catch events. These events are only able to catch
            events after the scope is created. They are not evaluated on scope creation time.

            To make this behavior also possible, we will implement an property/flag (after the next release).
            This property/flag, called for example `evaluateOnStart`, triggers if set to true the evaluation of conditional boundary and event sub process conditional start events at scope creation time.

            Christopher Kujawa added a comment - We decided that we will not change the current behavior, since the conditional event is an catch event. See for example signal or message catch events. These events are only able to catch events after the scope is created. They are not evaluated on scope creation time. To make this behavior also possible, we will implement an property/flag (after the next release). This property/flag, called for example `evaluateOnStart`, triggers if set to true the evaluation of conditional boundary and event sub process conditional start events at scope creation time.

            Schimak added a comment -

            I support your argument with regards to pure BPMN semantics. Therefore: "+1" for allowing the evaluation on scope creation time with this feature, I think it will be needed to make versatile use of conditional events in practical applications.

            A question that remains for me: will the "default" behaviour be different for intermediate events? Will it be different for event based gateways with conditional intermediate events attached? Does that make sense?

            Schimak added a comment - I support your argument with regards to pure BPMN semantics. Therefore: "+1" for allowing the evaluation on scope creation time with this feature, I think it will be needed to make versatile use of conditional events in practical applications. A question that remains for me: will the "default" behaviour be different for intermediate events? Will it be different for event based gateways with conditional intermediate events attached? Does that make sense?

            Hey Martin,

            thanks for the response. OK you are right the behavior should be consistent.
            I will take a look into this how we can change this.

            Best regards,
            Chris

            Christopher Kujawa added a comment - Hey Martin, thanks for the response. OK you are right the behavior should be consistent. I will take a look into this how we can change this. Best regards, Chris

            Review hints:

            Thorben Lindhauer added a comment - Review hints: test with flexible process instantiation (this API: https://docs.camunda.org/manual/7.5/user-guide/process-engine/process-engine-concepts/#start-a-process-instance-at-any-set-of-activities ); if not working yet, either fix or create a follow-up issue that we can prioritize (as release is not far away) Consider consolidating DependingOperations and PvmAtomicOperationContinuation to reduce code complexity; the purpose of these interfaces is that we need a callback that does not throw a checked exception Test assertions of lists of tasks are too imprecise (e.g. https://github.com/camunda/camunda-bpm-platform/commit/015108ac9bae307cdf1d55204df470f1fc28192b#diff-abceb96999df273bf9eafef17412cffdR567 )

            Schimak added a comment - - edited

            Hi all. My - so far partly failing - tests for the new conditional event leveraging Camunda BPM Assert Scenario are now all running! I really just had to enable all the @Ignore tests. See:

            https://github.com/camunda/camunda-bpm-assert-scenario

            I wish you all success for your forthcoming release! Martin.

            Schimak added a comment - - edited Hi all. My - so far partly failing - tests for the new conditional event leveraging Camunda BPM Assert Scenario are now all running! I really just had to enable all the @Ignore tests. See: https://github.com/camunda/camunda-bpm-assert-scenario I wish you all success for your forthcoming release! Martin.

            Hey Martin,

            I'm glad to hear that. Thanks for your feedback.

            Best wishes
            Chris

            Christopher Kujawa added a comment - Hey Martin, I'm glad to hear that. Thanks for your feedback. Best wishes Chris

              thorben.lindhauer Thorben Lindhauer
              christopher.zell Christopher Kujawa
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: