How to compare two revisions of a Boomi component

Everything that you develop in Boomi (processes, maps, connectors, profiles, etc.) is a component and a component in Boomi is always represented (behind the pretty GUI) as a XML document.

This means, that if you have made any change in a Boomi component, and wants to verify which change that you made, you can determine this by comparing two revisions of the ComponentXML for the changed component. This will be a text-comparison and not a GUI-one, but with a little practice, it is easy enough to interpret.

You can use whatever tool you want to compare the two revision. One suggestion is to use Notepad++ together with the Compare plug-in. They work reasonably well.

First you need to extract the ComponentXML for the two revisions that you want to compare. This can be done both via the Website or by using the Boomi API.

The easiest (but least flexible) solution is to use the Website. In the bottom right corner, click on the “Revisions” link (marked with blue). This will show you a screen like this:

Boomi Revisions
Boomi Component Revisions

This will show you all the different revisions of your component that you have saved. Everytime you click the save-button, a revision will be saved.

Select two (often it will be the two top ones – which are also the newest two revisions), click on the ComponentXML icon (marked with yellow). For each of these, you will see a result like this:

Boomi Component XML

The next step is to copy the two revisions to separate documents in your Notepad++. You cannot use Ctrl-A to mark the entire ComponentXML, since the xml is not shown in a real separate window, but only in a useless GUI-simulation of one. A suggestion is to mark the first part, scroll to the bottom and then, while holding down Shift button, click on the very end of the document.

If you use another tool than Notepad++, you might need to save the two revisions in separate files, and then to open them in the compare tool of your choice.

One annoying thing when comparing processes, is that their ComponentXML contain a LOT of x=”47.1″ y=”52.2″. These are simply the x/y coordinates of lines etc. connecting different actions. For almost every case, they are irrelevant for the comparison, and they will often result in a lot of “noise” in the comparison, since it takes almost nothing to make them change between two saves of the process.

Before you make the comparison, consider to replace ALL x/y values with static values. If your editor supports using regular expressions in search/replace, you can:

  • search for: x=”[0-9\.]*”
  • replace with: x=”-1″

Do the same replace for the y-coordinate.

After this step, a comparison will show almost only the real differences between two processes.

 

Leave a Reply

Your email address will not be published. Required fields are marked *