This is more of a PSA post rather than a question, but I thought I'd put it up here to a) help anyone else out who is confused by this and b) hopefully get Appian's attention to fix this (I will also make a support case for this issue).
This is regarding how the XOR node in the process modeler evaluates multiple conditions. Looking at how the Decision tab is laid out (with IF...ELSE IF...ELSE IF labels and the ability to change the order of the conditions) my first thought would be that the conditions evaluate in order from top to bottom.
However, in the documentation for this node it states:
But then in other places the same page states:
The actual behavior of the XOR node indicates that the order of the conditions does not matter, all are evaluated simultaneously. I hope that Appian changes the behavior of the node to execute conditions in order as this would be much more useful.
If I have misunderstood anything in the documentation, please feel free to correct me, because as of now I don't really see any value to an XOR node when compared to an OR node.
Discussion posts and replies are publicly visible
I think this is more a mishap in the documentation, than a problem in the implementation. I never had an issue, but strictly follow the if..else top-to-bottom approach and never had an issue.
Peter Lewis , what are your thoughts?
I ran into an issue with this today, but I believe I have figured out why. My problem was that condition 3 was throwing an error, but (in my mind) condition 3 should never have been evaluated because condition 2 was true (which prevents that error). Basically, I was expecting it to operate like an a!match statement. However, we're now thinking the node evaluates all conditions at the same time, and then takes the path of the first (topmost) true condition. This would make much more sense and explain why both "conditions aren't evaluated in order" and "condition order does matter" are present in the documentation. I think the documentation could make this a lot clearer though.