Wednesday, June 24, 2020

Using a personal access token in Postman to query the Azure DevOps Services REST API

If you want to query the Azure DevOps Services Rest API you first need to be authenticated. The easiest way to do this is to generate a Personal Access Token. If you want to use this token in Postman to authenticate you will need to use Basic authentication, leave the username blank and copy the token in the password input box.

Saturday, June 20, 2020

Dynamics 365 and Power Platform monthly reading list May 2020

Technical topics (Configuration, customization and extensibility)

Topics for Dynamics 365 Business Application Platform consultants, project managers and power users

Wednesday, June 17, 2020

How to fix a broken Easyrepro project after upgrading Chrome

After I recently upgraded Chrome I noticed that my Easyrepro test project did not build/run anymore. (read Easyrepro - UI automation test library for Dynamics 365 and  CDS if you are not familiar to Easyrepro)

Luckily the exception pointed in the correct direction "System.InvalidOperationException: session not created. This version of ChromeDriver only supports Chrome version 79 (SessionNotCreated)".


The EasyRepro testing framework leverages Selenium ChromeDriver so you need to check the compatibility - see https://chromedriver.chromium.org/downloads 

To fix the error I just had to update the Nuget package to a version which is compatible with the installed Chrome on my machine.



Storage capacity enforcement for CDS instances

Storage capacity enforcement now seems to activated, this means that when your capacity storage is greater than the entitled capacity, admin operations like creating, copying and restore environments will be blocked.

Thursday, June 11, 2020

Farewell to the Dynamics 365 Admin Center

In 2019 Microsoft announced that they would consolidate the different admin centers for Power Platform and Dynamics 365 Sales/Customer Service/Field Service. In the meanwhile, more and more functions seem to be moving to the new Power Platform Admin Center. Although the legacy Dynamics 365 admin center deprecation is not listed (yet) on the Important changes (deprecations) coming in Power Apps, Power Automate and model-driven apps in Dynamics 365. I expect this admin portal to quickly fade away.  

Update June 28th: @jukkan just mentioned that there is an update in Message Center which officially states that the old Dynamics 365 Admin Center will go away. I like the speed of innovation in the cloud but this seems like incredibly short notice.



To be able to access the Power Platform Admin Portal you will need to assign an appropriate service admin role - see Use service admin roles to manage your tenant for more details.

Features/functionality which is now surfaced in the new Power Platform Admin Portal:
  • App management in the Applications tab of the legacy Dynamics 365 Admin center has now moved to Power Platform Admin Center - see  Manage Dynamics 365 Apps for more details. This applies to installing and managing Microsoft first party apps like Customer Service but also to other apps installed through AppSource. You first need to select your environment in the new admin center and use the Resources>Dynamics 365 apps menu to open the list of available apps to install. This same screen can be used to upgrade existing apps to newer versions. (Unfortunately there is no indication when there is a new app version available)





Friday, June 05, 2020

Quick tip: exporting all nuget packages used in Visual Studio solution to text file with PowerShell

Although it is possible to manage Nuget packages at solution level in Visual Studio with the possibility to even consolidate the Nuget packages it might be useful as well to have an overview of all of the packages that you use in another format. 



The below PowerShell code snippet allows you to export all used Nuget packages to a text file (you can ignore the exceptions thrown because of  projects without Nuget packages).

Get-Content .\[yoursolutionname].sln 
| where { $_ -match "Project.+, ""(.+)\\([^\\]+).csproj"", " }
| foreach { "$($matches[1])\packages.config" } | % { Get-Content $_ | Find "<package id" } | Sort-Object -Unique | Out-File -FilePath c:\temp\packages_demo