Clean Code
Posts in this category.
May 24, 2026
When working with Power Platform, the Dev environment often holds the latest version of what your team is building. However, tracking what actually changed between exports across components, flows, and configurations is a tedious task. The diffs are noisy, the XML is unreadable,...
Mar 15, 2026
Another blog post to handle the concurrency issue. Previously, I shared how to do concurrency via a plugin in this blog post and also how to force concurrency behavior in Dataverse in this post. However, when I attempted to implement this, it still did not resolve the concurrency...
Nov 26, 2022
Before we continue, this blog post will only work if you using Early-Bound on your plugin project (for Late-Bound, you can follow this blog post). The scenario that we will cover is to get rid of the hassle of the below method (I will show you using the code to make it easier):...
Jul 2, 2022
When I scanned Microsoft.Xrm.SDK namespace from Visual Studio, I found an exciting extension in the ContextExtensions class. In there, we can discover InputParameterOrDefault<T> that accepts a string parameter. Without further ado, let's go to my testing about it! Demo 😁 I...
Jun 25, 2022
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...
Apr 29, 2022
In Dataverse, we can add several additional parameters when we request something that you can check in this documentation. And from all the optional parameters provided, my favorite is the "Tag" parameter that allows us to pass SharedVariable to the Plugin. In the documentation...
Apr 16, 2022
When I learned to implement authorization in my WebAPI and tested it in Swagger, I noticed the "Available authorization" page was empty (after clicking the lock icon): Empty Authorization dialog For those who don't know Swagger, you can think of this as a framework that offers a...
Oct 16, 2021
When creating a Dataverse Plugin, we always encounter a scenario where we need to retrieve attribute values of the main entity. But we want to take either from Target's attribute or PreImage/PostImage/Database's attribute. For example, if we have an entity (table) that contains...
Aug 25, 2021
Today we will learn how to create a Custom API to get a file from File DataType in CRM. I only knew that CRM got this DataType when I browsed our beloved community forum last week. I can't find the thread already. But in short, the thread started questioning how we could get the...
Aug 19, 2021
Have you got an error request time out in the plugin? If the plugin only contains simple business logic, It will not be hard to catch the problem. But what if you got lots of business logic that updating more than one entity? Today we will create simple extension functions that...