Sometimes, workflows may be launched only to be aborted by the launcher. Historically, this would result in lingering work items and/or workflowcases that might never be closed. IdentityIQ 6.1 introduces the concept of "transient workflows" -- workflows that create no persisted artifacts until the workflow has to pause (e.g. the workflow is backgrounded or a workflow form has to be presented to someone other than the workflow launcher).
The transient workflow concept was initial created to support the self-service registration option, preventing a proliferation of abandoned work items in the event that users attempted to self-register to IdentityIQ and aborted the registration process before they submitted the form for approval. It has proven useful in any circumstance where an initiating user could abort a workflow process with the desired resulting action being for IdentityIQ to behave as if the workflow were never launched.
Consider the example of a quickLink that launches a workflow to present a form to the user. If a user clicks that quicklink and then discovers they don't want to complete the form, they would click "cancel" on the form. A traditional workflow would save the form as a work item in the user's inbox and leave the workflowcase in a pending state, awaiting action by the user that they might never take. Marking the workflow as transient means that when the user clicks "cancel", the workflowcase disappears and no work item is created for the launcher at all.
To make a workflow transient, declare a process variable for it called "transient" and set it to true.
<Workflow name="Vanishing Workflow" ...>
<Variable name="transient" initializer="true"/>
I haven't been very involved in the issue discussed here, but someone said that my issue described here... Re: Executor already in tracker Error ... is possibly related to the one that you are referencing in this forum post. If so, then the issue is not fixed. If not, then please let me know if I am way off.
Thanks,
Vic
HI All,
version: 7.3p1
I have a simple demo workflow(start step-approval step-stop step) which is being triggered by a quick link. I am getting below error when I have a transient variable in WF. But no error when I remove transient variable.
Anyone facing this in 7.3 patch1?
Error:
2019-02-07 12:49:03,852 ERROR http-nio-8080-exec-7 rest.ui.jaxrs.AllExceptionMapper:26 - Uncaught JAX-RS exception.
java.lang.NullPointerException
Thanks.
If you use a transient variable after it has gone into the background, the value is no longer there. The value - if marked transient - is not persisted with the WorkflowCase.
Thank you for the discussion. Transient=true worked for me. But I have concern about Provisioning Policy Form. When I click on Cancel button(Out of Box) on provisioning policy form, It is being saved in work Items and I don't want that to happen. Is there any option to do that?
Hi All, Does Transient Workflow work in IIQ 8.1?
Hi, as far as i can see it works fine in IIQ8.1.
@menno_pieters - Requesting your help regarding transient variable.
When I add <Variable name="transient" initializer="true"> on a custom workflow, it works fine. But when I add it to LCM Provisioning, it does not work. I want that the work item should not be created when the user clicks Cancel button on Provisioning Policy form.
We are using the default LCM Prov workflow (IIQ v8.3) with no custom steps. Only modified the 2 variables: approvalMode = none, notificationScheme = none
Hi @aditi_sehgal ,
LCM Provisioning is started in a different way, making it an integral part of the access request flow. I'm not 100% sure, but could imagine that that 'breaks' the transient feature (by design). I've not been able to find any hard evidence, though.
- Menno