SharePoint customizations can play a key part in aligning your company’s technology set-up with wider business goals. Customizations allow you to enhance and extend a standard SharePoint environment so it fits around your users and your business more effectively. Imagine the CEO has decided that this year the company goal is to boost staff morale. SharePoint customizations, in the form of custom branding and design, can help contribute to this wider task. Or, say the wider business goal was to cut inefficiency – you could build an application or workflow into SharePoint which would automate certain tasks. Some common customizations include:
- Custom code: Using developer tools to add to or alter the functionality of SharePoint, or make it interact with other applications.
- Configurations: Using SharePoint’s user interface to configure SharePoint products.
- Branding: Editing and changing any design features – from logos to master pages to styles and page layout.
However, while customizations have many advantages, Microsoft has often advised against anything but the most essential customizations since, without the right management and rigor, customizations can rapidly cause big problems. A poorly managed SharePoint customization policy can lead to a range of risks, such as:
- Severe damage to SharePoint, meaning you lose support from Microsoft and may be unable to upgrade.
- Service outages.
- Performance issues and page errors.
- Security problems
So, while SharePoint customizations can be highly beneficial, they can also cause you big headaches. The solution? SharePoint customization management. Even if you’re a trained SharePoint developer or architect yourself, you should implement a range of policies that other developers, architects, SharePoint administrators and general users should follow to ensure those customizations work well and keep supporting those wider business goals.
1. Lay down procedures for correctly building customizations
There are many ways of building SharePoint customizations (Add-ins, SharePoint Framework, PowerShell Scripts, Content/Script Editor Web Parts, Farm Solutions etc.) – some are better than others. You should ensure your organization has a detailed policy on how customizations are requested, how you decide if they will be approved and how they will be deployed to your farms.
2. Carry out regular reviews of existing customizations
Set dates in your calendar, or triggers in your internal processes, when specific customizations should be reviewed to ask the following questions: is the customization still relevant? Is it still being used and serving a purpose? Is it safe? If the answer to any of these is ‘no’, consider deleting that customization to reduce risk.
3. Create strong guidelines for updating customizations
As outlined in point 2, you should regularly review whether your customizations are necessary, and remove those that are not. As a corollary to this, you also need to have a policy outlining how updates to customizations will be implemented. Who will do it, when and how often?
4. Limit customizations to the purely necessary
One reason SharePoint is so popular is the fact that it can be very easily customized, extended and enhanced. However, you should avoid getting carried away with the number of customizations you deploy. The more customizations you add to the basic ‘out of the box’ SharePoint, the more complex it becomes and complexity will increase your chance of deploying insecure code.
5. Test, test, and test again
We know first-hand how important rigorous testing is when it comes to deploying and managing successful customizations. It is best practice to use tools like our own SPCAF that test the quality, security, dependencies and complexity of your code – these applications will help your developers discover any errors in their work and minimize the risks of customization. Thorough testing at the start of a new project can save you multiple headaches further down the line.
6. Have a process for piloting
Before you deploy new customizations across your environment, it’s essential that you have a mechanism to share them with end users. Just as with any software development, SharePoint customizations should undergo a period of user testing to ensure colleagues will understand how they work.
7. Use sandboxed environments for building
Using a sandboxed environment allows you to build a customization in a ‘replica’ of your actual SharePoint environment without running the risk of those customizations spilling over into the ‘real’ environment if there are problems. If you have a team of full-time developers, they will likely do this anyway. However, less experienced employees may not fully understand the consequences of even minor customizations. So, enforce a rule that requires any customizations to first be made in a sandboxed environment before deployment.
8. Stay on board with Microsoft’s updates
We highly recommend following the news from Microsoft in general (here is their SharePoint blog) to learn about new releases, best practice, bugs, and guidelines. If your are on Office 365, keep an eye on the official roadmap.
9. Select policies for using the Office Store
The Office Store allows certain users to add ready-made apps and tools to SharePoint and Microsoft Office. While these will have been checked and approved by Microsoft, you should still have an internal policy for deciding which apps colleagues are allowed to incorporate. Some vendors will be very efficient, constantly updating their apps, others may be less so and this could potentially open you to the risk of malicious software. Also be aware that any app installed from the store will give the vendor access to the users email address and the Office Store terms & conditions allow the vendor to contact these addresses eg. for promotional purposes.
10. Choose who is responsible for ongoing support
As with any management activity, someone needs to be ultimately responsible for customizations. It is best practice to choose a senior IT person with a solid understanding of SharePoint and customizations to take overall charge of these various tasks.
At Rencore, we built SPCAF, a cutting edge tool that helps you manage your SharePoint customizations better. By testing custom code against hundreds of rules, SPCAF helps you discover any weaknesses before they damage your environment. Try it for free today.