Asignación de versiones y migración
Cada uno de los componentes base e implementaciones que se incluye de fábrica tiene una versión de configuración. Las versiones se utilizan para realizar un seguimiento del objeto JSON de configuración y son necesarias para garantizar que, en el futuro, los componentes personalizados se puedan migrar a nuevas versiones de ThingWorx Navigate.
Detalles de asignación de versiones
El objeto JSON de configuración contiene dos claves que siguen la versión: baseConfigurationVersion y implementationConfigurationVersion. Se debe tener en cuenta que las claves están ocultas en el cuadro de diálogo de configuración del Mashup Builder, pero forman parte de la configuración devuelta por el servicio GetConfigurations.
Para identificar las versiones de configuración de un componente, ejecute los siguientes servicios en la cosa de componente:
GetBaseConfigurationVersion, para la versión del componente base
GetImplementationConfigurationVersion, para la versión de la implementación
* 
A partir de ThingWorx Navigate 9.3, el esquema de asignación de versiones de todas las configuraciones de componentes de fábrica es nav.<version number>. Por ejemplo, la versión de todas las entidades de fábrica en 9.3 es nav.1. No utilice este esquema de asignación de versiones cuando cree configuraciones de componentes personalizadas; solo es para uso interno de ThingWorx Navigate.
Llamada al servicio de migración
Al crear una implementación personalizada de un componente, se crea una plantilla de cosa que extiende un componente base o de implementación existente. Cualquier servicio en la implementación personalizada que llame al servicio GetConfigurations debe llamar primero al servicio Migrate.
El servicio Migrate tiene cuatro parámetros:
migrationType: cadena; el tipo de migración, actualmente solo soporta “Configuration”, "Tailoring", "Delta"
data: JSON; los datos que se van a migrar. Debe contener los campos baseConfigurationVersion y implementationConfigurationVersion
targetBaseVersion: cadena; la versión del componente base
targetImplementationVersion: cadena; versión de la implementación a la que se va a migrar
A continuación se muestra un código de ejemplo que llama al servicio Migrate:
var migratedConfig = me.Migrate(
{
"migrationType":"Configuration",
"data":{"baseConfigurationVersion":{"value":"nav.1"},"implementationConfigurationVersion":{"value":"nav.1"},"maxNumberOfRowsInGrid":{"inTailoring":true,"value":5}},
"targetBaseVersion":"nav.1",
"targetImplementationVersion":"nav.1"
}
);
El servicio Migrate compara el valor de targetBaseVersion con el valor de baseConfiguration desde el objeto JSON de configuración y el valor de targetImplementationVersion con el valor de implementationConfigurationVersion del objeto JSON de configuración. Si los valores de versión no coinciden, el servicio Migrate llama al servicio MigrateBase o al servicio MigrateImplementation, que migra el objeto JSON de configuración para que coincida con la versión de la base de destino o la implementación de destino.
En general, al crear un componente de implementación de lógica empresarial personalizada, no es necesario llamar al servicio MigrateImplementation. Sin embargo, si se crea una nueva versión de una implementación personalizada existente y se utiliza una versión de configuración diferente, será necesario implementar MigrateImplementation y GetBaseMigrationVersion.
Al crear un componente de lógica empresarial base personalizada, se debe implementar el servicio MigrateBase.
¿Fue esto útil?