Busting the myths around code-less SharePoint solutions
Microsoft has significantly invested in improvements in its user experience, particularly with the additions of business applications including PowerApps, Flow and Power BI. The combination of these apps is now revolutionising business processes.
However, there’s now a misconception that all SharePoint solutions can be built without code. This myth needs to be dispelled, as it risks causing genuine innovation in that realm to suffer due to an irrational fear of code.
I don’t believe that every solution requires code, nor do I believe that all solutions can be code-less. However, an insistence on no-code solutions could do more harm than good.
The fear of code
Sometimes upgrades can cost more than initial deployments, resulting in fingers pointed at the dreaded monster in the room: code!
Quite often, the organisations that fear solutions with code are the ones that have deployed on-premise SharePoint solutions, from 2007 to 2013, because of the inherent in-flexibility in upgrading SharePoint at a later date. To put it bluntly, it can become a nightmare, because best practices around building applications for SharePoint were non-existent or simply ignored in the interest of building what the customer wanted. Developers need to find a middle ground when building a solution that meets the customer’s requirements without creating a headache when the customer inevitably needs to upgrade their SharePoint solution.
We’ve long held the opinion that you can do almost anything in SharePoint – and that’s still very much the case. However, many developers have extended and pushed SharePoint to its extreme, creating unexpected systems like gaming catalogues, risk management systems and even full-blown information management systems spanning geographies and languages. Because of the complexity of these systems, customers using them would dread upgrading to the latest version of SharePoint or moving to the cloud for fear of the cost, effort, and the potential pain involved in it.
While we could stare in awe of the amazing possibilities available within SharePoint, we also have to recognise that over-coded solutions seriously affect the portability and maintainability of SharePoint deployments. Portability includes the ability to upgrade SharePoint without an enormous amount of rebuilding or recompilation efforts; ideally, we should be as close to lift-and-shift as possible. That’s why heavy coding is often perceived as the cause. While that can, in part, be true, we need to remember why code was needed in the first place: for the requirements of the project that were non-negotiable.
Myth 1: Microsoft doesn’t want us to code
All applications within the Office 365 ecosystem, including SharePoint Online, have a corresponding set of APIs to work with, to integrate and automate them.
Microsoft is investing heavily in creating business-user-friendly tools like PowerApps and Flow, which can be used to build solutions with no code; realistically, non-IT colleagues in your business should be able to use them to build solutions and workflows easily. And that raises the question of whether code is required at all.
This perhaps ignores a fundamental premise: that Microsoft is not investing as much in the coding ecosystem. To understand how vast that ecosystem is, consider the list below, for SharePoint on-premises alone:
- Server side object model
- Client side object model (CSOM)
- SharePoint REST APIs
For SharePoint Online, you can add Microsoft Graph APIs to the list. To support us with building scalable, enterprise-grade applications for the cloud to augment our SharePoint solutions, Microsoft is heavily invested in Azure.
Azure, by the way, is the backbone of everything online in the Microsoft world — including our beloved SharePoint Online.
Apart from this, Microsoft provides us with an amazing array of tool sets for building such solutions:
- Visual Studio
- Visual Studio Code
- Azure management APIs and Azure CLI
- .NET core and .NET CLI
- PowerShell modules for Azure and Office 365
- SharePoint PnP
Each and every offering within the Office 365 ecosystem, including SharePoint Online, has a corresponding set of APIs to work with, integrate and automate them. Therefore, the idea that Microsoft doesn’t want us to code can be considered a myth, rather than a reality.
Myth 2: PowerApps and Flow can do everything without code
PowerApps and Flow are powerful solutions that can be used for basic functions with no code. However, they can be enhanced and taken to the next level when expanded with a bit of code.
As standalone tools, PowerApps and Flow in particular are fantastic tools that will completely change the way we work. Plus, they’ll only get more powerful thanks to Microsoft’s ongoing investment in SharePoint and its supporting business applications – evidenced in the SharePoint Business Applications Program – of which TSG is the only charter member in the UK (and one of only 11 businesses worldwide to be included).
However, a number of projects – about a third, in my experience – will require some coding in the solution. Does this mean we should ditch PowerApps and Flow totally when such scenarios pop up? Absolutely not! We should augment the tool sets with a bit of code to achieve the requirement, rather than simply replace them with an alternative fully coded solution.
Take for example an expenses system – something we’ve built time and time again using PowerApps, Flow and Power BI – that has additional requirements. This system requires that individual lines be approved and rejected by line managers. In such a scenario, while we can build the approval screen with PowerApps, our customer required us to build a screen with which they are able to quickly approve items in bulk, a way to create rate card reports that can be presented within SharePoint pages, with support from a mobile application that their employees can use to upload their expense claim.
In such a scenario, instead of shoehorning our solution into PowerApps/Flow, we decided to go a hybrid route where in the employees use a mobile PowerApp to upload their claim and a SharePoint web part to provide the approval and rate card screens within SharePoint — thus augmenting the already powerful, business user-friendly mobile application.
It's these hybrid solutions that have earned us our place on the SharePoint Business Applications Partner Program – my team has created solutions that incorporate SharePoint in many forms to build systems that completely replace manual, paper-based processes and thus revolutionise the way our customers work.
To code or not to code?
Microsoft is placing a focus on releasing apps that can be used by any business user – from HR to finance and admin. And thanks to newer SharePoint interfaces and add-ons, not all SharePoint solutions need to be created or expanded with code.
However, this has resulted in a reluctance of writing code to solve real-world problems with SharePoint; by shying away, we might be doing a disservice to the inherent flexibility, scalability and the power of the platform that Microsoft has built for us and our customers.
There’s no doubt that past experiences using on-premise SharePoint solutions with coding presented a challenge and resulted in an aversion to code. However, the new set of tools and the power of Azure has opened up a new world where business-friendly tools can be augmented with code to provide powerful and scalable solutions.
Check out some of the revolutionary solutions we’ve created for customers that blend code-free and coded elements: