Sunday, August 30, 2015

Thoughts on branding in Office 365/SharePoint

Sometimes I wish that there was just one way to brand SharePoint and it would be fast and easy. Well I can dream on, right? There are so many ways to do this, and I have tried to sort out what the best way would be to brand a site with least amount of work and to avoid user interaction on new sites. You who have branded sites using Master Pages knows what I am talking about: yes, you create a fancy looking master page and add a css file but when the user goes ahead and create a new Team Site - boom it's back to the baby blue interface. And for some users this is way too complicated to learn how to enable the publishing features. And yes I know I can code this like a feature, but I don't know if people do that anymore? Anyway, Microsoft has now decided that they do not recommend using custom master pages in Office 365 because then you can miss out on new features. So I thought: what alternatives do I have to add custom branding then? Because every customer wants that, to take away the "SharePoint look".

To clarify: I am looking at this from a no code perspective, and with code I mean .NET or JavaScript or any other code language for doing this. Office 365 is used as an example here, but most of it should be doable in SP prem also.

There are so many options in SharePoint, but many of them leads to the same things. You have:

- Design Manager
- Master Page
- Alternate CSS
- Themes/Composed looks/Change the look
- Custom theme in Office 365 Admin
- Then of course all the tools that you can use like SPD, html software, SharePoint Color Palette etc

I mean.... it's all too much. And I don't want my users to be able to change any theme or need to enable features. Here is a short description and pro/cons of each method, and these are just my personal opinions! Please feel free to add more or let me know if I am wrong/right about these methods :)

Design Manager

This is just an entry for the branding options. Here you can upload the custom master page, add custom page layouts, import design themes, change the theme and colors, edit display templates, pick a pre-installed look and create your own design package.


Custom Master Pages/Alternate CSS

This has always been my favorite, because they are so easy and powerful. And I have branded a lot of sites by just adding my own custom css file to the master page and overriding existing classes or create my own. This has worked so fine, also in upgrades with a little bit of refreshing. Well since Microsoft has decided to not support this in the cloud in future, I have to skip this now. Only downside to using this is if you allow your users to create new sites, then you have to teach them how to enable the Publishing feature.

Pros: Fast, easy, powerful, no risk of being overwritten in upgrade (if you do it right), upgradable
Cons: Publishing feature needed, not supported/recommended in O365


Themes/Composed Look/Change the look 

These alternatives belongs together if you want to create your own custom theme. When you create a .spcolor file using the SharePoint Color Palette tool, you upload the files into the 15-folder in Themes.

After you have uploaded your theme files you go into Composed Look to create the new Theme template. Add the url to the spcolor file and name it.


After the theme files are uploaded, the theme is created you will find your own custom theme in the "Change the look" or in "Design Manager". Always several roads into the same target :)



Pros: Easy to setup but maybe not so fast due to so many classes to put your branding on
Cons: Will not be applied to Team sites... And even if the user can click on "Change the look" your custom theme will not show up here unless you enable the publishing feature.


Custom themes in O365 Admin

There is a branding option in the Office365 Admin pages, that might actually be enough for many companies out there. You may add your own header picture, and that will be applied to Delve, OneDrive, etc which is very nice. You can add your own logo and make it a hyperlink. Then you can set it to not allow users to override the theme, which is also good.
Very simple, just do this:
Open Admin in Office 365
Click on "Company Profile"
Click on "Custom theming"
Make your changes, the only annoying part is to use a picture that is smaller than 15 KB and still make it look nice. But I used a desert picture, good for repeating patterns :)


Pros: super easy, will be applied to all sites, users cannot override if you set it like that, sure it will be supported in future, this might be enough "branding" actually for many companies that don't want to put too much money and time on branding a site. This does not require any activation of any features.
Cons: only applies to the header part of a site, not any content pages, I think there will be more things added here further on but right now it is quite limited.

Conclusion

There is no really easy way to go around the fact that you need to have the Publishing Feature enabled on a Team Site to get your custom branding. If you have control of the site creation, then it is no big problem, but if you want to let the users create sites like in a project portal, then you must teach them to go in and apply the Master Page to all subsites now and then, or when they create the site. Because I have tried to create templates from a branded site and that will not work either, unless you code a feature and I don't even know if that is supported anylonger?

I googled and found a cool tip from Sonja Madsen on how to do a trick and save a site template with a custom master page, but unfortunately this did not work, at least not for me. I ended up with the OOB look anyway, and if I looked at what master page it chose I could see that the site was set to inherit, as she writes in the article, but the custom master was still not applied :(

So I don't know, maybe I will still use the master pages and take the pain and the potential loss of new features but if you keep an eye on what is new in Office 365 I think this is the best and most powerful way to brand a site.

Please let me hear what you think or how you usually brand SharePoint, and prove me wrong ;)

No comments: