Code based Sandbox solutions are officially deprecated from SharePoint Online in 2014. Microsoft introduced Sandbox solution in SharePoint 2010 and now as code-based Sandbox is deprecated, Microsoft is emphasizing on other options like SharePoint Hosted Add-in, Provider Hosted Add-In, Remote Event Receivers to use as alternatives.
Reference - All you need to know about Sandboxed Solutions
Can we still use Sandbox Solution in SharePoint Online and SharePoint On-premises?
The answer to this question is not straight forward. We need to first understand what is Code based Sandbox Solutions.
- Answer – NO: - Code based sandbox solutions contain server-side code and the solution contains .Net assembly file (.dll). These types of Sandbox Solutions are deprecated.
- Answer – YES: - If you are using Declarative Sandbox Solutions or NCSS (No Code Sandbox Solution), then you are SAFE. It is advisable that you use SharePoint Hosted Add-In but still you can use Declarative Sandbox Solutions both in SharePoint Online and SharePoint On-premises
What is Declarative Sandbox Solutions?
The solutions which have got the code, only in languages like CSS, HTML, JavaScript frameworks (JQuery, Angular.JS, React.JS, Node.JS), AJAX, SharePoint REST API, XML are called Declarative code.
What should be the next steps for the applications running the Code Based Sandbox Solution?
- Any Sandbox solution, containing server-side code should be replaced by App/Add-in Model. Microsoft is also focusing on upgrading more and more in App/Add-in models and making them powerful.
- Developers should focus on JavaScript frameworks (JQuery, Angular.JS, React.JS, Node.JS), REST API and other client scripting languages to carry out the development.
- NCSS (No Code Sandbox Solution) is still available and you can use scripting languages mentioned above which should be good for custom actions, branding, etc...
How to create NCSS (No Code Sandbox Solution) from Visual Studio?
You need to follow only one simple step to achieve this. As shown in the screenshot below, you need to select False for Include Assembly In Package option from Project Properties.
Planning for Sandbox Solution Replacement
Reference - Transform sandbox solutions to the SharePoint Add-in model
Now when you have Sandbox Solution already deployed to your live application, sooner or later you might have to plan to replace Sandbox Solution with other alternatives. Below are some guidelines that can be helpful during your planning activities.
- Review the existing requirements with business, you can agree with the business/user to omit the functionality that is no longer in use.
- For each component in Sandbox solution, try to find out OOB functionality that you can use with minimal/no customization.
- Event Receivers – You can consider using remote event receivers. Remote Event Receivers also need to be hosted on IIS Server, so you need to consider that as well.
- Visual Web Part – You can use SharePoint/Provider hosted Add-In to replace visual web part with custom JavaScript forms.
- Feature Receivers – Feature Receivers can be replaced by the remote call of CSOM, REST API or PnP PowerShell commands
- Custom Workflow – you can think of SharePoint designer workflow or Microsoft Flow to replace Custom Workflow.
- InfoPath form with Code – You can consider using SharePoint Hosted Add-In
Conclusion:
Code based Sandbox Solution is deprecated and Microsoft is putting efforts on Add-In models only. It is time to consider Add-in model only in all the new and old application development.