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.
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.
The changed elements may be filtered in the list view:
Switch to list view by selecting List
in the header.
Select
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.
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.
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.