Skip to main content

I have a workflow and "Everyone" has Start and View Participate permissions. This particular step is a custom aspx page that allows the user to view the data and action the workitem.

For some reason, and I don't have this issue in my other workflows, unless I give "Everyone" Admin rights on the process, they get this error every time they try to action the item:

[ClientException: 28019 K2:[domain][username] does not have permissions to update the process]

 

Has anyone else ever run in to that? Is there an impersonation error or something that I'm missing? I don't think that I should have to give everyone Admin rights, correct?

 

Thanks,

Danny

 

Since you are using an .aspx form, are you also using the K2 API to access the process?  If so, which method are you using to action the worklist item?

 

If you are using the ProcessInstance.Update() method in the API, then yes users must have Admin permissions on the process to use this method.  The WorklsitItem.Actionso].Execute() method can be used by anyone to whom the task is assigned (with View or View Participate rights).

 

Note that if you are trying to allow users to save their changes without completing an activity, you should provide a Save Changes action on your activity, but specify that the action does not complete the work item.  You then use the WorklistItem.Actionst].Execute() method, and your users only have to View or View Participate rights on the process


Thanks for the reply. I inherted this code, but I actually found both calls in the submit button code behind

 

At first, the aspx page saves the possible new values to the "document metadata" xml (this is a sharepoint document approval). Then it calls

wi = wfConn.OpenWorklistItem(this.WorkItemSerialNumber);

wi.ProcessInstance.XmlFieldss"DocumentMetadata"].Value = xmldoc.OuterXml.ToString();

wi.ProcessInstance.Update();

 

If that is successful it later actions the task: 

wi.ActionsoddlActions.SelectedValue].Execute();

 

 So I guess my question now becomes, is it necessary to update that xml manually before the workflow action?

Otherwise I'll just have to give them Admin rights.

 

I learned something today. Thank you.



@dpknudsen wrote:
So I guess my question now becomes, is it necessary to update that xml manually before the workflow action?

No, its not.  When you call the Execute() method, it will also save changes you have made to the WorklistItem.ProcessInstance object.

 

In the code you posted, you can remove the wi.ProcessInstance.Update() call and accomplish the same thing with the Execute() call without giving your users admin rights on the process.

 

We use .aspx forms exclusively for process front ends, and this is how we do it.


Reply