New XrmToolBox tool : Components Comparer

New XrmToolBox tool : Components Comparer

I'm on the managed solutions team

I don't know if you are like me but I'm in the managed solutions team. Yes, I do like them and use them in all my projects. But there are some difficulties anyway... One of them is the problem of people modifying manually components over a managed environment like production or UAT. This applies an unmanaged layer that can prevent futur release to be applied (as the unmanaged layer takes precedence over any managed layer).

Fortunately, there are some tools to identify these unmanaged layers. One of them is Solution Layer removal tool in XrmToolBox. I really like this tool that shows you quickly the components manually changed in a specific environment.

Aucun texte alternatif pour cette image

Identifying manual changes

Now, another problem is to identify what is the change that has been applied. What I want is to replicate this change in my development environnement so that after next release, I can safely remove the unmanaged layer without disturbing users because what would have been released is the same as what has been manually customized.

This is where my new tool comes to the rescue! Components Comparer allows you to select a table, a column and a specific row and compare the content between two environments. As there is some specific tables, the tool also provides specific components selection like Security roles (to compare their privileges) and Webresources (to compare their content). Of course, except for roles and webresources (they can be retrieved by their name too), it requires to maintain the same unique Id for records across environments but this is a best practice, isn't i

What does it look like?

With this tool, you just have to select a table, a column to compare and select a row. Then click on Compare button. You will be presented with the differences between records of both environments.

Aucun texte alternatif pour cette image

Credits

In this tool, I used two open source projects:

  • Rappen.XTB.Helper from Jonas Rapp : It provides WinForms control that works directly with Dataverse api.
  • Diff.Net from Bill Menees : It provides WinForms control and code to compare Directories, Files or Textes


David Uhlmann

Constant learner.

1 年

This is absolutely great post, love it. Thanks Tanguy TOUZARD for that

回复
Boris TCHORBADJIAN

Consultant Dynamics 365 Senior - Chef de projets Freelance / Président d'Inforia / Auteur du jeu de société "Les Héros du sang"

3 年

Of course you're in the managed solutions team ?? Even if managed solutions are now much more robust than they were in the past, manual slight unmanaged changes can still happen from time to time, so thanks for this tool !

回复
Lee Mather

Solution Architect at ANS Group, School Governor at Tonacliffe Primary

3 年
Dennis de Groot

practice lead CE managed Services | Customer team Management - HSO

3 年
Brian Frick

Microsoft Certified Techno-Functional D365 CE/CRM Architect, Developer, Configurer and Consultant

3 年

This is awesome tool for many uses! We run a fairly complex ALM through DevOps consisting of 28 environments at current time. Keep in mind you can always remove the active layer, and as long as the customizations remain in the managed solution below it (since we ALWAYS re-do the live changes in dev... RIGHT?!? :) ), the customizations should remain on your form after removing unmanaged layer. To be sure, remove unmanaged layer before laying your managed upgrade down - you should be in the clear. I will be downloading this tomorrow! Great work.

要查看或添加评论,请登录

Tanguy TOUZARD的更多文章

  • Document Template Manager update!

    Document Template Manager update!

    Microsoft Dataverse has this nice feature to generate Word (and now PDF) document based on a Word template…

    17 条评论
  • New XrmToolBox tool : Solution Table Integrity Manager

    New XrmToolBox tool : Solution Table Integrity Manager

    Today, I'm proud to release a new tool for XrmToolBox that will help many people to fix their solutions when they do…

    30 条评论
  • XrmToolBox : New Tool Library

    XrmToolBox : New Tool Library

    I'm happy to release a new version of XrmToolBox! This version includes a brand new Tool Library which should be more…

    4 条评论
  • Happy Birthday XrmToolBox!

    Happy Birthday XrmToolBox!

    This month, we are celebrating the 10th birthday of the XrmToolBox! It’s a huge milestone for this application which…

    39 条评论
  • Welcome to Metadata Browser companion

    Welcome to Metadata Browser companion

    Today, I'm releasing my first companion for XrmToolBox. What? You don't know what a XrmToolBox companion is? It's a…

    11 条评论
  • New XrmToolBox tool : Attributes Factory

    New XrmToolBox tool : Attributes Factory

    I know..

    12 条评论
  • My Github sponsorship profile is live!

    My Github sponsorship profile is live!

    Today, my Github sponsorship profile is live! What does that mean? It means you can sponsor my work on the open source…

    1 条评论
  • Javista recrute!!!

    Javista recrute!!!

    Javista recrute un (ou plusieurs) consultants fonctionnels seniors sur Microsoft Dynamics CRM/365. Si vous souhaitez…

社区洞察