Merge / Compare Addon

ReqEdit Online Documentation

Merge / Compare Addon

6 min read
last updated: 10/19/2021

Tool for comparing and merging ReqIF/ReqIFz files. Can be used to compare two versions of the same file or merge attributes from one specification to another.

The tool works in two modes:

  • Direct Compare mode
    Users can automatically jump to the source of the compared objects
  • Standalone mode

Compare ReqIF files

The easiest way to compare two documents is to use the Direct Compare mode, follow the steps described below.

Open the two ReqIF files for comparison, select one of the documents,Click Add-ons > Direct Compare

ReqEdit Add-ons, highlighted is the Direct Compare tool

A question window will let the user choose the pair of the document for second file as NEW or OLD, Press YES or No to configure the comparison members

ReqEdit Compare Add-on question popup

Compare overview window will show the compare statistics, then press Compare selected

ReqEdit Compare Add-on overview window

A new window will let the user select additional attributes for quick comparison, and then press OK

NOTE: main attributes are completely compared all the time, as the footer note displays

NOTE: the additional attributes are displayed in a single column as a text message

ReqEdit Compare Add-on displaying additional attributes list to include in the comparison result

Display logic for additional attributes:

  • Html attributes will be compared as HTML but displayed as a text and limited to first 50 characters
  • Strings will be limited to 50 first characters
  • Dates will be converted to German date format
  • Boolean values will be displayed as text
  • Enumerations will be displayed as a string

Render Short Description

Will compare and display the ReqIF.Name attribute (in case of DNG export this will be a copy of ReqIF.Text, and should be excluded from comparison for nicer overview)

Display External ID

will show ReqIF.ForeignID attribute as a separate column

The Comparison Window

Displays the result of the comparison in a two sided window.

Right clicking any object the ReqIF.ID and External.ID (ReqIF.ForeignID) can be copied into the clipboard

ReqEdit Comparison Add-on displaying the Comparison Window, with External ID and additional attributes

Column description

ObjectNumberHierarchical numbering by Headers similar to chapter structure,
optional # character shows text objects under the given chapter,
the background color suggests the type of change
External IDShows the contents of the ReqIF.ForeignID attribute
Main ColumnDisplays the content of the objects with changes, green is the new content (right side), red on is the removed or changed content (left side)
Other attributesDisplays the concatenated additional attribute changes with green and changed with red (on the left)
StatusDisplays the status description: new, changed, moved from source, moved and changed, deleted (only left), referenced

Highlight colors

Structural changes

GREENNEW
BLUEMOVED
ORANGECHANGED, CHANGED & MOVED
REDDELETED
Referenced, is the source of the moved / changed objects

Content changes

GREENNew content
REDRemoved content

Display unchanged rows

By default all content is displayed, to show only the changes uncheck the [Display unchanged rows] checkbox at the top

Jump to source

Jump to source by right-clicking an object in the comparison window, will select the object in the source document

HTML Report

Users can save the result of the comparison as a HTML report. Pressing the Open results in browser at the bottom will save the file and open the default browser.

ReqEdit Compare tool generated HTML report

The HTML report is a scripted web-page with couple functions:

Highlighting objects/rows

Users clicking any row in the report will be highlighted and if possible, the pair will be shown and also highlighted

Clicking the ObjectNumber or the row to jump to corresponding object pair. Highlighting is similar to the comparison window.

Filter change type

The number of the different types of change are shown at the bottom of the page and can be toggled to be visible or hidden

Show only changes

Show only the rows that are changed, moved, new or deleted, including the reference to changes.

Mark as read

Users can track the progress of the validation of the changes by marking each row as read with the checkbox.

NOTE: this feature uses browser internal WebStorage mechanism, all markers are saved to localStorage. All modern browsers have this feature but can be limited by security policies.

Show only unread

The button will toggle the display of only the rows which are not yet marked as read

Settings

Customize an additional logo and optional HTML content to include in the HTML report, open the Administration > Settings menu.

Compare Add-on settings window

NOTE: The logo image can only replaced with another one, there must always be a logo

HTML report can be saved as PDF by printing the result to a PDF document within the browser. To get a better viewing experience set the pdf size to A3 landscape or adjust the print scaling and enable background colors.

Notices

In IE11 or other older browsers if mark as read cannot be used it will be hidden. An ActiveX script execution popup will ask to run the scripts inside the html report. Choose Allow Blocked Content to enable the features.

Mark as read is saved inside the browser, moving the html report will not affect the read markings.

Tested on:

  • Edge Version 91.0.864.41 (Official build) (64-bit)
  • Chrome Version 91.0.4472.77 (Official Build) (64-bit)

Mark as read cannot be exported or transferred, its indented to be used only on one PC.

Standalone mode

Comparison between two unopened files in ReqEdit

Note: Opened files will be locked, other applications (ex: ReqEdit) will not be able to open the files until closed

ReqEdit compare add-on in standalone mode

Open the old ReqIF file on the left and the new on the right side and then press Compare in the top menu.

Follow the wizard to configure comparison options, then press Compare selected documents to display the result.

NOTE: Closing the file will release the exclusive lock and can be used by other applications

Compare limitations

  • Compare works only on ReqIF files that can be opened in ReqEdit
  • HTML element property changes will be ignored (class, id, style) except attachments (object data tags)
  • String and HTML attributes outside of the main column will be shortened the display to 50 characters
  • Sometimes if the content comparison is too complex will highlight more new changes than necessary, but will never miss any change
  • Opened files are exclusively locked until closed (no other app can open the files)

Merge ReqIF files

Merge attributes one at a time from a ReqIF file to another ReqIF file. Can only be used in standalone mode, meaning the files cannot be opened in other applications.

Open files on each side then select the attributes that needs to be merged and press Merge menu item in the top menu. The merge options will be displayed.

ReqEdit merge add-on displayin the options window and the merge details

Merge direction: left to right or right to left

Force update: also copy the empty values from source

After the merge the attributes will be highlighted with green, repeat the merge process for other attributes as well

Save the merge results

Clicking the SAVE icon next to the file location will write the merged content into that file, depending on the direction of the merge.

Data management

All files generated by the tool can be managed from the Administration menu.

Open Logs – will show the daily logs folder

Open html reports – will show the folder of the comparison results

Cleanup html reports – will delete all the comparison results

Cleanup temp files – will delete all generated files

Merge Limitations

  • Only spec objects with the same ID can be merged
  • Only the same type of attributes can be merged
  • Opened files are exclusively locked until closed (no other app can open the files)

Logging

The application will produce a debug log containing all the performed actions Log is saved in daily files.

Contents of log files

  • Opening files
  • Errors
    • Attribute type mismatches
    • No matches found
    • No attributes selected
  • Compare statistics
  • Merge execution with details
    • Updated values
    • Skip merging causes
      • identical values
      • empty values