Enforce ConcurrencyBehavior on DataverseServiceClient

Celebrating the GA of DataverseServiceClient, let's talk about how to implement concurrency (if there are two users updating the same data at the same time, the system must ensure only the first update success and make fail the other) using an out-of-the-box feature. From Dataverse itself, we have UpdateRequest and DeleteRequest messages that have ConcurrencyBehavior … Continue reading Enforce ConcurrencyBehavior on DataverseServiceClient

Create a WebJob to Ensure Cache is Valid

Caching is one of the operations that we always do when building software. We put an object that will be faster to be retrieved to improve the performance of our software. But likewise, because it is a Software Architecture. Choosing one side will always have risks. If the system cache the wrong data, of course, … Continue reading Create a WebJob to Ensure Cache is Valid

Dynamics CRM: Implement Retry Policy using Polly

Lately, I'm still actively thinking about designing a system that also considers error-proofing as part of the feature. For example, we want to ensure the transaction that we will execute is successful in 3 times execution. Meaning, we need to implement a retry policy that Polly can handle! I know Polly when I read "How to maximize … Continue reading Dynamics CRM: Implement Retry Policy using Polly

Implement Push Changes from Dynamics CRM to Other Source Systems Using WebJobs

When we think about integrating Dynamics CRM with other source systems, we can discover there are lots of ways to do it. Today, we will cover one architecture design that we can implement if we want to push the changes from CRM to other source systems.  Design Architecture From the image above, we will use … Continue reading Implement Push Changes from Dynamics CRM to Other Source Systems Using WebJobs

Dynamics CRM: Implement Feature Flags in Plugin

"Feature flags" is a mechanism to set the on/off for a feature without changing the code. You can learn more about this from a blog post here. With the Environment variable in place (which previously many organizations created their own Config Table), we can implement Feature flags in the Plugin.  Fow chart The idea is to make all … Continue reading Dynamics CRM: Implement Feature Flags in Plugin

Dynamics CRM Webhook vs Power Automate Cloud Flow vs Plugin

Do you know Dynamics CRM Webhooks? The definition from the official documentation: CRM Webhooks is a feature which enables CRM to call other URL using HTTP pattern with publish/subscribe pattern. Which, I do not quite agree with the definition because we still can register the plugin in Sync mode instead of Async. Meaning, if the URL … Continue reading Dynamics CRM Webhook vs Power Automate Cloud Flow vs Plugin

Dynamics CRM Client Scripting: addCustomFilter and addPreSearch

The most common requirement that usually we need to apply is filtering the lookup dynamically based on the state of the current attribute. For example, you have a Custom Approval entity (table) that got a lookup to Customer and Custom Document. Then when the user on the Custom Approval screen, you want to filter the Custom Document based on the Level field (column) that the user … Continue reading Dynamics CRM Client Scripting: addCustomFilter and addPreSearch

Dynamics CRM Model-Driven Apps: Strategy for Multiple Environment + Solution Layering in Javascript

If you ever make a product based on Dynamics CRM and needs to use multiple environments + solutions for multiple projects. But still willing to achieve tidy + clean solutions when registering events. Here is my recommendation on how to do it without needing to heavily rely on Form registering (no need afraid that the … Continue reading Dynamics CRM Model-Driven Apps: Strategy for Multiple Environment + Solution Layering in Javascript

General Tips on Dynamics CRM Plugin Development

On my blog, one of the most viewed posts is Dynamics CRM Plugin Development: Pre-Operation vs Post-Operation. This makes me realized that I need to create another blog post about plugin development, in general, to make you know what's the dos and don'ts in plugin development (in a general way). The concepts of this blog … Continue reading General Tips on Dynamics CRM Plugin Development

Dynamics CRM: Setup PowerApps.UIAutomation.Api for The UI Testing

Do you know that we can do UI Testing easily in Dynamics CRM? In this blog post, we will learn about how to set up a solution project for doing UI testing using the PowerApps.UIAutomation.Api nuget package. Like the naming, UI testing meaning that testing that being done automatically (via code) on the UI. Not … Continue reading Dynamics CRM: Setup PowerApps.UIAutomation.Api for The UI Testing