Skip to main content

Difference between View Only and Read permissions in SharePoint

The question often arise on "View Only" permission about using this permission for restricting document download. And also on the difference between "Read" and "View Only" permissions. This post is to explain the difference between the two. Though my screens are taken from SharePoint 2010, it applies for SharePoint 2013 as well.

Let us first quickly look at these two permissions as seen in SharePoint:
As you can see from the description, users with View Only permission cannot download the documents, and this is applicable for document types with server-side handlers. What it means is, if you have enabled Office web app, Office documents such as Word, Excel, and PowerPoint are rendered in the browser itself. So, when user clicks on the document, it is rendered within the browser without getting downloaded to client. What it also means is, if the document is of type Text (.txt) or PDF, it is rendered in client (it is actually downloaded to user machine).

What is the real difference in these two permissions. It's actually only one difference as shown below. For View Only permission, "Open Items" is not checked.

Now, let us see some action.
When user with Read permission clicks on context (ECB) menu of the document, this is how it looks like:

As you can observe under Send To, Download a Copy link is visible. User can click this and download the document.

When user with View Only permission clicks on ECB menu, this is how it looks like:

Here, Download a Copy is not available, hence user cannot download the document. Also note that, "Other Location" option is also not available here.

Search and View Only permission:
Some users reported that search does not work for View Only users. However, when I tested search pretty much works and it indeed showed results. However, when clicked on document URL, it showed Access Denied message. Looks like, it tried to download the file with client application (MS Word) instead of opening within browser.

Summary: Download option is not available for "View Only" users provided Office Web App is configured in the farm. This is applicable only for Office Documents which is supported by Office Web App. Download option is available for non office files such as .TXT, .PDF etc.


Popular posts from this blog

How to get SharePoint List or Library GUID via REST

Sometimes, you would need List or Library GUID to use that in some operation. In such cases, how do you get hold of GUID using REST API? There is a straight-forward end point which you can use: /_api/web/lists/getByTitle('ListTitle')/Id This will return the GUID of a List or Library. There is also another approach. However this approach works only if a List or Library contains at least one item. /_api/web/lists/getByTitle('ListTitle')/items This is a familiar end point which we use to fetch items of a List or Library. To get the GUID from the response, you would do: var listIDTemp =[0]; var listID = listIDTemp.substring(listIDTemp.lastIndexOf("guid") + 5).split('\'')[0]; As you can see, we are doing string operations to fetch GUID from This contains information only if the response has at least one item.

Get User Id using REST or JavaScript Object Model

Sometimes you would need to fetch the User Id based on either Login name or Email id. You would need User Id if you need to assign a user object to a people picker control or People/Group field. How do we get the Id based on Email or Login Name in client side development? We can achieve that using JavaScript Object Model or REST API. Let me share the first example using JavaScript Object Model (JSOM). var context = new SP.ClientContext.get_current(); this.user = context.get_web().ensureUser(loginName or Email); var o = { d: d, user: this.user }; context.load(this.user); context.executeQueryAsync(     Function.createDelegate(o, ensureUserSuccess),     Function.createDelegate(o, Fail) ); The above code fetches User Id for a given Login Name or Email Id. Interestingly, there is no equivalent endpoint available in REST! The Microsoft documentation talk about a endpoint but I could not get it working. So what is the way to get User Id using REST? You have to use the hidd

All about SharePoint List View Styles

Sometimes, there are out of the box features which we tend to ignore and later when we do apply, we are more than happy about the feature which is readily available in SharePoint. One such feature is List View Style. I never thought I would write a post on this. However, whenever I spoke about this with users, people were excited to see the result. That prompted me to write this post. Instead of getting into only theory part, I will basically take use cases where these styles can be applied and also touch up on on some minor limitations with certain style. When you are creating/modifying a List view, you will get an option to select View Style. As shown below, there are 8 options available and Default is always set if you ignore this style. List of View Styles I will take typical Contact List and Announcement List to explian about these styles. Let us go one by one. Default: This view, as name suggest, is the default style in a view. This is one of the widely seen style