I don't like to post issues without solutions, but a client alerted me to this one today and I couldn't find an answer; I wanted to put it out there in the hope that someone can offer some input. Here's the scenario:
In your MOSS 2007 or WSS 3.0 implementation, you have a document library with checkin / checkout enabled. If a user with read-only ("Visitor") permissions looks at the document options from the drop-down menu on the document name, they have no option to check in or check out:
However, if the same user opens a document from that library, the document will open as read-only in its MS Office application (Word, Excel, etc.), but the user will see the "Server Document" bar with the message "To modify this document, you must check it out" and the "check out" button.
When the user tries to check the document out, they are asked to authenticate, they try three times, and then receive the error "Cannot perform this operation. The file has been deleted or someone else has it checked out."
The good news is that the application won't actually let you check out the document – it knows you shouldn't be able to authenticate. The bad part is that that toolbar shows up at all, and the user has to go through the authentication / bogus error process. How is it possible to prevent a user with read-only rights in SharePoint from seeing the "Check out" option in Word or Excel?
I posted this to the MSDN forum for Sharepoint general questions. (I've got a private bet with myself that someone will tell me this is supposed to be posted to an MS Word discussion group instead.)
Update 4/28/10 - I tested this with SharePoint 2010 and Word 2010 - For a document from a read-only document library, Word does not display a "check out" button, and does not allow the user to check out the document from the File menu. The document is displayed as a read-only document.
To note - for a user with Site Collection Administrator or higher rights, even on a document library where that user's rights are Read, it appears that Word does allow the Admin-level user to go through the steps of checking out the document (from the File menu), and even displays the document with the checked-out icon in the document library. When the user makes a change to the document and tries to save the document back to the document library, this message is displayed in Word:
To further complicate matters, if the Admin-level user tries to check the document back in, "Discard check out" is not displayed, only "Check out." If the Admin-level user checks out and then discards that checkout, changes that user made to the document are saved. Strange behavior of which SP administrators should be aware.