Link to home
Start Free TrialLog in
Avatar of sherlock1
sherlock1

asked on

Powerpoint embedded slide decks in Sharepoint 2013 don't load consistently in web browser

Hi Experts,

When users insert embedded PowerPoint 2013 slide decks into a SharePoint 2013 blog the embedded PowerPoint slides often do not display in the web browser (Internet explorer 11 or Chrome)
Where the powerpoint slide should be either a white window is shown that says “Sorry, something went wrong, Sorry, you don’t have access to this page” (even though the users do have the relevant access) or instead of this error text there is simply a little picture error icon.

Sometimes if the users refreshes the webpage either some or sometimes all of the embedded SharePoint slides appear, but this little trick does not always work. This issue is affecting multiple users and is seen in Windows 7/IE11 and Windows 10/IE and Chrome on both operating systems.

Any suggestions on what could be causing this issue?/ideas to fix?
Thanks
Avatar of Walter Curtis
Walter Curtis
Flag of United States of America image

Try IE 11 in compatibility mode and see what happens.
Avatar of sherlock1
sherlock1

ASKER

Tried that and see same issue, tried IE document mode too & see the same. Issue is seen in other web browsers so not specific to IE

Thanks
If it's throwing an error, then you should check the ULS logs on the back end.  Does the error message include a Correlation ID?

If you are using Office Web Apps embed code, then you should also check the ULS logs on the server where Office Web Apps is installed.
Thanks for your feedback greg - I am reviewing the ULS logs. When I load up the sharepoint site there are a number of log entry events all of which yes do include a correlation ID - is there a specific messages or messages I should look out for?, what can i do with the correlation ID? - does this help narrow down the issue?

I dont think we are using Office web app although we use the Insert > embed code within share point 2013. A summary of what the user does is as follows:


1.      Open up the Sharepoint site -
2.      Click on the cog wheel > Click site contents
3.      Click into the document library folder (such as Powerpoint files)
4.      Click powerpoint file (this will open up the powerpoint file)
5.     Click File Share > embed
5.      Copy the embed code
6.      Go back to home site
7.      Click create a post
8.      Enter a title
9.      Click into Body field
10.      Click Insert > Embed code
11.      Paste the embed code (copied earlier from Powerpoint)
12.      Click ok
13.      Click publish

Now when viewing the powerpoint file sometimes its visible, sometimes it encounters the issue of not showing

Thanks
Attached is part of the URL log for the relevant sharepoint site when the issue is seen
(i had to remove some company info for security in the screenshot)

Ill test further and review the URL log again to see if there are any different entries
URL_Log.jpg
Those log entries are completely innocuous.  Are you sure that's the correlation ID that is being thrown by the error?   SharePoint uses correlation IDs to track all the transactions relative to a specific task, e.g. opening an embedded PowerPoint file.  This way you can see what SharePoint was trying to do, leading all the way up to the error, so you can see the error in context.  But these events are not errors.

I can deduce that the issue is happening on someone's MySite / OneDrive.  Have you verified that all the users have permissions to view the file in its current location?  Or does this happen intermittently to the same person, e.g. sometimes they can see it, sometimes not?
Thanks for further feedback - ok I'll review the URL logs again

The issue happens intermittent with all users - even the person who embedded the PowerPoint file in the first place. The users seem to have the correct permissions but I'll check these again
...we don't use one drive. Files are up loaded from a local network share to sharepoint

I can't be sure the URL log screenshot provided is the error so I'll re check / test again

Thanks
An other approach to consider -

After reading your original post again, and again, and again, it seems that you may be having a permission issue. That means that the permissions on the PowerPoint Slidedeck may be limiting access for some users, therefore the error message you are receiving. The issue may be aggravated by the user using browsers with remembered credentials, therefore some browsers may have the current credentials remembered so it works while another browser needs updating.

Maybe start clean on all browsers and double check the PowerPoint permissions.

Fingers crossed - hope that helps...
Wow sounds like you have read the post a lot...if the original post wasn't to clear sorry about that. Thanks for taking the time doing that

I tested loading the sharepoint site up on a new clean laptop in which the site had never been loaded before so no existing browser cache & I was still seeing the issue so I suspect it may be more likely possible permission related although these seemed ok I'll check again

Any suggestions on which permission / or permissions it could be related to?. (I presume we're talking sharepoint permissions )

Thanks
SOLUTION
Avatar of Walter Curtis
Walter Curtis
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for the further update - yes your right Walter - both you and Greg have provided great information - thanks both for your input on this. I think I have found the relevant error in the URL logs now and it does sound like its permission related. I have copied the exception information in the error below:

Greg - I meant to say yes your right its on mysite

Something we just noticed was when uploading the powerpoint file to the document library sometimes the preview of the powerpoint file displays the error message so the issue seems to be occurring prior to even embedding the powerpoint file and is likely happening at the point the file is uploaded - oddly sometimes the power point preview displays fine


Custom Column information
Name: Request (GET:https://my.mysite.com:443/personal/01_kl01/Blog/_layouts/15/WopiFrame.aspx?sourcedoc=/personal/u01_kl01/Blog/PowerpointTest/Presentation1.pptx&action=embedview&wdAr=1.3333333333333332)



System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)), StackTrace:  
 at Microsoft.SharePoint.SPWeb.InitWeb()    
 at Microsoft.SharePoint.SPWeb.get_EnableMinimalDownload()    
 at Microsoft.SharePoint.WebControls.DeltaPage.RenderToBase(HtmlTextWriter writer)    
 at Microsoft.SharePoint.WebControls.DeltaPage.Render(HtmlTextWriter writer)    
 at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)    
 at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    
 at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    
 at System.Web.UI.Page.ProcessRequest()    
 at System.Web.UI.Page.ProcessRequest(HttpContext context)    
 at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)    
 at System.Web.HttpServerUtility.Execute(String path, TextWriter writer, Boolean preserveForm)    
 at System.Web.HttpServerUtility.Transfer(String path)    
 at Microsoft.SharePoint.Utilities.SPUtility.TransferToErrorPage(String message, String linkText, String linkUrl)    
 at Microsoft.SharePoint.ApplicationPages.WOPIFrameHelper.OnLoadHelper(WOPIFrame frame)    
 at Microsoft.SharePoint.ApplicationPages.WOPIFrameHelper.OnLoad(WOPIFrame frame)    
 at System.Web.UI.Control.LoadRecursive()    
 at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    
 at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    
 at System.Web.HttpContext.InvokeCancellableCallback(WaitCallback callback, Object state)    
 at System.Web.UI.Page.LegacyAsyncPageBeginProcessRequest(HttpContext context, AsyncCallback callback, Object extraData)    
 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()    
 at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)    
 at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)    
 at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)    
 at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)    
 at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)    
 at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)    
 at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)    
 at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)    
 at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)    
 at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
when loading the sharepoint site with the embedded PowerPoint file - even refreshing the page sometimes causes the issue and then refreshing the page again the powerpoint file loads fine
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for this great information greg

Thats an excellent thought - yes we have 2x sharepoint web front end servers which are load balanced (they are load balanced via citrix netscaler virtual applicance....not sure how this is configured, could be something similar to round robin) and we have 3x sharepoint Application /CA servers

Are the application/ca servers likely to be the WAC servers? - i have looked on these 3 servers  and can see the ULS viewer is already installed
hmm perhaps I could see if I can force a computer to temp use a specific web server and see what the result is

I have tried your suggested URL using both the IP address and dns name of the server but it does not display a page so maybe we have a custom one setup. the issue is seen on my computer - if I upload a powerpoint file to the sharepoint site i see the same intermittent issue.
Go to control panel-->programs and see if Office Web Apps is installed. That's the easiest way to tell.
Also on a SharePoint server run the powershell command get-spwopibinding and that should tell you the wac server/URL where the wopi service is running.
hm ok i have looked in control panel > programes and features and I dont see office web apps installed in the list on any of the servers
ill check again just in case
ok ill try the powershell command
It would not be any of the SharePoint servers. For scalability reasons Microsoft prevents wac from being installed on three same server as SharePoint.
ok I run the powershell and the servername is listed (not an ip address) its in the format officeweb.companyname.com
and this is the same server name for all the results of the powershell command listed

I have found the relevant IP address and its none of the sharepoint servers we have listed and I cant RDP onto it - its a private IP address and I can ping it

Ill investigate further
Right, it would be local server. The fqdn is probably a public DNS name so that extranet users would be able to resolve it from outside your firewall.
Ok, if testing the load balancing is needed to see if it's a specific server related issue maybe I could enter the IP address of one of the web front end servers and the sharepoint site (example Mysite.com) into the hosts file
No, don't use IP addresses.  SharePoint (and IIS) are looking for DNS names.  I would work with the Netscaler folks to just remove SharePoint servers from the LB cluster.  So if you have three SP servers (SP01, SP02, SP03) then remove SP02 and SP03 from the Load Balancer and test your site normally.  Then swap them out (i.e. remove SP01, add SP02) and repeat, until you identify which server has the issue.  

If your WAC servers are also load balanced, do the same thing for them.

Once you have it narrowed down to a particular server, you can compare settings.
Ok thanks, I have now found the WAC / Web apps servers. We have 2 of them in a farm and I can connect to both of there URL to display the XML list so looks like both are online.
ULS viewer is installed on both servers but maybe it hasn’t been used as I cant see any exsisting log file – I am trying to get logs to display but cant see now.

If I got to File > Open from > ULS
I get two options 1) “Use ULS feed from default log-file directory (local machines only)” this says UNKNOWN and wont let me change it
Or 2) Use directory location for real-time feeds

I tried entering a temp folder path in option 2 and clicked ok but and it said “No log entries found” I guess as there is none yet. I reloaded the sharepoint site and can see the issue but cant see any log entries created on either of the WAC/Web apps servers.
Any ideas?

The netscaler chaps are not keen on removing the sharepoint servers from the LB cluster so for now at least I need to try to find a way to test on a test computer
If you suggest not using IP address then maybe I can add the sharepoint site URL and its web front end server DNS name in the hosts file?
OK, no worries, we can work around it.

1. The ULSViewer is designed for a SharePoint server, and it's able to detect the log path.  WAC also has ULS logging, but it keeps them in a different spot.  So the "UNKNOWN" path on the top is normal.  I click on the radio button to provide my own path, so I gave you what I thought was the default.  I suppose it's possible what whoever set it up decided to move the logs to a different location (e.g. off the C: drive).  You can determine this by using PowerShell.  On your WAC server, open PowerShell and run the following:

Get-OfficeWebAppsFarm

Open in new window


You should see an output of farm properties.  Look for one called "LogLocation".  This is where the ULS logs are stored.

It occurs to me that you might have UAC enabled on your WAC server, and that might be preventing you from browsing to folders under C:\ProgramData, which is a system folder.  You should right-click and run ULSViewer as Administrator. Also see if you can manually browse to C:\ProgramData, acknowledge the prompt (it might say you don't have rights so click OK to gain access).  After that it may work.

2. Unsurprising that your Netscaler folks are unhelpful ;-)   You can work around it by using the HOSTS file on your PC.  

If you've never used this, the HOSTS file is the first place your computer looks before querying DNS, so you can override DNS.  So if your site is portal.contoso.com at 10.10.10.10, this is the load balanced IP address.  You can add an entry to the HOSTS file, overriding this and pointing it to a specific web server, e.g. SP01 at 10.10.10.2.  So one at a time, change the hosts entry for portal.contoso.com to point to 10.10.10.2, .3, .4, etc.  You get the idea.

Also, if you are using multiple WAC servers, they are likely using the load-balanced "ExternalURL", e.g. "http://wac.contoso.com".  This address is one of the properties output by the Get-OfficeWebAppsFarm.  You should also override this in HOSTS to point this address directly to one server at a time.  

So on your PC, you will want to open NotePad as Administrator, and browse to C:\Windows\System32\drivers\etc.  Change the file type to show all files, and open HOSTS.  Edit it so you'd end up with something like this:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost

10.10.10.2	portal.contoso.com #your first WFE server
10.10.10.15   wac.contoso.com #your first WAC server

Open in new window


Hope that helps!
Note that it's also possible that the Netscaler itself is the issue.  I haven't worked with that particular brand, but there are a lot of settings that could cause issues like this.  Just ask them to verify that each node is configured the same.
Thanks a lot for the further information - that's a great help. i was out of the office recently and now continuing work on this.

Nice comment regarding the Netscaler folks....sounds like not being so helpful is common for load balancing hardware :-) probably they dont want things tinkered with unless its absolutely needed.

I thought that was the setup for hosts - i just haven't had the need to touch them in while so id half remembered the setup but coming back to me now - thanks

Ill let you know how i get on soon
Thanks
Hi,

Apologies about the delay getting back to you. In the ULS log we could see there were a number of entries
saying "PermissionMask check failed" as the the example in the ULS logs below

The root of the problem is that the iframes (the wopi frame) are not requiring AUTH headers, but are accepting Windows Authentication.

To fix on all sharePoint in this path C:\Program Files\Common Files\Microsoft shared\Web Server Extensions\15\TEMPLATE\LAYOUTS we did the following:
Step 1 Rename WOPIFrame.aspx to WOPIFrame3.aspx
Step 2 Rename WOPIFrame2.aspx to WOPIFrame.aspx

so that the code in WOPIFrame2.aspx is used instead

Greg / Walter You very much pointed me towards getting to the bottom of this issue so points awarded and thanks a lot for all your help


02/16/2017 14:59:51.06 w3wp.exe (0x4158) 0x1CCC SharePoint Foundation Authentication Authorization agb9s Medium Non-OAuth request. IsAuthenticated=False, UserIdentityName=, ClaimsCount=0 5a96d59d-d6c1-10f9-cec6-4fbea896c954

02/16/2017 14:59:51.06 w3wp.exe (0x4158) 0x1CCC SharePoint Foundation Runtime ajd6k Verbose Value for isAnonymousAllowed is : False 5a96d59d-d6c1-10f9-cec6-4fbea896c954

02/16/2017 14:59:51.06 w3wp.exe (0x4158) 0x1CCC SharePoint Foundation Authentication Authorization aib35 Medium SPShareByLinkHandler.Initialize : Not a ShareByLink request - missing access token 5a96d59d-d6c1-10f9-cec6-4fbea896c954

02/16/2017 14:59:51.06 w3wp.exe (0x4158) 0x1CCC SharePoint Foundation General 8xfr Verbose PermissionMask check failed. asking for 0x00040000, have 0x00000000 5a96d59d-d6c1-10f9-cec6-4fbea896c954

02/16/2017 14:59:51.06 w3wp.exe (0x4158) 0x1CCC SharePoint Foundation General 8xfr Verbose PermissionMask check failed. asking for 0x00020000, have 0x00000000 5a96d59d-d6c1-10f9-cec6-4fbea896c954

02/16/2017 14:59:51.06 w3wp.exe (0x4158) 0x1CCC SharePoint Foundation General 8xfr Verbose PermissionMask check failed. asking for 0x00001000, have 0x00000000 5a96d59d-d6c1-10f9-cec6-4fbea896c954

02/16/2017 14:59:51.06 w3wp.exe (0x4158) 0x1CCC SharePoint Foundation General 8xfr Verbose PermissionMask check failed. asking for 0x00000001, have 0x00000000 5a96d59d-d6c1-10f9-cec6-4fbea896c954

02/16/2017 14:59:51.06 w3wp.exe (0x4158) 0x1CCC SharePoint Foundation General 8e2s Medium Unknown SPRequest error occurred. More information: 0x80070005 5a96d59d-d6c1-10f9-cec6-4fbea896c954
Great!  Glad I could help.