The importance of PAUSE in Workflow
I have not been blog-ing anything for a while because since moving into our new house there is always something to do than sitting on computer between working hours. Now that we are all settled and I have a proper study (instead of the kitchen table) I have some catch-up to do with a few notes that I need to post.
Here is a short one regarding timing in workflow execution.
Last week I wrote a very-very simple workflow for my team which updated values of an item after this item was modified by the end user. There is nothing easier than this in Sharepoint Designer (2007 AND 2010 indeed).
All was fine in my very-very simple tests since this was really a no brainer, however a few users complained that they kept receiving the “conflict error” message.
Eventually I realised that some -if not most- users would edit the items in a datasheet view and come back to the same row WITHIN 5 seconds of having updating it, therefore the SPD workflow was still running when they came back to the item, and while the user was exiting the datasheet row of the item Sharepoint had already saved it via workflow, ending up into a save conflict. I have to say that I never planned for users to be so fast in Sharepoint, we are usually used to wait for page to load and therefore forget that Datasheet mode is way faster.
After much workaround playing I remembered that SPD allows us to add a PAUSE within the workflow, and so I did, mark a 5 minutes pause before updating the fields, and it all sorted the conflict message the end user were receiving.
So let’s remember to slow down even in a workflow sometimes, to quote this Nigerian proverb that a friend reminded me this morning : “Going slow does not prevent arriving.”, as long as my item gets updated its value within the hour users are happy.