In the first post of this series, we examined the primary differences between SharePoint farms in a multi-tenant environment like Microsoft’s Office 365 and in a private cloud provided by Fpweb.net. In this blog we’re going to take a closer look at the developer features missing from Office 365.
The following SharePoint 2013 features are not available in Office 365 Enterprise E3 or E4 plans, but are available in any SharePoint Server 2013 Enterprise hosted environment hosted by Fpweb.net. The following italicized text is quoted from http://technet.microsoft.com/en-us/library/sharepoint-online-developer-service-description.aspx.
Missing Developer Features
- BCS Profile Pages. Not available to SharePoint Online customers. Business Connectivity Services (BCS) provides a special WebParts page called Profile pages. Profile pages allows for BCS to display details of the external data in addition to its related external content types.
- BCS Rich Client Integration. Not available to SharePoint Online customers. Business Connectivity Services (BCS) uses a complimentary client and server-side architecture that allows for Office clients, such as Outlook and Excel, to work directly with external data exposed to SharePoint through external content types. Learn more about Business Connectivity Services Client Runtime.
- Custom Site Definitions. Not available to SharePoint Online customers. SharePoint Server 2013 customers can create their own site definitions that customize and extend standard SharePoint site templates. Learn more about creating custom site definitions.
- Custom Site Provisioning. Not available to SharePoint Online customers. SharePoint Server 2013 customers get a quick and easy way for users to make their site requests and to start using their sites quickly.
- Full Trust Solutions. Not available to SharePoint Online customers. SharePoint Server 2013 customers can create full-trust solutions. Also called farm solutions. Unlike apps for SharePoint, farm solutions contain code that is deployed to the SharePoint servers and makes calls to SharePoint’s server object model. These assemblies always run with full trust. Farm solutions should be used for customizations of SharePoint administrative functions, such as custom timer jobs, custom Windows PowerShell cmdlets, and extensions of Central Administration. Learn more about building farm solutions in SharePoint 2013.
Of this list, the most significant missing feature of Office 365 is Full Trust Solutions. In some scenarios, farm solutions is the only possible choice when building custom applications for SharePoint. With Office 365, you are limited to developing SharePoint solutions as either an App (using SharePoint 2013’s new App model) or as a sandboxed feature. Sandbox features have been deprecated in SharePoint 2013 but still exist for backwards compatibility. For this reason, it is not recommended to create new sandbox solutions.
So really the question comes down to whether to use the App model or create a full trust solution. Regardless of where your SharePoint farm is (Office 365 or on-premises), it is recommended to use the App model whenever possible.
Learningsharepoint.com provides the following succinct definition of an app: “An app for SharePoint is a small, easy-to-use, stand-alone app that solves a specific end-user or business need.” The primary advantages to creating an app are:
- Runs isolated from the rest of the SharePoint farm
- No SharePoint server-side code
These two points basically mean if there’s offending code, it will more than likely not impact the rest of your SharePoint farm. This also means there’s potential that apps “may cause considerable overhead.”
Although leveraging the App model is the preferred method of development when creating SharePoint solutions, sometimes it’s just too limited. If you want to do any of the following, you must develop a farm solution:
- Create consistent branding across an entire SharePoint farm
- Create a custom web part, application page, or ASP.NET user control
- Create an extension of Central Administration
- Create a timer job
- Custom site definitions
- Custom themes
Furthermore, Apps are scoped to the current site collection. A farm solution is installed to the solution store and can be deployed across multiple web applications and made available to any number of site collections.
So if you need to create a full trust solution in order to meet your business requirements, Office 365 is not an option. Because Fpweb.net provides you full server control of your SharePoint Enterprise farm, you have the ability to choose to use the App model or to create a full trust solution. Basically, your developers will be happy because they can decide what works best for the requirement. Which will make your life easier, because you won’t have cranky developers…
This Doesn’t Apply To Me
I know some of you are saying that’s all fine and good, but I don’t have any in-house developers so what does all this matter?
Maybe you won’t be doing any in-house development or customization, but there are many 3rd party vendors that develop SharePoint Farm Solutions. Even if you don’t have immediate plans to use one, as your SharePoint farm grows, you may find a need to use a Vendor’s solution in the future. With Office 365, you are limited to your choices of solutions.
With an on-premises Enterprise plan from Fpweb.net, you have the freedom to choose any available solution.
As you can see, with an Office 365 plan, you are limiting the Developer features available in SharePoint 2013. Most significantly, you are unable to use Full Trust Solutions. In the next entry of this series, we’ll examine the IT Pro Features that are unavailable in Office 365.