SharePoint AppWeb display broken on Office365

This is an issue I have come across deploying Apps in non-English PWA site collections, while the App page loads clearly something is wrong, see a screenshot:

non-endisplay

If you press F12 in IE or Chrome and open the console you will see errors like the following:

Failed to load resource: the server responded with a status of 404 (NOT FOUND) https://*****-1edc3a4f15d104.sharepoint.com/sites/testfi/_catalogs/theme/Themed/634341C6/corev15app-DDE41C8D.themedcss?ctag=0

From my testing this issue only came up in the last few months but fortunately there is a fix.

The problem appears to be caused by the provisioning job not deploying certain resources, fortunately this can be fixed by modifying the Alternate Language settings of the site collection. Simply selecting English as an alternate language will install the required components, and better yet when you then proceed to un-select English from the alternate language options the required resources remain and the issue is fixed for good.

Steps to correct issue

  1. Open Site Settings in your PWA or other site collection where the App is deployed.
  2. Open Alternate Languages, and select English as an alternate language.
  3. Save the settings and wait for the changes to apply.
  4. Now opening the App should work without display issues.
  5. Finally if required repeat step 1 and 2 and de-select English to restore the previous setup (while keeping the fix).

HTH,

Configuring Project Online for App Development

I’ve been recently moving the last few components of my setup into the cloud and the last piece is decommissioning my development server, however not having full PowerShell access does place some limits on what can be done on Project Online so this particular error initially had me stumped:

Error occurred in deployment step ‘Install App for SharePoint’: Sideloading of apps is not enabled on this site.

On-premise that can be fixed as easily as:

Enable-SPFeature e374875e-06b6-11e0-b0fa-57f5dfd72085 –url http://server/PWA

(Source: http://blogs.msdn.com/b/josrod)

However as Tobias Lekman points out to do this on Office 365 or Project Online you need to use another method. Unfortunately the script you need: http://lekman.codeplex.com/releases/view/98505 appears to have an old GUID, so a slight modification is needed.

 

Steps to setup Project Online for App development

  1. First provision your PWA instance from the SharePoint Admin site, I’m going to use /sites/devpwa for this example.
  2. Download the Sideload.ps1 script.
  3. Open the script and replace the following line:
$sideLoadingGuid = new-object System.Guid "AE3A1339-61F5-4f8f-81A7-ABD2DA956A7D"

#Replace above line with:

$sideLoadingGuid = new-object System.Guid "e374875e-06b6-11e0-b0fa-57f5dfd72085"
  1.  Now run the modified script and follow the prompts, for example:

sideload

Now your PWA site should look quite different:

PWAImage

Now you can deploy from Visual Studio without errors and debug as you would on-premise.

Note: Obviously you don’t want to do this on a Production PWA instance, for Production sites only ever use an App Catalog to deploy manually.

 

Office 365 developer subscription limit

Lastly, one thing that irritates me is that the O365 MSDN Dev subscription does not include Project Online! So please join me every opportunity you get to speak to your contacts in MS about fixing this serious omission!