During the SalesLogix upgrade from a previous version of the SalesLogix web client ot 7.5.2 one of the procedures is to create a manifest bundle of all of you customizations. SalesLogix has now provided a utility to help compare what from your custom manifest has changed in SalesLogix 7.5.2.
Lest say that I am on 7.5.1 and want to bundle up all of my changes. The first step would be to create a workspace VFS that contained the base 7.5.1 VFS. Make sure this base VFS also consists of any hot fixes matching your current version. From within Application Architect you can then go to your custom VFS and create a bundle based on project differences. Select to compare to the base 7.5.1 workspace you set up and the resulting bundle should be a comprehensive list of all the items that have changed from the base 7.5.1 system.
In the SalesLogix 7.5.2 service pack, when you extract it you will find a “Project Differences” folder. In this folder are bundle manifests showing what has changed from one level to the next. Since my example I am upgrading from 7.5.1 to 7.5.2 I would be interested in the file “Sage SalesLogix 7.5.1 to 7.5.2 Model Changes.zip”.
Now armed with these two manifests, the first thing to do is copy them to a short path on a computer that is on the 7.5.2 level. I would recommend something simple like C:SLX752. For ease of use I would copy these manifest into this directory. To make it even easier to work with I would also rename the manifest to something short like “Custom.zip” and “SLX.zip”. The reason for this is because we need to type this into a command prompt coming up and working with short names is nice. You can keep a copy of these files with their original names to be used for later purposes.
Now with the files here you can run the bundlediff.exe that is part of the SalesLogix 7.5.2 installation. This is a command line based utility that requires you to pass in the parameters you need. In typical Sage-like fashion there is not a lot of documentation but basically this utility lets you compare two bundle manifests and see what common elements are contained in them.
The first thing you need to do is open a command line prompt (Start…Run “cmd”). Then you will need to navigate the prompt to the SalesLogix installation directory or type out the full path to the utility. Once you are in the SalesLogix directory you can then execute the bundlediff.exe. This utility requires you specify two bundles and a compare option switch. By default the utility outputs to the console but you can add a switch to output it to a file.
Lets take a look at the command line:
bundlediff.exe /Bundle1:”C:SLX752Custom.zip” /Bundle2:”C:SLX752SLX.zip” /DiffOption:Common >”C:SLX752Log.txt”
You must specify each bundle by calling /Bundle1 or /Bundle2 followed by a colon and then the path to the manifest. The other switch is /DiffOption which also follows the format of the switch, a colon, and then the option to choose. Here are your choices:
- AllItems – lists every item in both bundles. This is a flat list of bundle contents without differencing. You can use this to see a complete list of what items Sage changed in the release.
- Common – lists the bundle items that exist in both bundles. These are the items that you will have to act on (ignore or merge) when you apply your customization bundle.
- Bundle1OnlyItems – lists items that exist in bundle 1 but not in bundle 2.
- Bundle2OnlyItems – lists items that exist in bundle 2 but not in bundle 1.
- CommonAndExclusive – lists all items using the Common, Bundle1OnlyItems, and Bundle2OnlyItems parameters.
The end result is a log that looks something like this:
Hopefully this helps explain the SalesLogix bundlediff utility a little bit. While this is a nice little feature to have the same type of comparison could be done using other file and directory comparison tools that are widely available for free, like DiffMerge or commercial products like Beyond Compare
Validating command line arguments.
The following are bundle items that exist in both bundles.
Entity ModelSalesLogix Application EntitiesAccountQuickFormsAccountContacts.main.quickform.xml
Entity ModelSalesLogix Application EntitiesAccountQuickFormsAccountTickets.main.quickform.xml