One of my developers recently contacted me about long term delegation not functioning properly. Because we have multiple clients each with their own URL (host named site collections) we could not use the our of the box people picker provided with delegation and had to build our own form that present a To and From drop down of users in a list. The list is updated each morning from the AD OU of that client. When trying to do a long term delegation the user would get an email with the following message:
Users were using the feature but long term delegation wasn't happening. Current tasks were being delegated fine for all sites. Our users do not have admin rights, and in fact they have pretty limited permissions on their sites. Just enough to get work done. So here's what we found out and how we resolved this problem.
First, we discovered that delegation uses both the clients Nintex content database and the Nintex Configuration database depending on how delegation was being done.
For existing tasks only an entry is made for each task in the clients db, in a table called DelegationHistory. If you run
select top 10 * from DelegationHistory order by DelegationHistoryID desc
you can see the record that is made when you make this type of delegation.
For new tasks only, a single entry is made only in the Nintex Configuration database in a table called Delegation. If you run
select top 10 * from Delegation order by DelegationID desc
you can see the record that is made for this type of delegation
For both new and existing tasks a single entry is made in the configuration db and a single entry is made in the clients db for each task being delegated.
So to resolve this we had to create a user and set them up a site collection administrator on each site. Then in our Nintex Workflow Management section of Central Admin we had to change the global setting "Site administrators long term delegation" from false to true. Once we had this setup the long term delegation worked as expected.