Consuming custom field and associated enumeration using proces sharing
Is there a way to create a customized field (enumeration kind) for a work item that can be consumed downstream by project areas sharing a process configuration from a master process configuration area. This would include consuming the pre-defined values (list) in the enumeration as well. We are attempting to provide a field that can be used to query a workitem type across project areas. An example would be a "Program ID", where a "Program" represents an aggregate of multiple projects.
2 answers
see this post
https://jazz.net/forum/questions/102032/how-to-migrate-local-process-changes-to-parent-using-delta-config-help
we use the delta-config support added in 4.0.1 to customize a custom field to contain local project only additions.
(a 'Feature' field.) the enum, base value, and presentation are done in the process template, the local project values added in the xml.
https://jazz.net/forum/questions/102032/how-to-migrate-local-process-changes-to-parent-using-delta-config-help
we use the delta-config support added in 4.0.1 to customize a custom field to contain local project only additions.
(a 'Feature' field.) the enum, base value, and presentation are done in the process template, the local project values added in the xml.
we define the enum (and its unassigned value) , attribute to hold it, and the presentation in the base project.(which is from the custom template)
<customAttribute id="com.xx.workItem.attribute.functionalarea" name="Functional Area" type="com.xx.workItem.enumeration.functionalarea"/>
<attributeDefinition id="com.xx.workItem.attribute.functionalarea" name="Functional Area" type="com.xx.workItem.enumeration.functionalarea"/>
<enumeration attributeTypeId="com.xx.workItem.enumeration.functionalarea" name="Functional Area">
<literal default="true" externalValue="com.xx.workItem.enumeration.functionalarea.unassigned" icon="processattachment:/enumeration/unassigned.gif" id="com.xx.workItem.enumeration.functionalarea.literal.l1" name="unassigned" null="true"/>
</enumeration>
then in the child projects we define the values beyond the unassigned.using the delta-config support.
whenever a child project wants to add another value, we add to the end of this list. (you cannot remove, as it
will break reporting, queries, etc)
<enumeration attributeTypeId="com.xx.workItem.enumeration.functionalarea" name="Functional Area">
<literal default="true" null="true" id="com.xx.enumeration.functionalArea.literal.l1" name="unassigned" externalValue="com.xx.workItem.enumeration.functionalarea.unassigned" icon="processattachment:/enumeration/unassigned.gif" />
<literal icon="" name="P+C" externalValue="P+C" id="com.xx.enumeration.functionalArea.literal.l2"/>
<literal icon="" name="P+C_Bulk_IWT" externalValue="P+C_Bulk_IWT" id="com.xx.enumeration.functionalArea.literal.l3"/>
<literal icon="" name="P+C_Single_IWT" externalValue="P+C_Single_IWT" id="com.xx.enumeration.functionalArea.literal.l4"/>
etc.