Are Workflow Activities Still Relevant in the Era of Power Automate?

With the rise of Power Automate as the low-code automation backbone of the Microsoft Power Platform, many developers and architects are questioning the future of older technologies like custom workflow activities. So the big question is: Are workflow activities still worth investing in, or are they headed for the history books? Let’s explore the answer … Continue reading Are Workflow Activities Still Relevant in the Era of Power Automate?

Scalable Customization Design in Microsoft Dataverse: Understanding Blocking and How to Prevent It

🚧 What is Blocking in Dataverse? Blocking occurs when one transaction holds a database resource lock, preventing other transactions from accessing it until the first transaction is completed. This can lead to delays, performance bottlenecks, and even transaction failures. Imagine a checkout counter at a grocery store where a cashier is scanning a long list … Continue reading Scalable Customization Design in Microsoft Dataverse: Understanding Blocking and How to Prevent It

Scalable Customization Design in Dataverse : Transaction and Locking Awareness

Understanding How Transactions Work in Dataverse When building custom solutions in Microsoft Dataverse, one of the most overlooked yet critical aspects is how transactions and locking work. Just like a checkout counter at a grocery store, once a transaction starts, the system locks resources (records, tables, indexes) to ensure consistency. If another customer (process) tries … Continue reading Scalable Customization Design in Dataverse : Transaction and Locking Awareness

Scalable Customization Design in Microsoft Dataverse – A Developer’s Guide

Imagine a city with well-planned roads, traffic signals, and public transport. Now, imagine a chaotic city where roads are frequently blocked, signals are ignored, and buses take up all the space on the streets. Which city do you think would offer a better experience for its citizens? Designing scalable customizations in Microsoft Dataverse is like … Continue reading Scalable Customization Design in Microsoft Dataverse – A Developer’s Guide

Moving Beyond DLLs: Creating Plugin Packages with Power Platform Tools for Visual Studio

In a previous post, we explored the evolution of plugin development in Dynamics 365: We compared the legacy DLL approach to the modern Plugin Package model, highlighting benefits like better ALM, dependency management, and solution-aware deployments. Now, let’s take it one step further: How do you actually build, debug, and deploy Plugin Packages the right … Continue reading Moving Beyond DLLs: Creating Plugin Packages with Power Platform Tools for Visual Studio

Plugin Solution Architecture in Dynamics 365: DLL-Based vs Plugin Package-Based Approaches

As the Dynamics 365 and Power Platform landscape evolves rapidly, so does the way we extend the platform using custom code. One significant shift is the movement from traditional DLL-based plugin deployment to the more modern Plugin Package approach. In this post, we’ll dive deep into the architecture differences, evaluate the pros and cons of … Continue reading Plugin Solution Architecture in Dynamics 365: DLL-Based vs Plugin Package-Based Approaches

Blog 10: Fixing Activity.RegardingObjectId Not Being Set

When working with activity records (such as Emails, Phone Calls, Appointments, and Custom Activities) in Dataverse, you might notice that the Regarding field sometimes shows "(No Name)" instead of the expected value. This issue occurs because the EntityReference.Name property is not automatically set by Dataverse when using plug-ins. 🚨 Known Issue: Symptom: The RegardingObjectId lookup … Continue reading Blog 10: Fixing Activity.RegardingObjectId Not Being Set

Blog 9: Resolving You Can’t Start a Transaction with a Different Isolation Level

Dataverse plug-ins run within a managed transaction, ensuring data consistency and rollback capabilities. However, attempting to manually create a transaction inside a plug-in can cause the following error: 🚨 Error Message: Error Code: -2147220989 Error Message: You cannot start a transaction with a different isolation level than is already set on the current transaction. This … Continue reading Blog 9: Resolving You Can’t Start a Transaction with a Different Isolation Level

Blog 8: Resolving The Given Key Wasn’t Present in the Dictionary

When working with Dataverse plug-ins, you may encounter the "The given key wasn’t present in the dictionary" error. This issue occurs when your plug-in code attempts to access a key that does not exist in the ParameterCollection or Entity.Attributes dictionary. In this blog, we’ll explore the causes of this error, how to debug it, and … Continue reading Blog 8: Resolving The Given Key Wasn’t Present in the Dictionary

Blog 7: Resolving Message Size Exceeded When Sending Context to Sandbox

Dataverse plug-ins are powerful tools for extending business logic, but sometimes, they run into issues that can disrupt operations. One such problem is the "Message size exceeded when sending context to Sandbox" error. This error occurs when a plug-in operation generates a message payload larger than 116.85 MB, causing it to fail. In this blog, … Continue reading Blog 7: Resolving Message Size Exceeded When Sending Context to Sandbox