Microsoft Announces “Plans” To Replace Office 365 Public Web Sites

Speculation about replacement offerings for the Sharepoint Online public web site feature in Office 365 abounded after Msft announced its demise, first reported here ». Azure? Orchard? Sway?None of the above. In a very quiet update to the original kb that revealed the discontinuation of public sites, Msft has made it clear they are basically going to do nothing….well, nothing that you couldn’t do already.

They claim they are “partnering” with Wix and GoDaddy but this is a “partnership” that doesn’t benefit 365 users at all. The public site will not be integrated in anyway with O365 or come with any subscription discounts or special pricing. No data migration or site conversion will be offered that isn’t already provided by their new partners.
So basically the “partnership” claim is just a way of saving face. They are reducing the feature set of O365 with no compensatory price reduction and not subsidizing the new “service” in any way. In other words they are cutting their public site customers loose. Nice. One has to wonder if THEY are in fact getting any affiliate compensation for pushing so many customers to Wix and GoDaddy……
It’s well known Msft hasn’t been able to figure out a way to make money from hosting public web sites. And they certainly can’t be blamed for trying to refocus their resources on Office 365’s many strengths – which the public site offering couldn’t be counted among. But here was a chance to get creative, be imaginative and drum up a little customer love. Essentially they are making loyal customers pay AGAIN for their poorly thought out venture in the public site space.
Here’s that venture’s rather depressing timeline:

  • 2005-06: They initially attracted a large following by enticing small businesses with a “forever free” domain and hosting offerin the OLSB service.
  • c 2008: Realizing that was a bad decision, they started charging for domains
  • 2010-12: Next they started charging for hosting and forced customers to manually rebuild their sites in O365.
  • 2015: Now they are telling users to go elsewhere…..The fact that this announcement was buried in a kb update rather than given a little more prominence is a clear indication thet Msft knows this will not go over well. They should be ashamed of themselves…. .

Microsoft Will No Longer Offer A Public Site Option in Office 365 As Of Dec/Jan

?RIP: Office 365 Public Sites!UPDATE:You heard it here first!!

“Today, we’re making a difficult decision to discontinue the SharePoint Online Public Website feature. This lets us then focus on future investments while broadening our partnership with industry leaders.”
Microsoft is throwing in the towel on the Office 365 public site option. According to a Msft source, it will be removed from the Office 365 Sharepoint Online offering as of an update scheduled for Dec 2014 / Jan 2015. Existing accounts using the public site will not be affected by this dramatic change, but can expect the already lacklustre support to dwindle further. It may be telling that the inclusion of a public site has already been removed from the feature list in the Office 365 “compare plans” pages.

The public site has long been the “runt” in Msft’s foray into cloud computing, a fact that was reflected in the option’s halfhearted functionality and support. The inability to anonymously access list items was a clear indicator from the start that balancing the needs of a functional public facing site with the need for private site security on the same server was a tricky problem to overcome. Hosting 3rd party apps on Azure was a compromise solution, but was awkward, unintuitive and unpopular with users.
Limited functionality is one thing, but Microsoft’s unwillingness to address the growing list of missing or broken public site features is an even clearer indication of their wavering commitment to the public site model. The recent rash of users complaining about problems with the public blog may have been pivotal in pushing Microsoft towards a decision to abandon the public site offering. Customers trying to create a business web site are hardly going to be reassured when support’s all too typical response to an issue is: “submit feedback”.
Learning from their early experience with the Office Live service – which ended up being almost exclusively used as a public site platform – Msft took a barebones approach to public sites in Office 365, and refocused the service on Sharepoint’s user and data management capabilities.
Savvy Sharepoint followers have long wondered about the role of a stripped down public site offering in Msft’s cloud business model. And in the face of declining use and mounting customer dissatisfaction, apparently Msft has now decided the considerable resources needed to maintain and support public sites can no longer be justified.

Visit my forum » if you have any questions. For development work, you can contact me here ». And if you think this would be useful to others, feel free to share it by clicking one of the share buttons up top!

How To Restore An Office 365 Sharepoint Online 2013 Public Site Blog Without Using Code

f0101471Based on the number of “broken blog” threads in the O365 forum, it seems the public site blog provided in O365 is pretty fragile. It’s also not immediately obvious how to restore it. If you deleted any of the blog pages and are able to restore them from a recycle bin, it’s likely you still won’t get the full blog functionality back.Here’s an example of a blog rebuilt from scratch:

And here’s the quick code-free way to get your blog back up and running.
The Easy Part
Create a new public site page and select either the right or left sidebar page layout.
In edit mode, click insert and from the App Part list insert a “Posts” list into the main page area.
Click the web part and select “web part properties” from the ribbon.
Important! In the properties dialog box, change the “view” to “summary view”
Save the page
Click the sidebar zone, insert » web part » Blog » Blog Archives
Below that, insert the Blog Tools web part
Save the page.
Now you should have most of the blog functioning on the page. What’s missing is the categories web part which is a wee bit trickier to get working.

The Hard Part – Categories.

As far as I can tell, the categories web part works by sending a filter to the posts list so only posts in the selected category are displayed. To make the category title a link that triggers the filter requires some complex recoding of the web part and I assume that’s what the mystery script Microsoft may provide you does.If you don’t want to wait for that script and don’t know how to recode a web part,you can recreate the effect without code:

Go to site contents » categories » list settings » views and make sure you have a view which contains a plain text title field (ie iwthout a hyperlink).
Open your blog page in edit mode and from the App Parts, insert a categories web part in the sidebar.
Edit the web part and select the view that has the plain text title field.
Save the page.
In edit mode, open the web part context menu (from the little down arrow at top right)
Click Connections » Send Row Of Data To and choose “Posts”.


In the dialog box that opens, confirm that you want to send a row of data and then select from the options in the “provider” and “consumer” field names. Translating the Microsoftspeak, the “provider field” is the field you want to use for the filter and the “consumer field” is the matching field on the receiving end. In this case, the category list “Title” field corresponds to the “Category” field in the posts list, and when the filter is applied onlyposts with that category name in its category field will show,


Click Finish and save the page.
Your categories web part should now include a small filter icon that will filter the posts displayed based on the category chosen. Not as neat as a linked category title, but it works and you don’t need to delve into the code.

The Last Part

Your blog should now be fully functional and you can start using it. If you find you get web part errors on the single post page or you have any other questions, feel free to post a questionin my forum or contact me here.
I hope this was useful!

Improve the mobile view for Office 365 Sharepoint Online public sites.

?It’s all about width…Microsoft has a come a long way in improving mobile accessibility in 2013 Sharepoint sites by replacing the archaic table layout stucture used up until SPO 2010. In the public site’s settings, under master page, you can pick the device channel master page that works best for you. Your site will then detect the screen size being used and switch over to the selected mobile master page, which in turn will adjust the size and positioning of elements to improve the visual experience.
Unfortunately, they haven’t gone far enough. Most list and library web parts still generate tables that are used for layout and tables can’t easily be resized when viewed on a small screen.
There isn’t much you can do about that, but one thing you can control is if your site content includes fixed widh elements such as tables or Adsense ads or other script generated elements. To fix these requires some simple manual adjustments to your site’s stylesheet to eliminate horizontal scrolling.
The simpler the better
To reduce the amount of adjustments needed, it’s alway a good idea to “think mobile” when you create your pages. Here are some general guidelines:
Don’t use tables in your page content (they can’t be resized easily)
Try to only use 300px or narrower Adsense boxes.
Try to avoid floating elements wherever possible: if you wrap text around an image for example, the text will respect the float and probably end up getting squished into a narrow column.
Keep layouts as simple as possible.
Media queries to the rescue

In a nutshell what css3 media queries do is allow you to specify DIFFERENT CSS RULES FOR DIFFERENT SCREEN WIDTHS. The mobile rule is nested within a special @media rule. If for example you wanted to hide a wide Adsense ad for iPhones, you’d add this to your stylesheet:
@media screen and (min-width:320px;) and (max-width:719px;) {
What that does is say”for screen viewing on screens between 320px and 719px wide, don’t show the element with an id of myadsensead”.

Using media queries you can remove or hide elements, change widths, or pretty much do anything that css rules can do -but targeted at a specified screen width.

Centering content area and fixing page width in Office 365 Sharepoint Online 2013 public site

center-contentOne of the stranger design choices in the layout of 2013 public sites, is the”narrow”, left aligned page content area in the Oslo template. Nothing makes a site look more unprofessional or unfinished than awkwardly aligned content areas. It creates a terrible first impression and even though Msft must be aware of the issue from the many complaints about it they’ve seen in the community forum, it still hasn’t been addressed.That’s amazing considering a couple of lines of css code would fix it. The cause appears to be simple: Microsoft allowed space for the right sidebar the Berlin template uses, but then forgot to correct that in Oslo which has no right sidebar. You can see in this demo example how it’s supposed to look »
To get your site looking like that by centering the content areaand fixing the strangely narrow width, add some css rules to your site’s stylesheet
Under “Site” in the ribbon when editing a page, open the stylesheet

At the top, add this, adjusting the pixels to suit:
.contentwrapper div {margin-left:auto !important;margin-right:auto !important;}
div#contentBox{min-width:885px;} *See note below
Page Layouts
The above should address the content areacontainer, but if you are using a page layout comprised of different sections, you may also need to target those sections to get a balanced look. You can get the relevant classes/id’s by looking at the page source code or using a browser developer tool. Here are some examples of the many classes in use:
div.fullPageLayout-inner{min-width:685px !important;}
Header/2 column layout: div.layout-col.twoRowTwoColumn-bottomLeft, div.layout-col.twoRowTwoColumn-bottomRight {width:50% !important}

Blog Pages
If you use the 365 blog, you may notice the right sidebar still overlaps the post content area after applying the fix above. That’s because, unfortunately, Msft still uses html tables for layouts in the blog pages, so a different fix is needed. To complicate things further, Chrome and other webkit browsers don’t treat tables the same way as other browsers…To target just the post content and the table it’s contained in without impacting other tables on the site in MOST major browsers, add this to the stylesheet:, .ms-blog-MainArea .ms-fullWidth table {min-width:750px !important;margin-right:20px !important;}
Adjust the width to suit of course.

Impact On Mobile Site Design
You’ll need to consider the impact of adding a”min-width” rule on your mobile design, if that’s important to you. Take a look at this article for some tips on how to improve mobile views in 365: Improve the mobile view for Office 365 Sharepoint Online public sites.

If you have a question about this or any other Office 365 topic, please visit my forum. I’m also available for consultations or development work!
And if you found this helpful, feel free to share it socially byclicking one of the icons up top!

Add A Site Description To Office 365 Sharepoint Online 2013 Public Sites

Yep – removing the site description was another of those 2013 public site “upgrades”…. Has MSFT ever heard of SEO?? The 2010 asp placeholder for this element doesn’t work in 2013 sites, and there probably isn’t a predefined one, so if you want to add a site description below your site title, you’ll have to hard code it in manually.For that we’ll need to:Open the site in Sharepoint Designer (2010 or 2013).
Open All Files » _catalogs » masterpage and open the html file that’s linked to the master page you’re using (eg oslo.html)
Hunt down this element: h1 id=”pageTitle” class=”ms-core-pageTitle”


AFTER its closing h1 tag, add the tag and description you want to use eg:

h2 My site description /h2

TIP: If you want to be able to style the description (and who wouldn’t?), add a class eg h2 class=”desc”
h2 class=”desc”>…….
Save the file
To publish it, go to site settings » galleries » master page and layouts and click “publish a major version” from the context menu.
The Result:


Now you can both let site visitors know what your site is about AND make it a little more relevant and appealing to search engines. If you have any questions, please ask them in my forum »

Fix For Office 365 2010 Style Public Site When Chrome Updates Break Header

013114_1703_fixforoffic1If your site looks like this when viewed in Chrome:DO THIS!
Declare a height for the header element by adding this to your custom stylesheet:
.MS_MasterHeader { height:xxxpx; }
Adjust the xxx to suit your site.
What’s happening?
When Chrome updates to version 32.0.1700.76 m, you may notice the layout of your Office 365 2010 style public site’s header gets broken. The horizontal navigation and page content push up and obscure logo, title etc. I haven’t seen this problem in other web site platforms, so I’m pretty sure it’s a combination of the archaic table layout schema MSFT uses and changes to how tables are rendered by Chrome (see update). Since Chrome auto updates by default, it’s likely this will affect a lot of users and MSFT really has to do a better job of keeping up with browser changes.
If this doesn’t work for you, please post a question in my forum.
UPDATE: Another user had this problem but wasn’t using the header element at all, and when I dug into it a little deeper I found the specific cause is that Chrome doesn’t render the “rowspan” attribute correctly (or as other browsers do). MSFT uses rowspan to split a table column into more rows than other columns in the same table, for example a 3 row column next to a 1 row column. The workaround is to insert another table with multiple rows INSIDE a single row column of the “parent” table. That seems to trick Chrome into displaying it correctly.
If you want to apply that to the header element, you’ll have to make the adjustment to the master page in Sharepoint Designer (2010 sites) or using design manager (2013 sites).

Adding Javascript To An Office 365 Sharepoint 2013 Public Web Page

101613_2057_addingjavas1Adding javascript to a 2013 public site page isn’t as straightforward as it is in most properly designed content management systems. The choices presented by the page editor are the “embed code” tool, the “edit html source” tool and buried away under web parts – the script editor web part. As far as I can tell here’s how all 3 work:The Embed Code Tool:This is the strangest of the Microsoft script insertion concoctions – it detects if your insertion starts with a at the start of your code, but it makes more sense to avoid it and just use the script editor web part to begin with.
The Edit HTML Source Tool:
Detects script code and strips it out – so not much use at all in this context.
The Script Editor Web Part:
The best and only logically designed built in option because it accepts ANY code. Find it under web parts » media and content.
This is really a confusing way of doing things because the "embed code" tool isn't rationally designed and is a prominent button in the ribbon while the script editor web part is buried in the list of available web parts with no clear indication it's there. A better design would be to eliminate the redundant "embed code" tool and just have the script editor web part (which lets you add ANY code) available in the ribbon. There's no need for both.
The "Roll Your Own" Option For More Advanced Users
Another possibly more convenient way to add javascript, is to put the javascript in a text file saved to an anonymously accessible library and then insert it into the page with a content editor web part. Doing it this way, you can edit the code directly using Windows Explorer or Sharepoint Designer and not have to open the clunky page editor. This method also makes it easier to reuse scripts you want to deploy on multiple pages, like Adsense ads or other script widgets.
1/. Paste your javascript into notepad - with script tags, so it looks like this example:

2/. Save as a .txt file and upload to the Site Assets library. Or even easier, create the file directly in Sharepoint Designer.
3/. Insert a content editor web part on your desired page. In the "content link" box, enter the url of your text file.


5/. Save/publish the page and now your javascript should run.

Apply Sharepoint 2013 public site design to team site / web part pages

This technique covers restyling your internal, admin and public wiki/web part pages to look exactly like your public site. It involves either changing the master page selected pages use or creating a new css file and adding a link to it in a new master page. I’m going to use the css that styles the public site but the basic process can also be used to apply any design you dream up to your team site pages. Here’s an example – you can see from the url it’s a web part page in the site pages library:
There are several benefits to doing this including:

Branding consistency between internal/external sites
Replacing the “vanilla” Sharepoint styling
Allows you to seamlessly integrate web part and wiki pages in your public site and take advantage of their additional features



Due to a bug, it seems changing to a custom master page wreaks havoc on any Sharepoint store apps you have installed. You will have to remove the app and add it again to fix the problem, so if you have content you don’t want to lose – be warned!


There are 2 ways to do this. One way is easier but involves UK web design companies and allows you to pick and choose which pages use the public site styling. The other way is more complex and will affect all your admin pages but all you need is notepad. The first option is the safer of the 2 because there may be some undesirable side effects to changing the admin master page. Whichever you choose, be aware that SP master pages are pretty unforgiving of errors so you should always start by making a copy of the default version!

Option 1:

Create a page in the Site Pages library. If there is no site pages library in your tenant, you’ll have to create one with all the desired page content types active.
Open the site in Sharepoint Designer.
Click “All Files” »” _catalogs” » “master page”.
Right click the master page used in the public site (Oslo etc) and click “set as custom master page”.


Navigate to the Site Pages library, right click any page and click “Edit in advanced mode”.



At the top of the code you’ll see the master page reference.
Change it from: <%@ Page language=”C#” MasterPageFile =”~masterurl/default.master”
To: <%@ Page language=”C#” MasterPageFile=”~masterurl/custom.master”

Now that page will start using the same master page (and therefore styling) as the public site pages.

Option 2:

Remember this will monkey with all your admin pages so if something breaks, see option 1!

Grab the files:

Go to site settings » look and feel » master page to identify which “system master page” you’re using
Web designer galleries » master page gallery – download a copy of that master page (Oslo, Seattle etc).
The css file used on the public site is not as easy to locate-
Option 1 (easy): open your public site and using the web developer add on in Firefox, go to the edit css tool, copy the contents of the css file that looks like “oslo-236877554-themedcss” and paste into notepad.
Option 2: look in the source code of a public site page for all the “link rel=”stylesheet” references. The file you want will be something like oslo-236A6B32.themedcss. So the full path would be /_catalogs/theme/Themed/3A9B902/oslo-236A6B32.themedcss. When you find it, click it, copy the code and paste into notepad.
Save the css in notepad as a .css file and upload to the master page gallery.

Adjust the master page:

SP is picky about how you add a link to a css file – so open the master page in a text editor and search for Right below that line add:

So the name part would reference the name o