Friday, March 9, 2018

Recent breaking changes in SharePoint Online

If you ever wondered why SharePoint online apps/add-ins/products are sold almost exclusively as subscription - here is your answer.

We at KWizCom run full automated testing on several production tenants as well as on our own fast-ring release tenant every night, as well as after every build is pushed to fast ring or to production.

More often than we'd like, we see glitches or breaking changes pushed to production that make some or all of our code stop working as intended.

Here are a couple of stories from the past 48 hours:


Product manager sets up a live demo of our forms solution. EVERY THING breaks. Pages load with no settings, after a refresh - with only some settings and on other times normally with everything working.

We investigate and notice that SPO (SharePoint Online) is returning a JS file we store under the site assets with a different content every time.

We cancel all caching, open the file in the browser - and you won't believe it! We get a different file every time!

We rename the file, so the file in that URL doesn't exist anymore. Is the problem gone? No - it's worst. Now it comes back in 3 different versions as well as a 404 not found error occasionally.

I'm freaking out, calling on all my Microsoft contacts to investigate. Within 6 hours the problem is gone like it never happens.

Was I dreaming? NO! I got the video to prove it:

Now, obviously I can't reproduce it so I can't give Microsoft additional information, there is no way to know what happened and how to prevent it from happening again.

(Sounds to me, like a new caching feature was being tested out and pushed to production, then later pulled back).


You thought the first story was strange? try this one. We have a provider hosted app that customers are required to install in order to get our products working.
We literally had this app for YEARS with no problems.
Two days ago we get a support call that no one can install our provider hosted app.
We check and see that our app has an install and uninstall remote event receivers - and that event receiver is throwing error 500.

This event receiver code hasn't changed in years, so what happened?
Well, a built in method that visual studio project auto-generated for us that gets the clientContext used to work, or return null if the app was not trusted.
In the last 48 hours it now stopped working and was throwing an exception blowing up our event handler.

Fun times.
In the first case, we had nothing to do but wait, in the second - it was a simply easy fix. But you get my point as to why we need to constantly monitor and push updates for our products?

Now, you might better understand why I am a strong advocate of allowing vendors to update apps remotely without forcing each user to install a new package (like they try to make us do in the new SPFx eco-system).

We literally push hundreds of updates and fixes every month for all our products without bothering the users to install them - I can't imagine we would have happy customers if they would need to install hundreds of updated packages every month...

Now, if you are wondering why we need so many updates, and boasting about your single app that was built X years ago and working until today - ask yourself what does it do. My guess: not much more than saying "hello" or showing the current time and weather... ;)

Hope this provides some insight to those who are looking to support SPO or any cloud service in their products. Sound off in the comments if you have more to add!

Tuesday, March 6, 2018

Speaking Engagements 2018

ust FYI, my speaking engagements for 2018 are posted here, If you are around – come see me!

If you were in one of my sessions, you can find links to the session code and presentation below.

Also – if you have any comments on my session – feel free to post it here!

February 21, 2018 - Toronto SharePoint User Group - SPFx: An ISV Insight to Microsoft’s latest customization model

Friday, February 9, 2018

Windows 10 updates and Hyper-V - beware!

So, I always have a local copy of a full SharePoint farm with a domain controller, data base, exchange server, SharePoint servers from version 2007, 2010, 2013 and 2016 on my desktop.

Its a beast with 16 cores and 100gb of ram.

The OSs of the VMs are windows server versions, some newer and some older like windows server 2008 R2.

In one of the recent updates on my windows 10 host OS, all my VMs were completely gone from hyper V.
I lost all configurations and all snapshots without any warning!

Only 1 VM survived - the one with the newest OS running the SP2016 server.

After re-adding my VMs using the original VHD drives I thought the worst is behind me.

Not so -

It seems the good guys at Microsoft went into a bit of a logic-endless-loop here...

See, they moved all hyper-v drivers into windows update.
Since it is all in windows update - there is no need for the VM integration disc anymore.
So, they removed the vmguest.iso file and the menu option to "insert integration services setup disk".
They claim it is not needed since all VMs now have the network drivers built-in and then can connect to windows update to get the drivers they need.
What about OSs that don't have the drivers? - use the legacy network drive!
But, the legacy network drive doesn't work on 64bit OS.
No problem - get the latest drive from windows update!

Well, after going around in a loop for a day and a half I was finally able to get the vmguest.iso file from a colleague (Thanks Kevin!).

I inserted it into the VM and run the installation, and once completed my network adapter showed up again.

 I guess this was done since Microsoft doesn't officially support windows 2008 anymore, the question is - why purposely kill support for this OS? You had something working, why not just keep it as it?

Or, it could have just been something they missed in the latest update.

Anyway - keep an eye out for this update, and keep a safe copy of the vmguest.iso if you got one!