SharePoint is a powerful technology – but you need to avoid the pitfalls – otherwise, the platform will let you down
Learn about our experience and how we turbocharge SharePoint
Unfortunately, too many have had bad experiences with SharePoint. It’s a shame – SharePoint, especially coupled with Microsoft Teams, is a productivity-creating platform that delivers/performs.
In this article, we want to share our “secret” and give insight into how you can build and design performing SharePoint solutions – and understand/document why you can trust ITSM360 as a business-critical solution.
In this article
Our article is for tech-savvies who want to build real business-critical apps on top of Microsoft 365 – or evaluate our base architecture.
The key points are:
Why this reputation
As daunting and slow, SharePoint has a reputation back from old-prem-based SharePoint installations.
Incorrect hardware setup, lack of load balances, and a lot of iron on the farm made it complex and challenging for even experienced IT administrators.
These days are over. Use the SharePoint Cloud and not the on-prem, and you will see an optimized platform with storage in Azure that performs, scales, and comes with extremely high security.
Power BI example
Let us show you how SharePoint handles big data and how it can boost your collaboration and teamwork activities with a complete data set from the past month.
The Power BI report is from our ITSM360 demo site, where +175K Assets and CIs are created.
Each CI and Asset is represented as a SharePoint item in ITSM360.
Open for everyone for a test. Then, click on the report and discover the many SharePoint items.
Homemade app or business-critical
There is a big difference between simple homemade SharePoint solutions and those made for the enterprise.
Do everything you can to avoid homemade SharePoint solutions tailormade for departments.
Instead, go for professional solutions based on SPFx coding – they can scale, and, most important – you have business continuity instead of knowledge centralized at one internal superuser.
What you can do – homemade – is file sharing sites or primary communication channels in SharePoint.
The right SharePoint data model
If we need to find one bottleneck in SharePoint, the one-dimensional list structure is an issue for “real” enterprise app developers and architects.
Yes, you can cross-relate two or more SharePoint lists with Look-Up fields, but this feature can reduce performance and only work for small data sets.
Our recommendations in terms of the data model (what we did in ITSM360) are two important guidelines:
- Use JSON objects inside your SharePoint list to reduce the number of SharePoint columns in a single list
- Enable a relational model inside SharePoint
JSON objects (step 1)
Expressed simply, the traditional SharePoint way of thinking is to add fields/columns to the list when needed.
That is an option, but for complex business-critical solutions in SharePoint, you will end up with many columns in your list. To conclude, it can lead to issues with compatibility with the Power Platform, and if you expand the lists into Power BI, you may see a long refresh time.
In ITSM360, we evaluate each field/column requirement. For example, do we need a “controlling” field or a standard data field?
We need a controlling field to trigger or interact with Power Automate.
As a rule, if it is a secondary data field, it will be added to a JSON object, and the JSON object will be stored in a JSON field inside a field/column in the list.
The above example shows a CI with related attributes where some data is stored as column values and a JSON object.
The approach gives several benefits:
- Slim and fast SharePoint site that can work millions of items/records
- Declarative options where an unknown data stream can be stored as a JSON object without knowing the fields and structure
Enable a relational model inside SharePoint (step 2)
In ITSM360, the data structure comprises many SharePoint lists, and the default SharePoint gives us only the LookUp feature for interconnecting these lists.
We have implemented a relational data model by inserting a list that stores the different relations between items in separate lists.
This approach makes it possible to scale your SharePoint solutions, and at the same time, it helps when you start integrating your data.
Example from a “relation” list/definition:
Avoid SharePoint lookup’s
There are some built-in contradictions in the limitations of SharePoint.
According to Microsoft, a single SharePoint list can have up to 30 million items, but the lookups support only 5000 items + you can only have around 12 lookup columns in a view.
So, you should consider your usage of Lookups and your data design (data structure) if you hit the lookup limits.
Use web parts and apps
To clarify, if you want resilient and performing SharePoint/Teams solutions, you need to involve code to a greater or lesser degree, dependent on the business case.
In ITSM360, we have added SPFx features that bind ITSM practices together and work with the options and features in SharePoint:
- Apps are used for complex processes like IT ticket handling. For example, working with IT tickets involves many tables (data lists in SharePoint language) and rich features.
- Web parts and extensions are used in semi-complex processes.
Unlike the standard SharePoint views, the apps and web parts secure that the total capacity (30 million items) can be utilized without hitting the roof.