This article summarizes the SharePoint Online Compatible Development Strategy that is picking speed in high-profile organizations and is also endorsed by Microsoft.
Scalability
SharePoint Online provides easier scalability compared to SharePoint On-Premises. But, the data security is access where no-internet are additional factors to be considered when moving to SharePoint Online.
CSOM
As stated earlier, the Client-Side Object Model is the preferred programming way for SharePoint Online. CSOM frees the server from running custom code.
For complex coding or legacy systems, the Provider-Hosted-App (PHA) approach can be added. In PHA the code resides in a different server. Here we can use C# CSOM methods.
REST
REST Services are the preferred approach for performing CRUD operations. If the solution requires custom business logic processing, additional WCF services can be used.
REST is a preferred approach when using client-side scripting.
OData
OData allows custom field filtering over results. Additionally, it allows sorting and paging operations too. REST combined with OData should cover the core business solution requirements.
No Custom Master Pages
Custom Master Pages are not preferred in the SharePoint Online Compatible Development strategy. In the SharePoint Online version, using custom Master Pages prevents the page from automatic Master Page updates.
The SharePoint composed looks and themes framework can be used to support the basic functionalities of a custom Master Page. For advanced customizations, the following approaches are preferred.
JavaScript Injection during pre-render of pages using the JavaScript Link option is one preferred approach without using custom Master Pages.
Branding for Publishing Sites
Usually the publishing sites must undergo branding. Identifying these customer facing sites and applying customizations only to these will save a lot of effort from development, implementation and maintenance.
No Branding on Collaboration Sites
Collaboration Sites are usually meant for Internal Team Activities and can be freed from branding.
Client-side Rendering
Client-side Rendering allows modifying the list items and field look and feel. Here JavaScript injection controls the pre-render event of list items and thus client-side rendering is done. We can use the JavaScript Link option here too.
Deployment
If we are using Farm Solutions or WSP deployment then that may not work with SharePoint Online. In this case the preferred deployment approach is to use a CSOM Deployment Tool that will do the custom deployment activities like:
- Creation of site collections and sites
- Configure content types
- Configure site columns
- Configure list and libraries
- Configure Permissions
Please refer to the following references for more information.
References
Summary
In this article we explored the SharePoint Online Compatible Development Strategies. I believe these ideas would require additional efforts in the short-run to save the additional efforts in the long-run.