none
Anyway to change permissions on a record in a list? RRS feed

  • Question

  • I think I know the answer to this, but need to ask.  Is there anyway, without doing custom development, to change the permissions on a record such that it no longer permits changes? In other words, change status field to "Done" and from then on no more changes.  We can only do WSS "out of the box" and SharePoint Designer.  No development or XML allowed.
    --rms www.rmschneider.com
    Friday, September 17, 2010 3:14 PM

Answers

  • Are you opposed to purchasing solutions?   The only way to do this is to either create a workflow, or an event handler, which almost always require code.

    However, there are solutions out there available for purchase that may fit your requirements:
    http://www.sharepointboost.com/permissionworkflow.html


    http://donahoo-development.com
    • Proposed as answer by Mike Donahoo Friday, September 17, 2010 3:34 PM
    • Marked as answer by Emir Liu Friday, October 1, 2010 2:18 AM
    Friday, September 17, 2010 3:34 PM
  • The normal way that you would do this would be by implementing a "Records Center" and sending a copy of the final record to the records center.  Once depositied in the records center even the original author won't be able to make changes to the record center copy.  However, this won't lock down the original.  SharePoint 2010 has the ability to declare an In-place record, but that's not available in 2007.

    You can do something similar by changing permissions on the existing record, but its not a 100% guarantee.  You can't change the permissions is such a way that no one can ever change it.  Administrators will still have the ability to change the permissions back and modify the record.  However, to prevent normal users from making changes you can do the following:

    1) Select manage permissions from the context menu of the list item itself.

    2) Break Security inheritance

    3) Edit security to give everyone View Only Permission to the item.

    After doing this the only way to edit the item would be to change the permissions on the item.

     


    Paul Stork SharePoint Server MVP
    • Marked as answer by Emir Liu Friday, October 1, 2010 2:20 AM
    Friday, September 17, 2010 3:41 PM

All replies

  • Are you opposed to purchasing solutions?   The only way to do this is to either create a workflow, or an event handler, which almost always require code.

    However, there are solutions out there available for purchase that may fit your requirements:
    http://www.sharepointboost.com/permissionworkflow.html


    http://donahoo-development.com
    • Proposed as answer by Mike Donahoo Friday, September 17, 2010 3:34 PM
    • Marked as answer by Emir Liu Friday, October 1, 2010 2:18 AM
    Friday, September 17, 2010 3:34 PM
  • The normal way that you would do this would be by implementing a "Records Center" and sending a copy of the final record to the records center.  Once depositied in the records center even the original author won't be able to make changes to the record center copy.  However, this won't lock down the original.  SharePoint 2010 has the ability to declare an In-place record, but that's not available in 2007.

    You can do something similar by changing permissions on the existing record, but its not a 100% guarantee.  You can't change the permissions is such a way that no one can ever change it.  Administrators will still have the ability to change the permissions back and modify the record.  However, to prevent normal users from making changes you can do the following:

    1) Select manage permissions from the context menu of the list item itself.

    2) Break Security inheritance

    3) Edit security to give everyone View Only Permission to the item.

    After doing this the only way to edit the item would be to change the permissions on the item.

     


    Paul Stork SharePoint Server MVP
    • Marked as answer by Emir Liu Friday, October 1, 2010 2:20 AM
    Friday, September 17, 2010 3:41 PM
  • Mike,

    thanks.  we want to avoid code.  We perhaps could do a 3rd party solution to "add-in".  Up to my client.  

    Confirmed my understanding that it is not possible WSS out of the box without code or 3rd party.  Thanks!


    --rms www.rmschneider.com
    Friday, September 17, 2010 3:42 PM
  • Paul,

    Cool.  I like this approach.  this is probably "good enough" for this application.  (I slap my head in recognition that I should have thought of this!)

     


    --rms www.rmschneider.com
    Friday, September 17, 2010 3:47 PM
  • Mike is right that I also would normally automate this through the use of an event handler or workflow.  But if you don't want to use code it can be done manually at the item level as I described. 

    so to sum it up.  code is the better way to do this, but it can be done manually too.


    Paul Stork SharePoint Server MVP
    Saturday, September 18, 2010 2:37 PM