Skip to main content
varunb579494
June 7, 2022
Question

Tabs feature Process Modeler/Chrome in Appian UI

  • June 7, 2022
  • 13 replies
  • 1 view

We have a requirement where user wants to show the summary details in a new tab (same chrome tab) on the same interface when a link is clicked.

Currently, we are passing the data of a particular row in the grid to the form using a process model. I mean running a process model to show the read only summary view but that's shown in same tab overriding the current view.

But, they want that a new tab open on same UI (same chrome tab) like in process modeler in Appian to show the summary.

Is it achievable in Appian?

13 replies

danny.verb
June 7, 2022

I'm a bit confused about your requirements since you mentioned the same chrome tab and a new chrome tab. Assuming you're referring to showing the summary details of a record, you can use two functions to help: fn!urlforrecord and a!recordLink()

fn!urlforrecord() can be used to generate a URL navigating to a specific record summary. Place that URL in a!safeLink() to open the summary in a New Tab

a!recordLink() takes in similar inputs but when clicked will open the summary in the Same Tab

mikes0011
Brainy
June 7, 2022
fn!urlforrecord() can be used to generate a URL navigating to a specific record summary. Place that URL in a!safeLink() to open the summary in a New Tab

Not to nitpick, but (thankfully) in any reasonably up-to-date version of Appian, this is no longer needed -- since a!recordLink() and a!safeLink() can both be overridden to open in either "SAME_TAB" or "NEW_TAB".

The Expression Guru
davel001150
June 7, 2022

If you're meaning the tabs that are within Appian, so that you have one Chrome tab showing multiple Appian tabs, I think something like what you want could be possible with some rigging.

So, when your process is done and you're kicked back to the same screen, you need to update one of the parameters (you could also possibly manage with local variables) that tells the interface to display the other tab instead.

If you're doing a!startProcess, you have the option of starting the process first, then changing the variable that says which interface tab is showing.  That happens right away, so it's almost inevitable that you will show the screen before the data is updated.  In that case you would assuredly need a refresh, possibly automatic and manual.

  You can also configure it to attempt a query or two in sequence that will likely take just longer than the process you called, and at the end of the chain of localVariable updates, the last one in the chain is the variable that determines which "tab" is showing on your interface.  That might be a good approach if you happen to need all the data you're querying to display on the new "tab" anyway.

varunb579494
June 8, 2022

I am little confused with updating variables, let's say first approach, user clicks the link, process model kicks and flow moves to User input task, I can send a flag as true, something called, "clickedOnLink". And then pass the clickedOnLink to UI, then how can I tell interface that rather than overriding the current view and then showing in the same tab, create a new tab in same interface next to the one in which you have that data grid, and open the summary details UI in that new tab. Like image I attached in [mention:cd62cf79924f483cb1bf072c9026a3ec:e9ed411860ed4f2ba0265705b8793d05] comment

davel001150
June 8, 2022

a!startProcessLink(), if that's even what you want to go with, does not necessarily involve having an interface at all.  It just runs in the background, however long it takes.  The user interface is completely unaware of it and just moves on before it's done.  Who even knows when it's done?

The interface just goes to the next line of your saveInto,

a!save(local!showFirstForm, false)

a!save(local!showSecondForm, true)

The rest is up to the showWhen parameters of your sections, or however you choose to lay out your interface.  In this way, you really never DO leave the same bit of SAIL.  It's always the same bit of SAIL the user is looking at; just within that different parts displayed or not displayed which mimics navigation.