Tuesday, February 28, 2017

More progress on my Dynamics 365 (CRM) Metadata DIFF tool

I worked on one of my rainy day projects last weekend... a diff tool for Dynamics 365 CRM orgs.

The goal of the solution is to be able to view the major differences between the same CRM org over time or two different orgs (online or on-prem).

The components include two Azure WebJobs and a SQL Server database. One WebJob queries the CRM orgs for metadata (see list below) and the other is responsible for the diff operations and reporting the differences.

So far, the tool compares the following metadata and entity-based data:
  • Entity
  • Attribute
  • OptionSet (Global and entity-based)
  • One-to-many relationships
  • Many-to-many relationships
  • Business Unit
  • Connection Role
  • Field Permission
  • Mailbox
  • Organization
  • Plugin Assembly
  • Plugin Type
  • Process
  • Process Stage
  • Publisher
  • Queue
  • Role
  • Saved Query
  • Saved Query Visualization
  • Sdk Message Processing Step
  • Sdk Message Processing Step Image
  • Site Map
  • Solution
  • Solution Component
  • System Form
  • System User
  • System User Roles
  • Team
  • Template
  • User Form
  • User Query
  • User Query Visualization
  • User Settings
  • Web Resource
Next up for the tool is to make the deployment faster and easier. Currently, it's necessary to manually run T-SQL DDL scripts to create the database tables and stored procedures. The plan is to make that a single click using a simple ASP.NET app.

If your organization has the need for an automated CRM metadata tracking or diff process, please get in touch and I'll share some of my experiences in building the tool or, through Altriva, we can talk about sharing the code with you.

No comments:

Post a Comment