My client requires that some users should be made contributors to a document library.These users should be able to upload files.But after uploading the files they should have read permissions on it.I.E to say that contributors as well as other reader users should not be able to edit or delete the file.Please let me know if this is possible and how do i go about it.
Give them upload rights only, and uncheck “edit” and “delete” permission. U can also make a new security group along with pre-defined groups in SPP, Reader, contributor, etc
But what if the user uploads file with the same name.Will it not replace the older file.In this case the user can make any changes he wants and just upload the file into the document library.Please let me know how to avoid it.
Sounds like you need some customized code in a webpart to do this for you...
If you upload the adsme file name first you need to check document library contains same file name if exists read that document and updates the stream object to that file.For searching existing file you can user SQLQuery Object.
The most common solution I see to this problem is a "drop library".Anytime someone with upload access uploads a file into a designateddocument library, an event handler fires and moves the document to adifferent document library where the "uploader" only has read access. Ifthey attempt to upload a document that is already there, the upload willfail. The event handler can take whatever action you'd like it toincluding sending an email to the "uploader".Once again, the SharePoint Approval Manager would be a good startingplace for this kind of solution. There is also an event handler toolkitthat gives you a similar sample solution.
You can activate Sharepoint List Sync (http://www.sharepointboost.com/list-sync.html), delegate files and documents, set permissions among users and even sync in real time.