Office Web Apps, PowerShell, Technical

Prereqs for Office Web Apps Server 2013

Just a quick programming note for our home viewers installing Office Web Apps 2013 on Windows 2008 R2. If you’re following the instructions on TechNet, they list the following prereqs as of the writing of this post:

  • Windows Server 2008 R2 Service Pack 1
  • .NET Framework 4.5
  • Windows PowerShell 3.0
  • KB 2670838

image

Ignore that last one. Another prereq that OWA checks when you try to create a new farm running New-OfficeWebAppsFarm is for KB2592525, although the TechNet article doesn’t mention that. If you install 2670838 and then try to install 2592525, you’ll get a message stating that the update doesn’t apply, so you aren’t allowed to install the update and can’t create your OWA farm.

If you did install 2670838, just uninstall it and you’ll be good to go.

.NET, SharePoint, Technical

REST Calls and MDS

SharePoint 2013 introduces MDS, or Minimal Download Strategy, as a way to increase performance of various types of SharePoint sites (basically, non-publishing sites.) It’s turned on for quite a few site templates out of the box so it’s important to understand how it works. I won’t go into it here since others cover it well, but review the links at the bottom of this post if you’re interested.

When developing a custom master page, there’s a new control that you’ll need to be concerned with due to MDS called AjaxDelta. This control is used to tell MDS which controls or content that call into SharePoint require the user to be authenticated and authorized. Any content outside of an AjaxDelta control is treated anonymously. This may bite you if you forget and start moving controls around. An example of that can be found here.

If you haven’t put two and two together yet based on the title of this post, you’ll need to also wrap your client side REST calls with an AjaxDelta control. Well, maybe. I was getting pretty good results without the AjaxDelta wrapper, until I did some testing using Windows XP and IE 8. On that platform, my REST calls were resulting in “Access is Denied” entries in ULS logs in an unauthenticated server call (as shown by a “Authentication Authorization” entry where IsAuthenticated=false.) Once I put the script inside an AjaxDelta control, the problem went away.

<SharePoint:AjaxDelta ID="DeltaCustomJS" Container="false" runat="server">
     <script type="text/javascript" src="/SiteAssets/CustomBranding/custom.js"></script>
</SharePoint:AjaxDelta>

As mentioned, this was only for WinXP and IE8 so perhaps there is a client setting that can be changed to fix the issue as well.

Here’s a good link on MDS, if you’re interested (if you read this far, you’re interested Smile):

Wictor Wilen – Introduction to MDS