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!


Getting Related Team Information from Private Channel in SPFx MS Teams App

Just two weeks ago during MS Ignite Microsoft Teams team has announced Private channels - one of the most asked features.
So, a bit of technical details. Each private channel is a separate SharePoint site collection with a unique site template and no group assigned.
We can discuss a lot if it's good decision or not.
But in this post I want to focus on a specific problem I experienced while developing SPFx solution for MS Teams.


Hope to See You at SPTechCon Boston!

I'm thrilled to be selected as a speaker for SPTechCon Boston this year!
This is a great event with a lot of excellent speakers who really know what their topics!
I will present 2 sessions:

  • Develop Once, Use Twice - SharePoint Framework in Microsoft Teams - Tuesday, August 27, 1:15 PM, Constitution B
  • SharePoint Online Customization Toolset - Wednesday, August 28, 1:45 PM, Constitution B
I'll also take part in great Expert Panel How We Keep Up With Changes in Microsoft 365 Ecosystem on Tuesday, August 27 at 9:45 held by Matt Wade. Other participants are: 
So, please, join me on this event!
There is still time to register... And you can use code TerentievB19 to save $200!


Step by Step: Configure Bot to Work in Teams and with Microsoft Graph

This blog post is a step-by-step instruction on how to create a Bot from scratch using Microsoft Bot Framework v4, configure it to work with Microsoft Teams, and authenticate it to make Microsoft Graph requests.
There are a lot of resources around bots, authentication in bots and Microsoft Teams (and I'll list resources at the end of the post). But during my investigation I couldn't find an example or an article that walks through all 3 topics at the same time. And especially "from scratch" which is important if you want to understand the technology and the flow.
So this post is kind of a cheat sheet for myself, and hopefully for others.
All the steps described are for Bot Framework v4 and ASP.NET Core.
Code is available here.
Keep in mind that except of code there are different configurations to be done in Azure and MS Teams.
So, it might worth reading the post.


React Templates Using SPFx Library Components. Part II. Implementation.

In the first post we've already discussed the objective, as well as basics, or strategy, of how to create fully functional React templates (with props, events handling etc.) and dynamically load them using new SharePoint Framework project type - Library Component.
This post covers implementation details: main web part, dynamic template factory loading, and library component with alternative UI.
If you don't want to read the post - the code is available here. Feel free to use it in any way you want.


React Templates Using SPFx Library Components. Part I. Basics.

Templating is a pretty powerful approach to provide extensibility to a project/component/library. It can be used to deliver different behaviors and/or look and feel to different customers, or provide extendable open-source libraries.
There are a lot of template libraries out there that can be used in your project. One of the most popular is Handlebars.js. The problem with these libraries is that in most cases they provide you an ability to define "static" content (basically, HTML and CSS). And if you want to include some actionable content (e.g. handle events from outside the template, etc.) - it might be either tricky or impossible.
In the next several blog posts I want to showcase how to create fully functional React templates (with props, events handling etc.) and dynamically load them using new SharePoint Framework project type - Library Component.
Technically, this approach can be exposed to non-SPFx projects as well, but it is not the purpose of this blog posts series.
If you don't want to read the posts - the code is available here. Feel free to use it in any way you want.


Remember: Web GUID is NOT UNIQUE

It may seem weird, but yes - SharePoint Web GUID is not unique across the tenant/farm. And it has never been.
It is unique only inside a site collection.
It can be confusing (everyone knows what acronym means), most of us probably has never noticed that... But it is what it is.
And you'll probably notice it more often with fast site creation for modern Team and Comm sites in SharePoint Online.
So remember that fact... and modify your code if it based on assumption that the Guid is unique.
Few more words by Wictor Wilen: http://www.wictorwilen.se/when-a-guid-is-not-really-unique-i-m-looking-at-you-sharepoint

That's all for today!
Have fun!