Ejemplos de cambios en las propiedades de configuración
Al crear un componente personalizado mediante la extensión de una implementación de fábrica, es posible que desee personalizar la configuración del componente. Para ello, se debe sustituir el servicio GetConfigurations de la plantilla de cosa personalizada por una configuración propia, tal como se describe en el tema Creación de componentes personalizados. Cuando se personaliza la configuración, se soporta el cambio de los valores de las propiedades de configuración, pero no se soportan los cambios en la estructura de la configuración, como añadir o quitar campos. En cambio, al crear un componente personalizado mediante la extensión de un componente base estándar, también se soporta el cambio de la estructura general del objeto JSON de configuración.
En este tema se proporcionan ejemplos de cambios en los valores de propiedades de configuración que no cambian la estructura de configuración general.
Cambios en los valores de propiedades de configuración
Se utilizará el componente Atributos como ejemplo para mostrar los tipos de cambios que se pueden realizar en la configuración al crear un componente personalizado mediante la extensión de la implementación genérica de atributos. Para obtener más información sobre estas propiedades de configuración, consulte la tabla de propiedades de configuración en el tema Atributos. Supongamos que se empieza con la configuración de ejemplo con un esquema vertical desde el tema Atributos genéricos. A continuación, se añaden las propiedades baseConfigurationVersion y implementationConfigurationVersion. Estas propiedades se deben añadir siempre al sustituir el servicio GetConfigurations. Este es el aspecto de la configuración:
Configuración inicial para Atributos 
{
"baseConfigurationVersion":{
"value":"9.1.0"
},
"implementationConfigurationVersion":{
"value":"9.1.0",
"layout":{
"selectedKey":"vertical",
"additionalData":{
"isMultilineDefinition":{
"isMultiLine":{
"additionalData":{
"dimensionDefinition":{
"maxHeight":{
"version":"1.0.0",
"value":300
}
}
},
"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"
}
}
}
Ejemplos de cambios soportados
A continuación se indican algunos tipos de cambios diferentes que se pueden realizar en la configuración:
Cambiar valores de propiedades individuales: se pueden cambiar los valores de propiedades de configuración individuales, como maxHeight, maxWidth, isMultiLine, id y ordinal entre otros.
Añadir o quitar atributos: se puede cambiar el número de atributos que aparecen en la interfaz de usuario cambiando el número de atributos en items.
Cambiar el esquema de los componentes: se puede cambiar el esquema cambiando el valor de layout de vertical a horizontal y, a continuación, cambiando las subpropiedades en layout, tal como se describe en el tema sobre el componente Atributos.
Para ilustrar estos cambios, esta es una versión modificada de la configuración de Atributos que muestra algunos de los cambios soportados:
Configuración modificada para Atributos 
{
"baseConfigurationVersion":{
"value":"9.1.0"
},
"implementationConfigurationVersion":{
"value":"9.1.0",
"layout":{
"selectedKey":"horizontal",
"additionalData":{
"dimensionDefinition":{
"maxHeight":{
"version":"1.0.0",
"value":150
},
"maxWidth":{
"version":"1.0.0",
"value":400
}
}
},
"version":"1.0.0"
},
"attributes":{
"sets":[
{
"data":{
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"Name",
"ordinal":0
},
{
"id":"Number",
"ordinal":1
},
{
"id":"Description",
"ordinal":2
},
{
"id":"LastModified",
"ordinal":3
}
],
"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"
}
}
}
¿Fue esto útil?