Make sure your (SharePoint) tool meets your needs

I am going to hand you $35,000 and tell you to go buy a car. Nice, right? Oh, but by the way, you can only buy an American-made, four-door, blue sedan. Still nice… but a little limiting. Want leather seats? Go for it. Nice sound system? Sure thing. Want a sunroof? Nope, sorry. Want something a bit sportier or something a more rugged? Tough luck. But hey, you are getting a car! That part is cool. However, you aren’t getting a vehicle that necessarily meets your needs.

The vehicles we drive serve all sorts of purposes for family, for work, for play, etc. And each one is customized based on our needs. After all, what is a vehicle? It’s a tool, a way to get you to places, a key instrument in some activities. And we all like our tools to meet our needs.

Insert SharePoint, our nice, four-door, blue sedan. Somewhere along the way, someone paid for it. And now you have been handed the keys to SharePoint, and there is a good chance it came with some caveats, warnings or other doomsday-sounding prophecies that make you a bit nervous to do anything with it.

One of these warnings revolves around branding. More and more I hear from conference attendees, clients and students that they have been advised to not use custom master pages with SharePoint. The reasons vary; some are good, some are not. What no one seems to be talking about is what they really need and want for their website (not SharePoint). The website is the task, the job, the family… SharePoint is just a tool to get you there. At no point in time should SharePoint impose upon or restrict your website needs and requirements. Or better yet: At no point in time should someone’s generic and blanket advice prevent you from meeting your website requirements.

I have seen people jump through numerous complicated hoops, install third-party software, abandon a website requirement, and/or do a slew of other things to avoid creating and using a custom master page. Instead of limiting yourself and creating more work in the long run, stop and take stock of what you need out of the website, and don’t let SharePoint or a “SharePoint guru” dictate what you do. Forget the warnings for a minute and decide if a custom master page is the best solution for meeting your website needs.

Here is a simple set of steps to help you decide: “Do I need a custom master page?”

Step 1: Take stock of your website requirements, content and anything else that is going to make your website tick. Now divide it into two categories:

  • Category A: Stuff that should be on every Web page or nearly every Web page.
  • Category B: Stuff that only shows up on a given Web page, including only showing up on the home page.

Take everything assigned to Category B and set it aside. You will use page layouts, content pages, Web Parts, add-ins and other fun stuff like that to create and manage Web-page-specific content.

Step 2: Review all the things that fell into Category A and further divide it up:

  • Style: Colors, images, layout of elements on the page (is something near the top vs. near the bottom), alterations to the branding of navigation or other page elements, responsive design, etc.
  • Content: Additional navigation systems/links and/or social networking links, added special content areas or columns, custom functionality, removal of SharePoint content that you don’t want to show to all users or users with read-only permissions, etc.

Everything in the Style category can be handled via custom CSS.

Everything in the Content category is moving to the next step. If you don’t have anything in the Content category, then you don’t need a custom master page.

Step 3: How code-savvy is your team (even if that team is just you)?

  • Total coding rock star: If someone can dream it, you can build it. Hobbies may include gaming, Legos, and endless IT support for friends and family.
  • HTML is cool: Multi-talented and usually overloaded with a wide assortment of tasks, you can hack HTML and get the job done.
  • Dreamweaver is an Adobe product, right? You are a wiz at many things but a programming book will put you to sleep, and honestly, you are just too busy to mess with code.

Total coding rock stars can implement website requirements through a range of options that include custom master pages, JavaScript injections, custom delegate controls, SharePoint add-ins (apps) and more.

HTML is cool folks will do best with custom master pages because it is code you are comfortable with and can easily manipulate to meet your site’s needs.

For everyone else, you may need to find someone to help you out.

I have been out driving before and have seen “that guy” (you know the type) who decided that the best way to move a mattress was to grab a buddy, lay the mattress on top of his car, use some twine to tie it down and then for safety’s sake, stick hands out to hold down the mattress from both sides while they drive down the road. Avoiding a custom master page and using a complicated work-around to meet your site requirements is like plopping that mattress on the sedan, and you are the buddy that got roped into this ordeal. Often the best thing to do is just get a truck.

This article was originally written and posted  for SPTechReport on April 11, 2016.