Important Considerations about SharePoint Customization
Although SharePoint can satisfy basic collaboration and communication needs of organizations out of the box, soon after implementing a solution, many organizations may opt for going beyond the core functionality. For example, companies may want to modify dashboards and menus or integrate a SharePoint solution with other software. All these changes can be implemented with customization. But customization is also one of the sore points for the platform’s owners due to the associated complexity, multiple risks and limitations.
Based on our expertise in consulting companies about SharePoint solutions and services, we have analyzed what is important to know about SharePoint customization, including both its opportunities and limitations.
Why to customize
The customization capabilities of SharePoint allow creating a variety of solutions adapted to the company’s already established processes. These solutions include:
- Document management system (DMS).
- Contract management system.
- Learning management system (LMS).
- Knowledge management system (KMS).
- Ticketing and help desk system.
An extent of customization depends on the type of solution. Since SharePoint was designed to meet content management needs in the first place, it will require less customization for implementing a DMS on its basis as compared to making a help desk system.
Whether a company already has SharePoint in use or only considers implementing a SharePoint-based solution, customizing the platform gives businesses opportunities to resolve the following challenges:
- User resistance to productivity and collaboration tools. Customization helps to create convenient UX and intuitive UI to encourage employees to actively use SharePoint.
- Insufficient employee performance. Complementing a SharePoint solution with advanced functionality, for example, AI boosts employee performance and overall business efficiency and provides a competitive edge in the market.
- Disintegrated workflows. Integration of SharePoint with other tools can help to streamline business processes, and customization is used to ensure smooth operating of integrated systems. For example, integration with CRM allows automated inserting data from CRM into contract templates stored in SharePoint, which helps to avoid manual data entry and contracts’ duplicating in two systems.
- Difficulty to transfer data and workflows to new technical environment. Customization is needed to ensure seamless transfer of content, workflows and custom features when migrating a SharePoint solution to a newer version of the platform or to the cloud.
- Obligation to adhere to compliance regulations. Customization allows creating a hybrid SharePoint environment through connecting the on-premises and the cloud deployments of SharePoint. It is relevant, for example, for health care organizations that may store routine documents in the cloud but are bound by federal and state compliance regulations like HIPAA to store patient information on premises.
What to customize
The main SharePoint elements that can be customized include:
- Design. SharePoint branding covers modifying any such SharePoint features as logos, styles, colors, master pages and page layouts. It helps to create a unique look and feel and promote corporate culture across the company.
- Navigation. The customization of navigation helps users to quickly access relevant information. It enables, for example, adding, editing or removing links on the left-hand menu on a team site, the top menu or footer menu on a communication site or a hub site and more.
- Page content. Customization provides creating custom layouts for web pages. Also, it’s possible to customize a SharePoint page by adding custom Web Parts (Events, News, Bing Maps, File Viewer, Image Gallery, etc.). Also, custom SharePoint add-ins can be created, for example, to show employees’ workplaces on an office plan or provide a weather snapshot of a given location Besides, due to customization a SharePoint solution can offer multilingual support, advanced analytics and reports, smart search, chatbots, content personalization and other valuable capabilities.
- Workflows. Customization enables building workflows unavailable out of the box, for example, for tax calculation. Also, SharePoint workflows can be used for approving SharePoint page content. Such tools as SharePoint Designer, Microsoft Flow and Visual Studio can be used for creating custom SharePoint workflows.
- Forms. Custom forms for surveys, quizzes and polls can be created using PowerApps or Microsoft Forms. For example, Microsoft Forms can be used for forms, for example, to collecting customer feedback, measuring employee satisfaction, organizing corporate events, etc. These forms can be embedded in SharePoint pages.
How much you can customize
The deployment type of SharePoint defines an extent of customization capabilities:
- The on-premises deployment (SharePoint Server). SharePoint Server supports both the server-side code (runs from the SharePoint servers) and the client-side code (runs in a browser). The availability of the server-side code makes SharePoint customization capabilities almost limitless. For example, it enables creating custom notifications that will be automatically sent to a manager in case of a Service Level Agreement breach.
Thus, companies that don’t have SharePoint in use and haven’t decided upon the platform’s deployment, should consider to what extent they need to go beyond the out-of-the-box functionality in advance since this may influence the choice. If they’re already using SharePoint, their customization capabilities depend on the chosen deployment.
How to customize
There are several ways to customize the platform depending on the deployment type of a SharePoint solution in use, the customization budget and scope, the security requirements and other factors.
Farm solutions are a traditional way to customize SharePoint that involves server-side code.
Pros: Farm solutions have full access to the server-side SharePoint API. This means a wide range of customization options with very few limitations.
Cons: It works only for the on-premises deployment and is not applicable to SharePoint Online, so this method demands significant investment and further maintenance. It’s not a good option if there is a plan to migrate a SharePoint solution to SharePoint Online in the future, as such customizations may require complete rebuilding.
Sandbox solutions only embrace a site collection, so that all customizations could affect only a single site collection and not expand to the whole SharePoint environment. They use a limited server-side API and no custom code is allowed in them. But they can still be used to deploy customizations through XML like copying files, list template instances, and client-side customizations to SharePoint Online.
Pros: Sandbox solutions offer more scalability and flexibility. Besides, as they are isolated from the whole SharePoint environment, they can’t cause security or performance issues on the SharePoint server.
Cons: Capabilities of sandbox solutions are very limited. For example, they don’t allow building complex Web Parts.
SharePoint framework (SPFx)
SharePoint Framework is a developer’s toolbox for building SharePoint Web Parts. It was created especially for modern SharePoint sites but SPFx customizations will also work on classic pages. SPFx components can use all the client-side APIs to access SharePoint data.
Pros: SPFx is suitable for developing complex custom Web Parts at the enterprise level that are viable both in modern and classic SharePoint pages.
Cons: It’s difficult to find skilled developers with expertise in this modern type of client-side coding to support SPFx customizations.
SharePoint add-ins are supported in both SharePoint on-premises and SharePoint Online. When a SharePoint add-in is installed in a SharePoint site, a new subsite with a unique URL is created to isolate the code from the rest of the SharePoint environment. To communicate with SharePoint, add-ins may use one of the client-side APIs: CSOM or REST API.
SharePoint add-ins are available in two forms:
- SharePoint-hosted add-ins allow modifying internal SharePoint components like pages, list forms and views, built-in Web Parts, workflows, built-in columns. No server-side code is required.
- Provider-hosted add-ins have an external component, for example, a web application or a database deployed outside SharePoint. They imply a remote server code, which means more customization capabilities.
Pros: SharePoint add-ins can run in SharePoint Online and they can be deployed to the Microsoft Office Store for selling. Since add-ins are isolated, the SharePoint environment is much easier and, therefore, cheaper to upgrade when a new version of SharePoint is released.
Cons: The app customization model may bring about various complications to the on-premises deployment of SharePoint. For example, keeping apps off SharePoint servers can hinder performance due to the necessity to manage the load of SharePoint together with apps.
What are customization limitations and risks?
SharePoint customization opportunities come hand in hand with certain limitations and risks:
- Long duration and high costs. Enriching a SharePoint with custom themes, third-party integrations, complex workflows essentially increases its implementation time. Also, much time is needed to test a customized solution and verify whether everything works as intended. SharePoint customization is expensive and it can add as much as $20,000 to the project.
- Modern experience restrictions. SharePoint modern sites don’t allow customizing the site's master page or style sheet. As a result, it's not possible to move the position of the navigation elements on the page as could be done in classic SharePoint sites. Besides, many add-ins and custom themes require sticking to the classic experience, which can deprive a SharePoint of new functionality offered by modern lists, libraries and pages.
- Lack of relevant technical expertise. It’s not easy to find a qualified specialist for customizing a SharePoint. Also, a company needs to ensure that its in-house team can properly support the customized solution.
- Upgrading issues. SharePoint Online updates can bring about compatibility issues to already made customizations. For example, a customized look and feel may not seem right after a new update is released. The same concerns third-party Web Parts from SharePoint Store, so it’s important to make sure these Web Parts will be compatible with any SharePoint changes.
- Decreased performance. Customization can cause performance issues and page errors in the SharePoint environment. For example, changing the look and feel may lead to slow page loading. So, it’s important to make sure custom code is clean and doesn’t affect the performance.
- Migration implications. Migration of a customized on-premises SharePoint solution to the cloud can be challenging as it may require redeveloping to adjust to a new environment. For example, some workflows need to be rebuilt before moving into the cloud.
The bottom line
SharePoint offers companies multiple customization options for creating designs, workflows and other digital workplace elements tailored to customers’ needs. What’s more, companies that already use basic SharePoint functionality can use the platform for creating diverse business solutions for management of a company’s documents, policies, assets, as well as for ticketing, learning management and more. Due to such flexibility, companies can make the best of the familiar environment and save money on third-party tools at the same time.
The downside, of SharePoint customization lies in the complexity of its implementation, high costs, the required expertise, and potential compatibility issues in case of upgrading and migration to the cloud.