IBM Support

Enumeration attribute does not display enumeration literals for selection

Troubleshooting


Problem

This technote provides troubleshooting to use when you create or edit a work item in IBM Rational Team Concert (RTC) and notice that some enumeration-type attributes are not showing any literal values for selection

Symptom

When you create a new work item or edit an existing one, you notice that one or more enumeration-type attributes are not displaying any literals in the dropdown list. This occurs although the enumeration type associated with the attributes contains some literals.

Steps to reproduce:

    1. Create a project from Scrum template

    2. Navigate to the project's Process Configuration tab > Project Configuration > Work Items > Enumerations

    3. Create a new enumeration named 'Custom Priority'. Set the ID to customPriority



    4. Add the following enumeration literals to the newly created enumeration:
      • Name: P1 External Value: P1
      • Name: P2 External Value: P2

    5. Select P1 as default literal

    6. Navigate to Types and Attributes

    7. Select Defect in the Work Item Types section

    8. In the Attributes section, add a new attribute. The Name, ID, and Type as below:



    9. Navigate to Editor Presentations

    10. Select to edit 'com.ibm.team.workitem.editor.default'. This is the editor presentation used by the Defect work item type

    11. Expand Overview folder. Select Details section and click Add Presentation....

    12. In the Add Presentation dialog box, select Custom Priority Attribute as attribute. Set Kind to Enumeration and click OK


    13. Save changes

    14. In the project area, create a new Defect work item. Confirm that the Custom Priority Attribute shows 2 literals; P1 and P2 in the dropdown list

    15. Back to the project's Process Configuration Source tab, search for "customPriority". You should find 3 occurrences of this string.

    16. Replace all "custompriority" with "custompriority_new". Save change

    17. In the project area, create another Defect work item. Confirm that the Custom Priority Attribute does not show any literal in the dropdown list.



      Note: At this point, it will not be possible to find out what is incorrect by looking at the project's process configuration since the enumeration ID is consistent across all the places that it occurs in the process configuration source.

Cause

The enumeration ID has changed. The work item XML output from the steps in the 'Diagnosing the Problem' section shows enumeration ID as 'customPriority', while the project's process configuration source shows 'customPriority_new'. This issue can be created only when updating the process XML directly. Changing enumeration ID is not allowed from the user interface. Enumeration ID and custom attribute ID can be defined at creation. They cannot and should not be changed.

Diagnosing The Problem

The following steps can be used to retrieve details of a work item:

  1. Log in to IBM Rational Change and Configuration Management (CCM)

  2. Identify work item ID of a work item that has the problem (one that does not display enumeration literals for selection)

  3. Replace <server:port> in the following URL with your CCM server/port. Replace <workitem_ID> with the work item ID from step #2

    https://<server:port>/ccm/rpt/repository/workitem?fields=workitem/workItem[id=<workitem_ID>]/*/*

  4. Paste the URL in a web browser. This should generate XML output

  5. Search for customPriorityAttribute. You will find an entry similar to the one below.


Refer to the scenario described in the 'Symptom' section above, the attributeType value of the custom attribute 'customPriorityAttribute' is still showing as 'customPriority', which is the original enumeration ID used at the time the custom attribute was created.

Resolving The Problem

When a custom enumeration attribute is created, it uses the enumeration ID at that time as its attributeType. If enumeration ID changes, a new custom attribute will have to be created to map to the new enumeration ID.

To avoid running into this issue, do not change attribute or enumeration IDs in the process template.

There are 2 options to solve the problem on existing projects:

  • Change the enumeration ID in the project's process configuration source back to the original value. You will have to ensure that the enumeration has not been used to create new custom attribute after the change of ID.

  • Recreate a custom attribute for the work item type using the steps below:
    1. Ensure that the enumeration ID in the process template is the one you want to use. The ID should have no space in it. Avoid special characters in the ID.

    2. Remove existing custom attributes that reference the old enumeration ID. From the sample XML output in the 'Diagnosing the Problem' section, the attribute that is referencing the old enumeration type ID: customPriority is 'customPriorityAttribute'. This is the attribute to be removed.

    3. Create new custom attributes to replace the ones removed in step#2. Note that the custom attribute IDs must be different than the ones listed in step#2.

    4. Edit the work item's presentation to include the newly created attributes.

    5. Synchronize Attributes to the existing work items in the project area. Refer to technote #1372230: How to make new custom attributes available in existing Work Items


    Leverage the Jazz Community

    The Jazz based products have an active community that can provide you with additional resources. Browse and contribute to the User forums, contribute to the Team Blog and review the Team wiki.
    Refer to http://ibm.com/support/docview.wss?uid=swg21319600">technote 1319600 for details and links.

[{"Product":{"code":"SSUC3U","label":"IBM Engineering Workflow Management"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Work Items","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"4.0.1;4.0.2;4.0.3;4.0.4;4.0.5;4.0.6;4.0.7","Edition":"","Line of Business":{"code":"LOB02","label":"AI Applications"}}]

Product Synonym

Rational Team Concert

Document Information

Modified date:
16 June 2018

UID

swg21682160