The SharePoint Knowledge Collection of Cornelius J. van Dyk, an 9 x SharePoint MVP
29 November 2011
How do I – Create a recursive escalation workflow in SharePoint using Visio 2010 Premium
One of my attendees to my Human Workflow with Visio 2010 and SharePoint Designer 2010 session in Las Vegas recently, emailed me with an interesting question. Eric was looking to recursively check if a CSR ticket was resolved and then resend the email until it was completed. After responding to Eric with my recommendation on how to address his specific needs, I started thinking about escalation workflows in SharePoint. Escalation is always interesting and usually more complex to implement that most people expect when trying it for the first time. So I modified my model I generated for Eric and grew it into an escalation workflow for a fictitious company.
If you’ve ever tried doing something similar, you probably found out quickly that SharePoint won’t allow you to create a circular relationship in the workflow back to itself. This fact alone had drive many people to more advanced workflow tools like Sourcecode’s K2[blackpearl]. We do not however, have to establish a visible circular relationship in the workflow. Here is my design:
You will note the following:
EscalationCount – This is a metadata field that we add to the form data which keeps track of how many times we’ve escalated.
The workflow terminates after incrementing the EscalationCount value.
Our workflow is published with settings that restarts the workflow if any values in the active item changes. THIS IS THE IMPORTANT SETTING TO REMEMBER!!!
This is how this workflow would function:
When the workflow first starts, we will have an EscalationCount value of 0. Checking this value would force it down the first row of the workflow path.
An email is sent to the CSR
The workflow dehydrates (goes to sleep) for 7 days.
When it wakes up, it checks if the task is complete. It should be noted that this check can be anything you want it to be, as long as it signifies that the work has been completed. If after 7 days the work is found to have been completed, the workflow ends normally. If however the work isn’t complete, the EscalationCount is incremented at #25. Because the workflow is configured to restart itself upon change, incrementing the count will restart the workflow from the top thus creating the circular relationship we need.
Check that EscalationCount is 1.
Look up the CSR’s manager.
Send an email to both parties.
Dehydrate for 2 days.
Check if task is completed. If not completed, increment EscalationCount again.
Check that EscalationCount is 2.
Look up the manager’s manager. In this case we called it the Department Manager.
Send an email to all three.
Dehydrate for 1 day.
Check if task is completed. If not completed, increment EscalationCount again.
Check that EscalationCount is 3.
Look up the Department Manager’s manager, in our case, the CIO.
Send and email to all four.
Dehydrate for 1 day.
Check if task is completed. If not completed, increment EscalationCount again.
Check if EscalationCount is 4 or more.
Look up the CIO’s manager, the CEO.
Send and email to all 5. (Honestly, if the workflow ever makes it to here, this company should NOT be in business!!!)
Dehydrate for 1 day.
Check if task is completed. If not completed, increment EscalationCount again.
At this point, the workflow will continue to send email to all 5 people on a daily basis. That’ll continue until the task is completed, or (more likely) the workflow is removed from the list altogether.
So that’s how we do recursive escalation workflow using Visio 2010 Premium. From here you simply export the workflow to SharePoint Designer 2010 and implement it on your target list.
Cheers
C
14 November 2011
A must do in Las Vegas
Two weeks ago, I was honored to be presenting several sessions at the SharePoint Connections Fall Conference held at Mandalay Bay in Las Vegas. After the conference, my wife and I had the opportunity to hang out with our friends Joe and Mellissa. Joe introduced us to the Biscayne in the Tropicana casino. Assistant Food & Beverage Manager, Brian Dermody, personally saw to our needs and the service was top notch. I took the opportunity to order the T-Bone steak and I have to say it was hands down the best steak I’ve had in a long time. In a town where there’s so much frilly food around, it’s hard to find a good quality steak for us carnivore types, but I will certainly be back at Biscayne on my next trip to Vegas.
If you’re in the area and are looking for some great food with great service and a nice ambiance, I would highly recommend a trip to Biscayne at Tropicana.
Cheers
C
07 November 2011
How do I solve – This view cannot be displayed because the number of lookup and workflow status columns it contains exceeds the threshold enforced by the administrator?
If you’ve ever migrated site collections from one farm to another, or upgraded from a 2007 farm to a 2010 farm, you may encounter this error the following error:
“This view cannot be displayed because the number of lookup and workflow status columns it contains exceeds the threshold (8) enforced by the administrator.”
This is caused by Resource Throttling that was introduced in SharePoint 2010. The settings can easily be adjusted to cater to your specific environment and are set for each web application. To adjust the limits, follow these steps:
Open Central Administration
Click “Application Management” in the left navigation menu.
Click “Manage Web Applications” on the Application Management page.
A list of all your web applications in the target farm will be displayed. Select the target web application by clicking the white space between the Title and the URL.
The Ribbon should now light up. Click on “General Settings”. Do NOT click the gears icon above General Settings as it will take you to the General Settings page instead of the Resource Throttling page.
A dropdown menu will activate. On this menu, click “Resource Throttling”.
On the Resource Throttling page, scroll down to the List View Lookup Threshold section. By default, this value is set to 8.
Change the value to the desired number.
Scroll down and click “OK”.
Now when you navigate back to the list view in question, provided the lookups is less than the number you just set, the view should render normally.
Cheers
C
Subscribe to:
Posts (Atom)
SharePoint Remote Event Receivers are DEAD!!!
Well, the time has finally come. It was evident when Microsoft started pushing everyone to WebHooks, but this FAQ and related announcement...
-
Ever wondered what the new SharePoint Online URLs are all about? Take for example https://cjvandyk.sharepoint.us/:x:/r/sites/Site1... What ...
-
Every so often, you run across the need to redirect a page somewhere else, like after a server migration when DNS isn’t used. By simply addi...
-
When using NuGet, we can easily run into assembly reference issues. A notorious error message is: CS0012: The type ‘System.Object’ is def...