with() declarations refresh on any user action regardless of connection

Hello:

I have noticed that anything declared in a with will get refreshed on any action the user takes on an interface, even if the with is unrelated to the action (such as a summary section at the top of the screen and a comments text box at the bottom, with no connection between the two).

Is this expected behavior for Appian?

It seems like with declared variables/rules/components should only refresh if one of the input variables changes.

If you see in the attached interface, changing the value in the textbox is refreshing the with variable, even though they are not related.

OriginalPostID-251823


example_interface.txt

  Discussion posts and replies are publicly visible

  • Not sure how its complicated David to show the difference between a related with() and an unrelated with():

    Example 1 - Unrelated With()

    =load
    (
              local!number1,
              local!number2,
              local!number3,
              with
              (
                        local!sum:fn!sum(local!number1, local!number2),
                        a!integerField
                        (
                                  label:"Enter a number",
                                  value:local!number3,
                                  saveInto:local!number3
                        )
              )
    )

    Example 1 - Related With()

    =load
    (
              local!number1,
              local!number2,
              local!number3,
              with
              (
                        local!sum:fn!sum(local!number1, local!number2),
                        a!integerField
                        (
                                  label:"Enter a number",
                                  value:local!number2,
                                  saveInto:local!number2
                        )
              )
    )

  • Unfortunately for Appian, in both examples, entering a number in the integer field causes the with to be re-evaluated, even though it is pointless to re-evaluate for unrelated withs like in example 1.