While working on the SharePoint implementation I encountered a problem with delete permissions.

SharePoint document libraries do not allow you to set permissions in such a manner to allow users editing/deleting only their own documents. Similar feature exists for other lists like team discussions and blog comments but it does not exist for document libraries!?

The lack of this feature is not so problematic for editing items because users can be easily controlled with approval workflow in place. But how can you control if someone wants to delete a document?

As a site owner you have two options:
1) You can setup an alert that will inform you upon deletion; you can recover a deleted document from the recycle bin
2) If you prefer more control, there is one alternative. Revoke all delete permissions for your users. Create a Delete workflow. This workflow should work similar to the default approval workflow. User should initiate workflow instead deleting a document. After “approval”, document will be deleted.

6 Comments

  1. http:// Says

    Couldn’t you also create an event receiver for the ItemDeleting event and return an error message to the user at that point?

    For example: http://www.wrox.com/WileyCDA/Section/id-306329.html

  2. http:// Says

    I am brand new user, not developer, to SharePoint and am testing the approval workflow with a team member. What happens if an incorrect document has been uploaded for approval? There seems to be no ability to delete the item from the document library.

  3. http:// Says

    @Joanna: Only users with DELETE right can delete documents from document library. If you run into more problems let me know…

  4. http:// Says

    >> Revoke all delete permissions for your users.
    Great – how??
    There is no simple ‘off switch’ for this. It might be more useful with a detailed description rather than a ‘just do this’.
    Don’t forget that a lot of users may not have sufficient familiarity with MOSS to be able to backwards engineer your isntructions.

  5. http:// Says

    oh… and don’t forget, removal of the deletion permission will affect the permissions levels for the site collection, not just the current list or library.
    Which means you have to either :
    1) create a set of custom permission sets with no delete, which can be availabel for all site collections…
    -or-
    2) disinherit the permissions of the site and modify those (which will still affect all lists and libraries on that site)…

  6. toni Says

    @Alex: Yes you might, but using Visual Studio is probably too hard for end users or a novice administrator.

    I would always advice against custom development solution since these might create additional problems with maintenance, upgrades to new versions etc. In my opinion is is always better to use built in features.

Leave a Reply