Today, we will learn how to make use of the Azure Service Bus Queue to be implemented alongside Dataverse. The idea is Azure Service Bus Queue offers mechanism to make requests well-ordered which can be a way to make sure that your data is processed in the correct order. The flow that we will build … Continue reading Dataverse – Azure Aware Plugin + Service Bus Queue + Azure Function + Dataverse Custom API
Category: Architecture
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