In my previous post I tried to explain how can you forbid your end users to delete files from document libraries. I did not provide much details on how to setup this and some visitors raised additional questions about that.
In this blog series I will provide step-by-step description how to achieve this.
Creating custom permission levels
In order to achieve our goal we will need to create custom permission levels. Permission levels allow you to define what a user can do. Default permission levels are not sufficient for our case so we will have to customize them.
1. Create a new WSS site with custom permissions
2. Select Site Actions > Site Settings
3. Under User and Permission select Advanced Permissions
4. From the permissions toolbar choose Settings > Permission levels
Your permission levels are inherited from the top level site. In order to achieve our task we need custom permission so:
5. Click on "Edit Permission Levels" and then confirm that you want to create custom permission levels
6. For the purpose of this article we are going to modify Contribute permission level.
Click on Contribute

7. To disallow deleting de-select Delete items under delete permission.

8. Save your changes.
By default members of "Your site members group" have Contribute permission level. Add an user to that group in order to test the changes you made. If you follow these steps correctly members will be able to create and modify document but they will not be able to delete documents.
The picture below shows contributor's interface. The delete option is missing from the context menu.
In part two I will describe how to create a workflow to delete these documents.