Wednesday, January 23, 2019

Check Dynamics 365 solution quality with the new PowerApps Solution Checker

End of November 2018, Microsoft quietly launched a preview of the  Solution checker for Dynamics 365 as part of the Common Data Service for Apps platform update.  The solution checker analyzes the different solution components for unmanaged solutions within your Dynamics 365 tenant. I accidently stumbled upon it when reading this interesting article from Steve Mordue – How about some solution quality?. The solution check will analyse the different artifacts or components within your solution like plugins and custom workflow activities, web resources as well as Dynamics 365 configuration such as SDK messaging steps.

The solution checker has been built based upon the experience and internal tooling of Microsoft Premier Field Engineers (definitely check check out the Dynamics 365 PFE blog Dynamics 365 Customer Engagement in the Field) and has been already used quite extensively at big customers in the past couple of weeks.

Solution checker currently only works for Dynamics 365 Online and is only accessible from within the user interface but I suspect that Microsoft will make this accessible using an API since it makes sense to integrate this check in your Dynamics 365 continuous build process.

Solution checker for Dynamics 365 is made available within and to install you can  follow the steps as outlined in Make higher quality apps with solution checker.  It is installed from within AppSource but can only be found in AppSource when starting from the PowerApps web portal. The solution checker will need to be installed per instance for which you want to check the solutions. Since it only checks unmanaged solutions - you will typically only install it on your development organization/instance.

It might take a couple of minutes before the PowerApps Checker solution is installed - on this page you will also see when it is completed successfully.

It is a good idea to run the solution checker on a regular interval as Microsoft is continuously expanding the code quality rule sets which are used.

The result of the solution check is a zip file which contains the result in CSV and Excel format. The excel will contain an overview page with a summary of the issues and a second sheet with details of the different issues.

For each issue you will have a detailed description of the issue explained using multiple fields. Some  values in fields are only relevant to plugins/workflow assemblies whereas other apply to all types of artifacts/components.

Report field Examples Description Applies to
Issue il-avoid-specialized-update-ops The title of the issue identified in the solution – take a look at ..
to see an overview of the different types of issues which are being
Category Performance, Maintainability, UpgradeReadiness, Supportability Categorization of the issue identified All
Severity Low, medium, high,informational Represents the potential impact of the issue identified. All
Guidance Link to the guidance articles – most of them link to a section underneath
the new Best practice and guidance for the Common Data Service Apps but
some links point to older reference articles which still apply. Microsoft plans
to consolidate all the guidance relevant for CDS in one location in the end but this is a work in progress
Component Configuration, plugin, webresource, … The solution component where the issue was identified All
Location The location and/or source file of the component where the issue that was identified occurred, such as the assembly or JavaScript file name. All
Line# ...The line number reference of the issue in the impacted web resource component. Web resource
Module Module name where the issue identified in the assembly was detected. Plug-in or custom workflow activity
Type Type of the issue identified in the assembly. Plug-in or custom workflow activity
Member Member of the issue identified in the assembly. Plug-in or custom workflow activity
Statement The code statement or configuration that resulted in the issue. All

Solutions which do not follow the guidance will cause lot of support issues down the line especially with Microsoft rolling out a steady stream of updates of the Dynamics 365 platform.  So start using solution checker to make sure that you can concentrate on adding value with your Dynamics 365 solutions and apps.

No comments: