カスタムマネージャの作成
カスタムマネージャの作成
マネージャ Thing は、特定の機能を制御するためにデータモデルによって使用されます。マネージャ Thing には、任意のデータベーステーブルの作成および更新などの機能を実現するデータベース操作に必要な機能が含まれています。また、関連オブジェクトモデルに関係するサービスを管理するすべての Thing Shape が実装されています。
これらのマネージャは、起動ポイントコンフィギュレーション Thing (PTC.Factory.C_LaunchPointConfigurationThing_[リリースバージョン]) の「コンフィギュレーション」ページの「ManagerConfigurationSettings」テーブル内に定義されます。
各マネージャにデフォルトのマネージャ Thing が既成で提供されます。
独自のデータベーステーブルを管理 (作成および更新) するために、カスタムマネージャを作成できます。デフォルトのマネージャ Thing をモデルとして使用します。
次の手順で作成するマネージャは、UID (プライマリキー、自動生成) と CustomProperty1 (文字列データ型) の 2 つの列を持つデータベーステーブル customdata を管理します。customdata テーブルは初期化されており、2 行のデータを含みます。
1. ThingWorx Composer で新しいデータシェイプを作成します。
a. 「名前」CustomData と入力します。
b. 「フィールド定義」「追加」をクリックします。
c. 次のフィールドを定義します。
「名前」 - UID と入力します。
「ベースタイプ」 - 「LONG」を選択します。
「プライマリキー」 - チェックボックスをオンにします。
d. をクリックして最初のフィールドを追加し、次に別のフィールドを定義します。
「名前」 - CustomProperty1 と入力します。
「ベースタイプ」 - 「STRING」を選択します。
e. をクリックして 2 番目のフィールドを追加します。
f. 「保存」をクリックして新しいデータシェイプを保存します。
2. ThingWorx Composer で新しい Thing Template を作成します。
a. 「名前」CustomManagerThingTemplate と入力します。
b. 「保存」をクリックして Thing Template を作成します。
c. 「実装されたシェイプ」で、PTC.SCA.SCO.DBManagementThingShape をサーチして追加します。
d. 「保存」をクリックして Thing Template を保存します。
3. ThingWorx Composer で新規 Thing を作成します。
a. 「名前」CustomManagerThing と入力します。
b. 「ベース Thing Template」で、CustomManagerThingTemplate (ステップ 2 で作成した Thing Template) をサーチして選択します。
c. 「サービス」の下で、「GetDBInfo」サービスをオーバーライドして次のコードを追加します。
var result = {
dbInfo: [{dataShapeName: "CustomData"}]
};
d. 「サービス」の下で、「InitData」サービスをオーバーライドして次のコードを追加します。
var infoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape({
infoTableName : "InfoTable",
dataShapeName : 'CustomData'
});

infoTable.AddRow({"CustomProperty1":"TestValue1"});
infoTable.AddRow({"CustomProperty2":"TestValue2"});
Things[me.GetDatabaseThingName()].Insert({
infoTable: infoTable,
dataShapeName: 'CustomData'
});
e. 「保存」をクリックして Thing を保存します。
4. ステップ 3 で作成した CustomMangerThing「サービス」の下で、「CreateTables」サービスを実行します。customdata という名前で、2 行のデータを含むデータベーステーブルが作成されます。
5. 外部キーを定義する場合、 外部キーの追加または除去を参照してください。
6. String のデータベース列の長さを変更する場合、 文字列のデータベース列の長さの設定を参照してください。
7. 操作前または操作後イベントのディスパッチと検証を設定する場合、 操作前および操作後イベントのディスパッチと検証を参照してください。