Thursday, 29 June 2017

Office 365 developer wish list (SPFx and modern sites), summer 2017

Clearly we’re in a transitional period in Office 365 at the time of writing (June 2017), where modern SharePoint experiences are available - modern sites and pages for example - but not everything is fully joined-up yet. That said, it’s a fast-moving landscape and part of the consultant’s role is to keep up with the best way to deliver solutions. For once, I hope this is a blog post which dates very quickly – certainly I have had to add bits of info as I’ve been writing it, and I’ll come back again and update the table below as things get announced/released.

Going back to that ‘transitional period’ - this is especially the case for organizations with collaboration workloads, where there’s a need to create some kind of site template for team sites. This is still very common for our clients, even if it’s just a need to provide a different home page experience or add some lists/libraries/content types/global admins to the site. After all, I think that *whatever* Microsoft provide as the default experience, many orgs benefit from some lightweight changes to this – and so site templating continues to be important in SharePoint. I hope Microsoft don’t lose sight of this. Certainly when I consider my wish list, many items relate to “doing team sites at scale” in SharePoint – so perhaps let’s think about that first.

Current site templating challenges

Currently site templating is challenging because:

  • Want to use Group sites? Well, it’s challenging to template these currently, because:
    • Can’t currently specify a custom template
    • Can’t currently be notified that a new site has been created, because there are no web hooks
      • [By the way, I agree there are  ways around this (e.g. web job/function which polls for new sites), but none are pretty because users may start using the site in one state, only for it to change as they are working in it..]
  • Want to use non-Group SharePoint sites? Currently challenging to template these *and get modern experiences*, because:
    • Even the Patterns and Practices (PnP) site templating doesn’t currently allow provisioning of modern pages – at least, not without some dev effort to extend it

For our clients who don’t want to use Groups, that 2nd approach is becoming common for us. But it would be nice if it was more baked-in/required less work. It’s coming I know (see info in my table below), but there’s no harm in nudging people along the way ;)

My current wish list

Here’s an extract from a PowerPoint slide I recently to discuss my current list of “asks” to Microsoft:

SPFx and modern pages wishlist - June 2017

Let me expand on those in a bit more detail:

Thing

Status (June 2017)

Notes

Global deployment of SPFx web parts

  • Needed so that SPFx app does not need to be installed to each site
  • Ideally at different scopes e.g:
    • All sites of a certain type e.g. all group sites, all regular team sites etc.
    • Sites with X in property bag
    • All site collections except [list]
    • etc.

Partial solution “imminent” (weeks not months)

Sept 5th 2017 – now delivered, see https://dev.office.com/sharepoint/docs/spfx/tenant-scoped-deployment

See slide at the end of this article. Initial solution will allow web parts to be available across sites, but without much control (e.g. my “scopes” examples).

Expand PnP schema to include provisioning modern pages and web parts

  • Needed to allow provisioning of team sites *with modern page as home page* – without code/PnP extensibility provider)

Expected in next release of PnP Core (August 2017 release). It’s in the XML schema already...

More web hooks

No news

I’d like to see web hooks for:

  • Site creation e.g. group sites
  • Subsite creation
  • List creation
  • Permission changes
  • Other changes

Remove restrictions on “no script” sites (esp. property bag)

  • Needed to bring more extensibility to Group sites (or other sites with “no script” enabled
  • Writing to property bag is common in many customization scenarios

Done!

It’s now possible to disable “no script” on modern team sites, including Group sites. The Customizing modern team sites page has been updated to reflect this (June 26 2017)

Missing controls and tagging support

  • Taxonomy control
  • Person/Group control
  • Calendar control (for non-Group sites)
  • Full Content Search web part (or similar)

No specific news

Modern pages in team sites are great for editing and display, but currently not so good when it comes to some types of content and tagging. Missing controls include the ones I’ve listed (difficult to have a “Page contact” or “Site owner” for example), but the tagging/metadata support is lacking too due to the (lack of) fields on the Site Page content type. Rolling up these pages with a filter is tricky in the current arrangement.

Pages

  • Multi-column support
  • Fix banner/header height

Coming “soon”

Sept 5th 2017 – now delivered, see the “Section layouts” section of this post around Communication Sites (but note same page model applies to modern pages in team sites too) - https://techcommunity.microsoft.com/t5/SharePoint-Blog/Reach-your-audience-via-SharePoint-communication-sites-in-Office/ba-p/70079

More known issues with flexibility of these pages – the single column aspect in particular. But, this is relatively low-hanging fruit for Microsoft and we can expect these resolved soon I think.

Expand SPFx extensions model (bonus item)

No specific news

Additional areas to target, not just “PageHeader” and “PageFooter”. The product group have said more areas are coming for modern pages in team sites (and presumably communication sites too).

    In terms of the first item, global deployment of SPFx web parts, Vesa recently used this slide to discuss what’s coming:

      SNAGHTML46ce695

      That sounds like a reasonable plan, since at least the long-term solution would give us full control. The short-term solution would clearly mean that all SPFx web parts are available everywhere (e.g. in my team sites, my intranet and my communication sites) which might not make sense, so hopefully the long-term arrangement isn’t too far away.

      Communication sites

      Communication sites are starting to launch and Microsoft’s “Ask Me Anything” session was yesterday (28 June 2017). I was disappointed not to hear any detail about templating of communication sites, so that would certainly be another wish list item. I know there are “new” templating options for those coming, but I still want the ability to use PnP site provisioning and XML too – after all, we still need the control and ability to specify all the aspects of a site template that PnP provides, so why use another approach? Also, having a mismatch between what I’m doing everywhere else and for comms sites would be sub-optimal too. Hopefully PnP provisioning will be possible there too – I really hope so!

      What else?

      I could certainly think of a few more items. But what did I miss that’s on your list at the moment?

      UPDATE 26 JULY 2017 – Wait, how did I miss the lack of API for Microsoft Teams? Again, I know it’s coming, but I’m really looking forward to the ability to create a template for a team with appropriate tabs and connectors, and the ability to create Teams programmatically (perhaps alongside an Office 365 Group/SharePoint site). Hopefully not too long to wait!

        2 comments:

        Anonymous said...

        +1 for more web hooks. The communication from Microsoft on the roadmap for these has been maddeningly vague. Yeah, you could use RERs for many of these use cases but the webhook/Azure function route would be so much better.

        kesav7902 said...

        Well articulated article.. I have posted several questions on the deployment (especially scopes) in Microsoft power-user forums and in the stack overflow but the responses on the road-map is not clear.