Show TOC

Function documentationChange Tracking and Conflict Resolution

 

Change Tracking refers to changes in the Solution Documentation content done in a child branch context. The changes always refer to the corresponding parent branch version of the Solution Documentation.

Kinds of Changes

There are several kinds of changes which may be applied to the solution documentation content.

A change to a solution documentation element may be either:

  • Creating a new element

  • Modifying an existing element

  • Deletion of an existing element

A modification of an existing element may be either:

  • An attribute change:

    • Setting, modifying or deleting the value of a single-valued attribute

    • Adding a value, deleting a value or modifying a value of a multi-valued attribute

  • A structure change:

    • An element is moved from one location in the structure to another.

    • The target of an reference element may be changed.

    • The sequence of the elements within a location may be changed.

  • A change of an external object which supports branch versioning:

    • A KW document

    • A process or interface diagram

    • A job documentation

An element is regarded as changed if at least one of the modifications above have been applied to the element.

Changes without differences in child branch

Even if changes have been applied in a child branch there need not be differences for all modified aspects in the child branch compared to the corresponding parent branch versions. This may occur if by (several) changes in the child branch or by later changes in the parent branch the changed content does no longer differ between the child and the parent branch.

The changed elements are nevertheless regarded as changed concerning the change status. In such a situation the change tracking indicates a change but does not show any differences in the content.

Differences in child branch without changes

There may be cases where a specific attribute has a different value in the child branch compared with the parent branch version but the attribute has not been directly changed. Such situations may occur for derived attributes which are not directly maintained by the user but are calculated automatically depending on related content.

Identify and Display Changes

The changed elements may be filtered in the list view:

  • Switch to list view by selecting List in the header.

  • Select Start of the navigation path Filter by Next navigation step Change Status End of the navigation path in the filter panel.

Then the change status values are available for filtering. Possible status values are:

  • Changed: the element has been changed in the branch.

  • Conflict: There are conflicting changes for this element in the parent branch.

  • Unchanged: The element has not been changed in the branch.

  • Created: The element has been created in the branch and does not yet exist in the parent branch.

  • Deleted: The element has been deleted in the branch and does still exist in the parent branch.

  • Maintenance Conflict: The element has been changed in the branch as well as in the sibling maintenance branch of the parent branch.

The change status indicates the status of the element as a whole. The changes may be displayed in more detail in the attributes panel if the change tracking mode is switched on:

  • Select icon Settings in the header.

  • Select checkbox Change Tracking Mode in the popup.

  • Select checkbox Display Deleted Elements in the popup.

Revise Changes

If the change tracking mode is switched on the changes may be inspected in detail in the attributes panel. In addition it is also possible to revise the attribute changes individually for each changed attribute. The attribute panel provides in edit mode for each changed attribute (without conflicts) a drop down list with two options:

  • Keep Change

    • The default option Keep Change keeps the changed attribute version in the child branch. The option Discard Change removes the attribute change from the child branch and makes the parent version of the attribute visible in the child branch.

  • Discard Change

    • The option Discard Change is not available for structure changes displayed in the attribute group Relations.

The Revise Changes function has the following rules:

  • The option Discard Change removes the attribute change in the child branch.

  • For an element that has only attribute changes in the child branch all changes may be discarded on attribute level in the attributes panel. The element gets the change status Element is unchanged after discarding all attribute changes and saving the element.

  • For an element that has attribute changes as well as structure changes in the child branch only the attribute changes may be discarded in the attributes panel. The element keeps the change status Element has changes after discarding all attribute changes and saving the element.

Resolve Conflicts

There are two kinds of conflicts which may arise when changing the Solution Documentation content in different branches and which prevent that a conflicting change may be released to the parent branch. A release of such a change is only possible if the conflicts have been resolved before.

Change conflicts

A change conflict arises if after a change of a specific element in a child branch context the same element is also changed in the corresponding parent context. In this case the change done in the child branch cannot be brought back automatically to its parent branch. The change conflict has to be resolved before.

Only attribute changes and changes of external objects which supports branch versioning (e.g. KW documents and process diagrams) may be conflicting changes.

Maintenance conflicts

The changes done in the maintenance branch are typically corrections which have priority over other changes done in other branches. Therefore there are special change rules concerning the maintenance branch. An open correction blocks the release of other changes for an element, i.e. if a specific element has been modified in the maintenance branch and the modification has not yet been released (“open correction”) a change to the same element done in a parallel sibling branch cannot be released. A maintenance conflict cannot be resolved before the open correction has been released. As soon as the open correction has been released in the maintenance branch the maintenance conflicts become regular conflicts which can be resolved and then the change can be released.

The conflicts are displayed in more detail in the attributes panel if the change tracking mode is switched on. It is also possible to resolve change conflicts individually for each conflicting attribute. The attribute panel provides in edit mode for each change attribute with conflicts a drop down list with three options:

  • Keep Unresolved Conflict

  • Discard Change

  • Mark Conflict as Resolved

The default option Keep Unresolved Conflict keeps the changed attribute version with the conflicts in the child branch. The option Discard Change removes the attribute change and also the conflict from the child branch and makes the parent version of the attribute visible in the child branch. The option Mark Conflict as Resolved keeps the changed attribute version and conflict from the child branch and thus turns the conflicting attribute change to a normal attribute change in the child branch.

The Resolve Conflicts function has the following rules:

  • The option Discard Change removes the attribute change and the conflict in the child branch.

  • The option Mark Conflict as Resolved removes the conflict and turns the conflicting change to a normal change in the child branch.

  • For an element that has only attribute changes in the child branch all changes may be discarded on attribute level in the attributes panel. The element gets the change status Element is unchanged after discarding all attribute changes and saving the element.

  • For an element that has conflicting attribute changes in the child branch all conflicts may be marked as resolved on attribute level in the attributes panel. The element keeps the change status Element has changes and the icon Element has conflicting changes is removed after marking all conflicts as resolved and saving the element.