Sunday, March 29, 2020

Quick tip: Skype for Business and Microsoft Teams network assessment tool

To ensure that your network meets the requirements for using Skype for Business or Microsof Teams for audio and/or video calls, you can download and run the Skype for Business Network Assessment tool.




Sunday, March 22, 2020

Generating Azure Application Insight Key in Azure DevOps pipeline

If you want to generate an Application Insights key in your Azure DevOps pipeline - you can use the the PowerShell code snippet below in a Azure PowerShell task.


Look at Automate Azure Application Insight resources using PowerShell and New-AzureRmApplicationInsightsKeyApiKey for more details.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
Install-Module AzureRM.ApplicationInsights -force -verbose -scope CurrentUser
Import-Module AzureRM.ApplicationInsights

$resourcegroupname ='rg_func****'
$aicomponentname ='func****'
$permissions = @("ReadTelemetry", "WriteAnnotations")
$apikeydescription = 'testapikey'

New-AzureRmApplicationInsightsApiKey -ResourceGroupName $resourcegroupname 
-Name $aicomponentname -Description $apikeydescription -Permissions $permissions

Friday, March 20, 2020

Azure Application Insights for Dynamics 365 and Power Platform solution architects and consultants

A best practice which is quite often overlooked is enabling monitoring and logging capabilities in your applications or solutions. You should always monitor your applications/solutions whether they run in the cloud or on premise because you want to know when something fails (before the users start complaining) and also understand how users are working with your solutions.



Both Dynamics 365 and Power Platform have the option to enable integration with Azure Application Insights - but what is Application Insights?

Azure Application Insights  is a feature of Azure Monitor and it is basically an APM (Application Performance Management) tool. Application Insights provides standard integration with a lot of Azure components adding automatic monitoring capabilities but you can also extend it with custom monitoring so if you get an exception in your code that is unhandled Azure Application Insights will pick this up. You can use it for on-premise and cloud applications but the ease with which you can instrument your applications might differ.


You can integrate Application Insights into your model-driven apps (either Dynamics 365 first party apps which you extended or completely custom-model driven apps) by using the Javascript SDK (See Application Insights for web pages for more details). Unfortunately the old documentation on this topic has disappeared - https://azure.microsoft.com/en-us/documentation/articles/app-insights-sample-mscrm/ now does a redirect to the general document. 


Luckily @DanzMaverick wrote an interesting plugin for XrmToolBox which allows you to easily instrument your different model driven forms.  Be sure to update to the latest version though since it contains a number of fixes. If you want to keep up to date with updates on this interesting tool follow https://github.com/Power-Maverick/ApplicationInsightsManager




Using Application Insights Manager plugin you will be able to instrument a number of different model forms using just a number of clicks - behind the scenes it will wire up your forms with the required JavaScript web resources.



A recent update on the Power Platform also allows you to log telemetry for your Canvas Apps using Application Insights.

Dynamics 365 can also leverage Azure components like Azure web apps, web jobs or Azure functions which will also require monitoring and logging capabilities. Depending on the type of component you might get out of the box monitoring or you might need to use code based monitoring - most scenarios are described in the documentation - https://docs.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview

Things I learned when using Azure Application Insights in the last couple of months:

Tuesday, March 10, 2020

Enabling C# 7.1 in Visual Studio 2017 projects

Today, when I tried to compile one of the Visual Studio projects in our solution - I received the exception "Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater". (For more info see default literal in C# 7.0)



To enable C# 7.1 you need to following these steps:

  • Right click on your project and select Properties, next navigate to the build tab and click Advanced

  • Next you can either choose C#7.1 from the list or choose C# latest minor version (latest).

Monday, March 09, 2020

Dynamics 365 and Power Platform monthly reading list January 2020

Dynamics 365 and Power Platform - 2020 Wave 1 topics

Starting April 2020, new features in Dynamics 365 and Power Platform will be activated, but you can already try out some of the new features by enabling early access - for a full list of available features see 2020 release wave 1 features available for early access
Technical topics (Configuration, customization and extensibility)

Forms Pro Quick tip: switch between Microsoft Forms Pro and Microsoft Forms

Microsoft Forms Pro is an enterprise survey tool which leverages both Microsoft Forms and the Common Data Service (For more details see Getting started with Microsoft Forms Pro: customer feedback is the ultimate truth.)

Once you are assigned a Forms Pro license, it is not so obvious that you can still use Microsoft Forms (at least not for me) To switch between Microsoft Forms Pro and Microsoft Forms you should select your photo in the Office 365 header and then select Switch to Forms