none
Sharepoint 2013 WorkflowManager Activities RRS feed

  • Question

  • I have several workflows developed and deployed by Visual Studio 2013. In those workflow I use the following expression to parse the list guid

    System.Guid.Parse("{$ListId:Lists/TaskList;}")

    I have to retrive the guid this way because list's id changes from dev to prod.

    My question is: why, when I try to activate the feature with workflows (either to upgrade the old or deploy the new ones), WorkflowManager creates 2 records for each workflow in table

    [S201302_WFResourceManagementDB_WKF].[dbo].[Activities]

    The difference those records have between them is in the field [Xaml]. The first one has it's ListId not parsed and it looks like this:

     <p:ExpressionContainerValue x:TypeArguments="s:Guid" DisplayName="System.Guid.Parse(&quot;{$ListId:Lists/DamaWorkflowTaskList;}&quot;)">

    while the second looks like that:

     <p:ExpressionContainerValue x:TypeArguments="s:Guid" DisplayName="System.Guid.Parse(&quot;{96D925FF-93B7-47B8-9BAF-7E36147E303D}&quot;)">

    Right after the second record is added, the first one gets an update which sets it's [Status] column to "Deprecated" state which makes me wonder what's the point in doing it at all? Once the activity status is set to deprecated it shouldn't be used by WorkflowManager anymore, unless there are some "in progress" activities of that type.

    I don't know why, but every now and then (like 1 out of 20 times) when I deploy a newer version of the feature some of my workflows are getting associated with the "deprecated" version of Xaml and I get the following exception:

    Expected hex 0x in "{0}". at System.Guid...

    because it can't parse {$ListId:Lists/DamaWorkflowTaskList;}

    I'm getting desperate, if anyone could shed some light on this behaviour pls help me.

    Wednesday, November 9, 2016 3:58 PM