How to configure your Office365 public website to use the SharePoint Publishing Infrastructure

Important Update (2nd September 2011) – Microsoft have announced that this is NOT SUPPORTED. Please see the following post: Update – Publishing Features “not supported” on Office 365 Public Websites

This is something that has bugged me for a LONG time .. I cannot possibly understand why SharePoint Online (with one of the most powerful Web Content Management Systems) was so thoroughly limited by cutting back to a really basic template editor. I can only think of 2 reasons:

  1. Microsoft assumes the average user won’t know how to use SharePoint, so wanted to provide a simpler user interface. This is fair enough, and if this IS the reason there should be no reason why I can’t go “behind the scenes” and setup the site any way I like (at my own risk .. as it were).
  2. Microsoft is trying to protect revenue from “SharePoint 2010 Server Internet Facing Sites” licenses. These are VERY expensive and a lot of companies will happily get rid of their on-premise install to put in a £80 a year Office 365 E1 plan to host their website.

Now .. if it is case (1) then we should be good to go. If it is case (2) then they probably have terms and conditions specifically stopping someone from doing this… so first off lets get the disclaimer out of the way :)

Disclaimer Update (26th July 2011) - I have received confirmation from Microsoft via the Office 365 community site that this IS ALLOWED (http://community.office365.com/en-us/f/153/p/8015/34893.aspx#34893). Having said that if you decide to do this in your own environment then proceed at your own risk! If something goes wrong it is NOT my fault .. you have been warned!

Ok .. now that is dealt with lets get on with it!
The first thing I want to note is that this is only possible using an Enterprise Plan. If you are using the Small Business version of Office 365 (such as Plan P1) then you won’t be able to do this for 2 major reasons:

1) SharePoint Designer blocks access to “All Files” so you can’t make some of the changes we need to do.
2) You don’t have access to Site Collection Features, so you can’t activate the Publishing Infrastructure Feature!

So I setup my own trial Enterprise Plan (with a 30 day expiry .. hence why I haven’t bothered posting the URL) and created the standard “Public Website” site collection… then what?

STEP 1 – SharePoint Designer – Rename the Public Website Folders
This is the first fundamental step. If you don’t do this then STEP 2 will throw errors at you (because folders using “Pages” for example, already exists!).

Open your site in SharePoint Designer 2010 (free download) and click on “All Files” (should be the bottom link in the left-hand navigation panel).

This will show you the URL paths being used by each of the lists and libraries. You cannot delete these (as the delete option is prohibited) but you can rename them!
RENAME each of the following libraries (I have prefixed mine with OLD).

  • Documents
  • Images (the root folder)
  • Pages
  • SiteImages (the library)
  • TemplateGallery

None of these will be required once you have activated the publishing features.

Next, go to “Lists and Libraries” (second link from top left hand side). This will show you the NAME of the same lists and libraries.
RENAME each of the following libraries (again, I have prefixed mine with OLD).

  • Documents
  • Web Pages
  • Templates
  • Images

 Your site is now primed for the publishing features to be activated (if you navigate to your website URL now, you would be taken to the blank “default.aspx” page).

STEP 2 – Activate Publishing Features
Navigate to your website and append “/_layouts/settings.aspx” onto the end
e.g. http://martinhatch-web.sharepoint.com/_layouts/settings.aspx

You will need to activate 2 features in this order:

  1. Site Collection Features – SharePoint Server Publishing Infrastructure
  2. Site Features – SharePoint Server Publishing

So you now have “publishing” functions available!

STEP 3 – Create default Page
This is really optional, and anyone familiar with SharePoint should be happy from this point onwards.

  • New Page is now available from Site Actions. This will create a new Publishing Page
  • Using the Master Page options in Site Settings change the Site Master Page (I have used NightandDay.master in the screenshot below). You can of course create and deploy your own custom master pages using either SharePoint Designer or Sandbox Solutions.
  • Advanced Navigation options are now available from Site Settings.
  • The Pages library supports Content Approval, Publishing workflows and scheduling!

And that is it .. all done :)

STEP 4 – CLEANUP?
The only problem with this is we now have a bunch of old libraries hanging around which we can’t get rid of.
I’m sure there is a neat way using a Sandbox Solution or client object model to delete those forcibly, and setup all of this, but for now I’m putting up with a bunch of old libraries prefixed with “OLD” (which don’t contain anything).
The other thing in the mean time is finding out if Microsoft are actually willing to let us do this? I really hope they are .. it does expose the awesome power of SharePoint to the masses .. but will it mean they sacrifice some of the on-premise installs?? fingers and toes remain crossed.

[Update]
Note – I have started a forum thread asking this specific question. We shall see !!
http://community.office365.com/en-us/f/153/p/8015/33059.aspx#33059
[/Update]

  • Anonymous

    Martin,

    Can you comment on how to make the Site Manager to work when Publishing features are enabled?

  • Martin Hatch

    Peter,

    Effectively you need to do:

    // get root-site for the current site collection
    using(SPWeb web = SPContext.Current.Site.OpenWeb())
    {

    // clear all anonymous permissions to "zero access"
    web.AnonymousPermMask64 = SPBasePermissions.EmptyMask;

    // save changes
    web.Update();
    }

  • Martin Hatch

    Peter,

    The option is indeed greyed out in the UI (you won't be able to change it).

    I do have a code sample in my Office 365 series (linked in the main header menu) which shows how to enable anonymous access for a public facing blog. The code to reverse it out is pretty similar.

  • Peter Canale

    Hi Martin, thanks for this. After converting my public facing website following the instructions, I now have my intranet accessible to anonymous users. I cannot remove this permission for the life of me, it is grayed out in the permission settings.

    Any idea what I did wrong or how to remove it?

  • Martin Hatch

    Anonymous ..

    Yes .. hence the big bold red writing at the top of this post.

  • Anonymous

    Check out page 26 of the Microsoft SharePoint Online for Enterprises Service Description.docx (http://www.microsoft.com/en-us/download/details.aspx?id=13602). It is pretty clear this isn't allowed.

    Public Website: Designed for small businesses and professionals to market their business with a simple and professional public website. This site is intended for simple, low-traffic, branded websites to display business information, location, maps, directions, and contact information. This site is managed via a new tool called Site Designer for personalization and builds off of simple out-of-the-box web templates. Office 365 customers can create only one simple public website per tenancy. And once created, customers are able to apply a vanity URL—such as http://www.contoso.com—that they have procured outside of Office 365.
    Note

    • Vanity URLs can only be applied to the public website. Customers cannot apply a vanity URL to an intranet zone site.
    • The public website does not grant use rights to leverage the SharePoint publishing portal components. These features are only supported for intranet sites within the private site collections created in the SharePoint Online Administration Center. The public website is configurable by use of the built-in Site Designer ribbon tool.
    • Editing the Public Website with SharePoint Designer is not supported.

  • Pieter

    Hi,

    I recently did the changes you asked. Now when we navigate to the public facing site, it asks me to log in. What did i miss?

  • Martin Hatch

    Steve,

    I'm not sure what you mean by "utilize disaster recovery". Office 365 is a managed service. Microsoft take care of that for you .. you don't have to do anything yourself.

    In terms of SharePoint, all of the files and assets are stored in the content database (and deployed through the Sandbox), so there shouldn't be any "recovery" issues I can think of.

    I personally have the publishing infrastructure enabled on my Office 365 website (and have had for almost a year).

    So yes .. 99.99% uptime for $8 a month is exactly what you are looking at.

  • Steve Brown

    So my concern would be that if they allow you to proceed with these "unsupported" changes, would you still be able to utilize disaster recovery? I honestly have no idea how the T&A's are laid out. $8 a month for a site that is guarenteed to have 99.999% uptime. That is tempting…

  • Martin Hatch

    Steve,

    They don't make it clear to be honest.

    From unofficial conversations I have had with people at Microsoft they suggest that this means you should proceed "at your own risk".

    The main thing is that certain features don't work (like the Ribbon being almost useless in libraries.. I use SharePoint Designer to upload files)

    The main problem is that they could forcibly disable that functionality (somehow?) without warning.

    Regarding backups .. shouldn't be needed. Disaster recovery is covered as part of your Office 365 service agreement.

  • Steve Brown

    Quick question: does unsupported purely just mean that if anything goes wrong, Microsoft just wont be able to help you? Is it OK (by Microsoft) if they know you are purchasing a Enterprise plan but taking the risks on your own? If so, and as you mentioned, this could cut some substantial costs for companies who have public-facing SharePoint sites and running on-premise installs. With SharePoint Online, can you back-up your environment should something blow up?

  • Martin Hatch

    Doc,

    You're welcome. :)
    be aware that Microsoft have their updated their service agreement to specifically state that activating this is unsupported on the public site.

    Anyway glad I could help, and good luck

  • Doc WattsMan

    Thanks Martin for all your work in blazing a trail on this. We recently decided to move our public facing web site from our on premises SharePoint to the O365 web site – not so much because of cost as we're an MS partner, but because we liked the 5 9s of uptime and taking this bandwidth off our business network connection. The site was originally built with Publishing features, so your tips really helped us to get this up into the cloud. We're going to be putting together a best practices guide for all our developers now for public facing sites in O365. I definitely see a lot of potential here for exanding the market for SharePoint branding and web sites. Thanks again!

  • Martin Hatch

    Anon,

    Sorry but I don't. You might be able to do this programmatically using the Client Object Model.

  • Anonymous

    Hi Martin,
    Do you know of any way to do this on the Small Business plan? It's very frustrating that this restriction is in place.

  • Martin Hatch

    Anon,

    The mobile is going be tough (might be impossible).

    The mobile redirect option is set in the browser.compat files on the server itself, and you won't have ANY access to this on Office 365.

  • Anonymous

    Still trying to activate mobile access however. This is also not supported incredibly and is proving to be more difficult to work around.

  • Kamal Sharma

    Martin,great post :)

  • Martin Hatch

    Vin,

    Either they are using custom hidden featurs on the P1 plan (that are not activated by default on E1) or there are simply some discrepencies between the two site collections.

    You should be able to iterate through the SPSite.Features and SPWeb.Features collections. They will contain a list of all features activated at the Site Collection and Site level respectively, including the hidden ones!

    If there is a "Small Business" feature that doesn't exist on the E1 systems then I'm guessing your only option is to recreate.

  • Anonymous

    Martin, this is fabulous. I have one quick question. I actually used P1 plan and created a site under the root site called 'OP' now which is accessible by anonymous users. Now, I saved that as a template and downloaded the solution. Now, In E3 trial, I activated all the site collection & site features. I followed whatever you said here. working fine. Except when I try to activate the solution that I downloaded from P1 I get this wierd error – "the site template requires that the feature {d28bf940-11d3-496c-a9b9-22f60076a879} be activated in the site collection". I know we are missing a feature but I have no idea what feature was that as everything is enabled.
    Vin

  • Martin Hatch

    webbrewers,

    I had my own P1 account and I couldn't access "All Files" from SPD .. although this was an upgraded Beta account so that might have had an effect.

    I know that the E1 plan I opened was the first time I could access that.

    Regarding the lack of Site Collection Features we have had a bunch of issues trying to do this programmatically .. with attempts to modify the SPSite.Features collection through the Sandbox ending up throwing errors, and I couldn't get the Client Object Model to work because of the public site's authentication model.

    If you know of another way of getting it to work on the P1 plans then let me know and I'll amend the post :)

  • webbrewers

    Martin,
    You mention 2 reasons for this not working in a P level account. I believe you can access "All files" in SPD so the first step is possible. The 2nd step involving full access to the site's settings to activate SP publishing isn't available, but is there a way to unblock that restriction?

  • Martin Hatch

    Correct, although nothing stopping you from creating ASPX pages in an SPFolder within the SPWeb :)

  • Anonymous

    Hi Martin,

    I have full E3 with vanity only one subsciption.

    The login prompts went away once I properly checked-in and published.

    I guess there's no fix for sitemanager.aspx as we cannot add pages to /_layouts, correct?

    Thanks,
    Josh

  • Martin Hatch

    Hi Josh,

    SiteManager.aspx is not working for me either. Same problem.

    What kind of login prompts are you getting? I was getting these on my Trial site before I purchased a license and setup my vanity domain.

    Do you have more than one Office365 subscription?

  • Mario

    Any idea if this works with 2013?