Working with SharePoint has it’s Aha moments! And when you work on multiple consulting projects as an Infrastructure Architect, Information Architect and Developer all in one, trust me you come across a lot of them 🙂 One such moment was on a SharePoint 2013 Intranet roll out that I’ve been working on.
One of the key aspects of an intranet roll out is its Branding. Among other things, the branding minimally involves a color scheme, standard fonts, a logo and/ or a company banner. More often than not, it also involves applying a custom master page to incorporate such branding elements. COmpared to it’s predecessor, SharePoint 2013 has simplified the process quite a bit with a unified seatle.master being used as a common master page across most site templates (to be honest I haven’t had the chance to verify all templates yet and have so far not found a resource that points me to such a list). So naturally based on this understanding, I was hoping for the SharePoint 2013 Community Portal to work just fine with my custom master page (which was based on seattle.master). Only that it does not (Aha moment #1 :)).
A little bit of looking around revealed that the home page of the Community portal was still the primitive default.aspx. Looking at the page through SharePoint designer revealed that the master page for the page was set to the seattle.master (Aha moment #2):
So the obvious and quickest approach would be to use SharePoint designer to customize the default.aspx except that I would not recommend it for the following reasons:
- SharePoint Designer customizations should be avoided as much as possible for multiple reasons that go beyond the scope of this post and
- Even if you customized default.aspx to point to a different master page, you would receive multiple errors (which by the way, even if you resolve will still not help in bringing a lot of branding over) since the page has primitive markup in it 😐 which will not work with the newer master pages
The solution to the problem is rather a multi step approach:
- Browse to the Community Portal & Edit the default.aspx page using the browser
- Export the only web part on the page. Just so you know, this web part is actually a Search Results web part that has its query set to fetch only results where the Web Template is a community web site:
- Next, go to the Site Features and Activate the Wiki Home Page feature:
- This will create the “Site Pages” library in your site and change the home page of your site to “SitePages/Home.aspx”
- You will now see that the custom master page that you applied to your site will be applied to this page as well
- Finally, you will want to Edit the page and add it to this page:
That’s it. You should now be able to see your community portal in all it’s beauty! I could not find an online resource that pointed me in the right direction as far as this issue goes so thought will create one in the hope that it benifits someone!