Unable to Open PDF files Stored in SharePoint using Mobile Browsers

If you are getting an error on Mobile Browsers when trying to open PDF stored in SharePoint, that’s no more surprise as its been purposely disabled by Latest Office Web Apps 2013 Capabilities. This capability has been removed as of Office Web Apps October 2013 Cumulative Update.

clip_image001

That doesn’t mean you can’t open PDF files in mobile browsers at all. The default OWA action is to open PDF files in WordPDF Application. To overcome this behavior, we can remove the WordPDF binding from OWA and let it open by Ifilter as default. Run the following command in SharePoint Application server where you configured OWA WOPI Binding. This command will remove the WordPDF Application Binding from your SharePoint farm. This won’t harm any other applications such as Word, Excel or PPTX.

Get-SPWOPIBinding -Action “view” -Application “WordPDF”| Remove-SPWOPIBinding Removing the Binding for the WordPDF application will allow all the mobile devices to open PDF files from the browser normally without utilizing OWA WORD Application.

clip_image002

"Sorry Something Went Wrong" Error When Opening a Document Using Office Web Apps 2013 Within SharePoint.

Got my Test farm Created with SharePoint and Office Web apps 2013 and was so excited to experience the Functionality. Uploaded a document to library and looked in to rendering but getting an Error saying that "Sorry Something Went Wrong" which is same when click preview and open up from browser.

clip_image001

All went well with the installation of Web apps but tried after restarting of Servers as well just to verify and still the same. Tried with few more documents and yet the same.

Since Microsoft has stated in several documentations that this can be occurred due to lack of memory and other allocated hardware, I checked that as well but my test server was having good enough resources as well.

So what ? When I dig in to the web found that we cannot use System Account for opening or editing document via Web apps. Tried to login using another account and it was start working perfectly.

clip_image002clip_image003

So you have to make sure on below criteria’s before you begin the Web Apps Installation

  • Verify that all SharePoint 2013 web applications use claims-based authentication. Office Web Apps rendering and editing will not work on SharePoint 2013 web applications that use classic mode authentication.
  • To enable users to edit (not just read) Office documents in a web browser, verify that you have the necessary editing licenses and that you have enabled editing on the Office Web Apps Server farm.
  • If you log into SharePoint 2013 by using the System Account, you will be unable to test the connection between SharePoint 2013 and Office Web Apps Server. You will have to log on by using a different account to test the connection.
  • Low memory conditions can cause Office document previews to fail in Office Web Apps. Verify that the server or servers that run Office Web Apps Server have sufficient memory by reviewing the Hardware requirements.

Note: There are more incidents that same kind of error can be occurred, refer here for more information which is well described – http://technet.microsoft.com/en-us/library/ff431687.aspx

Setup Office Web Apps 2013 For SharePoint 2013.

An Interesting thing that we are going to setup Office Web Apps 2013 for SharePoint 2013. as you know Office Web apps provides the capabilities of rendering, Opening, and rich editing of Microsoft office document formats such as Word, PowerPoint, Excel and One Note. By having Office web apps it just simplifies the rendering and editing of documents which are stored in SharePoint through Client browser therefore it’s not mandatory to have office client on client PCs.

Before we begin, make sure that you have an isolated server for Office web apps as 2013 version doesn’t support to install in a server running SharePoint and it has to be an isolated server.

Note:

Low Hardware (Such as Memory/Number of Processor Cores Minimum is two) can Cause interruptions on rendering and other Web apps Activities. So make sure that you have allocated better sized hardware based on number of concurrent users who will use web apps when you perform Production Deployments. This server I’m installing is just in a test lab which has 2 Gb of memory which is good enough for testing purpose.

Unlike Web Apps 2010, You cannot Experience the web apps 2013 functionality with the System Account as it’s not supported. you must always use another account for web apps  testing.

So Let’s Do this. As usual first to Install prerequisites.

For Windows Server 2008 R2

Windows Server 2008 R2 SP 1 – http://go.microsoft.com/fwlink/p/?LinkId=252370

.Net Framework 4.5 http://go.microsoft.com/fwlink/p/?LinkId=256560

Windows PowerShell 3.0 http://go.microsoft.com/fwlink/p/?LinkID=244693

KB 2592525  http://go.microsoft.com/fwlink/p/?LinkId=236954

Then Open up PowerShell as administrator, paste this portion and run

Add-WindowsFeature Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Includes,Web-Security,Web-Windows-Auth,Web-Filtering,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Console,Ink-Handwriting,IH-Ink-Support

Give it a moment

clip_image001[4]

clip_image002[4]

You need to restart your server once you got above screen.

For Windows Server 2012/R2

Simply run below line by opening up powershell as administrator. And you are done on prerequisites installation.

Add-WindowsFeature Web-Server, Web-WebServer, Web-Common-Http, Web-Static-Content, Web-App-Dev, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Includes, Web-Security, Web-Windows-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, Web-Mgmt-Console, InkAndHandwritingServices, Web-Net-Ext45, Web-Asp-Net45

Install Web Apps Server

Go ahead in Web Apps server, launch the Setup from your media.

clip_image003[4]

Accept the License Agreement and hit "Continue"

clip_image004[4]

Choose the path that you want to locate the program. And install

clip_image005[4]

Woof ! Error.

clip_image006[4]

As I stated above, you will get an error saying that ‘Microsoft Office Web apps Server 2013 encountered an error during setup" if your Server having only one Processor Core. Same thing happened to me and allocating two Virtual Processors for my Web Apps VM fixed the problem.

clip_image007[4]

This will take only few Minutes. A Coffee Time !

clip_image008[4]

If everything went well you will get below Screen.

clip_image009

Alright we got the product installed now. Let’s move ahead with configurations. First in Web Apps Server.

Customize below lines according to your environment and run it on PowerShell. To Pass the SSLOffloaded parameter is additional if requires for HTTPS Scenarios.

For HTTPS

New-OfficeWebAppsFarm -InternalUrl "https://APP3.northwind.int" -ExternalUrl "https://APP3.northwind.int" -SSLOffloaded –EditingEnabled

For me it’s just HTTP

New-OfficeWebAppsFarm –InternalURL "http://APP3.northwind.int" –AllowHttp -EditingEnabled

Since we need to enable editing, Key in "Y" and hit enter to proceed.

clip_image010

To Register our domain run the below line (we are still in Web Apps Server)

New-OfficeWebAppsHost -Domain northwind.int

clip_image011

Try to access the Discovery URL from web Apps Server – http://Servername.domain.int/hosting/discovery (

http://app3.northwind.int/hosting/discovery

)

It should open up below page for you.

clip_image012

With that we are completing of Web Apps Server. Now let’s move to SharePoint Server Side.

Configuring a SharePoint 2013 Farm for Office Web Apps

Log in to the SharePoint application server that hosts Central Administration and open the SharePoint 2013 Management Shell as an administrator. Next, enter the following line:

New-SPWOPIBinding -ServerName “Your Web Apps ServerName” -AllowHTTP

New-SPWOPIBinding -ServerName “app3.northwind.int” -AllowHTTP

It will Result as below

clip_image013

Now to Set the Zone Execute – Set-SPWopiZone –zone “internal-http” from SharePoint Server Shell

image

If you are using HTTP, you need to allow OAuth over HTTP by using the following commands:

$config = (get-spsecuritytokenserviceconfig)

$config.allowoauthoverhttp = $true

$config.update()

clip_image014

That’s all on the configurations. let’s upload document to a library and test the functionality.

clip_image001[6]clip_image002[6]

if you are getting below error, refer to my previous post here which describes the resolution.

image