Running a Workflow instance for a specific time using workflow foundation - workflow

Let me explain the scenario. I want to start a workflow instance which will create a request approval process. There are different levels and each level has approvers and specific time is assigned for each level. An approver should approve within the given time to complete process or he/she may be alert again to approve once the assigned time of the level is over.
A user may request something by starting a approval process this would intiate a workflow which will create a workflow instance for the specific request. when the process starts it will inform the respective approvers in first level to approve the request made by a user. if a approver failed to approve within the given level time the approver will be alerted to approve the request and it should pause the workflow and wait for it. if he managed to approve the request the process should moved to the next level and continue with the same process until the number of levels are over.
Can i do this using windows workflow foundation. I read and understood that invoking a workflow, bookmarks can be used for this. i need to how can i manged the background timer for each level and alert the users. im stucked at that point please help me.
if there is a better solution please feel free to talk :).

Yes you can achieve this by using a Pick activity which has a timer (delay) activity and your custom approval activity inside. Pick activity will choose only one PickBranch to complete when ever either of the contained activity is completed. That said if the timer activity is triggered, the custom approval activity will be cancelled then. And you can choose to do what ever you what to do afterward such as sending emails to notify the involved approvers that the task was expired. WF has a lot of potential but it seems this technology has been left in the corner by its vendor for a while...

Related

Are Queues possible in an Azure Logic App?

I am creating a azure logic app that is triggered daily that makes a series of web requests. It it possible to add a queue to a logic app so that, on failure, the collection of requests will continue to process the next day?
One of the workarounds is to have a logic app inside a logic app. As you haven't provided any sample, Consider here is my request sending to my logic apps:
{"employees":[
{"name":"Shyam", "email":"shyamjaiswal#gmail.com","married":true},
{"name":"Bob", "email":"bob32#gmail.com","married":true},
{"name":"Jai", "email":"jai87#gmail.com","married":false},
{"name":"millie", "email":"millie22#gmail.com","married":true}
]}
and below is the screenshot of my logic app
so whenever there is a situation where the married property is false I'm sending the current item into a queue and then finally trigger my other logic app with the same workflow instead of waiting till the next day.
Now In the second logic app, I could able to manage the queue with required actions.
My second logic app
If in case you want the logic app to be triggered for the next day you can use the schedule trigger.

AEM 6.5 Parallel Multiple approvals workflow

I have a requirement where i need to get approvals from multiple users and workflow can be proceeded to the next step when all the users have approved. I wanted to know how we can achieve or design a single workflow model to achieve the requirement
You can add a separate participant step for each approver/approverGroup. Afte r approval from one approver/approverGroup, next step would send approval request to next one.
Once all are done, you can proceed further.
OR
Complex one [Not recommended]
You can create your custom process step to send notifcation to all approvers and in the next operation, proceed only when each one of them has approved[keep that record on seprate node of each workflow instance ]

Workflow for Servicenow Incidents

I was just checking for the feasibility for workflows on Incidents and found this post.
It seems it is possible to have workflows on incidents.
I just need to know is there any proper way to do it..I am kind of new bee to Servicenow. anyone share the experience and how can I achieve this.
For instance, a simple approval workflow on the Incident..
Thanks in advance Chitra
A few basic changes can get this going, since the Incident table has the Approval fields and such associated to it.
Alter the Incident form
Go to an Incident
Configure (Fuji) or Personalize (Eureka) the following
Form Layout > Add the Approval field
Related Lists > Add the Approvers list
Create workflow for approval
Next you want a workflow to run when an Incident is created.
Go to the Workflow Editor
Create a new workflow with the following
Name: Incident - Approval
Table: Incident [incident]
Activity pinning: Set by activity
If condition matches: Run the workflow
Condition: Leave blank
Leaving the Condition blank will cause it to run on creation of an Incident.
Fill out workflow
Add the following activities
Approval Action
Name: Set Requested
Action: Mark task as requested
Approval Group
Name: Wait for Approval
Groups: Select the group who will approve all Incidents, such as the Help Desk. Important: This group must have group members or this will automatically be approved.
Leave the rest as default
Approval Action
Name: Incident Approved
Action: Mark task approved
After creating this, connect the Approved node from the Wait for Approval action you just made to this activity. Also connect the Always node to the End Activity
Approval Action
Name: Incident Rejected
Action: Mark task rejected
Like above, connect the Rejected node from the Wait for Approval action you just made to this activity and connect the Always node to the End Activity
Test the workflow
Finally you can test this by Publishing this workflow and creating an Incident.
Publish your workflow
Create a new Incident and open it
Note the Approval field should say Approval requested
Under the Approvals Related List, you should see a list of all users inside of the group you set within the Wait for Approval Activity
If any user in this list Approves it, the Approval field will change to Approved
If any user in this list Rejects it, the Approval field will change to Rejected
I've put in a sample picture below, but this is a very basic workflow. It can get more complex as your needs change or are different. Hopefully this gets you on your way to a start.

CQ5 workflow inbox notifications persisting after workflow finished

I've implemented a custom workflow in Adobe CQ5.6, similar to http://blogs.adobe.com/learningwem/2011/11/30/cq5-4-workflow-example-approve-reject-by-the-reviewer/
I'm using CQ5 inbox notifications only -- no email notifications.
The problem is, after the Approver selects either "Approve" or "Reject", the inbox notification does not get removed, even though the workflow continues / completes.
There doesn't seem to be an option to manually delete a notification, unless you go into crxde and delete the nodes. So the main concern here is that notifications will quickly pile up, making it confusing to figure out which ones are current, and ultimately clogging up the app.
This only seems to happen at this exact step in the workflow. The Author's notifications disappear once they've been dealt with, as you would expect.
Has anyone had anything like this happen before?
Something about the way I worded this question helped me figure out the answer.
The Author's notifications disappear ... as you would expect
This made me think it might be a user permission problem rather than anything to do with the workflow step.
I confirmed this by switching the roles of the two user types, (so the Approver starts the workflow and the Author must approve the change). As I guessed, it was any notification assigned to the Approver, rather than notifications generated by that particular workflow step, which were not disappearing.
Specifically, the permission that was missing was for /etc/workflow/instances. I allowed all methods for that user, and my problem is resolved.
You can edit permissions via /useradmin.html in your CQ5 instance (in my case, http://localhost:4502/useradmin.html )

How to Resume the Persisted Workflow with Delay Activity without Reloading into memory

How to Resume the Persisted Workflow with Delay Activity without Reloading into memory:
I am creating a workflow for leave application. My requirement is if any participant is not responded in the specified time, then the request needs to pass to next level participant approval.
Suppose a requester submitted a Leave Request and the Team Lead needs to approve it within 7 days. If the Team Lead is not responded in 7 days, then automatically it has to go to Manager Approval.
In general to achieve this, we will write a Windows service which is checking periodically and send the notifications once the period is elapsed.
But I want to achieve without writing the Windows service. Is there any possibility in WF4.0.
I am trying like this, once the requester is submitted the request then I am showing the request in the participant mail box and persisting the workflow. Once the participant responded I am resuming the workflow (because I am saving the workflow instance ID) and passing the participant response for further workflow execution.
In this if the participant is not responded, how to escalate / send the request to manager without using windows service.
Is it possible to do with anything with the Delay Activity?
If you create a workflow service it is hosted in the WoskflowServiceHost and this periodically checks is there are expired timers and resumes those.
You must host the workflow engine somewhere ...
If it's not in a windows service, it should be in IIS.
You can also host it in a "normal" command line application, but if you close the application the workflow will stop.