Control screen navigation inside Processes

Control screen navigation inside Processes

I am exploring the idea of using Processes to control the overall workflow of our app.  One of the things I want to do is put the screen navigation logic inside my processes not in the screen actions.  I do not see a Go To Destination component that is available inside screen Actions in the Processes area other than Human Activity.  Any recommendations or best practices in this area?
Hi JP,

The Human activities are the only one with Destination properties because they are the only ones directly executed by users over screens. 
Also, the "screen actions" in the process (which are actually called Process Callbacks) are not executed inside the screen action flow, but in a separate transaction (in fact the only Session variable you have access to in there is Session.UserId). therefore you cannot use them to "redirect" the user to somewhere else. 

For tight control of the interface and navigation you may need to use the BPT APIs to close activities directly from the screen (Builtin actions ActivityOpen and ActivityClose) and redirect the user to the Destination of the following activity (ActivityGetUrl()). Otherwise the taskbox will be "suggesting" which activities the user should pick, instead of forcing the user to follow a predetermined flow.

Bear in mind that the "next activity" may not be a human activity, or the user may not have permission to open it. In these cases, the processing of the process is done in background and you'll loose control of it in the interface. On the other hand this will certainly make your logic and flow much cleaner, scalable and business oriented.

There are a few (more generic) best practices for BPT here:

ope it helps
Gonçalo Borrêga