botframework-webchat v3 and botframework sdk v4 support - botframework

I am currently working on migration clients' botframework-webchat v3 solutions to v4. According to the v4 webchat docs, there is full support for botframework-sdk v4. However, I am wondering what the support for pre-existing botframework-webchat v3 solutions is for botframework-sdk v4?
Some clients may not wish to migrate their botframework-webchat solutions at the moment, and I am trying to determine the effect of using botframework-sdk v4 would have on their current botframework-webchat v3 solutions.

v3 was moved to the following GitHub repo. And according to the README file:
Microsoft Bot Framework SDK V4 was released in September 2018, and since then we have shipped a few dot-release improvements. As announced previously, the V3 SDK is being retired with final long-term support ending on December 31st, 2019. Accordingly, there will be no more development in this repo. Existing V3 bot workloads will continue to run without interruption. We have no plans to disrupt any running workloads.
We highly recommend that you start migrating your V3 bots to V4. In order to support this migration we have produced migration documentation and will provide extended support for migration initiatives (via standard channels such as Stack Overflow and Microsoft Customer Support).
This means that support for v3 has ended, but it will continue to run without any interruptions.

Related

Skype For Business Server 2019 - Better way to Integrate the Chat Bots with server 2019

I am trying to integrate A Chat Bot Service with A client who uses the Skype For Business Server 2019. On Microsoft Docs Page, I found that UCWA 2.0 exposes SFB Server 2015 instant messaging (IM) and presence capabilities. Could anyone please confirm whether this holds good for SFB Server 2019?
Do we have any better way to integrate the Bots with SFB Server 2019 other than UCWA 2.0 (As I came across the docs that mentioned UCWA having IM limitations and scaling issues)?
From this doc, Bot Framework also deprecated the support for Skype or business channel.
Please provide any information you have regarding this. Thanks in advance.
I suspect that UCWA will scale just fine, I know of some projects for pretty large organisations that have used it.
As an alternative you could look at UCMA 6.0 (which is more feature complete than UCWA), this is the SFB 2019 release and whilst I haven't seen any explicit documentation for this version I very much doubt it has changed much since UCMA 5.0 as the Microsoft strategy at the time of release was focused on Teams.
There’s 3rd party software available that can help with this, check out MindLink. Their API supports various versions of SfB server and I believe 2019 is covered too. You can apply throttling and other management capabilities so it is built to scale - it could be more for the enterprise, then again I don’t know what your project is.

What is the correct way to access Microsoft Dynamics 365 data on the cloud? SDK vs Web Api

I'm .NET Web Developer and new to Microsoft's CRM, so bear with me. I'm trying to find the correct way to connect to Microsoft Dynamics 365 and retrieve some PDF files. I need to know which is the correct way to do so. I have some questions of some topics found Googling around that don't make sense to me.
Accessing through the SDK
I have found this Microsoft documentation which explains the SDK. However there is a NOTE that says that this has changed with the 2016 update, and Googling more around, it seems to be that the SDK it's not used anymore. I am wrong?
Accessing data using Web API
There's yet another Microsoft documentation that tries to explain the way to connect through a Web Api, however from the start, it says: "This section contains reference documentation of the types, functions, and actions that constitute the Web API for Microsoft Dataverse and Dynamics 365 Customer Engagement (on-premises)".
That "On-Premises" comment bothers me. I don't want to learn something that doesn't work for me. Why the web api seems to work only on premise? Why not Dynamics in the cloud?
And for what you can see, I'm utterly confused as to how in the world I can access data to retrieve a file programmatically through C# code from Microsoft Dynamics 365 cloud based.
Please, if you can point me in the right direction, I will really appreciate it.
Thank you!
If your language is C# you can use the SDK provided by Microsoft, it works with the Online (cloud) version.
If you are using .NET Framework you can use this NuGet package:
https://www.nuget.org/packages/Microsoft.CrmSdk.XrmTooling.CoreAssembly/
If you are using .NET Core/.NET 5.0+ you can use this NuGet package (but in public preview):
https://www.nuget.org/packages/Microsoft.PowerPlatform.Dataverse.Client/
Some details about these packages here: https://www.crmanswers.net/2021/05/microsoftpowerplatformdataverseclient.html
Adding to Guido's excellent information here are a few more considerations:
Plugins and custom workflows are custom .NET assemblies where you would use the SDK. They currently only support the full .NET Framework.
To call into the system from a JavaScript library on a form (a.k.a. Client-side scripting), you'd use the WebAPI.
For console apps, web apps, and other external code, you can choose between the SDK and WebAPI. (And as Guido points out, the .NET Core version of the SDK is in preview).
When using the SDK there are two possible coding approaches: Early Bound and Late Bound.
With early bound, you generate proxy classes for DataVerse tables. The classes have properties for each column/attribute, which enables intellisense.
With late bound, you use the string names of tables and attributes.
This article has more info.
Tools for generating early bound classes include Microsoft's CrmSvcUtil.exe, Daryl LaBar's Early Bound Generator in the XrmToolbox,
and the commercial Visual Studio add-on for DataVerse XrmToolkit.
If you're going the WebAPI route, David Yack's API Helper might interest you.

What version of adaptive card is supported by Microsoft teams?

I want my bot to send and embed video on Microsoft teams.
I noticed VideoCard is not supported by Microsoft teams.
So I tried using AdaptiveCard, but noticed you need v1.1 to embed video.
However, when I send a message with version 1.1 I it sends a undefined message (just text saying undefined). With v1.0 I can send cards without issue (to embed images etc.). v1.1 works for me when using the emulator.
Does this mean Microsoft Teams only supports v1.0 of AdaptiveCard? Or is there a way to upgrade my bot?
Currently AdaptiveCard is on version v1.2.2 so it would be nice to upgrade.
Microsoft Teams currently supports v1.0 of Adaptive Cards, with additional support for newer versions planned.
Only version 1.0 of Adaptive Cards is supported in teams, We are working on upgrade but we don't have timeline to share. Please have a look at Card Reference for more information.

is microsoft bot framework bot builder SDK V4 production ready?

I've been seeing changes in the Enterprise Bot template and Basic Bot template. Thanks in advance
The v4 Framework is indeed production ready. As with any framework, it is constantly being improved upon, and when those improvements cause bugs, they might lead to changes in the templates. If any of the improvements break production bots, you are more then welcome to seek help either here or on our Github repos. (Source: am Microsoft bot framework person)

When will the Microsoft Bot Framework support Facebook Chat Extensions

Facebook recently announced Chat Extensions which will allow group-based interaction with bots. More about how that works is listed here: https://developers.facebook.com/docs/messenger-platform/design/guides/chat-extensions
Has any announcement been made about when the Microsoft Bot Framework will support this feature of FB?
I suggest you make a new issue asking for this enhancement on GitHub

Resources