Compare Lesson 1 – Compare with Baseline

In this first lesson, we will compare a current module to one of its baselines. Afterwards we will analyze the resulting view column and see the structural differences, attribute differences (including OLE), link differences, new/deleted/purged objects differences, and table differences.

To begin, navigate to the project for this lesson.

Then open the Module for this lesson.
We will use this module in the Compare Lessons.
Start the Compare Modules script by choosing the Configuration Mgt > Compare Modules menu option.
Quick description of the Compare GUI parts:
  1. Method Radio Buttons
    Method to match objects between modules (and possibly baselines).
    1. Compare by Link – Objects in the two modules are linked, e.g. objects were copied using the Tools > Functions > Copy Objects... menu option in an open module.
    2. Compare by Attribute – Objects in the two modules have a common attribute with unique values per object, e.g. the Absolute Number system attribute.
    3. Compare with Baseline – Compare objects between two baselines, or current and a baseline, of the same module.
    4. Compare with Branch – Compare objects in two modules that have a common branch point.
  2. Target Field
    Text field filled in by using the Select Target Button, represents the path to the target module for comparison.
  3. Select Target Button
    Button to select the target module and baseline.
  4. Target is Radio Buttons
    Describes the temporal relationship of the target to the source. Since a directed comparison is performed, it affects how the results are calculated.
    1. older (before change) – the target module/baseline is older than the source module/baseline, i.e. changes made in source are after the target
    2. newer (after change) – the target module/baseline is newer than the source module/baseline, i.e. changes made in target are after the source
  5. Match By Common Attribute Options
    If the Compare by Attribute radio button is chosen, the user must choose an attribute in the source and target modules used to match objects.
    1. Source Attribute – Attribute in the source module used to match objects.
    2. Target Attribute – Attribute in the target module used to match objects.
  6. Comparison Settings
    Checkboxes to specify what is to be compared between the modules/baselines.
    1. Select Attributes To Compare List – A list of checkboxes representing the attributes of the source module/baseline. The checked attributes in this list of the source will be compared against the target.
    2. Selection Checkboxes – The (Un-) Select All checkbox is used to select or unselect all the attributes in the Select Attributes To Compare list. The Select Common checkbox will select the "common attributes", i.e. Object Heading, Object Short Text, and Object Text.
    3. Differences Checkboxes – A group of checkboxes to select what aspects of the objects to compare.
      1. Show Structural Differences – Compare the differences in the object hierarchy (parent, child, sibling relationships).
      2. Show Attribute Differences – Compare differences of attributes.
      3. Show Link Differences – Compare differences of objects’ out-links. Not in-links!
      4. Show New / Deleted Objects – Compare the creation and deletion status of objects.
      5. Show Deletions / Purged Objects in Predecessor – Compare the deletion and purge status of objects.
      6. Show Table Differences in Predecessor – Compare the attributes of table cells.
  7. Add Comparison Column Button
    When this button is pressed, a column is added to the current view of the source module, displaying the comparison results to the target module.
  8. Show Module Attribute Differences Button
    When this button is pressed, the comparison results of the module attributes is shown in a text box.
  9. Close Button
    When this button is pressed, the compare dialog box is closed. If no comparison column had been created yet, a warning dialog will appear.
Since this lesson compares the current version of the module to a baseline, click on the Compare with Baseline radio button.

Then press the Select Target button.
Select the latest baseline and press the OK button.
When the target baseline is chosen, the Comparison Settings are activated. The Match By Common Attribute Options remain inactive since compare by baseline automatically uses the Absolute Number attribute to match objects.

The attributes to compare, by default, are only the "common attributes". Press the Select Common checkbox.
We see that nothing happens to the list of attributes to compare. The Select Common checkbox only works for selecting "common attributes", it does work in reverse.

Now press the (Un-) Select All checkbox to select all the attributes.
We see all the attributes’ checkboxes are checked now.

Press the (Un-) Select All checkbox again to unselect all the attributes.
Now all the attributes are unchecked.

Press the Select Common checkbox again to select the "common attributes".
Now the "common attributes" are selected again.

Scroll down to the end of list of attributes and also check the Test Status attribute.
With the baseline and attributes chosen, press the Add Comparison Column button.
It will appear like nothing has happened. Since the Compare Modules dialog box blocks, press the Close button so we can view the comparison column in the source module.
We see that a new column has been added to the current view containing the comparison results. So that we can better see the results, remove the module explorer and resize the columns and window as needed.
Before we begin the analysis, it is important to understand the direction of the comparison. The results in the comparison column assume the objects in the source view are newer than those being compared against. The results show how you would change the old baselined object into the current one you see on the right-hand side.

Let’s look at the first comparison result, ORG_13, in the first section, called Attribute Differences. The comparison result tells us the Object Heading changed. The red struck through text has been deleted from the old baselined object and the blue underlined text was added. Thus, the old heading was "This heading will change." The words "will change" have been removed from the new heading, and the word "changed" was added.

A similar change has been made to the next object, ORG_11, this time to the Object Text. The word "text" was removed, and the word "indeed" was added to create the Object Text in the current module.

The next object, ORG_12, has formatting changes. The algorithm that calculates the text changes above can only detect that a formatting change has occurred. It cannot show how it changed. So the rich text from the old object is shown.

The last object in this section, ORG_54, shows a change to the Test Status attribute.
In the next section, entitled Link Differences, we have three objects whose links have been changed. The first change was to ORG_17. The comparison column tells us that a link was deleted. The second change, to ORG_18, shows a new link was created.

The last change, to ORG_19, was a link being moved from MOD_5 to MOD_6. However, since link comparison results are calculated in terms of creation and deletion, the result shows one deletion and one creation.
The next section is called New Delete Purge Differences. The first change is to ORG_21, which has been deleted. You will notice though that the comparison result is in ORG_20. That’s because it is possible that the current view might not show deleted objects, so the result is shown in the preceding non-deleted object. The same is true for purged objects. Objects ORG_23 and ORG_25 were purged since the baseline we are comparing against was made. Their comparison results are shown in the preceding non-deleted object.

The last comparison result to understand in this section is in ORG_22, which states that the object was undeleted.
The next section is called Table Differences. It is important to note that differences detected in table cells are shown in the preceding non-deleted object, since table rows are not given columns in a view.
The last section is called Picture OLE Differences. The first object under the header, ORG_49, has had its OLE changed. The next object, ORG_50, which has an icon instead of a picture, has also been changed. The last object, ORG_52, has had its picture changed, but Branch Manager does not support detection of picture changes.