Office 365 has made SharePoint simpler to install, simpler to manage and simpler to use. Under the direction of Microsoft CEO Satya Nadella
, the focus of new innovation has been on lightweight, easy to use Apps. Planner, StaffHub, ToDo and Teams are all designed to be out of the box, zero training tools to help organisations become more efficient. This ‘simple and lightweight’ principal has also been applied to SharePoint. Since its release in 2001, it’s fair to say that SharePoint has been very ‘Marmite’. Acknowledged as being a powerful tool for organising information and managing business processes, it has never been loved by end users due to its clunky interface. Part of the problem has undoubtedly been poor implementation and even worse end user training. We once came to the rescue of an organisation that had invested £120,000 in licences and hardware, and purchased just 2 days of consultancy to help configure the system. Last year saw the release of SharePoint 2016, and with it, the ‘Modern Experience’. This takes the core SharePoint functionality – pages, lists, libraries – and re-skins them to give a more intuitive and modern interface. Common tasks, such as copying documents, are easier to achieve. And the underlying system that drives this has been brought up to date to reflect current trends in software engineering.
So far, so good…
The problem with the new SharePoint experience is that it was released before all of the features had been completed – a touch of cart before horse. Companies had begun to embrace SharePoint Online because it was readily available and becoming integrated with Outlook, OneDrive and Yammer. Suddenly there was confusion, with 2 interfaces, and no clear way to customise and extend the new one. This has left people in limbo – do we keep developing on the Classic Experience using the older (but mature) technologies? Do we develop using current technologies on the new system? Or do we hold fire until a clearer picture emerges? Hopefully this article can provide some clarity as to what direction to follow.
The current landscape
As always, there are different solutions for different problems. Previously, if you wanted to create some business processes on SharePoint, you would either:
- Use SharePoint Designer to create some workflows and forms;
- Use InfoPath to create more interactive form-based solutions, with Workflows giving you business logic;
- Fire up Visual Studio and C# to write full-blown applications that run on your server.
PowerApps and Flow
These are the no-code, business friendly, modern alternatives to Microsoft InfoPath and SharePoint Workflows. PowerApps
is a Form Builder tool designed for modern devices. Without having to write any code, you can quickly create a PowerApp that will interact with a SharePoint List (or other data). Once created, you customise the App using drag-and-drop controls, changing the order of fields, adding validation and rules. To do more complex tasks, you can create a ‘Formula’ or connect to server code by building a Custom Connector. Flow
is an engine that can perform tasks in the background as the user interacts with the PowerApp. It is designed to connect together any number of cloud systems – SharePoint, Dynamics, DropBox, MailChimp, Twillio, Twitter… And these tasks can be strung together using a flowchart-based designer. This is where you can instruct the App, when a user adds a new item to a list, to email the user’s manager, create a new lead in Dynamics, and add a record to MailChimp. Just like SharePoint 2013 Workflows, Flow allows you to create reasonably complex process, inlcuding loops and ‘if – then – else
‘ statements. It can be attached to a list or library in SharePoint, or just run as part of the PowerApp. Flows and PowerApps can be saved as packages and version controlled.
Things to watch out for with PowerApps and Flow
SharePoint Add-Ins (aka SharePoint Apps)
When SharePoint moved online, Microsoft needed to find a way to allow people to run server-side code that wasn’t going to bring down their hosting service. Previously, developers had been able to install code to run on the servers in a ‘sandbox’ – i.e. in its own process so that, theoretically, it wouldn’t break anything else on the server. However, allowing people run any sort of bespoke code on Microsoft’s SharePoint servers was never going to be allowed for very long. SharePoint Apps, which were subsequently renamed SharePoint Add-Ins
, were the solution to this. SharePoint Add-Ins are self contained applications that can be hosted anywhere. They communicate with your SharePoint Tenancy using one of a number of SharePoint APIs
that Microsoft have made available. They can make use of SharePoint functionality, such as lists, libraries, pages, workflows and Web Parts. Because they are typically created using Visual Studio, they can be packaged up and redistributed to many SharePoint tenants/installs. They can also be placed on the SharePoint Store for people to purchase and download.
SharePoint Add-Ins are Self Contained. To run them in your SharePoint site, you have three options:
- Run them as full page applications – this means navigating out of your SharePoint Site into a new site.
- Run them in your SharePoint page as an Add-In Part. This adds an iFrame to your page and runs the app in there.
- As a custom UI action – add a menu item to kick of a process in the background.
This works OK, but if you want to create some nice front-end functionality within your SharePoint site, it doesn’t really fit the bill. iFrames are not responsive, and there is no way to interact with other elements on the page or create nice popups. Many organisations won’t allow iFrames for security reasons. SharePoint Add-Ins originally couldn’t be run in Modern Pages. However, a 2017 update has enabled this functionality. Building user interfaces that require an iFrame is still clunky, though. Modern web development has moved on a lot
The SharePoint Framework – The Answer?
So far we have considered:
- PowerApps – Responsive, integrated with Modern Experience, but limited and potentially costly.
- Sharepoint Add-Ins – Powerful, server-side code, but needs to run separately.
Early in 2017, Microsoft released the SharePoint Framework for general availability. The SharePoint Framework
Its still early days with this new technology. However, there is now a clear vision from Microsoft of how developers can extend not only SharePoint, but Office 365 in general. The Office Graph makes Mail, Calendar, Contacts, Documents and more available to developers; Flow Connectors can quickly connect you to other Cloud Services; PowerApps can quickly produce interactive forms for any device; and the SharePoint Framework gives a modern development environment for building proper business tools. The tools are maturing quickly, and the developer community is growing. Microsoft has been in a rush to release these modern frameworks, but the substance is now following, and SharePoint Online will rapidly become a natural home for high quality business applications. If you would like to discuss how AMT Evolve can help you with building high quality business applications on Microsoft Technologies, call 02393 872560 and ask to talk to James or Paddy.