Attributes Generic
Attributes Generic is a generic predefined configuration of the Attributes component, which you can use as a starting point when configuring the Attributes component. Since the generic configuration doesn’t specify any attributes, you need to edit its configuration to add them.
Binding Properties 
For information on binding the Attributes Generic configuration, see the Attributes component.
* 
For Attributes Generic, the input binding property supports the following object types: PTC.Workflow.WorkItem, PTC.ChangeMgmt.ChangeRequest, PTC.ProdMgmt.Part, and PTC.CADDocumentMgmt.CADDocument.
Configuration Properties 
For information on configuring the Attributes Generic configuration, see the Attributes component.
Property Name
Description
Property Type
Default Value
Required or Optional
attributes
See Attributes for more information.
Accepts attributes of specific object types, depending on the object type of the item in the input data. Details are as follows:
For input with object types of either PTC.Workflow.WorkItem or PTC.ChangeMgmt.ChangeRequest, accepts attributes with either PTC.Workflow.WorkItem or PTC.ChangeMgmt.ChangeRequest object types.
For example, if the item in the input data has an object type of PTC.Workflow.WorkItem, this property can accept attributes with the object type PTC.Workflow.WorkItem or PTC.ChangeMgmt.ChangeRequest.
For input with object type of PTC.ProdMgmt.Part, accepts attributes with PTC.ProdMgmt.Part object type.
For input with object type of PTC.CADDocumentMgmt.CADDocument, accepts attributes with PTC.CADDocumentMgmt.CADDocument object type.
N/A
Required
Sample Configuration 
Sample configuration for a horizontal layout:
{
"layout":{
"selectedKey":"horizontal",
"additionalData":{
"dimensionDefinition":{
"maxHeight":{
"version":"1.0.0",
"value":200
},
"maxWidth":{
"version":"1.0.0",
"value":300
}
}
},
"version":"1.0.0"
},
"attributes":{
"sets":[
{
"data":{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"Role#Display",
"ordinal":0
},
{
"id":"Activity|Deadline",
"ordinal":1
},
{
"id":"Status#Display",
"ordinal":2
}
],
"objectType":"PTC.Workflow.WorkItem"
},
{
"items":[
{
"id":"Category#Display",
"ordinal":3
},
{
"id":"Description",
"ordinal":4
}
],
"objectType":"PTC.ChangeMgmt.ChangeRequest"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
},
"inTailoring":true,
"version":"1.0.0"
},
"name":""
}
],
"inTailoring":true,
"filteredValues":{
"data":[
{
"itemListsData":[
{
"objectType":""
}
],
"adapter":{
"instanceName":"",
"thingName":""
}
}
]
},
"version":"1.0.0"
}
}
Sample configuration for a vertical layout:
{
"layout":{
"selectedKey":"vertical",
"additionalData":{
"isMultilineDefinition":{
"isMultiLine":{
"additionalData":{
"dimensionDefinition":{
"maxHeight":{
"version":"1.0.0",
"value":200
}
}
},
"version":"1.0.0",
"value":true
}
}
},
"version":"1.0.0"
},
"attributes":{
"sets":[
{
"data":{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"Description",
"ordinal":0
},
{
"id":"ProposedSolution",
"ordinal":1
}
],
"objectType":"PTC.ChangeMgmt.ChangeRequest"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
},
"inTailoring":true,
"version":"1.0.0"
},
"name":""
}
],
"inTailoring":true,
"filteredValues":{
"data":[
{
"itemListsData":[
{
"objectType":""
}
],
"adapter":{
"instanceName":"",
"thingName":""
}
}
]
},
"version":"1.0.0"
}
}
Customization Services 
In addition to configuration, each component supports extending its business logic to customize the component. The business logic of each component includes overridable services in a Thing Template that you can extend and override. The overridable services for this component are detailed in the following table.
For examples of returns and parameters for each service, see Examples of Input/Output for Customization Services.
Name
Description
GetConfigurations
Returns the available configurations for the Attributes Generic implementation.
Parameters: None
Returns: JSON
GetImplementationLabel
Returns either the localized name of the component or the token that can be used to obtain the localized name. This localized name is displayed in the Mashup Builder user interface.
Parameters: None
Returns: String
GetAttributesValues
Returns a JSON with attributes and their values.
Parameters:
input (Required)– JSON in CCO format that includes the input ID for the data to be fetched from the backend system and the adapter information for the backend system.
configuration (Optional)– JSON with the final merged configuration obtained from the Tailoring Manager resource.
attributes (Required)– JSON with the list of out-of-the-box attributes.
Returns: JSON in CCO format
Implementation Definition 
{
"array": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"additionalDefinition": [],
"updateServiceName": "",
"minimumSelectedAttributes": null,
"supportedTypes": {
"data": [
{
"itemListsData": [
{
"selectionGroupIds": [
"CR"
],
"objectType": "PTC.ChangeMgmt.ChangeRequest"
},
{
"selectionGroupIds": [
"WI"
],
"objectType": "PTC.Workflow.WorkItem"
},
{
"selectionGroupIds": [
"Part"
],
"objectType": "PTC.ProdMgmt.Part"
},
{
"selectionGroupIds": [
"CAD"
],
"objectType": "PTC.CADDocumentMgmt.CADDocument"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
],
"allowSubsetForTailoring": true
},
"addServiceName": "",
"maximumSelectedAttributes": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSetsSelector"
},
"mandatory": true,
"key": "attributes"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": "vertical",
"options": [
{
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": true,
"true": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"minValue": null,
"default": null,
"maxValue": null,
"step": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Number"
},
"mandatory": false,
"key": "maxHeight"
}
],
"key": "dimensionDefinition"
}
],
"label": "[[PTC.Nav.Yes]]"
},
"false": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"minValue": null,
"default": null,
"maxValue": null,
"step": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Number"
},
"mandatory": false,
"key": "maxWidth"
}
],
"key": "dimensionDefinition"
}
],
"label": "[[PTC.Nav.No]]"
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "isMultiLine"
}
],
"key": "isMultilineDefinition"
}
],
"description": "attribute name-value pairs are shown in the user interface vertically stacked one below the other",
"label": "[[PTC.Nav.Attributes.Layout.Vertical]]",
"key": "vertical"
},
{
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"minValue": null,
"default": null,
"maxValue": null,
"step": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Number"
},
"mandatory": false,
"key": "maxHeight"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"minValue": null,
"default": null,
"maxValue": null,
"step": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Number"
},
"mandatory": false,
"key": "maxWidth"
}
],
"key": "dimensionDefinition"
}
],
"description": "attribute name-value pairs are shown in the user interface in column form, or horizontally stacked one next to the other",
"label": "[[PTC.Nav.Attributes.Layout.Horizontal]]",
"key": "horizontal"
}
],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.RadioButton"
},
"mandatory": true,
"key": "layout"
}
]
}
Was this helpful?