There are so many new ways to customize SharePoint Online that it has become nearly as powerful as the custom developed solutions we’ve seen developed for SharePoint on-premise environments over the years.

First, a quick explanation of the differences between SharePoint Online and on-premise. In a traditional SharePoint on-premise environment, we can write code that is deployed and runs from the actual SharePoint servers. This code has access to absolutely anything in SharePoint (if you let it). This is great for building highly customized solutions. But when it comes time to upgrade or migrate, problems tend to arise. It also requires downtime to maintain these solutions because they are integrated with SharePoint.

We cannot deploy this server code to SharePoint Online, so instead we use client-side code. This is code that runs in your browser. You’ve heard of JavaScript, HTML5, CSS3 right? These are modern web development technologies that allow developers to customize websites and they are all available in SharePoint Online. The client code talks to SharePoint Online through APIs. In fact, these APIs are also available in SharePoint 2013 on premise as well. This means you can build these client-code solutions to work in both on-premise and SharePoint Online environments!

Here are some examples of custom solutions built to work in both SharePoint Online and on-premise SharePoint 2013.

The first example is the File Tree Explorer Add-in shown in the screenshot below. This add-in works in both SharePoint Online and on-premise. Its purpose is to provide a Windows Explorer-like navigation of all of the document libraries across your sites. The user can even upload documents into the library right from the Add-in. This was developed entirely using JavaScript, HTML, and CSS.

File Tree Explorer Add-in

Another example is SharePoint site provisioning. Do you regularly create sites in SharePoint that share a common template and properties? Imagine users completing a simple form and once submitted, a new SharePoint site is created based on a predefined template. Then unique site permissions are applied, default values are configured in document libraries, custom branding is applied, and the site is even added to a site directory. Essentially, this app takes all of the tasks that would need to be handled manually when a new site is created and handles it automatically. This can all be accomplished in SharePoint Online using nothing but JavaScript, HTML, and CSS.

SharePoint site provisioning

With all of these capabilities available to us in SharePoint Online, we are able to develop all kinds of cool solutions that extend SharePoint in ways that don’t compromise performance, security, or reliability.

This SharePoint Tip written by Eric Gregorich, Senior SharePoint Architect at Abel Solutions