Wednesday, January 23, 2019

Monday, January 21, 2019

The April 2019 release notes are out

Here is the starting point for release notes: And a direct link to the April '19 release notes:

Let me just point out a few areas of particular interest for D365FO developers and the likes. I don’t have more details, than what’s in the document. I guess that not all these features are ready from April, but something we should see later during spring and summer.

Remote desktop access will be disabled for, at first, Tier-2 to Tier-5 environments. You will however get a way access the Azure SQL database for an environment.

New customers will not be able to host development machines on the Microsoft managed Azure subscription. Tier-1 environments managed by Microsoft will be test and configuration environments only, with no remote desktop access. Development environments must be deployed to the customer’s Azure subscription. We will however also see possibility to do development on a local machine and it will be possible to work on more than one application from the same environment.

The build automation framework will run directly on Azure DevOps build capabilities. We will no longer have the requirement of a dedicated VM to act as a build server. A build that is a release candidate can be automatically uploaded to LCS and automatically be deployed to sandbox cloud environments.

The release task for uploading a built package to LCS is already released. Check out these links:
First Azure DevOps Task Released!
Azure DevOps Release Pipeline

Tuesday, January 8, 2019

Look up the text for a label in other languages than en-us

The dev boxes only comes with source label files files for en-us, so finding a text from a label in another language is not easy.

You could use a tool like RedGate .NET Decompiler to decompile the dll's of the compiled label files.

But, new to me, you can also just use the Meta Data API of Dynamics like this example:
https://[baseuri]/Metadata/Labels(Id='@SYS333000', Language='da')

Tuesday, December 25, 2018

New book about Dynamics AX 2012 / Dynamics 365 FO performance

Rod Willumsen has written a very fine book, Advanced X++/SQL Tuning Techniques, covering a lot of ground around performance work with Dynamics AX 2012 and Dynamics 365 FO.

The book starts out with a few chapters about various SQL subjects seen from AX/365 FO point of view.

Secondly it walks you through installation of the Performance Analyzer and of how to analyze the results collected by the analyzer.

Collecting traces and analyzing them with the trace parser, both for AX 2012 and D365, is covered in depth too.

You'll also find information about data archiving and data clean up techniques, as well as information about how to deal with very specific issues, like InventDim and InventSum tables, and master planning.

These are the chapters of the book:

  • X++ and SQL
  • Performance killers
  • Improving poor X++ query performance
  • Further query improvements
  • Performance analyzer for Dynamics
  • Microsoft Dynamics AX 2012 Trace Parser
  • D365FO Application Trace Parser
  • Top D365FO performance issues and solutions

DBAs, system administrators and developers as well should be able to pick up useful information and tools from this book.

Friday, November 23, 2018

Modules on the environment do not match with modules in the package

If you try to deploy an 8.0 to 8.1 upgrade to sandbox/UAT where modules have been renamed, you will get the error "Modules on the environment do not match with modules in the package" together with a list of missing modules.

The regular process of renaming a module is to create a new module with the new name, move the code, delete the old module and add the old module name to the ModuleToRemove.txt files for removal during deployment.

When deploying the 8.0 to 8.1 upgrade to sandbox/UAT, Microsoft checks that the package holds at least the same modules as already deployed. But the ModuleToRemove.txt file is not taken into consideration during this check, and thus the modules appears to be missing.

The workaround is to keep and deploy empty models with the old names. Any code must of course be in the new models.

You can uninstall the empty modules at your next regular deployment using the normal process with the ModuleToRemove.txt file.

This is only an issue with 8.0 to 8.1. Not with, for example, 7.3 to 8.1.

Tuesday, November 20, 2018

Thumbprint error when pasting thumbprint into the Regression Suite Automation Tool (RSAT) configuration

You can get an error like this when you paste the thumbprint, from your new certificate, into the configuration tool.

The reason for this is that the certificate UI uses a Unicode enabled RichEdit control to show the value.

You can use a command prompt to list a thumbprint that is suitable for copy-n-paste.
Use "certutil -store my" for the machine certificates. The thumbprint can be located in the line that starts with "Cert Hash(sha1)".

Another workaround is to paste the thumbprint to a new Notepad file, save the txt file, reopen the text file and then copy the thumbprint from there.