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

Parents
  • Let us say, hypothetically, that you have a display label used in one part of the form that's based on performing arithmetic on two load() variables. You change one of the load variables with an integer field on the bottom of the form, and you would like to update the display label based on the arithmetic to reflect one of the load() variables being changed.

    Using with(), this automatically happens. However, when you use a completely different integer field, the logic for the with() still completes even though it's unrelated and very resource intensive logic that ultimately winds up with the label you already had. Wasted resources.

    Question: In order to implement your proposed solution, how do you inform the with() display label which integer fields are related to its reevaluation and which are unrelated using any means less complicated than a saveInto() and load() variable for the display label?
Reply
  • Let us say, hypothetically, that you have a display label used in one part of the form that's based on performing arithmetic on two load() variables. You change one of the load variables with an integer field on the bottom of the form, and you would like to update the display label based on the arithmetic to reflect one of the load() variables being changed.

    Using with(), this automatically happens. However, when you use a completely different integer field, the logic for the with() still completes even though it's unrelated and very resource intensive logic that ultimately winds up with the label you already had. Wasted resources.

    Question: In order to implement your proposed solution, how do you inform the with() display label which integer fields are related to its reevaluation and which are unrelated using any means less complicated than a saveInto() and load() variable for the display label?
Children
No Data