Skip to main content
saifalik8679
Known Participant
September 9, 2022
Question

Need to retain the same page after successful ending of a process

  • September 9, 2022
  • 9 replies
  • 0 views

Hi Appian Pals
Please have a look on the interface below, this is having different cards, and each card is having independent interface behind it and can be accessed using a button click.

But after the successful completion of the process, it is brining back to the main home interface instead of the child interface.

Again I am back to the main interface, instead of the child interface
The process should end on the interface where it started.


Any workaround on this?

9 replies

harshitb6843
September 9, 2022

This shouldn't be happening in the first place. Can you add the code for these interfaces?

gabriele.camilli
September 9, 2022

Hi,

Could you use a Record Action instead of a Start Process?

Else you could try (if the process is very fast) to have an asynchronous process and a refresh action after that, but i would warmly suggest the first, as the second is inconsistent

stefanhelzle0001
Brainy
September 9, 2022

Do you use a startProcessLink? If yes, this is expected behaviour. The reason is, that Appian does not preserve the state of any local variable you might use to manage the state of your interface. As the process flow completes, the interface is refreshed including any local.

You can use startProcess to trigger the process in the background and stay on your interface.

November 16, 2023

Hello! How can I do this if I'm using an Icon for the user to click and trigger the process? and I want to stay in the same interface?

stefanhelzle0001
Brainy
November 16, 2023

Do what exactly? Different things have been discussed here?

mikes0011
Brainy
September 9, 2022
Any workaround on this?

How much work are you willing to do?

The manual workaround (at least one possible one, and maybe the most robust) - which works well but is a lot of working-around, is to build a special DB table which holds a save-state, user-by-user, of which tab they're on for this site (though if you do this, i'd set it up such that it could hold such data for any/all sites that a user might access). 

Upon clicking either tab card, you'd send a quick WTDS call on-form to save their "last clicked tab" (or whatever you'd like to name it).  When any given user loads the interface initially, a quick query is run against that table to pull back that user's save-state entry (if any), and choose which tab to show (or show the default one if no entry is found).

Honestly, unless it's critically important that you build exactly this setup, i'd seriously consider just migrating the "delete" action to a record action (as [mention:ac016740a0b74fd08e73b9c0baf44d40:e9ed411860ed4f2ba0265705b8793d05] mentioned already), or alternatively, perhaps make it an unattended a!startProcess() call which automatically refreshes the interface but without leaving it (though you didn't say whether there are any intermediary process steps, so I have no idea whether this fits with your current usage flow).

The Expression Guru
saifalik8679
Known Participant
September 9, 2022

Got your point,
What I did is I called the child interface again before the end node of my process model, and that user input task has a 30 minutes timer to end it gracefully.
Once I am  navigating, at the end it is taking me to the expected child interface only.

stefanhelzle0001
Brainy
September 9, 2022

I would not go that way. Consider this when using a user input task just for displaying some interface:

appian.rocks/.../