MS Build 2020 - Subjective View

This post is a subjective overview of announcements from MS Build 2020.
The announcements here are based on my own interest and relevancy to the projects I'm involved in.
Hopefully, it'll be helpful for others as well =)

Bot Framework

Bot Framework SDK & Teams integration

The Bot Framework SDK has been updated to allow developers to build bots from one common SDK that make the most of Microsoft Teams. For example, the Bot Framework SDK simplifies enabling Single Sign On so HR bots can help provide userspecific information like vacation days and other scenarios that typically require user authentication. Furthermore, the Bot Framework SDK enables developers to build bots capable of proactively sending messages. For example, bots can alert employees to complete required training or take other outstanding actions.

Bot Framework Composer

Now generally available, this open-source tool provides developers with a central environment to get started with bot building quickly, allowing them to focus more on dialog management and less on the scaffolding to begin bot development. This incorporates some of the common components required to build bots such as Language Understanding service and QnA Maker.

Azure Bot Service (human hand-off)

Bots can power organizations to scale their customer engagement. However, in some scenarios, a bot cannot serve the customer, or the customer chooses to speak to a human agent. To enable this scenario, bot developers previously had to build integrations to popular channels themselves. Microsoft has added new capabilities to simplify development of bots that combine AI and human agents with integration with popular customer service platforms like LivePerson and Microsoft Omnichannel for Customer Service.

Microsoft Teams

Key Dev Platform Enhancements

  • Single sign-on will enable users to authenticate in one click for the apps they use in Teams.
  • The Teams Activity Feed API gives developers a new and simpler way to send app notifications to users across their devices.

Customizatble Templates Coming to MS Teams

When creating a new team, a user will soon be able to choose from a variety of customizable templates, depending on the purpose of the team. Options will include common team types, such as event management and crisis response, as well as industry-specific templates, such as hospital ward and bank branch. Each template comes with predefined channels, apps and guidance on how to utilize and customize it, helping users get the most out of Teams. Admins also will be able to create new custom templates and templatize existing teams in their organization.
Templates in Teams will be available in the next few months.


Microsoft 365 blog

Fluid Workspaces and Fluid Components in Preview in Outlook Web App and office.com

Fluid Workspaces and Components work just like the web to bring the right level of context and connection as well as seamlessly capture follow-ups in-line and edit action items with an entire team. Fluid Components and Fluid Workspaces will become available in more places over time, and their capabilities will become more powerful over time. This initial public preview includes basic text, tables, lists, agendas and action items. These Fluid components will be available for creation in Outlook for the web and Office.com. Public preview will begin rolling out soon to Microsoft 365 Enterprise and education subscribers who are enrolled in Targeted Release and sign in with their organizational ID.

Fluid Framework to be Made Open Source, with Repository Available on GitHub

Fluid Framework will be made open source, allowing developers and creators to use key infrastructure from Fluid Framework in their own applications. Coupled with the release of additional developer documentation and tooling, this provides a new opportunity for developers to work alongside Microsoft to create and evolve Fluid Framework as it is developed.
Microsoft is open sourcing the Fluid Framework, which will be hosted as a repository available on GitHub in the month following Build.
This is an open invitation for developers to join Microsoft on this journey, provide feedback and help shape future capabilities. It will be available to the public and open for any developer to provide feedback, issues and pull requests.
Developers can take advantage of JavaScript APIs that give them access to highly collaborative, shared data structures which can be used to power collaborative experiences. They also can create Fluid components — elements that can be reused within Microsoft 365 and across applications.
More capabilities will be added over time through this Fluid Framework repository.

Microsoft Lists

Microsoft Lists blog
Microsoft Lists, rolling out this summer, is a simple and powerful app to share and track information such as workflow issues, contacts, issues tracking and status reporting within Microsoft Teams, SharePoint and Outlook. The functionality extends to the new Lists mobile app, as well.
Users can use templates to start lists or create their own, configure color formatting, build alerts and standardize processes with simple “if this then that” configurations. As part of Microsoft 365, Microsoft Lists comes with built-in governance, security and compliance capabilities. For makers who need more than the out-of-box offering, Microsoft Lists integrates with Power Apps (forms) and Power Automate (workflow).
Microsoft Lists builds on more than 20 years of SharePoint list innovation, bringing these capabilities to a broader set of users across Microsoft 365. Microsoft Lists will simplify the user experience for those familiar with SharePoint Lists and for new users on any device.

Project Cortex

Project Cortext blog
Project Cortex, which will be generally available in early summer 2020, applies AI to the Microsoft Graph to create a knowledge network that analyzes an organization’s data and automatically organizes content and expertise across systems and teams, delivering knowledge in the apps people use every day. Project Cortex also enables customers to manage content with AI-powered security, compliance and workflow.
There are now new developer APIs and AI-modeling capabilities, and the private preview program has expanded to include more than 75 organizations delivering knowledge from millions of documents and videos.


Developers with Verified Microsoft Partner Network Account Can Mark Apps with Publisher Verification

Publisher Verification, now in public preview, allows developers with a verified Microsoft Partner Network account to mark their applications as “Publisher Verified.” Developers can distinguish their apps to end users by receiving a checkmark that indicates they are a verified publisher.
Developers can differentiate their apps with a “verified” badge that will appear on the Azure Active Directory consent prompt, Enterprise Apps page, and additional UX surfaces used by end users and admins. IT administrators also will have increased transparency on whether verified or unverified apps are in use within their organization and can configure consent policies based on publisher verification.


Support Microsoft Teams Themes in SharePoint Framework Solutions

If you are a SharePoint Framework developer, you're most likely aware that SPFx allows you to refer to the theme colors of the context site. As a result, if your web part is placed on a site that uses a red theme, it uses the red palette as well, and if it's placed on a site that uses the blue theme, it automatically adjusts itself to use the blue palette. All of this is done automatically without any changes to the web part code in between.
But what if you expose your web part to Microsoft Teams? And selected theme in Teams is Dark or Contrast?
Unfortunately, SharePoint Framework doesn't handle MS Teams themes for you, you should do that by yourself.
And it's not a big deal if you have few controls in the web part.
But what if your project contains tens of different components?
In this post I want to share the approach I used to support MS Teams themes in the web part that has about 50 different components. Note: I use React for production SPFx development, so all the thoughts below may not be applicable to other frameworks, especially if the components are not so encapsulated as in React.


Thank you for attending SPTechCon San Francisco 2020!

It was a great week!
So much content to learn, great speakers, awesome conversations!
I'd like to thank Exposition Development Company for organizing the event and accepting my submissions for speaking!
Thanks to all the sponsors who helped to make this event possible!
Thanks to all the speakers for sharing knowledge!
And, of course, thank you to all the attendees of SPTechCon San Francisco 2020!
Here are the links to the slides of my sessions (you can also download them from official event app):


Office UI Fabric React Grouped DetailsList - Display Tree-like Hierarchy

This blog post describes how to implement tree-like hierarchy using Office UI Fabric React (OUIFR) Grouped DetailsList component.
We'll be working with a hierarchy similar to the one displayed on the image below:


Office UI Fabric React (OUIFR) DetailsList ignores (doesn't render) items for the group if it (the group) has subgroups. As a result for a tree-like hierarchy - some of the items could be lost.
Jump to solution.


NACS - One of the Best SharePoint Conferences in US

This year I'll be attending North American Collaboration Summit for the first time. And I'm really happy about that!
It's a great conference loaded with the best speakers and really interesting and helpful content!
There are workshops and sessions around SharePoint, Microsoft Teams, Power Platform, security and so on! Every attendee will find some information to be used in day-to-day job. And it doesn't matter if you are a power user, developer, admin or executive! There is content for everyone!
And, because it is a non-profit event, the tickets are much cheaper than on other multi-day conferences!
My sessions are part of a developer track and focused on advanced features of SharePoint Framework
The first one is "SharePoint Framework Connected Web Parts" where you can learn how to connect multiple SharePoint Framework web parts (or event extensions) using Dynamic Data capability.
The second session, "Developing React Templates Using SharePoint Framework Library Components" describes how to create rich React templates and dynamically include them into you SharePoint Framework projects using SPFx Library Component solution type.
Hope to see you in Branson, April 2-3, 2020.
You can also use code TERENTIEV during the registration to save $50.
Register here: https://nacs.ticketspice.com/nacs2020

Have fun!


SPTechCon San Francisco 2020!

I want to invite you to join me at SPTechCon San Francisco 2020 that will be held February 18-21 at Hyatt Regency SFO.
This will be a great event with phenomenal speakers and awesome content!
You'll definitely learn a lot and for sure it worth it!
Here is a small video that promotes the sessions I'll be presenting during the event:

I'll be happy to see you on any of the sessions!
And you can use registration code AlexT20 to save $200 on your ticket price (the image below is clickable).

Have fun!