You Can Now Migrate to Office 365 via FedEx or DHL

Until recently, Microsoft, if you migrated files to Office 365 you uploaded your files through the same channel as portal users interacting with the web interface.  This channel was throttled in order to ensure that your uploading process wouldn’t impact the user experience.  This made migrations very slow to transfer.

Microsoft then announced a new migration route for transferring files to Office 365.  This route goes through a completely new channel via Azure.  You package up your files using either PowerShell or a third party migration tool such as Metalogix Essentials and you can then migrate them to Office 365.  The migration performance is significantly faster because files are transferred through a dedicated migration path instead of through the front end user interface.

Microsoft has now announced the ability to ship your files physically to them and they’ll import them into your tenant.


Microsoft provides a set of tools for packaging up your files, encrypting them and storing them on a physical drive.  You then ship the drive via FedEx or DHL.


Read More

Azure SQL Now Supports Azure AD Authentication in Preview

Microsoft has just released a new feature for Azure SQL that allows you to manage your users access via Azure Active Directory.  Previously, authentication was limited to SQL authentication.

This provides an enterprise class method for managing users and providing them access to your Azure SQL database.

aad auth diagram

The details for setting this up can be found here.

Read More

Microsoft and Salesforce Expand Their Partnership

Microsoft and Salesforce are fierce competitors within the CRM market, but they are also partners.  Over a year ago, Microsoft and Salesforce announced ways they would partner together including:

  • Native Windows Phone Support

  • Sharing of Office 365 Documents in Salesforce
  • Integration of OneDrive with Salesforce
  • Using Salesforce within Outlook
  • Use of Microsoft SQL Server as the database for ExactTarget (one of Salesforce’s products)
  • Integration of Salesforce apps into Office 365
  • Querying of Salesforce data in Power Query / Power BI

Microsoft and Salesforce announced a further expansion of their partnership to include:

  • Integration of Skype for Business into Salesforce’s new Lightning platform
  • Surfacing of Salesforce opportunities in Microsoft’s Delve
  • Salesforce will support mobile applications for Windows 10
  • Integration of Salesforce data into Cortana

Read More

Why SharePoint/Office 365 Branding is a Challenge: Case In Point, the Blog Site Template

If you want to understand why branding SharePoint is a challenge, try to rebrand the out of the box SharePoint Blog Site Template.  One of the most basic site templates you’ll want to use in SharePoint Online has its origins back in SharePoint 2003 and the site template structure hasn’t really changed since SharePoint 2007! 


In modern branding guidance from Microsoft, they are advocating using JavaScript, no master pages and light weight branding.  We have been building intranets using no master pages, only JavaScript and responsive CSS files.  This approach works really well for publishing sites, but fails with the out of the box SharePoint Blog Site Template.

Understanding the Blog Site Template Structure

As mentioned above, the Blog Site Template is based on legacy paradigms and patterns.  If you edit the page, you can see the structure of the blog site components:

  • The default.aspx page can be edited, but you cannot change its page layout.  The default one is a 3 column page layout.
  • Blog Archives, Blog Tools and Blog Notifications are web parts. 
  • Categories and Posts are both List Views that have been heavily customized through XSL files.  In the SharePoint 2007 world, these files are installed at the farm level and aren’t accessible from SharePoint designer or the master page gallery.  I haven’t figured out where these files are in SharePoint Online (since you have no access to the farm).
  • The links in the blog post list view link to another page called Post.aspx.  This is what displays a single post and allows you to add comments.  The view of the blog posts is rendered using an XSL file called blog.xsl.
  • In addition, there are pages for other views such as All Posts, Archive, By Author, Calendar, and My Posts.  Each of these views actually use the same XSL file (“main.xsl”)

How Branding Works in SharePoint Publishing Sites

In order to rebrand any page in SharePoint, you effectively have 3 options available to you:

  • Create page layouts and use them to inject your own CSS, JavaScript, etc. and structure your page layouts based on your own design needs
  • Provide a custom Master Page that updates the chrome, CSS, JavaScript, etc. for the overall page structure.
  • Provide a link to an alternative CSS file that can be added to the site settings.  NOTE: you can only provide a single CSS file using this method and there is no support for adding JavaScript.

Our preferred approach is the first option because it avoids introducing custom master pages (which are not recommended within Microsoft SharePoint Online).  Using a custom page layout you can inject CSS or JS files as you need both in the header and in the body and you can restructure your layout so that it uses a modern HTML framework.

Challenges with Branding the Blog Site Template

Using the branding approach used for generic publishing pages won’t work with the Blog Site Template. 

The blog site template’s default page looks like a regular page, but it’s actually a system page that is not easily accessible for customization.  You cannot change the default.aspx page layout = if you go and edit the page the page layout is disabled even if the publishing features are turned on. 

You could create a new publishing page within the blog site template and add the list views and the web parts onto the page and make that new page the default page.  However, when an end user clicks on a link the user is directed to to Post.aspx and this is also not governed by page layouts either.  So our preferred option of using Page Layouts and injecting our own custom branding isn’t available.

Branding Option #1: Applying a New Master Page

You could use a new master page and apply it to your blog site.  This is not a recommended approach especially with Office 365 because it means you have now disinherited from any future changes that could come from Microsoft in the standard master page.

More importantly, If you try to apply a master page to your blog site, you quickly figure out that the blog pages aren’t actually publishing pages – they are system view pages.  This means that you can change the master page but you’ll have to change the System Master Page, not just the Site Master Page.


This is feasible, but will have the unintended impact of changing the user interface of all your settings pages.  Here is an example where I created a minimal master page and added a basic header to the body.


This works but the same layout will be used for pages such as your site settings page:


Option #2: Create Your Own Publishing Page

You can replace default.aspx with your own custom page.  You can apply your own page layout which provides you the opportunity to change the format of the page, inject your own CSS and JavaScript, etc.  You can re-arrange the web parts and list views on your new page and using CSS you can style them to suit your needs.

Here is an example of a custom blog home page.


This page uses a different page layout and I have re-arranged the web parts on the page.  The view of blog posts is the summary view of the list which is what is used in the default.aspx page.

The challenge is the existing blog web parts and views still direct the user to other view pages.  For example, if you add the blog archive web part it goes to a Date.aspx page to show you a list of blog posts for a particular month (why you would need entirely new ASPX page to do this is beyond me). 

As well, you’ll start to notice subtle limitations due to the quality of the HTML in the views – there are a lot of tables, fixed widths and other challenges in the HTML structure that will make branding these views a challenge.

In addition, the comments don’t show up – they are injected in the ASPX page itself through a JavaScript file.

Option #3: Create Your Own User Interface

At the core of the blog site template are lists that store the blog data – Posts, Comments, and Categories.   You could use your own JavaScript to create your own user interface that reads and writes from these lists and displays the blog posts.  This will provide you the most branding flexibility because you now have complete control over the user experience.  Given the out of the box Blog Site Template was designed almost ten years ago and doesn’t use any modern HTML approaches such as even basic AJAX or responsive designs you probably could do a lot better than the out of the box template with your own designs.

However, the blog site template has a fair number of function points out of the box that if you need them will take some significant investment to roll your own.  Some of the key functions provided by the out of the box template include:

  • Displaying comments
  • Emailing a link of the post
  • Liking and Unliking a post
  • Adding new comments to a post
  • Filtering by category and by date

In each case, writing your own JavaScript requires some in depth knowledge of the JSOM SharePoint APIs to read and write data from lists, update likes and unlikes, etc.

Option #4: Use the New Blog Template

Microsoft recently unveiled a new blogging template built into the Office 365 user profile.  It provides a more modern user interface, is somewhat responsive and mobile friendly, etc.  However, this blog is attached to you as an individual which isn’t always what you want for a corporate blog. 


In addition, it provides ZERO support for branding – you cannot even change the fonts or the colors.  This template is even more limiting from a corporate messaging perspective than the blog site template.

Is Branding Worth the Trouble?

Many developers and Microsoft themselves either implicitly or explicitly say to not bother with branding and just use the product as is.  Microsoft themselves have issued statements like this that push customers to question why branding is worth the trouble.


The blog site template is a very good example of why branding continues to be a challenge and yet why it is a necessity.  What corporate communications intranet doesn’t want a blog for the CEO and would they want the out of the box, ten year old, non responsive, non branded template?  And yet, the basic approaches even recommended by Microsoft as modern, safe approaches to customizations don’t work for the blog site template because it was built on old paradigms and has never been updated.

We are currently evolving our own Option #3 JavaScript user interface to provide our customers with a fully responsive, modern user interface based on CSS frameworks like bootstrap so that a CEO blog can be easy to maintain and yet provide a branded experience.  It is a significant effort but worth it for many of our customers looking for a blog as part of the corporate communications intranet.

Read More

Ability to Build Your Own Power BI Visualization Customizations Coming Soon

As posted previously, the visualization framework for Power BI has been open sourced and is available on GitHub.  Microsoft allows you to add your own contributions to the repository and they will be reviewed and incorporated into the main product.

There has also been previous mention on the Power BI web site about allowing developers to deploy custom visualizations that are private to a specific account or tenant and not contributed through the central repository.  imageThis concept was again confirmed today with the announcement of the new Power BI Custom Visualization Contest

A quick update on what’s coming – Custom Visualizations in Power BI and Power BI Desktop!

We are not done yet. I am delighted to disclose that the same skills you will be using to build your visual for the contest will also be applicable for the upcoming custom visualizations feature of Power BI.

The custom visualizations feature will enable you to use your own visualizations in Power BI, without needing to have them included in the public Power BI product. These custom visualizations will be yours only and you’ll have full control and ownership over them

Very Soon, we will enable the registration and use of custom visualizations in your Power BI tenant where you can include them in reports (created in the Power BI web experience) and dashboards. Shortly after, you will also have the capability to use custom visualizations in Power BI Desktop. We expect that these capabilities will allow you to deliver custom visualizations to data analysts and business users who will find them useful.

We are very excited to enter this chapter in our journey towards open and custom visuals. I, along with the rest of the Power BI team cannot wait to see what you will create!

This implies that we’ll be able to develop customizations specific to a client, an industry or for particular workloads and to deploy them as custom specific solutions.  This could mean some very interesting visualizations being developed for specific types of business intelligence and for particular audiences in the future.

Read More

Power BI Custom Visualization Contest!

One of the key models of the new Power BI service is the open sourcing of the visualization engine and the ability for developers to build their own visualizations.   As posted previously, the Power BI visualization framework has been open sourced and is available on GitHub.  The visualization framework is based on D3.JS and can be extended to create new visualizations.

In order to encourage development of new and innovative visualizations, they have announced a new Power BI Custom Visualization contest

The price for 1st place is $5,000 and the deadline is October 1, 2015.  Good luck for anyone submitting an entry!

Read More

Microsoft Acquires VoloMetrix to Help with Organizational Analytics in Delve

As part of the last Ignite conference, there was a presentation of a new vision for Delve that included a dashboard that displayed information about your work life.  I blogged about this upcoming feature in May.

Microsoft has just acquired VoloMetrix, an organization with a product for tracking activity within an organization.  VoloMetrix’s focus is on tracking sales activities such as time on the phone, time with the customer, pipeline velocity, etc.

VoloMetrix time use by sales teams

Read More

New Excel Add-in for Azure ML Just Released

One of the most interesting features of Azure Machine Learning is the ability to publish your pipelines to a production quality web service.  If you have developed a world class predictive algorithm you can very easily publish it to an endpoint which is now available to your users.  Your users can then provide data to be analyzed and Azure ML will output back a predicted value.

For example, imagine you have developed a pricing algorithm that predicts the optimal price for your product based on some features of your customer such as age, income, previous purchase history, location, etc.  You could create an Azure ML based pipeline that based on a training data set of your previous purchase history would find the best predictors of optimal price and allow you to then have the algorithm predict the price.  Once trained and optimized, your algorithm’s job is to provide you a predicted optimal price based on some input criteria values.

Microsoft has now created a really easy way to provide input through Excel through the new Azure ML Add-In.  Using the Add-In, you can now select cells in Excel and ship them to your Azure ML web service for processing. 

The add-in is available in the Office Store here.

Read More

New Office UI Fabric Available for Designing Add-Ins for Office

Microsoft has an updated model for building apps (now called “Add-ins”) for SharePoint and Office.  These add-ins allow you to build extensions to these products and embed functionality into them through web based applications.  Add-ins can be found in the Office 365 App Store in Excel, PowerPoint, Word, etc. and in SharePoint as well.


Microsoft has now released a new design framework for ensuring your add-ins conform to the Office 365 user interface styles.  The framework is available on GitHub.

It is very straight forward to integrate Office UI Fabric into a web application. Simply add some JavaScript into your web application and reference the CSS file from the CDN in your HTML file. The following starter template represents the minimum recommended HTML structure for an add-in that uses Office UI Fabric.

Introducing Office UI Fabric 2

The framework is designed to work across Office Clients where Office Add-ins are supported including Windows desktop, web browser, Mac desktop and iOS on iPad.  The framework also provides out of the box controls that you can use within your add-ins such as people picker, persona card, file picker, etc.

There are also user interface design guidelines available here for styling your add-ins.

Read More