Conflict Resolution for Inherited Attribute Groups
Certain edits are allowed on the contents of the layout definition pane for inherited attribute groups in inherited attribute layouts of subtypes, without breaking the layout inheritance:
• New attributes created on the subtype can be added to the inherited attribute group using drag-and-drop. If the inherited attribute group is designated as the default group for the attribute layout, new attributes created on the subtype are automatically added to this inherited attribute group.
• New columns can be added to the inherited attribute group, when the inherited display style for the attribute group is Organized in Grid.
• The positions of inherited attributes can be reordered or moved within the same inherited attribute group using drag-and-drop.
• Empty cells (called separators) can be left within the grid display.
Attribute Position Inheritance
Inherited attribute groups which have the Organized in Grid inherited display style initially inherit the row and column grid positions of all attributes from the parent attribute group on the parent type. This is referred to as attribute position inheritance. As long as the inherited attribute layout is not edited and saved, when an attribute in the parent attribute group is moved to a different position, that attribute in the inherited attribute group also moves to the new position.
Editing and saving an inherited attribute layout severs the attribute position inheritance from the parent attribute group. When an inherited attribute layout is edited in any way and then saved, the current position of all the attributes in that inherited attribute group is saved, severing the attribute position inheritance for all of the inherited attributes. (Inherited attribute layouts that have not been edited retain their attribute position inheritance.) Once attribute position inheritance is severed, if an attribute in the parent attribute group is moved to a different position, that attribute in the inherited group does not move to the new position.
Attribute Position Conflicts and Resolution
When attribute position inheritance is broken in inherited attribute groups, there is the potential for subsequent changes to the parent attribute group on the parent type to result in conflicts with the position of attributes or separators in the inherited attribute group on the subtype.
The type management system identifies and resolves these conflicts by processing the position of each attribute and separator in the parent attribute layout against the position of each attribute and separator in the inherited attribute layout. If the position of an attribute or separator in an inherited attribute layout conflicts with the position of an attribute or separator in the parent attribute layout, the position in the parent attribute layout is given priority. The attributes and separators in that grid column on the inherited layout are shifted down, row by row, until an empty row is found. The original ordering of the grid rows is maintained.
|
This position conflict resolution can result in attribute groups on subtypes not appearing as expected.
After making changes to an attribute group in an attribute layout for a parent type, always inspect the same attribute group on all inherited attribute layouts for all child subtypes to ensure that they appear as expected.
Make modifications as needed to the inherited attribute layouts to achieve the desired result.
|