I have a very simple SharePoint Designer workflow on a SharePoint list. All it does is fire when a new item is created, copying one column value into another.
The workflow generally does exactly what it should. The issue we're running into is that occasionally (and we haven't figured out any pattern to it) the workflow simply doesn't fire when a new item is created. It's not that it fails, it never fires. There's nothing in the workflow history for the item. I also don't see anything like an error in the timer job history for the workflow job. It just seems like the workflow simply doesn't fire.
Any idea what would cause occasional non-firing of such a simple workflow?
If you're interested in the backstory, the goal of the workfow is to turn a Managed Metadata column into a text value. We want to display the Managed Metadata column value in an email sent from the workflow, but when you do this you always get the "messy" value, like 'Level1Term:Level2Term:Level3Term|ba7e2a4f-6602-47a8-aa81-bca54756a356'
The only solution I know for this is the one in the comment from Kristina P in Michal Pisarek's blog post Managed Metadata Column Limitations (which I find myself referring to too regularly).
Here's the meat of it:
You start with your managed metadata column (Column1Name)
- Create a 2nd column (Column2Name) in the table of type string
- On-create and On-modify workflows copy the value from Column1Name into the Column2Name. (sample: Level1Term:Level2Term:Level3Term|ba7e2a4f-6602-47a8-aa81-bca54756a356)
- Create a 3rd calculation column (Column3Name) on the table
- Calculation finds the pipe character and trims the value to clean text using find() and left() functions. Formula: =LEFT([Column2Name],FIND(“|”,[Column2Name])-1)
- Email-out workflow uses Column3Name to send plain text without the hex string
I've done a blog post about this technique.
// UPDATE 2012-11-19 //
FYI - We've combed through the logs to no avail, but we're still testing. We think we've isolated it down to the first expected workflow firing per list after an IISRESET. Very odd.