The deprecation of Sandbox solution is actually not new to those who continuously keep their eyes on Microsoft, which was announced in 2014. And 2 years later in 2016, Microsoft announced that its steps to completing the removal of code-based sandbox solution in SharePoint Online. Customers who have been using code-based sandbox solution have only 30 days before existing code gets stopped. This message does contribute to the list of pain points that exists.
In this article, I’m trying to propose a few options for such I call “a surprised disaster” in SharePoint. The article is not going to technically tell you step by step like removing assembly or converting code-based sandbox solution to client-side code. This is the job of hands-on developer which I’m not doing now.
One of the common approaches is to convert to client-side code to be compatible with SharePoint Online. This sounds an ideal approach but you would not have enough time if your SharePoint Online has many sandbox solutions deployed. Microsoft only allows your changes within 30 days. If you can convince your customers to hold on the business that sandbox-based application is offering just during the time of conversion, this approach is for you. In real-world case, it rarely happens, especially for organizations who have adopted Office 365 from the beginning (back to the day when folks heard of the cloud-based version of SharePoint).
Move Sandbox solution back to On-premises
This approach is to still keep sandbox solution but move back to On-premises environment (by it means, the private cloud environment running on Azure should be called an on-premises environment). What you only need to do is extract solution, build a new SharePoint farm and deploy sandbox into the farm. With this approach, you save your time, and offer your customer a continuous running business with sandbox solution, without any waiting time for model conversion.
Remember that the on-premises version of SharePoint is now following the strategy of SharePoint Online as Microsoft shared its vision of the future of SharePoint here (https://www.youtube.com/watch?v=0NyxhMlIGeA). Hence, you will have to sometime convert back to server-side code or client-side code running in your on-premises environment.
Learn move about preventive action to customization change in SharePoint Online
It would be a wise plan if you choose client-side and have a plan to move back to SharePoint Online after the client-side conversion. In this case, cloud is your friend because it allows you to very quickly provision a SharePoint farm running sandbox while the developer team is progressively converting to client-side. Once the conversion gets done, move the entire set of package back to SharePoint Online.
Full-Trust Farm solution conversion back to On-premises
There has to be a vision when going with this approach. You convert sandbox solution to full-trust farm solution and move entirely to a SharePoint On-premises environment in-house. No cloud is implemented. The conversion should not take time because what is supported in sandbox solution including user control, navigation page, SharePoint component are already available in full-trust farm solution. There are a few reasons as to why this approach is visionary. First, you have number of different external systems you want to integrate with your SharePoint. SharePoint is considered a data-centric initiative. With SharePoint Online, the integration technically is feasible but require the hybrid model deployment which is complicated. Secondly customization in SharePoint Online should not be so much because your applications run under SaaS model. Whenever Microsoft changes something to align its strategy, your customization may have impact. Writing application with high agility in SharePoint Online is very difficult, requiring seasoned developers who make their hands extremely dirty. Believe or not? Look at the list of Office 365 PnP Core team (http://dev.office.com/patterns-and-practices)
When moving back to on-premises, there are number of different concerns you have to be aware of:
- Microsoft committed to offering SLA Uptime of SharePoint Online is 99,9% (9 hours of downtime per year). If you want to offer your end users similar SLA, it’s truly costly.
- As mentioned earlier in this post, in the past Microsoft rolled out on-premises version and deployed in SharePoint Online. However, today this is changed conversely. Build in SharePoint Online is rolled out before On-premises. Moreover, look at the trend, there should be a little of serverless/microservice which emphasizes the end of server-side code.
- Depending on the investment plan for your SharePoint, typically the total cost of ownership for SharePoint On-premises is higher than the one in SharePoint Online. Why? Think about the resources (SharePoint Developer, Administrator…), hardware, infrastructure, operation and maintenance).
- Microsoft license is a big concern if you move back to On-premises. SQL Server, SharePoint Server, Windows Server or so on are in the list of your financial budget.
There is no silver bullet in the topic. It depends on how critical your application is to your business, and how much of time you accept during the conversion. There is also a long-term investment on your SharePoint to make a decision on where to move, what to convert to.
To me, I would recommend to move sandbox solution to cloud-hosted SharePoint farm to keep business be continuous, while preparing for the conversion to client-side. Once this is one, move the entirely client-side code to SharePoint Online and unprovision cloud-hosted SharePoint farm.
The removal of Sandbox solution opens the big door to all service providers offering a new conversion service to transform to client-side model. I would call this is the Sandbox Conversion Campaign.
Below are technical references of the conversion I highly recommend you to read:
- Sandbox code no longer available in Office 365 – with immediate effect
- SharePoint Online Sandboxed Solutions Disabled
- Microsoft Is Removing Code-Based Sandbox Solutions in SharePoint Online – Be Prepared!
- Sandbox Solutions removed from SharePoint Online–Here’s the fix for your Visual Studio developed WSPs to get them to activate