Building an intranet using SharePoint as a platform is a request commonly heard, and it's a conversation that I love to have. While there are lots of great things that come as having an intranet in SharePoint Online, there are also a few more difficult conversations which usually revolve around branding and why there are lots of restrictions.
In this blog post I'm going to go through the conversations that I have with customers, and the type of tasks I undertake when trying to apply corporate branding. I'll state now that I'm only looking at what I can achieve by using the UI with a little bit of PowerShell, the SPFx extensions element is a whole other topic.
Whilst this seem like Microsoft stopping the fun, it's actually for a very good reason. Like it or not, they're protecting the organisation from updates and changes breaking things. All too often in the past we would create a custom master page which we would then need to update constantly to make sure that the latest and greatest functionality was available to the users. This would inevitably break things at the same time. With the more constricted approach we don't have this issue (as much) any more.
As well as reducing the risk, it also means that we (as in developers/users) don't have to worry about making the site work on a mobile device. With Microsoft taking a mobile first approach to development, everything is designed to work in both the browser, and SharePoint app on a mobile device. Being a developer in the past I know just how much hard work went into making SharePoint responsive.
The key thing to understand is that if you still want a hugely customisable intranet, then you should consider looking at some of the other intranet products out there which will give you more flexibility over the look and feel. But if you're happy with the trade off between lack of customisation vs what you get for your subscription, then carry on reading and we'll see what options we have.
So for our basic branding, we can change the logo, site name and the background colour. But what else can we change?
The image in the footer is limited to 32px in height which illustrates that this is never going to be an area for a banner, but it can give you that subtle extra bit of branding if you want it.
The background colour for the footer is automatically applied and takes the main colour from the theme and applies it. There are currently no options to change this, so it's important when looking at the colour scheme that you look beyond the top of the page and see what else is affected by it.
So we've had a look at where we can apply graphics, and we've looked at the impact of colours, but we need to now look at how we can set the colour theme.
The theme options are available from Change the Look on the site options blade which appears when clicking the settings cog, and comes with a number of themes baked in.
Changing the theme will change the basic colour scheme of the site including any buttons, background fills, foot areas etc. Through this interface you can also change the very basic elements of the them such as the main colour, and the accent colour.
As you can see, the colour selection is extremely limited, and you will be extremely lucky if the primary colour for your corporate brand appears in that list. The good news is that you CAN create your own.
I really like the simplicity of this tool, I just need to tell it what my primary colour is, and then it will work out all of the accents etc based on that. So if I wanted my primary colour to be black, then I would provide the primary colour as #000000, likewise I could supply the background colour as grey #eeeeee. With the Microsoft commitment to accessibility, your selected colours will be assessed and any issues highlighted here rather than when you import the theme into SharePoint.
Once your theme is ready, you can hit the export theme button in the top right corner of the screen which will allow you to copy the prepared code, which is quite cool! You can export it as JSON, PowerShell or as code which you can include in your UI fabric controls. For this blog I'm going to export it as PowerShell.
Once I have the theme code exported, I can fire up my favourite IDE for writing and running PowerShell e.g. PowerShell ISE and copy the code in. I simply need to store the array from the Export theme blade in a variable. In my PowerShell, I need to connect to my SharePoint tenancy by using:
Connect-SPOService -Url "https://mytenancy-admin.sharepoint.com"
Followed by the commandlet to add the theme:
Add-SPOTheme -Identity "Name of your theme" -Palette $mythemevariable -IsInverted $false
Once the script has successfully completed, your theme will be available for you to select within SharePoint.
Everything which we have looked at up until now has been looking at the chrome, or the area that surrounds the main content areas of SharePoint. This area is quite locked down, but once we get into the main content we can build our content to really sell our brand. Whether that is using the full width layout area to post a banner, or just the image web part to place a key picture, you are now able to begin promoting your brand.
In this blog post I'm going to go through the conversations that I have with customers, and the type of tasks I undertake when trying to apply corporate branding. I'll state now that I'm only looking at what I can achieve by using the UI with a little bit of PowerShell, the SPFx extensions element is a whole other topic.
Why can't I make SharePoint not look like SharePoint?
When Microsoft released the modern experience for SharePoint, they very much shut the door on the huge customisation's which used to be part of building an intranet on SharePoint server. The old requirement of "We want to use SharePoint...but we don't want it to look like SharePoint" is a thing of the past.Whilst this seem like Microsoft stopping the fun, it's actually for a very good reason. Like it or not, they're protecting the organisation from updates and changes breaking things. All too often in the past we would create a custom master page which we would then need to update constantly to make sure that the latest and greatest functionality was available to the users. This would inevitably break things at the same time. With the more constricted approach we don't have this issue (as much) any more.
As well as reducing the risk, it also means that we (as in developers/users) don't have to worry about making the site work on a mobile device. With Microsoft taking a mobile first approach to development, everything is designed to work in both the browser, and SharePoint app on a mobile device. Being a developer in the past I know just how much hard work went into making SharePoint responsive.
Image courtesy of Mark Kashman |
Branding Options
Whilst branding options are quite limited, there are a few things which we can do to make our SharePoint intranet "corporately branded".
Header
The most prominent area on the SharePoint site is the header region which contains the site logo, title and, if using a Communication Site template, the navigation.
Obviously the main part of this section which is going to scream your corporate brand is the site logo. This is where your graphical designers can try to make the most of the space available to you. You're constricted by the area that your graphic can occupy but a good designer will be able to put something quite relevant here. The image is limited to a height of 64px and a maximum width of 192px, so you can't have a site wide banner. If you go for an image larger than the max dimensions, then the image will automatically be scaled, so just be aware of that if you're creating larger images.
The other option you have for the header is to apply background shading which will change the colour behind the header, title and navigation. This colour is all dependent on the theme which has been applied to the site, which we'll look at more later.
Footer
The footer is another area of the site which we can change and can add to our basic branding as I can add another image here. If I want to, of course. The image here is much smaller as it's not designed to be a prominent part of the page, but it still allows me to add something corporate.
The background colour for the footer is automatically applied and takes the main colour from the theme and applies it. There are currently no options to change this, so it's important when looking at the colour scheme that you look beyond the top of the page and see what else is affected by it.
So we've had a look at where we can apply graphics, and we've looked at the impact of colours, but we need to now look at how we can set the colour theme.
Theme
The theme defines the colour scheme which is applied to the SharePoint site. This concept hasn't changed from the older versions of SharePoint to where we are now, the main difference is how we create and apply our theme.The theme options are available from Change the Look on the site options blade which appears when clicking the settings cog, and comes with a number of themes baked in.
Changing the theme will change the basic colour scheme of the site including any buttons, background fills, foot areas etc. Through this interface you can also change the very basic elements of the them such as the main colour, and the accent colour.
As you can see, the colour selection is extremely limited, and you will be extremely lucky if the primary colour for your corporate brand appears in that list. The good news is that you CAN create your own.
Creating your own theme
There is an online tool available to use to help us create a theme, otherwise there's a lot of hard work to create the JSON. You can find the theme designer at aka.ms/themedesignerI really like the simplicity of this tool, I just need to tell it what my primary colour is, and then it will work out all of the accents etc based on that. So if I wanted my primary colour to be black, then I would provide the primary colour as #000000, likewise I could supply the background colour as grey #eeeeee. With the Microsoft commitment to accessibility, your selected colours will be assessed and any issues highlighted here rather than when you import the theme into SharePoint.
Once your theme is ready, you can hit the export theme button in the top right corner of the screen which will allow you to copy the prepared code, which is quite cool! You can export it as JSON, PowerShell or as code which you can include in your UI fabric controls. For this blog I'm going to export it as PowerShell.
Once I have the theme code exported, I can fire up my favourite IDE for writing and running PowerShell e.g. PowerShell ISE and copy the code in. I simply need to store the array from the Export theme blade in a variable. In my PowerShell, I need to connect to my SharePoint tenancy by using:
Connect-SPOService -Url "https://mytenancy-admin.sharepoint.com"
Followed by the commandlet to add the theme:
Add-SPOTheme -Identity "Name of your theme" -Palette $mythemevariable -IsInverted $false
Everything which we have looked at up until now has been looking at the chrome, or the area that surrounds the main content areas of SharePoint. This area is quite locked down, but once we get into the main content we can build our content to really sell our brand. Whether that is using the full width layout area to post a banner, or just the image web part to place a key picture, you are now able to begin promoting your brand.
Finally...
SharePoint is now very much locked down in terms of the look and feel, and as we discussed this is for good reason. Microsoft are trying to protect your organisation from "breaking SharePoint" and therefore degrading the user experience.
By controlling what you can do, they're also protecting the mobile responsiveness of your SharePoint site so that your users get the best experience regardless of whether you're using a desktop browser, mobile browser or the SharePoint app.
The options that you have to work with, are at the highest level of cosmetic changes. You can change the logos in both the header and the footer areas to start promotion of your brand, as well as changing the theme to change the overall colour scheme of the site. If you're changing the header logo then the largest size image you can go for is 192px wide by 64px high.
Unless you're lucky and the outof-the-box themes cover your company colours, then you'll need to create your own. You can use the UI Fabric theme generator to create the colours, which take into account accessibility, and then you can push them into SharePoint as a custom theme.
These are the limits of what we can do with regards to branding without exploiting any type of customisations, and for most, once you understand the limitations and why, then it makes building your intranet in SharePoint that much easier.
I hope you found this blog useful, and as always, feedback is very much welcome.
Great article as always :-)
ReplyDeleteThanks James :)
Delete