自訂 ThingWorx Navigate > 建立自訂任務 > 在自訂任務中使用 ThingWorx Navigate 元件 > 自訂組件 > 版本化與移轉
  
版本化與移轉
所包括的每個基礎元件與實行預設都有一個組態版本。版本可用來追蹤 JSON 組態物件,且為必要的,以確保將來能夠將自訂元件移轉至新的 ThingWorx Navigate 發行版本。
版本化詳細資訊
JSON 組態物件包含兩個用來追蹤版本的金鑰:baseConfigurationVersionimplementationConfigurationVersion。請注意,這些金鑰在 Mashup Builder 的組態對話方塊中是隱藏的,但屬於從 GetConfigurations 服務傳回的組態。
* 
欲識別元件的組態版本,請對元件物件執行下列服務:
GetBaseConfigurationVersion (針對基礎元件的版本)
GetImplementationConfigurationVersion (針對實行的版本)
呼叫移轉服務
建立元件的自訂實行即是建立會延伸現有基礎或實行的物範本。自訂實行中調用 GetConfigurations 服務的任何服務都必須先調用 Migrate 服務。
Migrate 服務有四個參數:
migrationType - 字串;移轉類型,目前僅支援 “Configuration”
data - JSON,即 JSON 組態物件的名稱
targeBaseVersion - 字串;基礎元件的版本
targetImplementationVersion - 字串;實行的版本
以下是調用 Migrate 服務的範例程式碼:
var migratedConfig = me.Migrate(
{
"migrationType":"Configuration",
"data":"configuration",
"targetBaseVersion":"9.0.0",
"targetImplementationVersion":"1.0.0"
}
);
Migrate 服務會將 targetBaseVersion 的值與 JSON 組態物件中 baseConfiguration 的值進行比較,以及將 targetImplementationVersion 的值與 JSON 組態物件中 implementationConfigurationVersion 的值進行比較。如果版本值不相符,則 Migrate 服務會調用 MigrateBase 服務或 MigrateImplementation 服務,來移轉 JSON 組態物件,使其與目標基礎或目標實行的版本相符。
一般而言,當建立自訂企業邏輯實行元件時,您不需要調用 MigrateImplementation 服務。但是,如果您建立新版本的現有自訂實行,且它使用不同的組態版本,則您需要實行 MigrateImplementationGetBaseMigrationVersion
建立自訂基礎企業邏輯元件時,您必須實行 MigrateBase 服務。