What is Office Web apps server and why do you need to care?

Office Web apps is an online office suite offered by Microsoft that can allow users to create and edit Office files using lightweight , web browser-based versions of Microsoft Office applications : Word ,Excel ,PowerPoint and One Note.

So as mentioned above Office Web apps ( currently knows as Office Online) is a product that was developed by Microsoft to interact with SharePoint Server 2013 ,Exchange Server 2013 and Lync Server 2013 which can help the users in viewing/editing and sharing office files .


Let’s take a look at how Office Web apps work with each of this product separately:

Office Web apps with SharePoint Server 2010:

So until SharePoint Server 2010, Office Web apps used to be a component of SharePoint and it was not a standalone product as it is currently. Deploying Office web apps for SharePoint 2010 includes the below mentioned steps.

  1. Installing Office Web apps setup.exe
  2. Activating the Office web apps services –>Starting the required service in CA , creating the service application and service application proxies
  3. Activating the Office Web apps feature in the site collection.

Also in SharePoint Server 2010 there was no need to patch Office web apps separately as the SharePoint patches also included the Office Web apps patches. So any issue that happens to SharePoint as a product will have an impact on Office web apps as well.

Office Web apps with SharePoint Server 2013:

So with SharePoint Server 2013, Microsoft took a big step ahead and removed Office web apps from SharePoint .What this means is, the bits and binaries that install SharePoint Server 2013 will not have Office web apps as part of it. Its standalone product now and needs to handled and taken care separately.

Note: I’ve noticed a lot of customers who think that Office web apps can support Visio files as well. That’s never ever the case and SharePoint Server 2013 uses Visio service to do that .Please refer to my post on Visio Service to know more about it.

So in a nutshell, SharePoint Server 2013 when integrated with Office Web apps provides updated versions of Word Web App, Excel Web App, PowerPoint Web App, and OneNote Web App. Users can view and, in some cases, edit Office documents in SharePoint libraries by using a supported web browser on computers and on many mobile devices, such as Windows Phones, iPhones, iPads, Windows 8 tablets, and Android devices.

Later in this article I’ll be discussing more on Office webs apps and SharePoint Server 2013 ….

Office Web apps with Exchange Server 2013:

With Exchange 2007 and 2010, Outlook Web Access/App [OWA] users can preview documents attached to e-mails directly from their browser. This feature, known as “Web Ready Document Viewing”  which converts supported documents (Word, Excel, PowerPoint or PDF) to HTML and displays them in the web browser, allowing users to read Word documents, for example, without the need to have Word installed or first downloading the file.

Whenever a user receives an e-mail with a supported attachment, an “Open as Web Page” link appears next to the attachment:


All the user needs to do to preview the attachment is click on the link and the WebReady Viewing version of the document will open.



With Exchange Server 2013, there is another method of viewing Office docs. Here you can integrate your Exchange server 2013 with Office web apps .Once that’s done the attached Office document makes a WOPI [Web App Open Platform Interface] call to the Office webs app server to render the document.

Note: Office Web apps cannot open Office files which are IRM [Information Rights Management] enabled.

Office Web apps with Lync Server 2013:

In Lync Server 2010, PowerPoint presentations are viewed in one of two ways. For users who run Lync 2010, PowerPoint presentations are displayed by using the PowerPoint 97-2003 format and they are viewed by using an embedded copy of the PowerPoint viewer. For users who run Lync Web App, PowerPoint presentations are converted to dynamic HTML files then viewed by using a combination of the customized DHTML files and Silverlight. Although generally effective, this approach did have some limitations:


  1. The embedded PowerPoint Viewer (which provided a more optimal viewing experience) is available only on the Windows platform.
  2. Many mobile devices (including some of the more popular mobile telephones) do not support Silverlight.
  3. Neither the PowerPoint Viewer nor the DHTML/Silverlight approach supports all the features (including slide transitions and embedded video) found in the more recent editions of PowerPoint.

To help address these issues, and to improve the overall experience of anyone who presents or views PowerPoint presentations, Lync Server 2013 uses Office Web Apps Server to handle PowerPoint presentations. Among other advantages, this new approach allows the following capabilities:


  1. Higher-resolution displays and better support for PowerPoint capabilities such as animations, slide transitions, and embedded video.
  2. Additional mobile devices can access these presentations. That’s because Lync Server 2013 uses standard DHTML and JavaScript to broadcast PowerPoint presentations instead of customized DHTML and Silverlight.
  3. Users who have appropriate privileges can scroll through a PowerPoint presentation independent of the presentation itself. For example, while User A is presenting his slide show, User B can scroll through and view any slide she wishes, all without affecting User A’s presentation.

So with that being said, let’s take a look at the supported Office file formats for Office Web Apps

Supported file formats:

Word documents (doc, docx, dotx, dot, dotm extensions)

Excel documents (xls, xlsx, xlsm, xlm, xlsb extensions)

PowerPoint documents (ppt, pptx, pps, ppsx, potx, pot, pptm, potm, ppsm extensions)

*Also once again, please do remember that Office web apps doesn’t support IRM protected files.

More on Office web apps with SharePoint Server 2013 ……

Listed below are the features you get when you use Office web apps with SharePoint Server 2013:


The viewing and editing capabilities of Office webs apps on different devices is given below:




Now, being a SharePoint Farm Admin/Site collection admin you get to decide how your users can view office files in the document library. There are two ways to change the default behavior so that files open in the client applications (or the default PDF reader) instead:

For the entire SharePoint 2013 farm :  You ( The Farm admin) can adjust the default open behavior on a per-file-type basis for the SharePoint 2013 farm by using the New-SPWOPIBinding and Set-SPWOPIBinding Windows PowerShell cmdlets. These cmdlets can also be used to adjust the behavior of PDF documents.

In site collections or document libraries : Site collection administrators and users can use the OpenInClient feature in SharePoint 2013 to specify whether Office files will be opened in the client application or in the browser. Users can change this setting in the document library properties, and site collection administrators can change it in Site Collection Administration or by using the “Enable-SPFeature” cmdlet to enable the OpenInClient feature.

Now there are certain things which you might need to pay attention to being an IT Pro, you can configure Office web apps for your SharePoint server 2013 farm so that the Office files in the document library make a WOPI call to Office web apps server (a single machine/farm processing the request for all type of Office file i.e. word,excel,powerpoint and One note)  to  render the document  or you can configure an Office web apps farm so that each machine in that farm can take care of processing the request for each file types.

PowerPoint–>A single Office web apps machine to process the request for PowerPoint files alone

Word –>A single Office web apps machine to process the request for Word files alone

Excel–>A single Office web apps machine to process the request for Excel files alone

This option can give you better scalability, however it’s going to cost you a lot.

How to know whether I’m using Excel online, Excel services or Excel Web app while I’m opening an Excel file?

If the URL resembles  “http://[servername]_layouts/15/xlviewer.aspx?id=/Documents/…” then Excel Services is used to render the workbook.

 If the URL resembles  “http://[servername]/_layouts/15/WopiFrame2.aspx?sourcedoc=/Documents/…” then Excel Web App is used to render the workbook.

Difference between Excel Web App and Excel Services in SharePoint:

Excel Web App and Excel Services in SharePoint have a lot in common, but they are not the same. Excel Services is available only in the Enterprise edition of SharePoint Server 2013. Excel Web App is available in SharePoint Server 2013 and SharePoint Foundation 2013. Both applications enable you to view workbooks in a browser window, and both enable you to interact with and explore data.

But there are certain differences between Excel Web App and Excel Services in SharePoint. For example, Excel Services supports external data connections, data models, and the ability to interact with items that use data models (such as PivotChart reports, PivotTable reports and timeline controls). Excel Services provides more business intelligence functionality than Excel Web App, but Excel Services does not enable users to create or edit workbooks in a browser window.

If your organization decides to use Excel Services instead of Excel Web App to view workbooks in the browser, you can use the Windows PowerShell New-SPWOPISuppressionSettings cmdlet to turn off Excel Web App for Excel workbooks.

Office Online File Support:

Here are file types and formats supported in each of the four Office Online applications.

Word Online:

Supported for viewing and editing Supported only for viewing  Cannot be opened
Word Document (.docx) Word 97-2003 Document (.doc)** Rich text format (RTF)
Word Macro-Enabled Document (.docm)* Word 97-2003 Template (.dot) Hypertext Markup Language (HTML)
OpenDocument Text (.odt) Word Template (.dotx) Multipurpose Internet Mail Extensions HTML (MHTML)
Word Macro-Enabled Template (.dotm)* IRM-protected documents
Portable Document Format (PDF)** Password-protected documents
Documents with digital signatures

*The document can be opened, but macros do not run.

**For editing, Word Online saves a new copy of the document in .docx or .dotx format. Word Online can’t save documents in the .doc or .dot formats.

Excel Online: 

Supported for viewing and editing Supported only for viewing  Cannot be opened
Excel workbook (.xlsx) Portable Document Format (PDF) Excel 97- Excel 2003 Workbook (.xls) **
Excel binary workbook file (xlsb) Excel 97- Excel 2003 Template (.xlt)
Excel macro-enabled workbook (.xlsm)* Excel Template (.xltx)
OpenDocument Spreadsheet file (.ods) Comma separated values (CSV)
IRM-protected documents
Password-protected documents
Documents with digital signatures

*The workbook can be opened, but macros do not run.

**On OneDrive.com this format can be viewed. To edit, Excel Online saves a new copy of the document in .xslx format. Excel Online can’t save documents in the .xls format.

PowerPoint Online:

Supported for viewing and editing Supported only for viewing Cannot be opened
PowerPoint Presentation (.pptx) PowerPoint Template (.potx) PowerPoint Add-in (.ppam)
PowerPoint Show (.ppsx) PowerPoint 97-2003 Template (.pot) Rich Text Format (RTF)
OpenDocument Presentation (.odp) PowerPoint 97-2003 .ppt and .pps* Portable Document Format (PDF)
PowerPoint Macro-Enabled .pptm,  .potm, and .ppsm** PowerPoint 97-2003 Add-in (.ppa)
Portable Document Format (PDF) IRM files
Password files
Files with digital signatures

* The presentation can be opened, but macros do not run.

** For editing, PowerPoint Online saves a new copy of the document in .pptx format. PowerPoint Online can’t save documents in the .ppt or .pot formats.

OneNote Online:

Supported for viewing and editing Cannot be opened
OneNote 2010 and later notebooks (.one) OneNote 2003 or OneNote 2007 notebooks (.one)
OneNote Package (.onepkg)
Portable Document Format (PDF)

I guess this pretty much sums up everything you need to know about Office Web apps. Thanks for reading this post. Happy Share Pointing!!!!











SharePoint Online : External users can and can’t

Who is an external user in SharePoint Online?

An external user is someone outside of your organization who can access your SharePoint Online sites and documents but does not have a license for your SharePoint Online or Microsoft Office 365 subscription. External users are not employees, contractors, or onsite agents for you or your affiliates.

External users can… External users can’t…
Use Office Online for viewing and editing documents. If your plan includes Office Pro Plus, they will not have the licenses to install the desktop version of Office on their own computers. Create their own personal sites (what used to be referred to as My Sites), edit their profile, change their photo, or see aggregated tasks. External users don’t get their own OneDrive for Business document library.


Perform tasks on a site consistent with the permission level that they are assigned. For example, if you add an external user to the Members group, they will have Edit permissions and they will be able to add, edit and delete lists; they will also be able to view, add, update and delete list items and documents. Be an administrator for a site collection (except in scenarios where you’ve hired a partner to help manage Office 365. You can designate an external user as a designer for your Public Website.

NOTE   The SharePoint Online Public Website information in this article applies only if your organization purchased Office 365 prior to March 9, 2015. If you purchased Office 365 after March 9, 2015, use an Office 365 website hosting partner

See other types of content on sites. For example, they can navigate to different subsites within the site collection to which they were invited. They will also be able to do things like view site feeds. See the company-wide newsfeed
  Add storage to the overall tenant storage pool


  Access the Search Center or execute searches against “everything.” Other search features that may not be available include: Advanced Content Processing, continuous crawls, and refiners.
  Access site mailboxes
  Access PowerBI features such as Power View, Power Pivot, Quick Explore, or Timeline Slicer. These features require an additional license, which is not inherited by external users.
  Use eDiscovery. This requires an Exchange Online license.


  Open downloaded documents that are protected with Information Rights Management (IRM).
  Excel Services features, including Calculated Measures and Calculated Members, decoupled Pivot Tables and Pivot Charts, Field List and field support, filter enhancements, search filters.
  SharePoint Online data connection libraries
  Visio Services



Issues with Minimal Download Strategy feature in SharePoint 2013:

Well like every other SharePoint lover out there I always used to admire SharePoint for its cool features and for also being the best Enterprise Content Management platform ever for the business .However, there are certain features which really sound so cool when we read about it but they really fail to excite us when we work on it .So one among such feature is the “Minimal Download Strategy feature “  and this post is about the issues which you would face when you have this feature activated on your SharePoint site .

Now, if you’re someone who hears about this feature for the first time, here’s my link to an article on Minimal Download strategy which was published on my site couple of days back.

I’ve indeed read couple of articles which speaks about the issues with MDS but this was the first time I ever happened to experience one  .Alright now let’s take a look at this ….

To activate MDS in your site:

Go to Site settings–>Manage site features –> Activate Minimal download Strategy.


To repro the error:

Go to a document library in a team site which has the MDS feature activated ( remember this feature will be activated by default in a SharePoint Team site ) and try to delete a document from a document library by clicking on the “ellipsis” –>“ Delete document “ BUTTON , you will see an error as shown below without any correlation ID . However, the document would still get deleted from the document library.


Now, this error is not because of any bad configuration in your SharePoint Farm or due to any feature dependency for the MDS feature to work seamlessly .This seems to be a problem with the product itself and looks like this hasn’t been fixed it.

Troubleshooting steps and Fix:

I tried to capture the uls logs by turning on verbose logging but it didn’t find any valuable information pertaining to this error. After researching about this in the internet this seems to be a problem with the MDS feature itself that came up in SharePoint 2013.


  1. This error doesn’t show up when you try to delete the document using the “delete document” button in the top ribbon interface which is really weird .I have no idea how this is different from the former option which we tried .


2. Also if you try to by-pass your load balancer by changing the host file of your PC to point a specific WFE, this error won’t show up.

Now, given these scenarios I try to dig a bit deeper about this issue by capturing the fiddler logs as suggested in this blog article and it turns out that the problem is with the response headers. The below mentioned article can give a deeper insight on how to get this fixed.


Other errors related to this feature:

Upon reading couple of other blogs it looks like turning on the MDS feature will introduce few more issues like   the “1.Connect to outlook button” not working and “2. “Not able to create a list view “


The above mentioned article was published quite a while back and hence I’m not sure whether the content discussed on that article is still valid.

However ,in my tests I was able to successfully make use of the “Connect to outlook button “ and it didn’t create any problem .I’m yet to try creating a new list view and see if that works and will let you know about that once I’m done testing .

Happy SharePointing!!!! Thanks for reading this post …..














Powershell script to find and delete orphaned users in SharePoint


#Functions to Imitate SharePoint 2010 Cmdlets in MOSS 2007
function global:Get-SPWebApplication($WebAppURL)
  return [Microsoft.SharePoint.Administration.SPWebApplication]::Lookup($WebAppURL)
function global:Get-SPSite($url)
    return new-Object Microsoft.SharePoint.SPSite($url)
function global:Get-SPWeb($url)
  $site= New-Object Microsoft.SharePoint.SPSite($url)
        if($site -ne $null)
    return $web
#Function to Check if an User exists in AD
function CheckUserExistsInAD()
   Param( [Parameter(Mandatory=$true)] [string]$UserLoginID )
  #Search the User in AD
  $forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
  foreach ($Domain in $forest.Domains)
   $context = new-object System.DirectoryServices.ActiveDirectory.DirectoryContext("Domain", $Domain.Name)
         $domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($context)
   $root = $domain.GetDirectoryEntry()
         $search = [System.DirectoryServices.DirectorySearcher]$root
         $search.Filter = "(&(objectCategory=User)(samAccountName=$UserLoginID))"
         $result = $search.FindOne()
         if ($result -ne $null)
           return $true
  return $false
 $WebAppURL="<a class="vglnk" href="https://sharepoint.crescent.com" rel="nofollow"><span>https</span><span>://</span><span>sharepoint</span><span>.</span><span>crescent</span><span>.</span><span>com</span></a>"
 #Get all Site Collections of the web application
 $WebApp = Get-SPWebApplication $WebAppURL
 #Iterate through all Site Collections
 foreach($site in $WebApp.Sites) 
 #Get all Webs with Unique Permissions - Which includes Root Webs
 $WebsColl = $site.AllWebs | Where {$_.HasUniqueRoleAssignments -eq $True} | ForEach-Object {
        $OrphanedUsers = @()
  #Iterate through the users collection
  foreach($User in $_.SiteUsers)
      #Exclude Built-in User Accounts , Security Groups & an external domain "corporate"
   if(($User.LoginName.ToLower() -ne "nt authority\authenticated users") -and
                ($User.LoginName.ToLower() -ne "sharepoint\system") -and
                  ($User.LoginName.ToLower() -ne "nt authority\local service"-and
                      ($user.IsDomainGroup -eq $false ) -and
                          ($User.LoginName.ToLower().StartsWith("corporate") -ne $true) )
                    $UserName = $User.LoginName.split("\")  #Domain\UserName
                    $AccountName = $UserName[1]    #UserName
                    if ( ( CheckUserExistsInAD $AccountName) -eq $false )
                         Write-Host "$($User.Name)($($User.LoginName)) from $($_.URL) doesn't Exists in AD!"
                                    #Make a note of the Orphaned user
        # ****  Remove Users ****#
        # Remove the Orphaned Users from the site
        # foreach($OrpUser in $OrphanedUsers)
        #   {
        #        $_.SiteUsers.Remove($OrpUser)
        #        Write-host "Removed the Orphaned user $($OrpUser) from $($_.URL) "
        #   }


Solution for the list view issue with MS16-004 (January 2016 PU) for SharePoint 2013

Please refer to Stefan Gobner’s blog link below where he talks about the fix for the list view issue that was introduced with (MS 16-004) Jan 12,2016 security patch update .




Security Patch (MS 16-004 )Breaks SharePoint 2013 lists

This post is to give you a quick heads up about the recent security patch (MS 16-004 ) that was released by Microsoft on Jan 12 ,2016 for SharePoint Server 2013 .It has been observed that installing this patch will break all the list functionality in your SharePoint 2013 farm . I happened to notice many discussions about this in few Technet forums and thought of bringing this to your attention . So whomever is reading this post , please be aware that there is a problem with this patch and Microsoft is currently working on this .

If you have any plans of installing this security patch it would be great if you check with your Microsoft PFE before doing so . Please pass this word to your fellow SharePoint folks working in other firms.

More info on this issue , please see the links below ….


MS16-004 Causes a TypeError on SharePoint Lists


Minimal Download Strategy feature in SharePoint 2013

This is a new feature that came up in SharePoint 2013 that is used to optimize page rendering. It reduces the page loading time by sending only the differences that were made to the page when users try to access a new page.

So in detailed words, Minimal download strategy takes care reducing the amount of data that the client browser has to download when users navigate from one page to another page within a SharePoint site. When a user browses a site that has the MDS feature enabled on it, the user will see only the differences (or delta change) between the current page and the requested page.

Methods to activate Minimal Download Strategy:

The Minimal Download Strategy feature (MDS) can be enabled in a SharePoint site using the below mentioned methods.

  1. Activate the MDS feature using the site settings UI.
  2. Using PowerShell Command
  3. Using Server Object Model
  4. Using Client Object Model

Now, let’s take a look at the first two methods….

Using the site settings UI:

Go to site –> Site settings –>Manage site features–> Activate Minimal Download Strategy


Using Power Shell command:

Use the below mentioned Power Shell command to activate the MDS feature in a site.

$web=Get-SPWeb “http://sharepoint.com&#8221;



To disable the feature, use the below command:

$web=Get-SPWeb “http://sharepoint.com&#8221;



Enable/Disable MDS through PowerShell:

You can use the “Disable-SPFeature / Enable-SPFeature” commands to enable or disable the MDS feature.

The following command will disable the MDS for a particular site.

Disable-spfeature –url http://SharepointSite –identity “MDSFeature”

Power Shell Command Enable/Disable MDS across all web applications:

foreach($webApp in Get-SPWebApplication)


    foreach ($SPsite in $webApp.Sites)


       foreach($SPweb in $SPsite.AllWebs)


             Disable-SPFeature –identity “MDSFeature” -URL $spweb.URL -confirm:$false




Identifying whether MDS is working on your site:

Once you’re done activating the MDS feature in your SharePoint site you can confirm its functionality by taking a look at the site url …


You can notice all the pages having “start.aspx” for rendering.

The requested new page url will have a prefix of “#” before it.

URL’s formatted in MDS mode:

http://server/SitePages/ http://server/_layouts/15/start.aspx#/SitePages/
http://server/subsite/SitePages/home.aspx http://server/subsite/_layouts/15/start.aspx#/SitePages/home.aspx
http://server/_layouts/15/viewlsts.aspx?BaseType=0 http://server/_layouts/15/start.aspx#/_layouts/viewlsts.aspx?BaseType=0

So how this works:

There are 2 components that enable MDS:

  1. Server-side
  2. Client-side

Each page will be divided into multiple sections.

When a client requests a new page, the server calculates the delta (changes). Only the changed sections will be sent to the client. The client will be smart enough to patch the received sections to appropriate sections.

Let’s take a look at the below mentioned example from TechNet:


Figure 1 shows the sections that change from page to page and therefore require an update. The delta usually includes the data in the (1) content areas, as well as other components such as (2) navigation controls.

We can identify a site that has MDS enabled by taking a look at the URL. An MDS-enabled site has the (3) _layouts/15/start.aspx page in the URL followed by a hash mark (#) and the relative URL of the requested resource, as shown in

Figure 1. For example, the following is the MDS-formatted URL for the page newpage.aspx:


This is equivalent to the below mentioned non–MDS-formatted URL:


MDS Flow Mechanism:


  1. The browser requests the changes between the current page and a new one in the SharePoint site.
  2. The MDS engine in the server calculates the delta between the current and the new pages.
  3. The MDS engine in the server sends the delta to the MDS engine in the client.
  4. The MDS engine in the client replaces the changed areas on the current page with the new page content.

Benefits of Minimal Download Strategy :

  • Speed:This is the main objective of using MDS in your SharePoint site. When you are using MDS, the browser doesn’t have to reprocess the chrome user interface (UI). MDS also reduces the payload compared to a full page load.
  • Smooth transitions:By updating only the areas that change, you draw the user’s eye toward these areas, as opposed to a full page load where the whole page “flashes.” When the whole page is updated, the user must parse it in its entirety to detect what is new. Users have an easier time navigating a site that only updates the areas that changed from the previous page.
  • Browser navigation controls:Other AJAX-based systems confuse the previous and next buttons in browsers. Because MDS updates the URL in the browser window, the previous and next buttons work just as they are supposed to.
  • Backward compatibility:The MDS engine either provides MDS navigation immediately or detects when it isn’t possible. In the case where MDS navigation isn’t possible, a full page load occurs instead. This process is called failover, and it ensures that all pages render properly regardless of whether they contain MDS-compliant components. MDS also works nicely with search engines because the href attribute of anchor tags uses the regular, non MDS-formatted URLs. Instead, the MDS engine in the client captures the onclick event and uses it to communicate with the server.

Note: The Minimal Download Strategy is enabled by default and can be disabled if necessary .You can disable it on a per Web application basis /Site basis using the UI or PowerShell command.

So in a nutshell, the MDS (Minimal Download Strategy) is a new feature that came up in SharePoint 2013 that helps in page optimization by only loading the changes made to a page when an end user tries to access a new page in a SharePoint site.

Happy SharePointing !!!  Thanks for reading this post.