Better late than never: 3 takeaways from Microsoft Ignite 2016 for SharePoint and Office 365 (with a developer spin)

I forced myself to wait a few weeks (OK, two months) and let the Microsoft Ignite dust settle before blogging about what’s next for SharePoint and Office 365.  As a rule, it’s best to wait until the conference high subsides before crowning each and every announcement as the greatest thing since sliced bread for {insert favorite Microsoft platform here}.

(Plus, a certain baseball team on the north side of Chicago is in the playoffs WON THE WORLD SERIES…)

I’ve been a bit preoccupied, but better late than never.

But Microsoft Ignite 2016 brought plenty of welcome news for everyone connected to the SharePoint platform, whether in Office 365 or on-premises.

With Jeff Teper and Bill Baer leading the way, Microsoft made it loud and clear: SharePoint is back as the premiere collaboration platform, and the changes we’ve seen lately are just a taste of what’s to come.

1.  Files are finally easy in Office 365

Wait, wasn’t SharePoint designed for file sharing? Well, yes– but as Office 365 and OneDrive for Business evolved, sharing files in SharePoint became just one way to collaborate. Most of us have files in Office 365 Groups, OneDrive, Yammer AND SharePoint, and navigating to each individual app to work on a file is painful.

Now, you can access (almost) all of your files in one place: OneDrive. All of your files from SharePoint team sites, Office Groups, OneDrive for Business and files that have been shared with you from other users’ OneDrive are all accessible via OneDrive and the OneDrive mobile app.

Noticeably absent from this list is Yammer, but don’t worry: the Yammer team had some good news of their own to announce (hint: it’s not dead)!

O365 Groups integration.png
From the right-side panel in Yammer (source: Yammer team blog)!

The Yammer roadmap includes tighter integration with Office 365 Groups, including a Group for every Yammer team created.  You can read the Yammer announcement about Groups integration on their Office Blog, or watch the roadmap video on Channel 9.

Accessing OneDrive files in Yammer (source: Yammer team blog)

Developer spin: welcome to the OneDrive API!

Get used to using the Microsoft Graph to work with files in Office 365 and SharePoint, rather than the SharePoint CSOM.  Announced at Ignite, the Microsoft Graph now officially supports files and folders in SharePoint Online document libraries.

If this sounds confusing (wait, wasn’t the Microsoft Graph Files API recently deprecated?), that’s because it is (at least to me).  It is, in fact, the OneDrive API that now supports REST queries for SharePoint files.  Further adding to the confusion is that the SharePoint team announced on their Future of SharePoint blog that SharePoint files access is coming to the Microsoft Files API.

But this is just further proof that it shouldn’t matter where your files are stored– in OneDrive or in SharePoint Online– working with files in Office 365 is getting a consistent user experience that is backed by a consistent experience for developers, too.

2.  SharePoint UX is ready for the modern web

The SharePoint library and list UX has been virtually the same since 2007, and the new Modern Document Library and Modern List experience (now rolling out to all tenants) has been a breath of fresh air. While not perfect (there were some bumps along the way, and there are still some legacy features missing from the modern experiences), these new user experiences provide a fresh take on the traditional library and list.

Notable features in modern document libraries include new grid views, pinned documents, fast view switching and a powerful details pane that you can open by simply typing “i” on your keyboard.

Modern lists now inherit the same slick new UI and support quick and dirty Flow and PowerApps integration.  In this blogger’s opinion, neither is fully ready for prime time yet, but each provides a ray of hope for rapid workflow development and mobile form creation, respectively.

But the biggest announcement coming out of Ignite is that modern Pages are live.

Configuring the Highlighted Content web part on a modern Team Site page

The Pages experience brings a wealth of new web parts in a responsive grid (well, more like a responsive column– I’m not sure if a true grid is in the works).  Out of the box, Modern Pages support several new modern web parts:

  • Text
  • Image
  • Document
  • Office 365 Video
  • Content Embed
  • Highlighted Content
  • Quick Links
  • Site Activity
  • Yammer Feed
Adding client-side web parts to a new Modern Page in SharePoint Online

I’ll blog more in-depth about each of these options another day, but for now, the big takeaway is that Modern Pages are live, and with them come modern, client-side web parts.

Developer spin: time to learn SPFx

With modern, client-side web parts comes the SharePoint Framework, or SPFx, for developing client-side web parts for SharePoint Online.

This isn’t exactly news from Ignite– modern web parts were announced back on May 4 as part of the Future of SharePoint event– but we got a taste of actually developing them during a few developer-focused sessions at Ignite.

Donning a baller “$ yo SharePoint” shirt, Chakkarah Deep (PM, SharePoint Developer Platform) led an intriguing session on the SharePoint Framework in which he demonstrated using modern web scaffolding tools such as Yeoman, Gulp, Node.js and NPM to build client-side web parts in SharePoint Online with new eye candy like Office UI Fabric (built with React.js).

What a mouthful!

Got my hands on a sweet $ yo sharepoint shirt. I feel like Superman.

It’s a big mouthful, but it’s an important one for SharePoint developers.

Gone are the days of building web parts that inherit from the .NET WebPart class.  Gone are the (brief, but painful) days of building App Parts for your SharePoint Add-in only to scratch and claw to get something useful to render in an iFrame.

New web parts are:

  • Written entirely on client-side languages: pick a favorite and scaffold the supporting SharePoint classes
  • A brilliant example of the new TypeScript 2.0 (not required, but useful)
  • Environment-aware: run in SharePoint when deployed to production, but can be developed locally with a Node server and Gulp using data from a live SharePoint environment
  • Backwards-compatible: can be added to old web part pages and new Modern pages.
  • Still in preview: you will need a development tenant to deploy and test them with SharePoint connections

3: Every SharePoint Site gets a Group, and every Group gets a SharePoint Site

I saved the best for last.

Now, when you create an Office 365 Group, a SharePoint team site is provisioned (actually, it’s always been this way, but you can finally access the full team site).

And the reverse is true: when you create a SharePoint team site, you get an Office 365 group.

Although the message is still a bit murky and provides an opportunity for thought leadership on what features of Groups and Team Sites to use when, this much is clear: you no longer need to choose between a Group or a Team Site.

The end result is that when you create a site or a group in Office 365, you get a full-blown, people-centric collaboration suite with:

  • A Shared Documents library that is accessible within OneDrive
  • The ability to create additional document libraries with custom columns, permissions, Flows and PowerApps
  • The ability to create custom databases (lists) on your site, again with the full extensibility of Flow and PowerApps
  • A group inbox in Exchange via a distribution group and a team chat that you can access in Outlook
  • A OneNote notebook
  • A Plan in Planner for tracking project goals, tasks and assignments
  • A home page for your team that shows recent documents and team activity, with the ability to create additional pages with web parts that highlight activity, individual documents, or even list items
  • A true modern, mobile experience in the SharePoint app on your phone

Clicking the “Files” tab in any view of an Office 365 Group (from within Outlook or on the team site) will open the Team Site Shared Documents library, but you can then navigate to additional document libraries, pages and lists on your site.

Developer spin: owning the provisioning story is more critical than ever

I’ve been screaming as loud as I can about the incredible work the OfficeDevPnP team has been doing around site provisioning in Office 365 (and SharePoint 2016).

If you’re new to the PnP team, here’s a TL;DR: the Office Development Patterns and Practices team curates open-source, documented code on GitHub that helps you implement best practices for provisioning custom site collections in Office 365.

Owning the site provisioning experience has always been important to SharePoint developers; most of my clients request some means of creating a customized instance of a SharePoint site.

So why is it more important now?  We’ve traditionally used site templates to take more ownership of the large, sprawling toolbox that is a SharePoint site, typically managing customization around things like web parts on pages, navigation, security groups and permissions, default list instances and, of course, site columns and content types.

This toolbox has now grown to include all the Office 365 Groups goodies (see above), which means that administrators wishing to stand up governance around the creation of SharePoint sites now have even more to govern.

For now, the best advice I can give to SharePoint developers and administrators scrambling to govern Team Sites and Groups is to funnel the creation of Office 365 Groups through the creation of SharePoint sites, where you can own more of the experience.  Utilize tools like the OfficeDevPnP Partner Pack to manage self-service site creation and, if you’re especially concerned about content sprawl, turn off the ability for end users to create Groups and instead direct them to a site request list.

As the Office 365 toolbox continues to evolve, common customization requests of SharePoint/Office 365 developers will grow to include standing up custom team sites with custom document libraries/lists, plans, custom navigation, default content, limitations on naming conventions and perhaps even integration with the recently-announced Microsoft Teams.

By owning the provisioning experience with the OfficeDevPnP toolkit, you gain programmatic control over several aspects of the experience, and I anticipate that the list of customizations will continue to grow; Microsoft has already announced that Planner Templates with custom buckets and flags are in development:

Custom Planner templates are coming to Office 365.  Source: FastTrack

Wrapping it up

As I put the final touches on this blog here at the MVP Summit, I’m reminded that Microsoft now moves faster than most of us can keep up– even MVPs like myself who live and breathe this stuff every day.

If you’re overwhelmed, you’re not alone.  But know this: incredible things are ahead for collaboration, and SharePoint is at the center of all of it.

Developer spin: it’s a paradigm shift

Our role as SharePoint developers has undergone a paradigm shift, from shoehorning custom business functionality into SharePoint by hook or by crook, to mastering the ins and outs of the SharePoint and Office 365 toolkit enough to make an educated guess as to:

  • Which Office 365 service to harness for a particular use case
  • When to custom-develop an application, vs. when OOB is good enough
  • How to bridge the gap between OOB and what your customer actually wants using client-side code



Microsoft Ignite: 5 Takeaways for SharePoint Architects and Developers

Apparently, some people actually spend time at the vendor expo at tech conferences.  I was too busy binge-watching sessions to take a breath and visit the booth babes, but I left the Microsoft Ignite conference with a very clear vision of the future of SharePoint.

Below, I examine the top 5 takeaways for SharePoint architects and developers from Microsoft’s Ignite conference (in reverse order of importance):

5.  Microsoft wants you to think twice about complicated branding and other customizations.

4.  Automated Site Provisioning is now possible with the new provisioning engine from the PNP team.

3.  The Office Graph is the next big API that you need to know, and Delve is just the beginning.

2.  Responsive design is coming to SharePoint Online in the form of Next-Gen portals.

1.  Microsoft is innovating in the cloud FIRST.

5.  Microsoft wants you to think twice about branding Office 365 and other complicated customizations.

I heard from many an MVP at Ignite:

“You wouldn’t brand Word, so why do you need to brand Office 365?”

It’s never actually that simple, and if you’re in the consulting world like I am, it’s rarely even close. 

But it shouldn’t come as a surprise that Microsoft doesn’t recommend deploying a custom master page to Office 365.  At Ignite, Microsoft doubled down on this stance, but also gave a little bit of context during a “deep dive on branding Office 365” session:

  1. The reason for not recommending using a custom master page is because Microsoft is rapidly innovating in SharePoint Online.  This means that the very second you duplicate “Seattle.master” for your custom page, it’s already out-of-date.  Microsoft understands that custom brands are important to its customers, but wants you to recognize that there is a cost to deep customization, just like there is with any other platform, and that cost is the potential that updates break your solution or your solution won’t support new functionality when it rolls out.  If you think about it, this has always been the case– but we used to have to wait months or years between update cycles. With the cloud release cycle clock interval now ticking in mere days, your customizations get stale quickly. 
  2. There are OOB ways to brand Office 365 that might be good enough.  You can use an Office 365 Theme with Microsoft’s theme builder app, which allows you to customize the color of the Office 365 navigation bar and other main color scheme elements. 
  3. Consider the cost of developing a custom brand vs. the value you get from it.  If you think that there is enough value in your custom branding to forego new releases and risk an update breaking your branding, you are free to use a custom master page at your own risk. It is supported, just not recommended. 
  4. Global Navigaion isn’t as necessary as you think it is. Configuring Promoted Sites for different intranet audiences may get you most of the way towards getting users to relevant content faster; consider setting Delve as the default home page for Office 365 so that users don’t have to navigate to content.

All of this is well and good unless you want to build a portal site, and Microsoft recognizes that it doesn’t provide solutions for a true company-wide intranet portal in Office 365.  This forces us to create super-custom master pages that not only take time and money to develop, but run the risk of breaking when Microsoft changes something in the Matrix.  

But fear not: they’re working on bringing us Next-Gen portals, and they look awesome.  More on that later.

4. Automated Site Provisioning is now possible with the new Provisioning Engine from the Office 365 Patterns and Practices (PNP) dev team.

My company’s biggest hurdle in the way of moving us to the cloud is that we invested a lot of time and code in building custom site templates in farm solutions.  We even overrode the SPWebProvisioningProvider class for complete, synchronous control over the feature activation process during provisioning.  Up until recently, none of that was possible in Office 365, but it is quickly becoming a reality.

Enter the PNP team.  These guys are churning out code like mad over in the Office 365 PNP Git repository (did I mention it was open-source!?), and I got to talk with Erwin Van Hunen (O365 MVP, @erwinvanhunen) about the future of what the PNP team is calling the cloud provisioning framework for Office 365.

What is the cloud provisioning framework?  It’s the answer to custom site templates in Office 365, and interestingly enough, the concept is very similar to writing a custom SPWebProvisioningProvider class. Admins can use the provisioning framework to (1) create an instance of an OOB template (e.g. Team Site), then (2) run a set of customization commands to create SharePoint objects like site content types and fields, lists, even custom term sets.

Erwin’s demo showed an XML file that looked similar (but not identical) to traditional feature elements.  Provisioning is accomplished by feeding this XML file to the provisioning engine via PowerShell commands; the engine parses the XML and calls the client-side API to provision the various objects.  Even cooler yet, the engine has its own API that you can call via your own PowerShell commandlet or Provider-hosted app (in lieu of using an XML file), and it supports exporting some components of an existing site.

I’m going to dive into this one soon, so I’ll post an update once I get my hands on it.

3.  The Office Graph is the next big API that you need to learn, and Delve is just the beginning

If you’re like me and hadn’t checked out Delve yet, it’s time.  At Build the previous week and again at Ignite, Microsoft made no secret of their belief that machine learning is the next big thing.  They call this Office 365-specific machine learning the “Office Graph”, and recently released Delve as the first major application built upon it.  

The heart and soul of Delve: People as a proxy for information

The Office Graph API surfaces information about users and content that goes beyond user profile properties into more meaningful data such as “people I interact with” and “documents trending around me”.  The ultimate goal is to be able to suggest documents and other content to users based on their interactions:

The Office Graph will learn to intelligently suggest people and content based on your interactions with both.

Microsoft is counting on the number-crunching, relationship-inferring Office Graph to entice stuck-in-the-mud IT professionals to move at least part of their SharePoint farms to the cloud.  The nature of machine learning is that it’s only possible in the cloud because of the massive processing power it requires– and although Microsoft intends to allow the Office Graph to index your on-prem SharePoint 2013 farm via an update later this year, Delve and the Office Graph API will still only be available in the cloud (so you’ll need a hybrid environment at minimum to use it). 

New “Boards” in Delve aggregate documents around tags.
Delve replaces the old User Profile page in Office 365.

So go check out Delve– it’s built on the Office Graph, its purpose is to allow users to “find content via interactions with people, and find the right people through interacting with content”– and it replaces the old User Profile page in Office 365.

Oh, and did I mention that it boasts a completely responsive design AND native client apps for iOS and Android?  

Speaking of which…

2. Responsive Design is finally coming to Office 365’s “Next-Gen” Portals

The Microsoft gods heard our prayers, or at least the product team did.  And what a response!  (Get it?)  In multiple sessions previewing the “next-gen portals”, Microsoft introduced 3 new concepts for curated content on SharePoint with beautiful responsive design. 

Potato picture of the NextGen portal architecture.

The architecture supporting all of these portals is exactly what you’d want in a “next-gen” portal, separating content and business/navigation logic from views and providing data via JSON string in REST services. Here’s a grainy glance at the architecture slide from the deep-dive session (I was in the overflow section for this session): 


The new Office 365 Video portal

Microsoft just rolled out the Office 365 Video Portal, which, according to the deep dive session, combines Azure Media Services, a traditional SharePoint site collection-based information architecture, and the power of the Office Graph to deliver video content wrapped in beautiful responsive design. 


There are two ways that we we create content for portals: from the top-down, and from the bottom-up. MicroSites are Microsoft’s answer to the top-down approach, and will essentially replace Publishing sites as the means of publishing curated content, called “Articles”, in canned layouts with images, live document previews (you can even choose to display a specific page of a document!) and WYSIWYG editors.

A few cool notes on the yet-to-be-released Article pages:

  • Gone are the Ribbon and confusing check-in/check-out controls
  • Here to stay is a contextual WYSIWYG text formatting menu (displayed on right-click) and– you might want to sit down for this one– automatic saving of drafts!
    Editing a MicroSite “Article” on a mobile device (again, sorry for the grainy photo, I was in overflow seating)

Microsoft’s goal here is to make creating and editing beautiful articles seamless and consistent, so they make a lot of design decisions for you. But the trade-off is that your Article is responsive, beautiful and functional out-of-the-box.

SharePoint, meet Responsive Design!

“Codename: Infopedia” – Knowledge Management

In addition to “top-down” curated content, organizations also contribute information to portals from the “bottom-up”, meaning we aggregate less-governed content that users create and use as part of their daily work.  Both of these concepts– top-down and bottom-up– are central to Microsoft’s new vision for Knowledge Management portals, which essentially combine MicroSites (see above) and Boards (like in Delve) to create a responsive, aggregated view of curated content for users.

Because it’s not released yet, details were pretty skimpy on what Microsoft is calling the “Infopedia” portal, but know this: portals in Office 365 aren’t dead, and Microsoft is taking them seriously.

1. Microsoft is innovating in the cloud FIRST.

SharePoint 2016 is coming, but it’s a second-class citizen now.  Delve, Video Portals and the Office Graph won’t be available on-prem EVER because they rely on machine learning only attainable in the cloud (although there will be hybridization opportunities in the future).  The jury is still out on whether any of the Next-Gen portals (in all their responsive design glory) will make it to the next on-prem version of SharePoint.

Bill Baer (@williambaer) laid it out nicely in the SharePoint 2016 keynote when he referred to SharePoint 2016 as “cloud-down” (I’m paraphrasing here– this isn’t a direct quotation):

We built Office 365 by porting SharePoint 2013 to the cloud, then continued to expand the featureset.  SharePoint 2016 is the first version of SharePoint where we are taking innovations we already made in the cloud, and are bringing some of them on-premise.

Microsoft is applying knowledge gained from scaling SharePoint Online to the bones of SharePoint 2016 by porting the SharePoint Online featureset– at a given point in time– to the on-prem server.

Here are a few of the features we can expect in SharePoint 2016:

  • “Cloud-down” design: based on SharePoint Online
  • Increased hardware prerequisites
  • Upgrade path from SharePoint 2013 only (no direct path from SharePoint 2010)
  • Move away from domain-based authentication to cloud-ready OAUTH by default
  • Discrete server roles (WFE, App, Distributed Cache, Search and “Special Load”) with health role compliance monitoring and automatic fix
  • Zero-downtime patches
  • New boundaries and limits (for example, list threshold increases past 5000)
  • Fast site creation: database copy rather than running code
  • Changing a filename will no longer break the URL
  • Advanced health monitoring

Exciting, huh?  Maybe, if you don’t consider the fact that all of these features have been available in Office 365 (or were necessary to support it) for some time now.

My biggest takeaway from Ignite is that Microsoft isn’t just innovating in the cloud first– they’re prioritizing it, they’re fast-tracking it, and they’re not looking back.  A gentleman in front of me (shoutout to Benjamin Niaulin, @bniaulin) remarked during the SharePoint 2016 keynote:

Hybrid is the new on-prem.

Bingo.  So if you want to bring your SharePoint environment into the next generation, you’re going to need the cloud to get you there.