A contributing element adds to the base element. Contributes provides a
way for elements to contribute their properties into their base element without
directly changing any of its existing properties, such as in an additive fashion.
When the contribution is resolved during publication or by using the browsing
perspective, the base element is logically replaced with an element that combines
the attributes and associations of the contributing element with the base
element.
Relevant information in the contributing element is added to the base element.
Text fields in the contributing element are appended at the end of the respective
text fields in the base element. For example, text in a brief description
is appended to the brief description in the base.
A contributing element only adds attributes and associations to the base
element. It never overrides or replaces existing attributes or other association
in the base. If the base element is defined with an existing association to
exactly one other element, the existing association will not be replaced by
a contributor's association.
Contribution Rules
- Outgoing associations from the contributing element are added to the base
element.
- Incoming associations from the contributing element are added to the base
element.
- Attributes from the contributing element are appended to the base element
except for identifying or naming attributes and non-textual attributes such
as boolean or date.
- A base element can receive contributions from multiple elements.
- Contributions are transitive. This means a contributing element that has
its own contributing elements will add them to the base.
Exceptions
All contributing associations are "many
to many" except for the following:
- Task elements can only have one association to the Primary Performer Role.
When contributing to a Task, if the Task at the base has a Primary Performer,
the relationship to Role from the contributor is ignored. There is no exception
when contributing to Role elements.
- Work Products can only be assigned to a single Domain. When contributing
to a Work Product, if the Work Product at the base is assigned to a Domain,
the relationship to Domain from the contributor is ignored. There is no exception
when contributing to Domain elements.
- Tool Mentors can only be assigned to a single Tool. When contributing
to a Tool Mentor, if the Tool Mentor at the base is assigned to a Tool, the
relationship to Tool from the contributor is ignored. There is no exception
when contributing to Tool elements.
A complete list of all possible associations is provided on the Associations Impacted by Variability page.
How to Add a Contribution Association
- Use the Content Variability section on the Description tab
to make an element contribute to another element.
- Select Contributes as the Variability type and then select the
base element to which this element will contribute. Note that the base element
must be the same type of element as the contributing element.