I know it's possible to create a custom permission 'Contribute without delete' which doesn't allow users to delete any documents within a library (or edit a document title if there's no check out/in on the library). Is there any permission level that would allow users to delete their own document/s but not others?
Item Level Permissions can be set on LISTs (List Settings -> Advanced Settings)
As SharePoint is primarily used as a DMS and setting this on (large) Document Libraries can cause performance issues it was most likely removed from the UI.
Using PowerShell you can set this on Document Libraries also:
$spList.ReadSecurity=2 # 1=read all items # 2=read items created by user $spList.WriteSecurity=4 # 1=Create and edit All items # 2=Create items and edit items that were created by the user # 4=None $spList.Update()
There is no permission level available to allow users to delete there own documents only.
You can restrict users from deleting other users documents by either
ItemDeleting event receiver or using custom permission
Contribute without delete and then using combination of custom action and workflow to delete own document. The Steps are as below:
- Create a document library
- Create a permission level without delete option
- Assign this newly created permission for all users.
- Now create a workflow which will check the initiator of the workflow is same as owner then delete the document. To delete the document you will need to use Impersonation step as initiator will not have delete rights.
- Once workflow is created, use designer to create custom action of "List Item menu" and start a workflow using that custom action.
- To get the initiator of the workflow, please refer this link. the workflow initiator variable is available OOTB in SharePoint Designer.
- Start a workflow on item delete
Below are the examples links
Custom Action and Workflow: "Only Their Own" Sharepoint Online Repository
You need to create custom permissions 'Contribute-NoDelete" Let this permission be default for the list. Stop inheriting any other permissions to list. Create a SharePoint Designer workflow. Creating this workflow will update the item permissions of item once created. Make workflow run only on "Create".
- Create SharePoint Designer workflow.
- Add impersonation Step
- Select and add "Add List Item Permissions" action
- Click Add Select the permissions Edit/contribute permissions, then click browse, and select "User who created current item". Click Add, Click Ok.
In workflow setting mark it to on Item create. Save and publish the workflow.
Only creator(Author) of item will be able to delete the item.