建立自訂管理員
資料模型使用管理員物件來控制某些功能。管理員項目會保留針對功能進行任何資料庫操作所需的功能,例如建立及更新資料庫表格。管理員項目還會實行所有負責管理與相關聯物件模型相關之服務的物形式。
這些管理員在以下位置進行定義︰啟動點組態物件 (PTC.Factory.C_LaunchPointConfigurationThing_[ReleaseVersion]) 之「組態」頁面的 ManagerConfigurationSettings 表格中。
為每個管理員現成提供預設管理員項目。
您可以建立自訂管理員來管理 (建立及更新) 您自己的資料庫表格。使用預設管理員項目作為模型。
下列步驟用於說明如何建立用於管理名為 customdata 之資料庫表的管理員,其中包含兩欄︰UID (主索引鍵、自動產生) 與 CustomProperty1 (字串資料類型)。customdata 表格會以兩列初始化。
1. 在 ThingWorx Composer 中,建立新資料形式。
a. 對於「名稱」,輸入 CustomData。
b. 在「欄位定義」下,按一下「新增」。
c. 定義下列欄位︰
▪ 「名稱」—輸入 UID。
▪ 「基礎類型」—選取「LONG」。
▪ 「是主索引鍵」—選取此核取方塊。
d. 按一下 以新增第一個欄位,並定義另一個欄位︰
▪ 「名稱」—輸入 CustomProperty1。
▪ 「基礎類型」—選取「STRING」。
f. 按一下「儲存」以儲存新資料形式。
2. 在 ThingWorx Composer 中建立新物範本。
a. 對於「名稱」,輸入 CustomManagerThingTemplate。
b. 針對「基礎物範本」,選取任何「物範本」。例如,GenericThing。
c. 對於「已實行的形式」,搜尋並新增 PTC.SCA.SCO.DBManagementThingShape。如果管理員要調用建立服務,那麼同樣要搜尋並新增 PTC.SCA.SCO.ServiceConfigurationThingShape。
d. 按一下「儲存」以儲存項目範本。
3. 在 ThingWorx Composer 中建立新項目。
a. 對於「名稱」,輸入 CustomManagerThing。
b. 對於「基礎物範本」,搜尋並選取 CustomManagerThingTemplate (在步驟 2 中建立的物範本)。
c. 在「服務」下,取代 GetDBInfo 服務並新增下列程式碼,然後按一下「完成」:
var result = {
dbInfo: [{dataShapeName: "CustomData"}]
};
d. 在「服務」下,取代 InitData 服務並新增下列程式碼,然後按一下「完成」:
var infoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape({
infoTableName : "InfoTable",
dataShapeName : "CustomData"
});
infoTable.AddRow({"CustomProperty1":"TestValue1"});
infoTable.AddRow({"CustomProperty1":"TestValue2"});
Things[me.GetDatabaseThingName()].Insert({
infoTable: infoTable,
dataShapeName: "CustomData"
});
e. 按一下「儲存」以儲存項目。
4. 註冊自訂管理員。
a. 導覽到啟動點組態物件 (PTC.Factory.C_LaunchPointConfigurationThing_[ReleaseVersion])。
b. 在「組態」下,針對 ManagerConfigurationSettings 組態表按一下「新增」。
▪ 針對「名稱」,輸入自訂管理員的名稱,例如 CustomDataManager。
▪ 針對「值」,搜尋並選取在步驟 3 中建立的自訂管理員物件。
c. 按一下「新增」,將自訂管理員新增至組態表。
d. 按一下「儲存」,儲存啟動點組態物件的更新。
5. 針對在步驟 3 中建立的 CustomMangerThing,執行「服務」下方的 CreateTables 服務。會建立名為 customdata 的資料庫表格,其中包含兩列。