メニュー
メニューはマッシュアップ内のナビゲーションパスを提供します。マッシュアップ内にメニューを実装するには、メニューを作成および定義して、マッシュアップに追加する必要があります。
メニューの作成
1. Composer から、「ビジュアリゼーション」 > 「メニュー」の順にブラウズし、「新規」ボタンをクリックします。
2. 新規メニューの名前、表示名、説明を入力します。
3. 必要に応じて、プロジェクトとタグも追加できます。次に「保存」をクリックします。
メニューの定義
新規作成されたメニューの「メニュー定義」領域で、次の操作を行います。
1. 必要に応じて、メニューアイテムを表すアイコンを選択して、適切なユーザーグループをメニューに関連付けます。
2. メニューのアイテムごとに、「追加」ボタンをクリックして、次の情報を入力します。
新規メニューアイテム
オプション
説明
タイプ
「マッシュアップ」 - クリックするとマッシュアップが開きます。
「メニュー」 - クリックすると別のメニューが開きます。このオプションによって複数レベルの構造を作成できます。
「ハイパーリンク」 - クリックするとハイパーリンクが開きます。
「ログアウト」
タイトル
メニューアイテムのタイトル。メニューには一意のタイトルが必要です。メニュータイトルが重複している場合、アクセス許可がマージされます。
リンク
マッシュアップまたはハイパーリンクにリンクします。
ターゲット
「リンク」フィールドで指定したページを新しいページで開くか現在のページ内で開くかを制御します。
選択したタイプが「メニュー」の場合、このフィールドを開くためのサブメニューの名前を入力します。
アイコン
タイトルテキストとともに表示されるイメージ。
グループ
メニューアイテムに属するグループ。
デフォルト
デフォルトで選択されるメニューアイテムを定義します。
3. をクリックして変更を保存します。
マッシュアップへのメニューの追加
* 
「メニュー」ウィジェットはレスポンシブウィジェットではありません。このため、このウィジェットをレスポンシブマッシュアップに挿入する際にはパネルが必要です。
設定済みのメニューをマッシュアップに追加するには、メニューウィジェットをマッシュアップ上にドラッグアンドドロップし、ウィジェットのプロパティパネルで「メニュー」フィールドから必要なメニューを選択します。さらに、ウィジェットのプロパティでパラメータ ConfiguredOrData「設定済み」に設定されていることを確認します。パラメータ Levels を使用して、構造化されたメニューをマッシュアップの 2 つのセクションに分割できます。
メニューへのアクセス許可の追加
ThingWorx 8.3 および 8.4 では、次の例に示すように、システムオブジェクトメニューと拡張メニューにアクセス許可を追加できます。この例では、メニューに testMenu という名前が付けられています。
1. メニューに UpdateGroups サービスを使用して、アクセス許可とグループ参照を追加します。
2. コンテンツタイプの POST リクエストを作成し、accept ヘッダーを application/json に設定します。ボディは配列でなければなりません。
https://localhost/Thingworx/Menus/testMenu/Services/UpdateGroups
{
"groupReferences": {
"groupReferences": [
{
"name": "Developers",
"type": "Groups"
}
]
},
"menuItems": {
"menuItems": [
{
"groupReferences": [
{
"name": "Developers",
"type": "Groups"
}
]
}
]
}
}
3. 複数のメニューアイテムがある場合は、menuItems でネストされている groupReferences を繰り返すことによって、各行に設定する必要があります。
* 
アクセス許可を設定する際には、メニューアイテムの順序を考慮する必要があります。アクセス許可を設定する前に、順序を確認します。
"menuItems": [
{
"groupReferences": [
{
"name": "Developers",
"type": "Groups"
}
]
},
{
"groupReferences": [
{
"name": "Administrators",
"type": "Groups"
}
]
}
拡張オブジェクトとともにインポートされたメニュー
メニューが拡張オブジェクトとともにインポートされた場合、デフォルトでは、メニューの Group Associations プロパティとメニューアイテムの Groups プロパティを編集できます。
* 
メニューが含まれている更新されたバージョンの拡張オブジェクトをインポートした場合、Composer の外で拡張オブジェクトに対して行われたすべての変更とマージされます。