Versionsverwaltung und Migration
Jede der vordefinierten Basiskomponenten und Implementierungen hat eine Konfigurationsversion. Versionen werden verwendet, um das JSON-Konfigurationsobjekt zu verfolgen, und werden benötigt, um sicherstellen, dass benutzerdefinierte Komponenten in Zukunft in neue ThingWorx Navigate Versionen migriert werden können.
Versionsdetails
Das JSON-Konfigurationsobjekt enthält zwei Schlüssel, welche die Version verfolgen: baseConfigurationVersion und implementationConfigurationVersion. Beachten Sie, dass die Schlüssel im Dialogfenster "Konfiguration" im Mashup Builder zwar ausgeblendet sind, aber dennoch Teil der vom Dienst GetConfigurations zurückgegebenen Konfiguration sind.
* 
Führen Sie die folgenden Dienste für das Komponenten-Ding aus, um die Konfigurationsversionen für eine Komponente zu identifizieren:
GetBaseConfigurationVersion für die Version der Basiskomponente
GetImplementationConfigurationVersion für die Version der Implementierung
Dienst "Migrate" aufrufen
Beim Erstellen einer benutzerdefinierten Implementierung für eine Komponente erstellen Sie eine Dingvorlage, die eine vorhandene Basis- oder Implementierungskomponente erweitert. Jeder Dienst in der benutzerdefinierten Implementierung, der den Dienst GetConfigurations aufruft, muss zuerst den Migrate Dienst aufrufen.
Der Dienst Migrate hat vier Parameter:
migrationType– string – der Typ der Migration. Derzeit wird nur “Configuration” unterstützt
data – JSON – der Name des JSON-Konfigurationsobjekts
targeBaseVersion– string – die Version der Basiskomponente
targetImplementationVersion– string – die Version der Implementierung
Nachfolgend finden Sie einen Beispielcode, der den Dienst Migrate aufruft:
var migratedConfig = me.Migrate(
{
"migrationType":"Configuration",
"data":"configuration",
"targetBaseVersion":"9.0.0",
"targetImplementationVersion":"1.0.0"
}
);
Der Dienst Migrate vergleicht den Wert targetBaseVersion mit dem Wert baseConfiguration aus dem JSON-Konfigurationsobjekt und den Wert targetImplementationVersion mit dem Wert implementationConfigurationVersion des JSON-Konfigurationsobjekts. Wenn die Versionswerte nicht übereinstimmen, ruft der Dienst Migrate entweder den Dienst MigrateBaseoder den Dienst MigrateImplementation auf, der das JSON-Konfigurationsobjekt migriert, sodass es mit der Version der Zielbasis oder Zielimplementierung übereinstimmt.
Im Allgemeinen müssen Sie beim Erstellen einer benutzerdefinierten Geschäftslogik-Implementierungskomponente den Dienst MigrateImplementation nicht aufrufen. Wenn Sie jedoch eine neue Version einer vorhandenen benutzerdefinierten Implementierung erstellen und diese eine andere Konfigurationsversion verwendet, so müssen Sie MigrateImplementation und GetBaseMigrationVersion implementieren.
Beim Erstellen einer benutzerdefinierten Basis-Geschäftslogikkomponente müssen Sie den Dienst MigrateBase implementieren.
War dies hilfreich?