Showing posts with label PowerApps. Show all posts
Showing posts with label PowerApps. Show all posts

Friday, December 20, 2024

API Playground in Dataverse Accelerator App

 The API playground is a pre-authenticated software testing tool which is part of the Dataverse Accelerator App. API playground  allows you to quickly interact with the Microsoft Dataverse Web API - check out Explore and test Dataverse in the Web API playground (Preview)





Wednesday, September 23, 2020

Dynamics 365 and Power Platform monthly reading list August 2020

Technical topics (Configuration, customization and extensibility) 

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

Monday, April 20, 2020

Dynamics 365 and Power Platform monthly reading list March 2020

Dynamics 365 and Power Platform - 2020 Wave 1 Topics


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

Thursday, April 02, 2020

Dynamics 365 and Power Platform monthly reading list February 2020

Dynamics 365 and Power Platform - 2020 Wave 1 Topics
Technical topics  (Configuration, customization and extensibility)

Monday, March 09, 2020

Dynamics 365 and Power Platform monthly reading list January 2020

Dynamics 365 and Power Platform - 2020 Wave 1 topics

Starting April 2020, new features in Dynamics 365 and Power Platform will be activated, but you can already try out some of the new features by enabling early access - for a full list of available features see 2020 release wave 1 features available for early access
Technical topics (Configuration, customization and extensibility)

Monday, February 03, 2020

Lessons learned about Dynamics 365 solution layering - Part 1


This is the first in a series of blog posts on Dynamics 365 solutions and solution layering in which I will cover the basics about Dynamics 365 solutions and gradually delve deeper into the mysterious world of the inner workings of Dynamics 365 solutions.

In my opinion,  based on how managed solutions and solution layering work - I think that in the majority of cases you should only use a single managed solution to avoid issues down the line. Read on to see why...


This blog post assumes that you are using managed solutions to deploy to all environments and only have unmanaged solutions in your development environment.

Dynamics 365 solutions fundamentals

If you work with Dynamics 365/CDS solutions, you should be aware of the concept of solution layering. Solution layering occurs on import of solutions when a specific component is affected by a change within one or more solution. Solution layering will determine the kind of behavior that a user will see in Dynamics 365.

The figure above shows how layering works: at the bottom, you have the standard CDS solutions on top of which you might have some first party apps installed like Dynamics 365 Sales/Customer Service etc... If you deploy custom managed solutions, they will go on top based on the order in which they are installed. Direct customizations and unmanaged solutions are always at the top but there is no real layering of unmanaged solutions - they all end up directly modifying the base behavior.

Solution layers describe the dependency chain of component from the root solution introducing it, through each solution that extends or changes the component’s behavior. Solution layers are created through extension of an existing component (taking a dependency on it) or through creation of a new component or version of a solution. So it is very important to understand that layers should be considered on a per component basis.

In April 2019, Microsoft introduced a new user interface component which visualizes the different solution layers which are impacting the behavior of a specific component - View solution layers for a component. Below is an example of the solution layers of the case form which was quite an interesting example.


Going beyond the basics

But what happens if two or more solutions define solution components differently? This article  - Introduction to solutions - conflict resolution explains the two conflict resolution strategies - Merge and Top Wins. The article is also valid for online according to Microsoft support - even though it was written for Dynamics 365 on premise and last updated in December 2017.


When importing a managed solution with the overwrite customization option, it is possible to override the "top wins" conflict resolution  but this does not apply to components which apply a “merge strategy” - for more details see Understand how managed solutions are merged

So you need to be very careful when adding components which apply a merge strategy in multiple solutions with different publishers since the merge behavior might cause unexpected side effect such as creating a separate active layer on top which would block your customization to appear to the user.

An active layer can emerge in two scenarios - a direct customization was done in the instance but it seems that it is also possible that a managed active layer is created when using only managed solutions without direct customizations in the system. This happens when managed solutions in one system, with different publishers (the Microsoft solutions count as a different publisher) are trying to update the same component. It is a defense mechanism that Microsoft has built in when there are object inconsistencies across managed solutions.

The general recommendation is that you keep the number of managed solutions with common components (e.g. forms with a different form layout) to a minimum. This will avoid merging issues across the layers.

Single solution to rule them all?


Taking into account all of the above it seems that you would opt to use a single managed solution to deploy to other environments.

Single solution approach
Pros:

  • Easier to version control
  • Avoid solution layering issues
  • Less environments needed
  • Easier to promote across environments
Cons:

  • Longer duration of solution import
  • Long list of components


I do think that a single solution might make sense in the majority of cases but there are of course exceptions to this rule.  I would recommend you to take a look at the Solution Lifecycle Management: Dynamics 365 for Customer Engagement Apps whitepaper and especially the section on solution boundaries which outlines some of other valid scenarios for having multiple solutions e.g.  the scenario where you need to deploy to multiple regional production instances with small variations with a core solution approach and on top local solutions  or the scenario where you need to release subsets of applications on different cadence/timeline.


Friday, January 31, 2020

Dynamics 365 and Power Platform monthly reading list December 2019

Technical topics (Configuration, customization and extensibility)

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

Thursday, January 16, 2020

Update on Dynamics 365/CDS request limits

End of August Microsoft announced an API based limitation which is based on users and the type of licenses they have - the latest documentation is available on http://aka.ms/platformlimits  as well as PowerApps and Microsoft Flow licensing FAQs for October 2019. I would recommend regularly checking these pages as they have been updated quite a few times in the last months.

During interactions with Microsoft the last couple of months, they explained that the allocated number of API calls within the different licenses are based upon internal telemetry on the current Dynamics 365 customer base. The claim is that 95% of customers fall within the standard allocated API limits. But if you are using a lot of integrations, you might need to  re-architect part of your solution.

Listed below are the key takeaways:
  • Users with a Dynamics 365 Enterprise Application license have 20.000 API requests allocated in a 24 hour window.
  • Technical/non-interactive/application users get allocated 100.000 API requests if at least one Dynamics 365 API license is available.
  • If a user exceeds the limits the admin for the tenant/environment will receive a notification - end users will not be blocked from using the app.
  • This new licensing went into effect for new customers who on boarded after October 2019. Existing customers have a transition period until October 2020 or when their licensing contract expires. Whichever is longer. For customers with an enterprise agreement this will be the end of their EA (in most cases I know these contracts are valid for 3 years), customers on a CSP contract typically have a yearly expiration date. Reach out to your licensing partner or Microsoft for more details. 
  • The currently available statistics in the Power Platform Admin Center are still quite rudimentary but are a good starting point to assess the impact on your environment 
  • It is possible to purchase additional blocks of 10,000 daily API requests for $50 per month (For details reach out to your licensing partner)
  • Batch requests (Executemultiple) only count as 1 API call, so you can wrap a 1.000 individual calls in one ExecuteMultiple call.
References:

Tuesday, January 14, 2020

My perspective on the PowerApps Build Tools for Azure DevOps

Mid July 2019 Microsoft released a preview of a set of PowerApps specific Azure DevOps Build tasks.  In the last months this tooling has been updated on a quite regular pace which indicates that  ALM (Application Lifecycle Management) for Power Platform (and Dynamics 365 Sales/Customer Service/etc..) is high on the priority list for Microsoft.


For those of you who are new to Azure DevOps, here is a small summary. Azure DevOps is a set of services hosted on Microsoft Azure cloud which support your full software development lifecycle  e.g. you can use Azure Boards for work tracking and backlogs, Azure Pipelines for  CI/CD, Azure Repos for source control, and much more.  Azure DevOps is successor to  Visual Studio Team Services (VSTS) and the best thing of all you can get started with it for free. (For more details see Pricing for Azure DevOps). You can start learning Azure DevOps by exploring the Azure DevOps Hands-On Labs

In the past most Dynamics 365 CE consultants largely relied on a BYOALM (Bring Your Own ALM) approach meaning that you need a combination of PowerShell script, SDK extensions, etc … to automate the build and release of Dynamics components. I even think that in the majority of cases there is no fully automated build and release process in place - meaning that a deployment relies on a number of (hopefully documented) manual steps.  In one of the projects I recently worked on - we have been using the excellent Dynamics 365 Build Tools for Azure DevOps from Wael Haemze so there are other extensions available for Azure DevOps as well.

After you have installed the PowerApps Build Tools you will see a whole set of build and release tasks that you can use in your build and release pipelines. To explore the possibilities you can start with the PowerApps Build tools for Azure DevOps Hands On Lab files which contains a walk through of the different scenarios like for example using the PowerApps Solution Checker (see reference section for more information on this)



If you compare the PowerApps Build Tools with the Dynamics 365 Build Tools, you will probably see that Dynamics 365 Build Tools currently still offers more capabilities but it does seem worthwhile to start exploring the newly released Microsoft tooling.  I recently also got feedback within the context of a Microsoft support case that they recommended to use the new PowerApps build tooling because they would not troubleshoot issues with other extensions on top of Azure DevOps in combination with Dynamics 365.

I  also expect more information to come available in the coming weeks as we are getting closer to the Dynamics 365 and Power Platform 2020 Release Wave 1 . In the meanwhile I will be sharing more information in some upcoming blog posts.


References:


Tuesday, December 31, 2019

Dynamics 365 and Power Platform monthly reading list November 2019

Technical topics (Configuration, customization and extensibility)

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

Friday, November 29, 2019

Microsoft webinar redelivery Dynamics Power! Saturday Brussels December 3th

Two weeks ago we had Dynamics Power! Saturday Brussels - a community event on Microsoft Business Applications with over 250 attendees and 25 different international speakers.


For those of you who were not able to make it, Microsoft will organise a short redelivery of 3 sessions in webinar format on Tuesday December 3th - more info and registration available on https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x8855388abcd 

Agenda:

  • Updates on Power Platform (UI Flows, AI Builder, … )
  • Integration between Dynamics 365 Sales/Customer Service and Dynamics 365 F&O (ERP)
  • Dynamics 365 Mixed Reality

Thursday, November 28, 2019

Dynamics 365 and Power Platform monthly reading list October 2019


Dynamics 365 – 2019 Wave 2 topics

Technical topics (Configuration, customization and extensibility)

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

Tuesday, October 15, 2019

Quick tip: Using XrmToolBox with a MFA enabled login

More and more customers are introducing Azure Multi-Factor Authentication (MFA) for Dynamics 365 CRM and while this is a good idea, there are some gotchas. If you are using XrmToolbox – the Swiss army knife in the Dynamics CRM consultant tool belt – you will need to revise the way you setup connections to your CRM/CDS environments.

Use the SDK Login Control when choosing a connection method


Next click on Open Sdk Login Control – this will open the standard browser login page and will allow you to fill in the details required in MFA.




References:

Tuesday, October 08, 2019

Dynamics 365 monthly reading list September 2019

Preview 2019 Wave 2 release topics

Technical topics (Configuration, customization and extensiblity)

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

Sunday, September 08, 2019

Introducing the PowerApps Checker PowerShell module to check PowerApps solution quality

Microsoft recently updated their tooling for checking the quality of  CDS/PowerApps/Dynamics 365 solution files by releasing the PowerApps checker PowerShell Module . With this new PowerShell module it is possible to receive a detailed report for your solutions identifying problems/issues taking into account best practices around performance, usage, upgrade readiness, supportability and maintainability. The static code analysis is based on rulesets which are provided by Microsoft and which are updated on a regular basis.

The main difference with the previously released tooling in the PowerApps maker portal (See Announcing general availibility of Solution Checker) is that you can now also do checks to validate both managed and unmanaged solutions (CRM2011 to current) so include on-premise solution validation.

The PowerShell module can be installed from https://www.powershellgallery.com/packages/Microsoft.PowerApps.Checker.PowerShell/1.0.2  and provides a number of commands that you can use to perform the checks.



Before you can use the Invoke-PowerAppsChecker PowerShell cmdlet ,  you need to create an Azure Active Directory (AAD) application in a tenant with PowerApps or Dynamics 365 licenses. Follow the steps on Get started using the Microsoft.PowerApps.Checker.PowerShell module to correctly do this using either PowerShell or manually.

The PowerAppsChecker cmdlets in interactive-mode (meaning you need to login everytime you run the checker) or using an application-based token.

Behind the scenes the PowerShell module will connect to the PowerApps checker Web API

The output of Invoke-PowerAppsChecker  is a zip file containing one or more reports in a standardized JSON format. The report format is based on static analysis results referred to as Static Analysis Results Interchange Format (SARIF).

By analyzing results and fixing indicated errors, you can learn how to write high-quality code and decrease the cost of fixing issues later.


Depending on the size & complexity of your project, I might be recommended to include it as part of your ALM strategy.



Other blog post:

Tuesday, September 03, 2019

Dynamics 365 monthly reading list August 2019

Preview 2019 Wave 2 release topics

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

Tuesday, August 13, 2019

Dynamics 365 monthly reading list July 2019


Technical topics (Configuration, customization and extensibility)

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

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