Symptoms
In a K2 Studio workflow, a SharePoint group is being used as a Destination. The approver group is defined in a SP list. A SmartObject event is being used to retrieve the appropriate group, store it in a process data field, and then use the field in the destination. But, the group is not resolving.
SharePoint Group provider is registered for that site in K2 Workspace. But it does not seem to pick up the correct label. Using the "create a slot for each role or group" option assigns the incorrect group label. Using the "Resolve all roles and groups to users" option, causes the process to error out, and with the destination empty.
For troubleshooting, I wanted to pick the SP group directly from the Context browser but it gives a HTTP 404 Not found error (SS1). And when I try to access the SharePoint URL from the Object browser it gives an error "Access denied to the SharePoint site, ensure that the minimum permissions are assigned to the user" (SS2)
Diagnoses
The group name is only being returned as a string and doesn't insert the security label and the group provider for the SharePoint group.
Resolution
- Checkin the Group Provider table showed that a group provider had been manually created for the subsite. A group provider is not created for subsites when the app is registered against the subsite. It only creates a group provider for the top-level site
- In the Context Browser under Groups > SP that there was no group provider listed for the subsite - this is expected behavior. Testing the group name with the manually-added group provider name in the UMUser SmartObject showed no results. Testing it with the top-level site Group Provider returned the correct users.
- Manually add the SP:STopLevelSiteGroupProvider] portion to the destination user for the activity in the process, and then add the data field after it and redeployed the process.
The 404 issue in the designer is because the SharePoint URL item is only available for 2007 and 2010, and since this is a 2013 site, the behavior is expected.