Uploaded image for project: 'Camunda Optimize'
  1. Camunda Optimize
  2. OPT-5411

FlowNodeDuration filters should use "and" logic for FlowNodeInstance filering

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: L3 - Default L3 - Default
    • None
    • None
    • backend
    • Not defined

      Context:

      Currently, when applying multiple FlowNodeDuration filters on instance level, filtering on flowNodeInstances happens with "or" logic.

      Example: Apply 2 Filters: FlowNodeDurationFilter1 wtih "userTask1" less than 1hour and FlowNodeDurationFilter2 with "userTask1" greater than 1 hour.

      The instance filtering of instanceLevel filter works as follows:

      "Show all instances where  userTask1 was always executed in both less than 1hour and more than 1hour simultaneously", i.e. "instance with at least one flownode that fulfils filter1 and filter2"
      An instance where userTask1 has been executed twice (once less than 1hour and once more than 1hour) will not be included.

      But, the Instance filtering of viewLevel filter does the following:

      "Show all instances where userTask1 was executed in either less than 1hour more than 1hour", ie. "instance with at least one flowNode that fulfils either filter1 or filter2"
      An instance where userTask1 has been executed twice (once less than 1hour and once more than 1hour) will be included. Note that on flowNode level, flowNodes still need to match both filter1 and filter2, so all flowNodes will be filtered out for this instance, so the instanceCount will be 1 but the result will be empty. 

      The instance filtering of viewLevel filter should be adjusted to also use "and" logic.

      Steps to recreate:

      1. Deploy and start model with a loop so that one flowNode (say "FlowNode1") can be executed twice.
      2. Run an instance through the model where the first execution of "FlowNode1" took less than 1 minute and the second execution of "FlowNode1" took longer than 1minure.
      3. Create a FlowNode count report on this model.
      4. Observe that FlowNode1 has been executed twice.
      5. Add two FlowNodeDuration filters on viewlevel:
        1. Filter1: FlowNode1 took less than 1 minute
        2. Filter2: FlowNode1 took longer than 1 minute

      Observed Result:

      The instance is still included in the result.

      Expected Result:

      The instance should be excluded from the result because neither FlowNodeInstance match the filter.

       

      AT:

      • FlowNodeDuration viewLevel filters are combined using "and" logic on all "levels"
      • IT is added in which one flowNode has several instances

        This is the controller panel for Smart Panels app

              Unassigned Unassigned
              helene.waechtler Helene Waechtler
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: