Introduction

A SharePoint User/Group column can be used as a destination user within a User Task in the K2 Designer for SharePoint.  After upgrading to K2 4.6, deployment fails on processes that make use of this functionality prior to the upgrade.  This is due to a change that was made in how this column is referenced within the K2 Designer for SharePoint.  Prior to K2 4.6 the column was referenced as a SharePoint column, now it is referenced as a user when used as a participant within a User Task.  Deployment on new processes created after the upgrade will function as expected.

Steps to reproduce

The steps below are an explanation on how the deployment error will occur.  Steps 1 to 4 must be performed on a K2 version prior to K2 4.6:

  1. From SharePoint, create a list and within the list create a user/group column Image
  2. Create a K2 Designer for SharePoint process based on the list created in step 1.  The image below is simply an example.  It is important that the process contains a User Task Image
  3. Add the user/group column created in the list in step 1, as the User Task participant. Note that the participant type is displayed as “SharePoint Column” Image
  4. Deploy the process
  5. Upgrade to K2 4.6
  6. Open the K2 Designer for SharePoint process previously deployed and select to edit the process
  7. Deploy the process without opening the participant wizard of the User Task
  8. Deployment returns an error Image

 

Error Message

The error message below is the complete message that returns on deployment:

 

System.Exception: System.ArgumentException: Must specify valid information for parsing in the string.

at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)

at SourceCode.WebDesigner.Authoring.SharePoint.GenerateProcess.CreateDestinations(XmlNode activity, Activity newActivity, XmlDocument xmlProcess, Process newProcess)

at SourceCode.WebDesigner.Authoring.SharePoint.GenerateProcess.CreateActivies(XmlDocument xmlInputData, XmlDocument xmlProcess, DefaultProcess& newProcess, String UserName)

at SourceCode.WebDesigner.Authoring.SharePoint.GenerateProcess.Generate(String UserName, Int32 ProcessID, String InputData, String ProcessXML, String ConnectionString)

at SourceCode.WebDesigner.Authoring.SharePoint.GenerateProcess.Generate(String UserName, Int32 ProcessID, String InputData, String ProcessXML, String ConnectionString)

Error Resolution 

  1. For processes deployed prior to K2 4.6, the following steps need to be completed to ensure successful deployment after upgrading:
  • Open the K2 Designer for SharePoint process previously deployed and select to edit the process
  • Open the participants wizard for the User Task, note that Type has changed to User with a dropdown
blank /
  • Click finish on the wizard and redeploy the process
  • Deployment will succeed