+45 70 270 570 sales@itsmcompany.net

Demystifying SharePoint

SharePoint is a powerful technology – but you need to avoid the pitfalls – otherwise, the platform will let you down

INSIGHT

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.

Why SharePoint

SharePoint is included in all professional Microsoft 365 subscriptions – so why not just start using it?

If we consider professional collaboration and process support, SharePoint brings features to the table that are important for enterprises:

  1. Plenty of storage
  2. High availability
  3. Data can be shared outside your tenant
  4. Seamless connection to Power Autoamte (+Power Platform in general) and wide availability of Power Automate triggers for SharePoint data that can be used for process design/execution – including AI
  5. Feature-rich (inbuild) like version history, search, notification, build private views, and much more
  6. Authentication by Azure AD
  7. Data permission model
  8. Security and compliance – connects to Microsoft Data Retention, Records Management, Data Loss Prevention (DLP), eDiscovery + additional security plans offered by Microsoft
  9. Graph API connections
  10. SPFx developer framework – SharePoint Developer Framework

 

Use SharePoint Online

The discussion is about SharePoint on-prem or the online version. Some swear by on-prem because of the desire for better control over data and security.

But go for SharePoint Online – the arguments are many – but most importantly are:

  • The performance is optimized and managed by Microsoft. You will not be able to make it as fast as Microsoft with optimized Azure storage for SPO
  • The interaction with valuable Microsoft components like Power Automate and Teams or with 3rd part components works seamlessly
  • The platform is always patched, and the newest features are deployed to SPO long before they hit the on-prem releases
  • Service levels are unmatched
  • Ability to work with/invite guest users 

So, instead of working with SharePoint, go for the Online version and use your resources for a value-adding effort.

As for security – we wonder if you can create the same protection that Microsoft offers in their online service.

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:

  1. Use JSON objects inside your SharePoint list to reduce the number of SharePoint columns in a single list
  2. 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.

Example:

 

ITSM360 CMDB CI with related JSON data

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:

ITSM360 Relations Table for connecting items in different lists

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.