We're building a Nintex WF on SP2013 to update various lists we reuse on multiple site collections within our farm. In cases when list items need to be updated, we're using the Web Request action successful to update text & other fields. However, multiple attempts to update a person/group field type has failed, except in one case.
The person/group field we're using tracks a single owner's name for this particular Functional Area (think department manager). There are several options for assigning a person/group field to a variable - and all but one failed when passed in the in the request (see XML below):
- As String - returns i:0#.w|domainusername (Failed)
- As Display Name - returns valid Firstname Lastname (Failed)
- As Login name - returns i:0#.w|domainusername (Failed)
- As Email - returns valid email address myName@domain (Failed)
- As UserID Number - returns the lookup ID of the user in the User Profile list (works)
Has anyone else experienced this problem - and is it by design?
The additional problem this creates is that the User Profile list appears to be generated for each site collection and the ID's are not the same from one site collection to the next. I've been able to verify this by visiting the profile pages for a single user on multiple site collections & the ID's vary.
So it seems one would be able to use something like a Web Call to the UserProfileService.asmx & the GetUserProfileByAccountName method to find the ID. Unfortunately, I've been unable to find the documented property of the lists ID for that user. Any clues to what this might be?
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://schemas.microsoft.com/sharepoint/soap/">
<soap:Header>
</soap:Header>
<soap:Body>
<UpdateListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>{WorkflowVariable:txtListGUID}</listName>
<updates>
<Batch OnError="Continue" ListVersion="1">
<Method ID="1" Cmd="Update">
<Field Name="ID">{WorkflowVariable:itemUpdateID}</Field>
<Field Name="FASiteName">{WorkflowVariable:txtFAsitename}</Field>
<Field Name="FunctionalAreaOwner">{WorkflowVariable:usrFAOwner}</Field>
<Field Name="IsActive">{WorkflowVariable:ynFAactive}</Field>
</Method>
</Batch>
</updates>
</UpdateListItems>
</soap:Body>
</soap:Envelope>
TIA,
Gerard