Tag : multiple

As of the time of writing, Microsoft has a limit of 5,000 on the number of operations that can be performed by a workflow within a 24 hour period, and workflows that exceed this quota are automatically suspended. More importantly no-one is notified of this suspension and if this workflow is not manually resumed within an arbitrary amount of time, the workflow itself is cancelled. Apparently, this is to prevent workflows from being stuck in infinite loops. That is all well and good, but my [largish] workflows were not in infinite loops and were still reaching the limit and going into suspension. With hundreds of workflows active at any time, it was a nightmare to manage this situation and resume each workflow

Looking carefully at my workflows, I found it was possible to divide them into 2 or more parts and call one workflow from the other (See ‘Start a workflow within a workflow’ for details on how to do this).

This has had a number of positive spinoffs, namely:

Whilst the original workflow was long and sometimes difficult to navigate through, the resulting workflows were smaller and easier to work with

The split workflows were quicker to publish

This is a subjective assessment, but the workflows seemed to execute much faster. This could be due to a smaller packet being passed between the servers between each step

The splits allow me to restart the workflow at different points in the process if needed

Since some of my workflows ‘live’ for lengthy amounts of time, the previously consolidated version would never function with a new update – it would run with the old functionality until it completed. In the split design, the system can execute the new designs when the split workflow runs.

Normally, I have two stages at the end of my workflows, the first of these uses the logic in ‘Start a workflow on another list within a workflow’ to start the second workflow. This stage then goes to the last stage which marks the calling workflow as complete.

A result of this issue has been that I always consider splitting the workflow between multiple SharePoint designer workflows and it has proven to be more of a help than a hinderance

When dealing with fields that are defined as containing multiple values in SharePoint it may be necessary within the form (and in any workflows that could be defined) to know all the values that were selected. Use the magical ‘eval’ function to provide you with a delimited field that contains the values (if you intend to only use the combined values in a SharePoint workflow, you can use the ‘Merge’ function when promoting the fields instead of following these instructions)

Create a new field that will contain a semi-colon separated list of the values selected

Set the Default value of the field to a value similar to the one shown below to get a semi-colon delimited field (ensure that the box ‘Refresh value when formula is recalculated is checked)

If you wish to only bring specific values into the field, you can use the filter option on the field when ‘Insert Field or Group …’ is selected