Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-81569

Kaleo designer - XOR Join Node doesn't work as expected

    Details

    • Story Points:
      1
    • Fix Priority:
      3
    • Sprint:
      Workflow_7.2_14

      Description

       
      XOR is defined as:

      A B A XOR B
      0 0 0
      0 1 1
      1 0 1
      1 1 0

      When user uses XOR Join Node, it generates true result after only 1 branch submit result. I would expect it waits for both branches to give results (true or false) to apply XOR definition.
       
      In my example, each branch going from both Task nodes is set to True, which means XOR should apply 1|1 = 0 and then from XOR Join it should take False branch to complete cycle, which means you should get "FALSE result" Notification

       

      Steps:

      1. Navigate to Control panel -> Configuration -> Workflow
      2. Create new workflow (see kaleo_creating_xor.gif)
      3. Add Fork node, 2x Task Node, XOR Join node, State node and connect them according to attached image
      4. Set notifications to both Tasks nodes, State node and EndNode so you can check workflow process. Set it to Role - Regular - Administrator
      5. Hit Publish, workflow is saved correctly
      6. See kaleo_using_xor.gif for next steps:
      7. Assign created workflow scheme to some content, eg. Blogs
      8. Create new blog
      9. Two notification should appear in Notifications
      10. Select one of them, from kebab menu select branch you created in Designer (approve1) and approve it
      11. Check Notifications again, there should be result from True finish branch (wrong result)
      12. System didn't wait for second result from Notify no. 2, it resulted in "TRUE result" straight away

       

      Expected result: System waits for second branch to provide result so it can calculate correctly XOR value and decide which result branch to take
      Actual result: System takes only one result from task branch to generate final result. It leads to take True branch as final result instead of False branch, which this example is set to.

      Note: Simple "Join Node" works as expected and waits for both results.

      Reproducible:

      • CentOS, MySQL 5.6, Tomcat 9.0.6, FF 59.0.2
      • 7.1.x nightly Master git ID: 7cb7a05b2d4e4f2b1b7a63a4e22805b758b89dbb
        DXP EDITION

      Fix priority: S3 + L3 = 3

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since last comment:
                1 year, 9 weeks, 6 days ago

                Packages

                Version Package