Here’s something that’s kind of hard for me to believe.
I’ve been working on an SP2 patch-level SharePoint site developing some SharePoint Designer workflows. Nothing complicated, mind you, but they will be getting much more complicated. All I have to do is prove you can do what we need to get done with an SPD workflow.
I’ve got 12 workflows that start automatically on creation of a list item, thus assigning 12 individual tasks. The workflow(s) I’m creating are very simple. They look up people based on a role from a SharePoint list. A variable is set with the person (approver) that is looked up. They pause until a certain day at a certain time and then each workflow executes the "Collect Data from a User" action. There is one of these actions for each of the 12 workflows. This essentially creates 12 tasks (in Workflow Tasks) in response to entering an item in a SharePoint list. Pretty simple.
There is also a secondary workflow that gets spawned on each task that is created as a result of the “Collect Data from a User” action in the primary workflow. The secondary workflow (on the Workflow Tasks list) pauses for a certain amount of time and, when the pause is over it inspects the status of the task. If it is not complete, it updates the assigned to on the task with a backup approver. Again, not a very complicated workflow.
The problem is that the "Assigned To" field on each of the tasks that are created in the Workflow Tasks list are not being set to the person the task is assigned to. Many times I get 3 of the tasks that get the "assigned to" set correctly. Some times more. It appears to be very inconsistent. Many times the “assigned to” field is blank (never filled out). The history list many times shows “error updating a list item.”
What have I tried to get around this problem? I’ve tried using the trick of prepending -1;# to the user name per this article. I originally had all the task assignment actions in a parallel step in a single workflow before breaking them out into multiple workflows. I’ve tried updating the assigned to in another workflow that is started automatically on the task. Nothing seems to give consistent results.
Perhaps I’ve stumbled upon the root cause of all my woes. I was searching the web and ran across this post. This indicated that I needed the update to the Windows Workflow Foundation described in KB932394. I know that I had seen a reference to this fix from other posts, but the actual article is from 2007. I ASSumed, incorrectly, that this fix would be part of one of the SharePoint cumulative updates or, at the very least, a service pack. Not so! My original files (after SP2) were version 3.0.4203.2.
After applying this patch, the file versions were 3.0.4203.201.
Now, I know that TECHNICALLY the files are part of the Window Workflow Foundation, but wouldn’t you think they’d be included in a SharePoint service pack?
What other patches do I need to get to insure that declarative SPD workflows will be processed correctly?