This repository contains a collection of useful plugins for Microsoft Dataverse, tailored to address common development challenges and extend Dataverse functionality with custom business logic. Each plugin is built with robust practices and optimized for performance in Dataverse environments.
- Language: C#
- Framework: .NET Framework (typically targeting 4.x versions compatible with Dataverse)
- Dataverse SDK: Microsoft Dataverse SDK for plugin development
- Development Tools: Visual Studio, Plugin Registration Tool (XrmToolBox optional)
DataverseUsefulPlugins/
β
βββ src/ # Source code for plugins
β βββ PluginName1/
β βββ PluginName2/
β βββ SharedLibrary/ # Shared utilities, constants, or helper functions
β
βββ tests/ # Unit tests for plugins
β
βββ docs/ # Documentation, usage guides, and technical details
β
βββ PluginRegistration/ # Sample JSONs or scripts for Plugin Registration Tool
β
βββ LICENSE # License file
βββ README.md # Repository overview
βββ CONTRIBUTING.md # Contribution guidelines (if public repo)
- Microsoft Dataverse Environment: A valid environment to register and test plugins.
- Plugin Registration Tool: To register your plugin assemblies and steps.
- Visual Studio: For building and debugging the plugin code.
- NuGet Packages:
- Microsoft.CrmSdk.CoreAssemblies
- Microsoft.CrmSdk.XrmTooling.CoreAssembly
-
Clone the Repository:
git clone https://github.com/DynamicSadFun/DataverseUsefulPlugins.git
-
Build the Solution: Open the solution in Visual Studio, restore NuGet packages, and build the project to generate the plugin assembly.
-
Register the Plugin:
- Use the Plugin Registration Tool to register the plugin assembly in your Dataverse environment.
- Create steps with appropriate triggers (e.g., Pre-Operation, Post-Operation) on target entities and messages.
-
Deploy:
- Import the plugin assembly into your target Dataverse environment.
- Test the plugin to ensure functionality.
Each plugin in this repository is crafted to solve specific use cases:
-
PluginName1:
Description: Implements logic to validate entity fields before the record is created.
Usage: Pre-Operation plugin for theCreate
message. -
PluginName2:
Description: Automatically populates a related field when a record is updated.
Usage: Post-Operation plugin for theUpdate
message. -
SharedLibrary:
Description: Contains reusable helper methods and constants for Dataverse operations.
- Detailed Instructions: Available in the
/docs
folder. - Configuration Files: Samples for plugin steps and secure configuration are in
/PluginRegistration
.
This project is licensed under the MIT License. See the LICENSE
file for details.