Tuesday, May 19, 2020

Dynamics 365 and Power Platform monthly reading list April 2020

Dynamics 365 and Power Platform -2020 Wave 1 Topics

Technical topics (Configuration, customization and extensibility)
Topics for Dynamics 365 Business Application Platform consultants, analysts, project managers and power users

Monday, May 18, 2020

Power Platform ALM process guidance published and Power Platform Build Tools general available

Microsoft just published dedicated documentation around Application Lifecycle Management (ALM) with the Power Platform and Dynamics 365. This is a great starting point for everyone who wants to mature their development and deployment practice.

At the same time Microsoft announced the general availability of their Microsoft Power Platform Build Tools for Azure DevOps .  If you have used the preview version of the Power Platform Build Tools you will need to install the new extensions and you will need to recreate your build and release pipelines. You can install the Power Platform Build Tools extension from Azure Marketplace and they are free to use within Azure DevOps Services (online) or Azure DevOps Server.


Keep in mind though that setting up a good ALM practice, is about more than just tooling being in place (For a good discussion take a look at Continuous Integration is not a tooling problem)

If you are already using tooling like the Power DevOps Tools from @waelhaemze, it might not (yet) make sense to switch over but if you are new to DevOps/ALM for Dynamics 365/Power Platform definitely take a look (for more background on this topic see My Perspective on the PowerApps Build Tools for Azure DevOps )

Friday, May 15, 2020

Quick tip: generate and integrate mock data for Dynamics 365

If you are doing demos for Dynamics 365 it might be needed to generate mock data - an interesting tool for this is Mockaroo. You can just download a dataset that you generate from the website but Mockaroo also exposes a number of APIs that you access.


An interesting example of leveraging the API is outlined in Power Automate your demo data by @dylanhaskins


Thursday, May 14, 2020

Easyrepro - UI automation test library for Dynamics 365 and CDS

With the "One version" update policy of Dynamics 365 (Sales,Customer Service, Field Service,...) it starts making more sense to include some level of test automation in your projects. If you look at the test pyramid - it however also becomes apparent that user interface testing is still quite cumbersome and I think that the majority Dynamics 365 projects do not include any form of automated UI testing.

With the release of the Easyrepro - the automated UI testing framework for Dynamics 365 on Github in June 2017, writing automated UI test has become easier although it still requires basic developer skills and access to Visual Studio tooling.



The purpose of the Easyrepro library is to provide Dynamics customers the ability to facilitate automated UI testing for their projects. The Easyrepo API's provide an easy to use set of commands that make setting up UI testing quick and easy. The functionality provided covers the core CRM commands that end users would perform on a typical workday and developers area able to extend that coverage to more functionality.

If you want to quickly explore what is possible with the EasyRepro framework, clone the repo on Github and take a look at Microsoft.Dynamics365.UIAutomation.Sample project and see how the different test classes are implemented.



Afterwards I highly recommend you to take a look at the excellent series of blog post written by the Microsoft PFE team:


References:


Wednesday, May 13, 2020

Resolving xauth: timeout in locking authority file /home/pi/.Xauthority on Raspberry Pi

A couple of weeks ago when I tried to start the Raspberry Pi desktop it threw an error " xauth: timeout in locking authority file /home/pi/.Xauthority" -  luckily I found a solution on this page  please help -startx fails/hangs, finally returns error message “xauth: timeout in locking authority file /home/pi/.Xauthority ”  - running xauth -b did the trick for me.

Sunday, May 03, 2020

Quick tip: reload Python modules in Jupyter with the autoreload magic method

If you are writing your own Python modules and you include them in your Jupyter notebooks you might notice that by default your code updates in the custom Python module are not reflected once the module has been load by Jupyter. You can fix this by adding %autoreload at the top of your notebook.


%load_ext autoreload
%autoreload 2

For the documentation take a look https://ipython.readthedocs.io/en/stable/config/extensions/autoreload.html

Friday, May 01, 2020

Quick tip: change Jupyter notebook startup folder in Anaconda

This excellent walk through explains how to change the Jupyter notebook startup folder in Anaconda - quick summary of the steps:

  1. Generate config file by running jupyter notebook --generate-config in the Anaconda prompt
  2. Open the c:\Users\\.jupyter\jupyter_notebook_config.py
  3. Uncomment c.NotebookApp.notebook_dir = '' and fill in your startup folder e.g. 'c:\jupyter_workspace'  
For an overview of all of the configuration setting in the jupyter_notebook_config.py file take a look at Config file and command line options (Jupyter documentation)