Does your organization allow the use of Add-ins in its Office 365 SharePoint Online tenant? Some do and some don’t, and one of the reasons that some organizations don’t permit them is that they can break unexpectedly. Let’s talk briefly about why that can happen.
Before the Add-in model for developing custom applications for SharePoint, there was what is now called Full Trust Code (FTC) solutions or farm solutions. These are deployed to SharePoint servers and have complete access to the SharePoint server side object model. These solutions could customize the SharePoint user experience extensively and let people create very sophisticated applications. However, Microsoft tells us from their support experience that these solutions were very frequently capable of breaking SharePoint or slowing it down.
As Microsoft matured in its ability to host SharePoint as SharePoint Online, part of Office 365, they created a new application development model for Sharepoint, the App Model, also called the Add-in Model. This model has all custom code running outside of the SharePoint environment and using modern web standards such as REST APIs and other kinds of web services to talk to SharePoint. In this model, custom code can no longer break SharePoint. However, these custom applications rely on the web services that SharePoint publishes in order to work. Anecdotal evidence that I’ve heard from a variety of SharePoint Add-in Model Independent Software Vendors (ISVs) says that these web services can change without warning. It’s not supposed to happen that way, but it does. Ideally, all changes get introduced in a preview version prior to being “generally available” (GA). What I’ve heard from ISVs is that they have to test the supposedly stable versions of their applications daily and then rapidly remediate problems when the APIs they rely on from Microsoft change unexpectedly. You can hear CJ on the Microsoft Cloud Show episode 110 talk about this – he wishes Microsoft was better at communicating about their changes. Microsoft is working on this, and recently released a Change Log for the Graph API, a key API for Add-in development. However, that’s not the only API that is used for Add-in development.
So the problem persists, and this is how it impacts a business:
- A business uses SharePoint Online.
- A business buys an add-in to meet a specific business need.
- A department or team within the business builds a business process on top of the tools that the add-in and SharePoint Online and Office 365 provide.
- Then something changes.