- Add an attribute to an object used by Traceable Requirements Management in one of the following ways:
-
Use the Attributes Management category in the Collaborative Space Content
Configuration widget to define custom attributes for the following types of objects
used by Traceable Requirements Management: requirement group, chapter, requirement, comment, use case, test case, and test
execution. The attributes follow this naming convention: XP_<type
name>_Ext.<Name> . The attributes can be accessed via
attribute[XP_<type name>_Ext.<Name>] . For more information, see Adding Custom Attributes to Types. - Use the
Data Model Customization app to add an attribute to a custom subtype:
-
In the navigation pane, select Specialize Data Model.
- In the toolbar, click New to create a specialization package that contains the requirement object types that you want customize.
- Click the name of the new specialization package that you created.
-
Create a specialized (custom) subtype of an existing requirement object type.
- Add one or more attributes to the customized subtype.
-
In the navigation pane, select Specialize Data Model.
- Select the check box for the package that contains the new custom subtype.
- From the Tools menu, select
Update Index for packages(s).
- Restart full indexing on the server or restart the server.
For more information, see Data Model Customization: Creating a Specialized Type. -
Type the following information before the final
] at the end of the ENOREQ.2D.json file to add the information for each attribute of the custom subtype that you created:
{
"export": {
"value": true,
"lock": false
},
"moveable": true,
"width": 150,
"dataIndex": "<Name or Predicate>",
"cv_name": "<Name or Predicate>",
"isDraggable": false,
"isHidden": true
} where <Name or Predicate> is either the name of the attribute (the header will not have the attribute nls) or the predicate attached to the attribute, if one was attached when creating the attribute (the header will have the attribute nls). For example, for an attribute named "toto": "dataIndex": "toto",
"cv_name": "toto", For example, for a predicate of "policy": "dataIndex": "ds6w:policy",
"cv_name": "ds6w:policy" -
Modify "RequirementAppSetting.json"
Go to location:
/home/data/RTV/<server-name>/apache-tomcat/webapps/3DSpace/webapps/RequirementStructureBrowser/assets/RequirementAppSetting.json
Modify mql_column:
For Attribute created from Attributes management:
"attribute[XP_Requirement_Ext.Attribute_Management1]":" Attribute_Management1",
"attribute[XP_Requirement_Ext.Attribute_Management2]":" Attribute_Management2"
For Attribute created from DMC:
"attribute[TRMRequirement_Status]":" Requirement_Status"
- Type the following information in the ENOREQSetting.json file to add the information for each attribute of the custom subtype that you created:
...
object_selects": ["type", "name", "revision", "physicalid", "attribute[Title]", "attribute[Content Text]",
"attribute[Priority]","owner","revision","project","policy","reserved","originated","modified",
"organization","description","current","attribute[<MyCustomAttribute>]"],
...
"select_bo":["name","ds6w:project","ds6wg:revision","physicalid","ds6w:responsible","ds6w:policy",
"ds6w:organizationResponsible", "ds6w:label","ds6w:reserved","ds6w:description", "ds6w:modified",
"ds6w:created","ds6w:type","ds6w:status","ds6w:<Column>"],
...
"mql_columns":{
"attribute[Priority]":"ds6w:fulfillsPriority",
"attribute[User Requirement Importance]":"ds6w:importance",
"attribute[Requirement Classification]":"ds6w:classification",
"attribute[Sponsoring Customer]":"ds6w:customer",
"attribute[Difficulty]":"ds6w:difficulty",
"attribute[Estimated Cost]":"ds6w:estimatedCost",
"attribute[Content Text]":"ds6wg:Content_Text",
"type":"ds6w:type",
"owner":"ds6w:responsible",
"revision":"ds6wg:revision",
"description":"ds6w:description",
"project":"ds6w:project",
"policy":"ds6w:policy",
"reserved":"ds6w:reserved",
"originated":"ds6w:created",
"modified":"ds6w:modified",
"organization":"ds6w:organizationResponsible",
"current":"ds6w:status",
"attribute[<MyCustomAttribute>]":"<Name or Predicate>"
}
where:<MyCustomAttribute> is the name of the attribute that you added to the custom subtype.-
<Name> <Name or Predicate> is either the name of the attribute (the header will not have the attribute nls) or the predicate attached to the attribute, if one was attached when creating the attribute (the header will have the attribute nls). For example, for an attribute named "toto": "attribute[<MyCustomAttribute>]":"toto" For example, for a predicate of "policy": "attribute[<MyCustomAttribute>]":"ds6w:policy"
|