Wednesday, June 19, 2019

Dynamics 365 monthly reading list May 2019

Technical topics (Configuration, customization and extensibility)

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

Wednesday, June 05, 2019

PowerApps Component Framework available in public preview

On April 23th the PowerApps Component Framework (PCF) and the PowerApps CLI was finally made available for public preview. The PowerApps Component Framework (PCF) is the foundation for all controls used in the new Unified Interface released with Dynamics 365.



PCF allows 3d party developers to build visual components using the same framework which is used internally by Microsoft (see picture below for some examples) in the unified interface.


Components created using the PowerApps Control Framework are solution aware and can be used to build a more compelling user experience. The Dynamics365 developer community immediately picked up on this exciting news and Andrew Ly already shared the source code for 3 different controls  - Progressbar control , keybinding example  and countdowntimer.

Guido Preite  @crmanswers also set up PCF Gallery which contains a list of different controls like a timeline control, data card and UK postcode validator. Everyday new controls based on PCF are added.



The PowerApps Component Framework has been in private preview for quite a while but some details were already shared on a number of occasions in 2018. Initially the framework was called Custom Controls Framework and I you encourage to take a look at some interesting post from Bob Guidinger on this topic (see references below). Do keep in mind that there are some changes between the private preview and public preview – see Update existing custom components for more details.

You will notice from the documentation that most samples are using Typescript to implement custom components so I added also some other reference links below which might help you to get started. For a brief introduction you might also want to take a look at the PowerApps April community call recording (PCF presented from 00:47:00 onwards). One thing to note though is that this is a framework which is clearly targeted at professional developers so the Dynamics consultant who occasionally writes some Javascript web resources or some simple plugins in C# will face a steep learning curve. I even think that pure Javascript/.NET developers even have an edge on the average Dynamics consultant when trying to learn the necessary skills required for PCF development.

References:

Tuesday, May 21, 2019

General availability of PowerApps Solution checker makes it easier to check Dynamics 365 solution quality

On May 2th Microsoft announced the general availability of the PowerApps Solution Checker, tooling which allows you to run a static code analysis of your CDS and Dynamics 365 solutions against a set of best practice rules. By running these checks, you can identify problematic patterns in your code base which might impact performance or maintainability/upgradeability of your code.

Tooling like this is a must have for Dynamics 365 CE Online where releases are delivered on a continuous basis (with bi-weekly releases). With this release schedule, the risk of low quality solutions (from ISVs or SIs) interfering with Microsoft updates becomes more probable.

But this is not only about Microsoft safeguarding their Dynamics 365 SAAS platform but also about delivering value quicker and in a reliable fashion. I truly believe that code quality is a good indicator about how quickly developers can add business value to a software system. Static code analysis tools such as PowerApps solution checker might not be the holy grail but they at least give you an indication of the amount of technical debt that you have amassed within your Dynamics 365 instances.

I have been using PowerApps solution checker since a couple of months now and for projects with lots of different teams working on solution it allows you to have some indication of code quality without having to delve through 10.000 lines of code.  I also think that announcements such installing the solution checker by default, introduction of the Solution Health Hub and the announcement of PowerShell script support coming soon are showing Microsoft’s commitment on finally delivering on a good DevOps story for Dynamics 365.

References:

Monday, May 13, 2019

Dynamics 365 monthly reading list April 2019

Technical topics (Configuration, customization and extensibility)

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

Sunday, May 12, 2019

Quick tip: solving rendering issues in PowerPoint presenter mode

After upgrading to a newer version of Office, my PowerPoint slides displayed incorrectly in presenter mode – see screenshot below. I googled around but did not find anything useful.


Fortunately I remembered  a similar issue that I had in Internet Explorer 11 see Solve image rendering problems in Internet Explorer 11 on HP ZBooks. It seems that PowerPoint has a similar setting – go to Options>Advanced and underneath the Display section I had to check the “Disable Slide Show hardware graphics acceleration."


Monday, March 25, 2019

Dynamics 365 monthly reading list March 2019

Technical topics (Configuration, customization and extensibility)

Topics for Dynamics 365 CE business analysts, project managers and power users

Tuesday, March 19, 2019

Dynamics 365 certifications and course material update March 2019

Warning: I will update this blog post on a regular basis as new material becomes available or changes on certification are made by Microsoft

Updated March 31th: Added information on new roles (field service functional consultant and marketing functional consultant) and exams

For consultants wanting to certify on Dynamics 365, quite a few changes have been announced the last couple of months. In December 2018, Microsoft announced that they were retiring a whole set of Dynamics 365 exams (see Exam and Certification Retirement Roundup, December 2018).  Microsoft stated that many of the upcoming changes are part of the evolution to focus more on role-based certifications – for Dynamics 365 CE there are following roles defined but some content is not there yet (these roles were announced on Introducing New Certifications for Microsoft Dynamics 365 Customer Engagement Functional Consultants )

Meanwhile Microsoft also started retiring the content on the Dynamics Learning Portal (the traditional source for training content on Dynamics 365) and decided to made new content available as shorter learning paths on Microsoft Learn. The applicable learning paths are listed on the exam requirements pages listed below. But there are also a number of self-paced trainings available on https://openedx.microsoft.com . Big thanks to @Jukkan and @nz365guy for providing the direct links to these hidden treasure. The retirement dates below have already shifted a few times (initially the first retirement of Dynamics 365 exams was planned for March 31th)


Exam Number Exam Name Retirement Date Replace Exam Course material
MB2-715 Microsoft Dynamics 365 customer engagement Online Deployment June 30, 2019 MB2-200 (Beta)

Dynamics 365: Power Platform applications (8 hrs)
Dynamics 365: Power Platform automation (8 hrs)
Dynamics 365: Power Platform integrations (8 hrs)
Dynamics 365: Power Platform test and deploy (8 hrs)

Dynamics 365 core exam study guide created by @JonasWauters1

MB2-717Microsoft Dynamics 365 for Sales June 30, 2019 MB-210 (Beta)

Dynamics 365 for customer engagement for sales (8hrs)

Dynamics 365 for sales exam study guide  created by @JonasWauters1

MB2-877 Microsoft Dynamics 365 for Field ServiceJune 30, 2019 MB2-240 (Beta – published March 31th)
MB2-718 Microsoft Dynamics 365 for Customer ServiceAugust 31, 2019 MB2-230 (Beta)

Dynamics 365 for customer engagement for customer service (8 hrs)

Dynamics 365 for customer service exam study guide created by @JonasWauters1

MB2-719 Microsoft Dynamics 365 for MarketingAugust 31, 2019 MB-220 (Beta – published March 31th)


A new exam which has been introduced is Exam MB-900 Microsoft Dynamics 365: Fundamentals


References:

Friday, February 22, 2019

Making sense of XRM, PowerApps and some other acronyms (CDS, CDM, …)

With the July 2018 update of Dynamics 365 (9.0), Microsoft released an interesting architecture update to Dynamics 365 Customer Engagement where they separated the “core” features of the platform and the various business modules (Sales, Customer Service, Marketing, Field Service, etc…). This separation of the “core” platform features allows not only Microsoft Business Applications to leverage the platform capability but also third party providers and ISVs.

The term XRM  was used in the past to describe the ability to built business applications with minimal development effort (relying on configuration and customization) on top of the Dynamics CRM platform. These applications allowed you to model business entities and their relationships (xRM or any Relationship Management) and keep track of this information in a database without having to develop everything yourself. With the platform separation, we can now finally think about XRM and CDS in the same way (check out Yes, XRM is the new Common Data Service (2.0) by @Jukkan for more information).



From a solution architecture perspective we can see a number of main building blocks in the schema above:
  • Common Data Service (CDS)
  • Power Platform
    • Power BI -  interactive data visualization platform 
    • PowerApps – allows you to build canvas driven apps and model driven apps. Canvas driven apps  are apps that you can build using  a drag and drop design interface without requiring a developer - especially very productive to built mobile/tablet applications. Model driven apps also allow you built business applications without requiring a developer but unlike canvas apps you don’t have full control on the user interface but with additional functionality such as process support, full extensibility, etc … This was previously referred to as the xRM capability – sometimes also referred to as CDS for Apps. Initially PowerApps was a completely separate platform but with the Spring 2018 update Microsoft decided to merge the two different platforms. Read PowerApps Spring Update – if you want to get your heads around the new CDS for Apps and to understand how everything seems to finally come together. Definitely also subscribe to the PowerApp blog to keep up to date on the fast pace at which this platform is evolving. Microsoft is on a weekly release schedule for PowerApps which is also visible in the Released versions of Microsoft PowerApps
    • Flow  - an easy to use workflow and integration platform. A power-user can use this platform. Programming skills are not mandatory  https://flow.microsoft.com/en-us/ . With over 250+ connectors and a huge number of templates, Microsoft Flow allows you to automate your daily work.
  • Azure – Microsoft’s cloud platform powering all of the above. The Power Platform as well CDS for Apps also have built-in capabilities to integrate with a lot of Azure building blocks – an interesting read on this topic is https://powerapps.microsoft.com/en-us/blog/create-business-apps-using-powerapps-and-azure-functions/

I had a number of interesting conversations with Microsoft about the Microsoft Power Platform when attending the Microsoft Fasttrack bootcamp for solution architect in January 2019 which convinced me that this is not something that you can dismiss as a Microsoft Dynamics partner. The future toolkit for customization and extending Dynamics 365 CE will be PowerApps and Flow. But it seems that non-Dynamics partners are amongst the first movers to take a large part of this new market opportunity. As a Dynamics 365 partner (or consultant) take a look at Why Microsofts Power Platform is one of its biggest bets for 2019 which explains where Microsoft is moving to and how they plan to leverage the data captured in the Power Platform/CDS to provide more actionable insight - see https://aka.ms/allaboutbase

"The true value of Microsoft Business Applications platform is the ecosystem it resides in, the 
AI signals (internal and external) that enrich it, and the overall 
outcomes it creates for your business."





Background information:

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 https://web.powerapps.com 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 https://web.powerapps.com 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
checked
All
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
Guidancehttp://go.microsoft.com/fwlink/?LinkID=398563&error=meta-remove-inactive&client=PAChecker 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
All
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.

Thursday, January 17, 2019

Microsoft cloud IT architecture resources available

Summary: Learn core cloud architecture concepts for Microsoft identity, security, networking, and hybrid. Review prescriptive recommendations for protecting files, identities, and devices when using Microsoft's cloud. Learn how to deploy a modern and secure desktop with Windows 10 and Office ProPlus.

These architecture tools and posters give you information about Microsoft cloud services, including Office 365, Windows 10, Azure Active Directory, Microsoft Intune, Microsoft Dynamics 365, and hybrid on-premises and cloud solutions. IT decision makers and architects can use these resources to determine the ideal solutions for their workloads and to make decisions about core infrastructure components such as identity and security.
https://docs.microsoft.com/en-us/office365/enterprise/microsoft-cloud-it-architecture-resources

Monday, January 14, 2019

Dynamics 365 monthly reading list December 2018

Technical topics (Configuration, customization and extensibility)

Topics for Dynamics 365 CE business analysts, project managers and power users

Whitepaper– Artificial Intelligence in Belgium and Luxembourg: Outlook for 2019 and beyond


Microsoft recently commissioned a study with over 277 European companies on how companies currently manage their AI activities and how they see the challenges and opportunities ahead – 21 companies out of Belgium and Luxembourg have participated in this study amongst them Ageas, Afga Gevaert, Alpro, Arcelor Mittal, Katoe Natie, KBC Group, Proximus and Solvay – some interesting findings:
  • Machine learning (81%), smart robotics (62%) and NLP (48%) are most useful for companies in Belgium and Luxembourg. Smart robotics ranks considerably higher than the European average (44%)
  • Current use cases highlighted by executives include predictive maintenance, using demand forecasting to optimize supply chain operations and automation of logistics
  • Advanced analytics is considered to be one of the most important capabilities (out of 8 capabilities) necessary for AI success in Belgium and Luxembourg
Download AI in Belgium and Luxembourg: How 277 major European companies benefit from AI

Thursday, January 10, 2019

Integrate Dynamics 365 for Customer Engagement apps with Microsoft Teams (Preview)

Warning: This preview is currently only fully available for organizations in the North American region.

Microsoft Teams is a chat-based collaborative tool, where people can work on documents, exchange information using chat – check out the what is Microsoft Teams video from the Microsoft teams video training series if you have not worked with it previously. One of  the interesting capabilities of Microsoft teams is that it allows you to add new apps within your team workspace – these apps are available in the Teams store, and can be custom built by you for distribution through the store or directly to your users (also Take a look at 30 invaluable integrations that you should be using with Microsoft Teams for some great examples of apps that are available)

In November 2018 Microsoft added a “Dynamics 365” app to this ever growing list of apps – it currently provides 3 important capabilities:
  • Provide  Dynamics 365 chat bot functionality in the team  conversations
  • Work with Dynamics 365 records directly from within Microsoft Teams.  Teams now has the possibility to link an existing Dynamics 365 record so that users are able to both view and edit information about this Dynamics 365 within Microsoft teams and even navigate to related records without leaving Microsoft teams.
  • Link Microsoft Teams files to Dynamics 365 records
In the next sections we will delve a little deeper in some of the functionality.

Working with the Dynamics 365 bot in Teams
After you have installed the Dynamics 365 App from the Teams store (See Install and setup the Dynamics 365 App for Teams for more details) , you will be able to use the new sales bot functionality within the Conversations tab of the app

When you first open the bot you need to connect it to a specific Dynamics 365 organization instance – afterwards you are able change this setting.



For the moment the functionality is still rough on the edges basic but more functionality will probably be added throughout the preview.  The bot allows you to lookup information in Dynamics 365 using natural language – e.g. you can search for an opportunity “Audio equipment” by just typing “search audio equipment” or “lookup audio equipment” or “find audio equipment” which will surface a card with information about that opportunity.  Behind the scenes the bot will connect to the LUIS Azure Cognitive Services to understand the intent of your message to retrieve the most important information. Through the bot you will also be able to update basic information of this opportunity like the amount, close date, etc… This functionality is also available from within the Microsoft Teams mobile app



Working with Dynamics 365 records from within Microsoft Teams
You can now also add a new tab to the top of your channel which uses a specific app – if you link the Dynamics 365 app here you can connect it to a specific Dynamics 365 record.

Users who do not have a Dynamics 365 license or not a valid security role in Dynamics 365 will not be able to access the information but will receive a warning


Linking Microsoft Teams files to Dynamics 365 records
When you create a new Microsoft team behind the scenes a SharePoint Online site is being used, and each channel in a team gets a folder within the default team site document library (Read How SharePoint Online and OneDrive for Business interact with Microsoft Teams for more details and watch the video Foundations of Microsoft Teams to get an architectural overview)  So basically the integration between Dynamics 365 and files in Teams is being built on top of the existing SharePoint integration for which the fundamentals already existed.

To be able to link Microsoft Teams files to Dynamics 365 records you will first need to activate preview functionality within your Dynamics 365 system settings (Settings>Administration>System settings)


Next a new button will appear in your mean which allow you to link to a specific team and channel.

The linked  Teams documents will appear in the same place as linked SharePoint documents (under the cover they actually are stored in SharePoint  - take a look at Showing SharePoint document properties in Dynamics CRM views for a more detailed explanation of how this is done).



For the official documentation on this preview see  Preview: Integrate Dynamics 365 for Customer Engagement apps with Microsoft Teams