Friday, 6 October 2017

My Ignite wish list – what got delivered and what didn’t?

In the week or two before the recent Ignite conference, I published a wish list of things I was hoping Microsoft would announce. As usual for me, this focuses *mainly* on building on and extending Office 365, and SharePoint in particular. I like to publish these lists occasionally - it helps me shape my thoughts, and keep up with “top of mind” developments in Office 365 which would help the organizations I work with. Now that the event has happened, there were a TON of announcements at Ignite – clearly there is HUGE amount of investment and development happening across Office 365 right now, and it’s an awesome time to be working with Microsoft tech. If ever you wondered whether you backed the right horse for your career (or made the right choice for your organization), I think it’s hard to have those doubts these days. But that said, I notice that several items on my wish list did NOT get dealt with, so I thought it would be good to reflect on those somewhat.

Before we jump into the items, I have two high-level thoughts on Ignite:

  • Hey, I see what you did there!
    • Although there *were* lots of announcements, pay attention to the timeline on each of them. I’ve tried to gather together the most relevant ones to me in my table below – but I note that many are actually quite far away into 2018. Nothing wrong with it, but I feel perhaps there was a Microsoft tactic to provide a “big wave” of announcements to increase the overall effect, even if many are quite far away from launch (or even just “things that might happen”). I guess this fits with today’s “disclosure strategy” of using these 2 or 3 large events through the year to make announcements – and frankly, I much prefer this compared to having less overall visibility of the roadmap. You just need to pay attention to dates and caveats.
  • Office 365 and cloud revenue is powering investment!
    • Remember a couple of years ago people were asking if SharePoint was dead? Feels like a different world now. I think one big factor is that Microsoft are further up the adoption curve of Office 365, and the corresponding revenue and outlook means that big ambitious goals can be set. I can imagine that various product groups are a little larger and have more resources. Another one is that lots of infrastructure/scale/foundational challenges have clearly been dealt with now – leaving an increased focus on providing great tools and a modern development platform to users.

My original wish list

Anyway, back to my list – here’s what I said Microsoft should provide. I didn’t blog this, but put it on LinkedIn strangely - maybe it was a prophesy related to the increased integration between LinkedIn and Office 365 ;)

    image

    What got delivered/announced, and what didn’t?

    I initially just had some checks/crosses against each item, but then I added some notes, and then some timelines, and finally I ended up with the table below. This might only be useful to me personally, but hey, if it’s useful to you too, then great. It could have more comprehensive notes/links, but that’s probably a bigger task than I can deal with right now! So:


    Item

    Announced?

    Timeline

    Notes

    Tagging/metadata for modern pages

    Not really

    H1 2018

    “Categorization” mentioned for 2018

    Associate existing SP site with
    Group/Team

    Yes

    Early 2018

    PowerShell will also be possible. See “BRK2434 – No team site left behind”

    Provisioning/templating for
    Communication Sites (ideally PnP)

    Yes

    Q4 2017

    Site Designs (previously known as “Recipes”).*See special note on Site Designs below

    Page layouts for Communication
    Sites

    Yes

    Q1 2018



    Profile page extensibility

    No

    ?

    ?

    Web hooks on Group creation
    (site)

    No

    ?

    Nothing imminent, but a *custom*
    site design can call out to a Flow

    Provisioning/templating for Teams
    (tabs, connectors, bots)

    No

    ?

    ?

    More modern web parts (e.g.
    search)

    Yes

    Q4 2017
    • Planner/Forms web parts
    • Enhancements to Highlighted Content web part (provide query)
    • Enhanced web part picker

    SPFx enhancements

    Yes

    Multiple
    • Site scripts/site designs (Q4 2017)
    • Simplification of calling Graph/custom web APIs secured with AAD
    • Site Collection App Catalog etc. (Q4 2017)

    Some ‘under the radar’ things!

    Yes

    Multiple
    • Multi-geo (OneDrive/EXO now, SPO in 2018)
    • Hub Sites (early 2018)
    • OneDrive Files on Demand (Q4 2017)
    • Conditional Access per site (early 2018)
    • Simpler sharing e.g. verification code links for external users (Q4 2017)
    • List enhancements e.g. formatting, attention view, indexing and Flow improvements etc. (Q4 2017)
    • Better site/content analytics (early 2018)
    • LinkedIn integration with Office 365 people card (Q4 2017)

    Previously-announced,
    but not yet delivered

    Yes

    Multiple
    • New Admin Center (First Release Tenants in early CY2018)
    • App Launcher updates
    • PowerApps for SharePoint lists (October 2017 for FR tenants)
    • PowerApps enhancements e.g. upload attachments, simpler conditional views etc. (before end 2017)

    NOTE:– I’d love to hear from anyone who spots an error or something I missed with these details (e.g. a timeline). Please leave a comment if you don’t mind and I’ll update!

    My thoughts – especially on the missing items

    So Microsoft didn’t deliver everything I was hoping for. BUT, they did deliver a whole bunch of things that weren’t in my list! I list most of these in the “under the radar” and and “previously announced, but not yet delivered” categories. Us MVPs are fortunate enough to have something of an inside track on most of them (thanks Microsoft, your work here is MUCH appreciated by the way) so I had familiarity lots of them before the event. It’s great that those categories have so many items, and no doubt many more could be added too. BUT:

    •  Tagging/metadata for modern pages
      • I was disappointed not to hear more on this. It feels like there are still significant gaps when it comes to building solutions around modern pages, especially when it comes to roll-ups and displaying content of different types (e.g. pages tagged with X). Yes, there’s a new PnP re-usable control, but you’d have to do some work to integrate this, and that feels like Microsoft’s job to be honest.
    • Profile page extensibility
      • Still nothing. What’s up with that? This has been talked about for a LONG time, but still we can’t add custom widgets or tailor the Office 365/Delve profile page. I didn’t even hear any mention of it to be honest, yet lots of organizations I work with want to do something there.
    • Web hooks on Group creation (site)
      • Again, nothing here either. Vesa has mentioned some engineering considerations around providing this, but I was hoping for an announcement so that applying a custom PnP templates to self-service created Office 365 Group sites would become easier. Sure, a Flow can be used with the forthcoming Site Designs capability, but that seems to still leave a gap for default sites which don’t use any kind of Site Design, like an out-of-the-box Group site. The info was only released on this yesterday, so I could be missing something though – hope so..
    • Provisioning/templating for Teams (tabs, connectors, bots)
      • Lots of progress on Microsoft Teams, but still no proper templating story. I was *really* surprised not to hear something on this - I definitely have clients who want to use Teams at scale, but with the same set of custom tabs etc. Configuring by hand just isn’t an option, so let’s hope for something soon (again, unless I missed it).

    Of course, let me know if I am missing anything, or you disagree with my interpretation of things.

    * A note on Site Designs

    So, we do have a way of applying templating to Communication Sites (and it goes beyond that – Site Designs can be also applied to Team Sites created from the out-of-the-box UI, so this is a big deal). But, right now I do have some reservations on the model here. Obviously there’s ANOTHER way to define a site template now (the JSON format used by Site Designs, which doesn’t look too easy to work with actually – seems like there are quite a few attributes/actions to understand), and that feels sub-optimal given that the PnP provisioning building blocks have evolved so much. We *can* integrate PnP provisioning (woohoo), but the architecture is Site Design > Flow > Azure queue item > QueueTrigger/Azure Function > my PnP provisioning code. Which is fine and ticks many boxes, but:

    • Frankly I would have preferred some form of Microsoft-hosting my PnP provisioning template and taking care of the execution. The fact that we still need Azure can be a blocker for some organizations, and means there is still a level of complexity, and a chunk of work for us to do. It was pointed out to me that Microsoft may have chosen this approach because they don’t want to host/support PnP provisioning themselves (as a community effort rather than pure Microsoft), and I guess I can understand that actually. But still..
    • Templating Office 365 Group sites still seems to be a gap. Yes, I can call out to my Flow for a site which *does* have a custom Site Design – but what about Group sites which are springing up as users create Groups/Teams/Planner plans/Power BI workspaces etc.? There’s a way in which a default Site Design can be specified at the tenant level, but will this apply to Group Sites? I’m not clear at this stage. But I certainly want the capability of applying a custom template to a Group-connected site in a timely way.
      • UPDATE – just minutes after publishing, I picked up on the detail in the video linked below, that it IS possible to target a Site Design at an out-of-the-box Group Site. This is done by associating your Site Design to WebTemplate=”64” for a Group site, or WebTemplate=”68” for a Communication site etc. Happy days.

    I still think it’s something of a shame to have another templating language/approach though. Which bits of the template will be done in the Site Design and which in a PnP template? I can imagine lots of different approaches being used for this. But of course, the main advantage is that this form of templating integrates with the out-of-the-box UI for creating SharePoint sites, which opens up a lot of possibilities. I just wonder if in the end, we’ll be implementing “shell” Site Designs which call out to a PnP template which does the real work of creating content types/lists/pages/web parts and so on in the site. Let’s see..

    For more on Site Designs, see https://techcommunity.microsoft.com/t5/SharePoint-Developer/SharePoint-Patterns-amp-Practices-PnP-Core-and-PnP-PowerShell/m-p/114082#M3496

      Conclusion

      Despite not hitting all items on my list (which are just the views of one guy of course – everyone else has their priorities too), I think Microsoft are actually exceeding what I hoped for. Yes, there will always be gaps and as you can imagine, there are LOTS of things I’m not covering here. Whether it’s general developments such as new Office 365 Plans or Bing for Business, the raft of enhancements to Microsoft Teams (e.g. taking the place of Skype for Business for online), or developer-focused things such as Graph enhancements (e.g. Extensions in Azure Functions, SP list data in the Graph etc.), there’s lots of other things to keep up with. Some good starting points for further reading are:

      8 comments:

      Paul Ryan said...

      Hi Chris,

      Perhaps the SPFx ALM APIs may also be relevant in your timeline? Are you less bothered about this since tenant-scoped SPFx became available?

      Cheers,
      Paul

      Chris O'Brien said...

      @Paul,

      Yes, and yes! Good point, I think the ALM APIs for pushing out SPFx web parts and extensions are an omission here, so thanks. But yes - now that it's possible to do tenant-scoped deployments and control with the associated Custom Action/ClientSideComponentId, I do feel that a good chunk of the need can be dealt with now. After all, it can now be a matter of which sites you add the Custom Action to.

      But yes, I agree they're still needed. Thanks for the nudge :)

      Cheers,

      COB.

      Marco Scheel said...

      Hi Chris,

      technically the webhook for group creation should be "available". I'm als interested and I'm a big fan of the Microsoft Graph. Through the beta endpoint you should be able to get an call for every new Group. I've posted my issue here:
      https://techcommunity.microsoft.com/t5/Microsoft-Graph/Webhook-aka-Subscription-for-groups-ressource-changeType-created/m-p/106356#M32

      I can get a working webhook for update or delete but the needed create is not working at least back in mid September. I don't have a contact to the MS Graph team, but maybe you as an MVP has some better reach ;)

      Jeremy Thake said...

      Great write up, as usual mate.

      On the profile page extensibility. It was very clear from a few sessions including the LinkedIn one by Cey Ayken, that this is not on their immediate radar. The video for this is here https://www.youtube.com/watch?v=CTT9IKw2i3w&feature=youtu.be&t=44m05s that covers the extensibility question. I'm getting these guys on the Hyperfish Podcast to ask more in coming weeks too.

      Chris O'Brien said...

      @Marco,

      Thanks, interesting stuff. But y'know, isn't there a difference between a webhook on Group creation, and one for *when the SharePoint site gets created*. As far as I understand (unless something has changed recently), the SP site actually only gets created the first time it is accessed by an end-user (i.e. the link is clicked). That could be a long time after the Group gets created.

      So maybe we need a webhook for both things. I guess it's the SharePoint site one I'm most interested in though, since it's about applying a template to the site. Vesa mentioned on a call this week about the engineering challenges, which is why I think this is a separate thing to the webhook you reference in your Github issue and the documentation (which is purely about Group creation).

      Fingers crossed for both cases I guess! Thanks for the comment..

      Cheers,

      COB.

      Chris O'Brien said...

      @Jeremy,

      Wow, interesting. That session is on my list to catch-up on - thanks for the pointer. I'm *still* surprised profile page extensibility has dropped off the list - not good. Maybe try and press the guys when you speak to them!

      Cheers,

      COB.

      Marco Scheel said...

      Hi Chris,

      my understanding is that as soon a /group is created all items (AAD, EXO, SPO, Planner) will be inplace. I'm not talking about a directory object. The /group is always the combination of at least the core assets (AAD, SPO, EXO). Maybe that's the problem why the create operation is still missing but documented... its only in the beta version of MS Graph.

      Regarding in time of the site collection creation I'm pretty sure this is not waiting for anyone to access the site. I'm sure AAD ist first ;) but after the AAD object I'm sure Exchange and SharePoint kick in right after. There are many reasons this must be the case or otherwise the complete structure will start to fall apart.

      Chris O'Brien said...

      @Marco,

      Actually I think you're right - it seems *some* things only get generated when the site is first accessed (e.g. the auto-generated site icon, and perhaps the theme), but the site itself does indeed seem to get created at the same time as Group creation. I'm not sure if that's always been the case, but that's what some testing shows today.

      So, if that web hook on Group creation starts working properly, that would sort that one!

      Thanks for posting,

      COB.