Controllo delle versioni e migrazione
Ogni componente di base e implementazione inclusi per impostazione predefinita presentano una versione di configurazione. Le versioni vengono utilizzate per tenere traccia dell'oggetto JSON di configurazione e sono necessarie per garantire che in futuro i componenti personalizzati possano essere migrati in nuove release di ThingWorx Navigate.
Dettagli sul controllo delle versioni
L'oggetto di configurazione JSON contiene due chiavi che tengono traccia della versione: baseConfigurationVersion e implementationConfigurationVersion. Le chiavi sono nascoste nella finestra di dialogo di configurazione in Mashup Builder, ma fanno parte della configurazione restituita dal servizio GetConfigurations.
|
|
Per identificare le versioni di configurazione di un componente, eseguire i seguenti servizi sull'oggetto componente:
• GetBaseConfigurationVersion, per la versione del componente di base
• GetImplementationConfigurationVersion, per la versione dell'implementazione
|
Chiamata al servizio Migrate
Quando si crea un'implementazione personalizzata per un componente, si crea un modello di oggetto che estende un componente di base o un'implementazione esistente. Qualsiasi servizio nell'implementazione personalizzata che chiama il servizio GetConfigurations deve prima chiamare il servizio Migrate.
Il servizio Migrate presenta quattro parametri:
• migrationType - (stringa) Tipo di migrazione, che attualmente supporta solo “Configuration”
• data - (JSON) Nome dell'oggetto JSON di configurazione
• targeBaseVersion - (stringa) Versione del componente di base
• targetImplementationVersion - (stringa) Versione dell'implementazione
Di seguito è riportato un esempio di codice che chiama il servizio Migrate:
var migratedConfig = me.Migrate(
{
"migrationType":"Configuration",
"data":"configuration",
"targetBaseVersion":"9.0.0",
"targetImplementationVersion":"1.0.0"
}
);
Il servizio Migrate confronta il valore di targetBaseVersion con il valore di baseConfiguration dell'oggetto JSON di configurazione e il valore di targetImplementationVersioncon il valore di implementationConfigurationVersion dell'oggetto JSON di configurazione. Se i valori di versione non corrispondono, il servizio Migrate chiama il servizio MigrateBase o il servizio MigrateImplementation, che esegue la migrazione dell'oggetto JSON di configurazione in modo che corrisponda alla versione della base o dell'implementazione di destinazione.
In generale, quando si crea un componente di implementazione della logica aziendale personalizzato, non è necessario chiamare il servizio MigrateImplementation. Tuttavia, se si crea una nuova versione di un'implementazione personalizzata esistente, che utilizza una versione di configurazione diversa, è necessario implementare MigrateImplementation e GetBaseMigrationVersion.
Quando si crea un componente di logica aziendale di base personalizzato, è necessario implementare il servizio MigrateBase.