1

I have a SharePoint 2013 Workflow deployed through Visual Studio as a farm solution. The workflow is deployed correctly, it starts when asked to and assigns a task to a group. The problem is that when the first task is complete, the workflow doesn't advance.

I noticed that if I create a second workflow in SharePoint Designer, which doesn't do anything more than assign another task but uses the same workflow task list as the original workflow, everything is back to normal and the first workflow works as expected.

This started to happen since the last SharePoint updates. I checked that the list of event receivers for the task list is not changed after deploying the second workflow.

Does anybody know what is SharePoint Designer doing on the task list to make it work?

Where could I look for clues into what's going on?

2

After having debugged the SharePoint event receiver which publishes events to the workflow manager and is bound to the workflow's task list, it turns out that my issue was caused by a missing property in the SPWeb property bag: "Microsoft.SharePoint.WorkflowServices.SPWebApplicationIdentifier"

The relevant code can be found in the file

Microsoft.SharePoint.WorkflowServices.pdb.source\Microsoft\SharePoint\WorkflowServices\SPWebWorkflowSecurityContext.cs

internal override bool IsEcosystemReady
        {
            get
            {
                if (!this.context.Web.AllProperties.ContainsKey("Microsoft.SharePoint.WorkflowServices.SPWebApplicationIdentifier"))
                {
                    return false;
                }
                string str = this.context.Web.AllProperties["Microsoft.SharePoint.WorkflowServices.SPWebApplicationIdentifier"].ToString();
                if (!str.StartsWith(this.context.GetApplicationIdentifier(), StringComparison.OrdinalIgnoreCase))
                {
                    ULS.SendTraceTag(0x60f556, ULSCat.msoulscat_WS_Workflow, ULSTraceLevel.Monitorable, "IsEcosystemReady: Application identifier contains an invalid value. Expected starts with: '{0}', Actual: '{1}', {2}", new object[] { this.context.GetApplicationIdentifier(), str, this.context.GetContextInfo() });
                }
                return true;
            }
        }

After having manually added the key in the property bag with the correct value (see the Microsoft code above), everything is back to normal.

As to why this key was suddenly missing, I have no explanation. Things I've tried:

  • Retract and redeploy the farm solution
  • Recreate SPSite
  • Recreate SPWebApplication
  • Recreate the entire Workflow Manager farm

and still this key didn't exist. SharePoint Designer 2013 is adding it automatically when a new workflow is authored, and this is why my original workflows suddenly started to work after having deployed a dummy workflow in SharePoint Designer.

I guess it's just another one of those SharePoint mysteries.

0

What is the group in your workflow? Is it the SharePoint default group such as SharePoint members group?

To troubleshoot this issue, try to create a new group in the AD, assign the email address to the group and add the users to the group. Then assign the task to the group in the workflow through adding a SingleTask activity to the workflow design surface.

Working with Tasks in SharePoint Workflows using Visual Studio 2012

  • It's not a task assignment issue. The workflow sequence is: Write-to-history-1, assign task-1, write-to-history-2, assign-task-2 . The first write-to-history works, the first task assignment works, but nothing from that moment on. – Frizeru Feb 23 '18 at 14:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.