What’s a dangling cross reference?

Dangling Cross Reference

These are cross references in the Cradle database where one or both items at the end of the reference are missing.

It goes without saying that if you have item A linked to item B and then delete item B, the link between A and B should disappear. In usual operations this is true and this is what Cradle will do.

However, it is possible to create a dangling cross reference when importing partial data from other projects or backups. Say for example you have exported all your Definition items (one of which is item A) and separately all your cross references.  (including the one to item type Constraints one of which is item B). Into a new project you import all the cross references and then the Definition items. You plan to create new constraints. If one is not created called B there will be a dangling cross reference in the new project.

Finding and Rectifying Cross Reference Problems.

Cross Reference Integrity Checker

Dangling cross references are just one of the  anomalies that can be detected using the cross reference integrity checker. This is run from the Project ribbon.

There are a number of tests which can be selected and these are shown below.

Once a problem has been identified, it can be fixed, deleted or exported for editing as appropriate. The availability of these will depend on both the problem and the current user’s privileges.

The cross reference integrity checker and report
Cross Reference Integrity

 

CheckDescription
Dangling cross referencesDetects cross references whose from or to item do not exist.
Duplicate cross references (A-B and B-A)Cross references are considered to be duplicates if a cross reference exists from item A to item B and another exists from item B to item A and they both share the same link type.
Reversed hierarchical cross referencesDetects cross references that are between items where the from item has an identity that suggests it to be the child of the to item.
Cross references to be reversedDetects cross references that are invalid according to the current link rules but which, if reversed, become valid.
Cross references needing a new link typeDetects cross references that are invalid according to the current link rules but which become valid if their link type is changed and where there is only one link type that is valid for the cross reference.
Invalid cross referencesDetects cross references that are invalid according to the current link rules.
Cross reference cardinalityDetects cross references whose cardinality does not match the current link rules.
AllWill perform all the above integrity checks.

Performance

Dangling xrefs can cause issues with performance when items have been deleted. If item A was linked to item B, then item B got deleted. There would be a dangling xref which isn’t linking any items, creating extra data. If another item B was then created. It would then be linked back with item A. Which could potentially cause problems?

For full information on the settings see the help on Cross Reference Integrity

Article Updated 04/02/2019 – Added performance section