In this post, we will discuss what are the limitations of SharePoint farm solutions, limitation of sandboxed solutions and the advantages of SharePoint Add-ins (Previously known as Apps). Microsoft introduced farm solutions in MOSS 2007 version and to overcome to an extent the limitation of farm solutions Microsoft introduced SharePoint Sandboxed solutions in SharePoint 2010. Both Sandboxed solutions and farm solutions become more popular among developers. In SharePoint 2013 Microsoft introduced the whole new concept of Add-ins (previously known as Apps).
– SharePoint 2016 new features
In SharePoint 2013 we have all the three options to work with. So it is important to understand the advantages and disadvantages of all three options (farm solution, a sandboxed solution, or a SharePoint Add-ins). Though Microsoft earns huge money from on-premise versions it changes its strategy for 2013 and future versions. Now Microsoft’s focus shifted towards cloud (Office 365) instead of on premise. By introducing add-ins Microsoft has made drastic changes in development technique for SharePoint.
Below are few limitations of SharePoint farm and sandboxed solutions:
– SharePoint farm solutions code always runs in SharePoint server. Farm solutions run within SharePoint worker process known as w3wp.exe and SharePoint sandboxed solutions code run within SharePoint sandboxed worker process SPUCWorkerProcess.exe. Running code in the SharePoint server is always at risks which decreases the stability of SharePoint farms. The other problem comes with SharePoint farm solution when customers want to upgrade to a newer version of SharePoint. Most farm solutions developed using full trust and perform complete operations which are not so smooth while upgrading. Sometimes you may need to rewrite the complete solutions as well as sometimes customers are not comfortable unless properly tested in the newer versions of Microsoft.SharePoint.dll. Since companies delays the upgrade ultimately it affects Microsoft’s sales revenue.
– Another problem with SharePoint solution is that the code always runs under the identity and permissions of a specific user. So if a SharePoint administration activates a feature then the code can do everything that a SharePoint administrator can do. At the same time, a sandboxed solution can protect the farm and other site collections but it can not protect the site collection on which it is activated. By using few lines of code a sandboxed solution can delete all list and document libraries in the site collection.
– Another problem with the sandboxed solution is that it can not do an impersonation. A code will run as current user permission, if the current user has only read access then your code can not elevate permission to do more than the permission which the current user has. At the same time, farm solution can elevate permission by using SPSecurity.RunWithElevatedPrivileges which allows custom code to run on SHAREPOINT\SYSTEM account which has no security constraints. This can harm anything in the farm.
– Another problem with farm solution is that it requires a farm administrator to install solutions and also in most of the times it requires IIS reset on all the front-end servers. Always difficult to install, upgrade a farm or sandboxed solution.
On the other hand SharePoint add-ins, architecture is different compared to SharePoint solutions.
– Microsoft designed Add-ins in such a way that it works both in Office 365 environment as well as within the on-premise environment.
– Add-in codes never run in SharePoint server. There are two types of add-ins: one is SharePoint hosted add-ins where the code runs inside the browser on the user’s computer because it contains only client-side code. And the other one is a provider hosted app where the code runs in an external website and it contains server-side code.
– Add-ins can be installed from Office store or from Add-in catalog sites, Office Add-ins does not need any IIS to reset for adding to the site, it is easy to find, install and upgrade. Add-ins can be installed on both on-premise as well as in SharePoint Online.
– Add-ins code is authenticated and runs under a distinct identity. Add-ins permissions can be configured independently of user permissions.
Hope this will be helpful.
You May Also like the Following SharePoint Tutorials: