1

My workflow controls temporary permissions on list items. In the start form user can be entered for permissions for 1 day, 1 week, 1 month for reader and editor. The controls are linked to columns and the contents are converted into authorizations in the workflow. A daily workflow checks the expiry dates and clears the corresponding columns. This works very well, as expected. Requester and rights change are recorded in the audit logs. In QuickEdit, all of these columns are editable and a change in them is processed with the next daily or manually invoked workflow. The changer in QuickEdit is not recorded, while the Audit Log contains the starter of the workflow. Every change of authorization must be logged correctly. So far, my ideas have been to log the QuickEdit changes and undo QuickEdit changes immediately. Both complex and confusing, with hidden columns or additional lists. Whatever ideas you have, I would be very grateful for your help.

0

This is not possible out of the box. Sharepoint doesn't have an concept of the filed level security. The only way i can think of blocking the edit without disabling it would be to make the columns hidden. You could implement some kind of workflow to intercept the value during item updating event.

  • Hi Marek and Morten, How do I get to this updating event? Does it capture only changes in QuickEdit, for all list items? Another way would be to hide the columns properly, but I could not find a way to show their values in the start mask. Hidden fields are accessible via XML at least for reading, I have not yet tried writing. Do you have any ideas? – user2260851 Mar 28 at 7:27
  • It should work for quick edit as well. This is conditional wf, so when you create wf you define the conditions when it runs. – Marek Sarad Mar 28 at 8:07
  • Ok, conditional workflow is clear. But how do I stop changing one or more fields? I had the idea to start a workflow, to save the current field contents in variables and to write the old values back into the fields when changing the fields. Then the workflow should start again. But I do not know if that works reliably and a workflow to wait forever does not seem to me right. I thought you meant a way to prevent certain changes in a view. With an event such as BeforeSaveField or something. – user2260851 Mar 28 at 10:04
0

As Marek says It's not possible to apply field level permissions. The way I've done it is to create a calculated column and use that in the quick edit where I don't want the user to edit the filed, but it still needs to be preset.

So assuming I have a date field called Date I'd make a calculated field called ReadOnlyDate and set it to =Date. Instead of using Date in the quick edit view I would be using ReadOnlyDate :)

This isn't a fool proof solution, but it does the job for me.

  • Hi Marek and Morten, How do I get to this updating event? Does it capture only changes in QuickEdit, for all list items? Another way would be to hide the columns properly, but I could not find a way to show their values in the start mask. Hidden fields are accessible via XML at least for reading, I have not yet tried writing. Do you have any ideas? – user2260851 Mar 28 at 7:27
  • You don't need any update event? It's simply just another filed of the type 'calculated field'. You then change the quick edit view to use the calculated fields rather than the real fields... – Morten K Mar 28 at 10:53
  • Hi, I have a start mask, there calculated fields cannot be edited and I don't know if hidden fields can be displayed and edited there. Do you have another idea? – user2260851 Mar 28 at 13:52
  • Sorry I don't understand what youre trying to do? I thought the whole idea was that some fields should be visible in quick edit, but without the users being able to edit them... – Morten K Mar 29 at 6:44
  • Hi, yes, exactly, the fields that are used in my workflow must not be changeable in QuickEdit. The workflow starts with a start form, calculated fields are not editable there, unfortunately not useful to me. – user2260851 Apr 1 at 7:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.