How to Refresh an Entire Interface After a Process Model Execution?

I am working on a project where I need to refresh an entire interface after a process model has completed execution. I need to ensure that once this process model finishes executing, the associated interface is refreshed to reflect any changes.

I have tried using the onSuccess property to trigger a refresh, but unfortunately, I have not been successful with this approach.



I would appreciate any advice or examples on how to implement this, whether it involves using specific Appian components, plugins, configurations, or a combination of approaches.

Thank you in advance for your assistance!

  Discussion posts and replies are publicly visible

  • 0
    Certified Senior Developer

    Question is what is on that interface:  do you have only grid with data, form, dropdowns, etc? Without knowing how entire ui looks like it is hard to give one solution for that.

    One of the solution is to change some local value on Success (as you tried) and then have other data defined as variable that are refreshed based on that local value. In other words your grid is defined as refresh variable that relay on local!refreshcounter. Whenever your process finish you take same local!refreshcounter and change it value to something different. In this way your grid data will be refreshed.

    docs.appian.com/.../fnc_evaluation_a_refreshvariable.html

  • An answer in bite-size chunks:

    • an interface is automatically refreshed after you conduct any human interaction with it (and, of course, you can use auto-refresh to periodically refresh the interface but that's less of interest to this scenario)
    • the onSuccess attribute (and it's correlating onError attribute) only refer to whether the process was successfully started or not, not whether it completed successfully or not. If you need the latter then you'll need to set and pass back a flag to the interface from the process in the fv!processIfno
    • probably the key concept here is that the control is passed back to the interface (i.e. it will get refreshed when) the last chain in the process is reached. So if you need the results from your processing to be available you'll need to chain all the way to the last update in your process that you want to see refreshed in your interface
  • First thing, there is no function called a!refreshContent() in appian.

    Try the following

    1. Create a new rule input called refreshCounter of type int.

    2. Use refreshVariable() to wrap the variable values that you want to refresh in the interface and set the "refreshOnVarChange" parameter to "ri!refreshCounter".

    3. Create a process variable called refreshCounter and map it with the rule input. Activity chain all the nodes from start till end in the "Create new solicitude" process. At the end of the process change the value of the pv!refreshCounter.

    4. In the OnSuccess parameter, save the changed process variable value to rule input "ri!refreshCounter << fv!processInfo.pv.refreshCounter"