高度なカスタマイズ > 例: ThingWorx Navigate のカスタムタスクの作成
  
例: ThingWorx Navigate のカスタムタスクの作成
タスクブロックの作成
タスクは、いくつかの基本的な部分で構成されています:
マッシュアップ - タスクのユーザーインタフェース。
サービス - 操作を実行する Java または Java スクリプト。サービスは WindchillSwaggerConnector 上にあります。
ptc-windchill-demo-thing - データのソース。
例: 新規タスクの作成
以下のセクションでは、ThingWorx Composer で一からカスタムタスクを作成します。サンプルタスクでは、ユーザーは Windchill データをサーチし、テーブルに結果が表示されます。テーブルからアイテムを選択すると、下のテーブルにさらにプロパティが表示され、そのアイテムの対話型 3D 表示が示されます。リンクをクリックすることで、その表示を Creo View で開くことができます。これらを実行すると以下のような表示になります。
この例では、タスクのビルディングブロックを組み合わせて、機能するマッシュアップを作成する方法を示します。組織が必要とするサービスの多くは WindchillSwaggerConnector にすでに含まれています。
このため、ThingWorx ユーザーインタフェースとこれらの既成のサービスを使用するだけで、さまざまなカスタムタスクをアセンブリできます。独自のサービスを記述しなければならない場合に役立つ、頻繁に使用するいくつかのサービスのステップについて以下で説明しています。PTC 参照ドキュメントサイトで PTC Windchill Extension ガイドを参照してください。
しかし最初は、サンプルタスクを作成してみましょう。
タスクの計画
始める前に、タスクの機能とレイアウトを計画しておくことが役立ちます。そうすることにより、必要なサービス、各サービスに必要なパネル、およびそれらがどのようにレイアウトされるかを知ることができます。計画の作成後、コネクタで必要なサービスの組み立てを開始できます。次のセクションの手順に進みます。
ThingWorx Composer での新規マッシュアップの作成
新規マッシュアップを作成するには、次の手順に従います。
1. 「ビジュアリゼーション」で、「マッシュアップ」をクリックし、次に「新規」ボタンをクリックします。「新規マッシュアップ」ダイアログボックスが開きます。
2. 「マッシュアップタイプ」で、「ページ」を選択します。
3. 「レイアウトオプション」の下で、「レスポンシブ」を選択し、「完了」をクリックします。マッシュアップエディターが開きます。
4. 「ウィジェット」タブで、「パネル」を選択し、パネルをレイアウトプレビュー領域にドラッグします。その他のパネルウィジェットをドラッグし、計画したレイアウトになるようにそれらのサイズを調整します。この例では、上の図に示すレイアウトを使用します。
ウィジェットをパネルに追加
タスクの基本的なフレームワークができました。次に、ウィジェットを追加して各パネルの視覚的コンポーネントを定義します。
1. 各パネルにウィジェットをドラッグします。この例では、以下のウィジェットを追加します。
「リスト」 - Windchill からの保存されたサーチのリストが表示されます。このリストからアイテムを選択すると、その詳細が「グリッド」パネルに表示されます。
「テキストボックス」 - 別のサーチを実行できます。
「ボタン」 - サーチを実行します。
「グリッド」 - ユーザーが選択したアイテムの詳細が表示されます。
「プロパティ表示」 - 選択したアイテムの属性が「グリッド」パネルに表示されます。
「Creo View」 - 選択したアイテムの 3D ビューが表示されます。
「リンク」 - 選択したアイテムが Creo View クライアントアプリケーションで開きます。
データソースとサービスを追加
ウィジェットが追加されたので、ユーザーインタフェースが作成されます。これらに情報のソースを指定する必要があります。このサンプルタスクでは、既成のデータソースである ptc-windchill-demo-thing を使用します。次のステップでは、マッシュアップを機能させるために必要なデータソースとサービスを追加します。
1. ThingWorx の右上パネルにある「データ」タブで、プラス記号をクリックして新しいデータソースを追加します。「データを追加」ダイアログボックスが開きます。
2. 「エンティティをサーチ」ボックスに、必要なデータソースを入力していきます。この例では、「ptc-windchill」と入力します。
3. この結果から、データソースを選択します。この例では、ptc-windchill-demo-thing です。そのエンティティに使用可能なサービスが左側に表示されます。
4. 青色の矢印ボタンをクリックして、必要なサービスを追加します。ここでのサンプルマッシュアップには、以下のサービスを選択します。
GetCreoViewData
ExecuteSavedSearch
ListSavedSearches
この例では、マッシュアップがロードされるとただちに、Windchill からの保存されたサーチが表示されるようにします。このために、ListSavedSearches「マッシュアップはロード済み」チェックボックスをオンにします。
5. 必要なすべてのサービスを選択した後で、「完了」をクリックします。
ウィジェットにサービスを接続
データサービスと、ユーザーインタフェースの要素が追加されました。次のステップでは、すべてのものを接続します。
1. 「データ」パネルで、ListSavedSearches の下の「戻されたデータ」セクションを展開します。
2. 「すべてのデータ」「リスト」ウィジェットにドラッグします。これにより、保存されたサーチで検出されたすべてのデータが返ります。
3. 「バインドターゲット」で、「データ」を選択します。Composer の下部に接続ダイヤグラムが表示されます。
* 
このステップは、以前のバージョンの ThingWorx で行う必要があった、手動によるクライアント側 Java スクリプトの作成から置き換えられました。
4. 次に、ウィジェットを設定します。リストウィジェットで以下のパラメータを設定します。
DisplayField - name
ValueField - objectId
Label - Saved Searches
* 
テキストボックスの外側をクリックして各エンティティを保存します。
サービス間でデータをバインド
一部のサービスは別のサービスのデータに依存しています。たとえば、保存されたサーチをリストから選択した場合、それが実行される必要があります。次のステップでは、バインドと呼ばれる、このようなサービス間の接続を作成します。さらに、ExecuteSavedSearch をサーチボックスへのキーワードの入力に接続するなど、サービスをウィジェットにバインドします。
1. ExecuteSavedSearch の下で、「パラメータ」を展開します。
2. ListSavedSearches の下で、「戻されたデータ」を展開してから、「選択行」を展開します。
3. 「選択行」の下ある objectIdExecuteSavedSearch「パラメータ」セクションにある oid にドラッグします。
1 つ目の接続が完成しました。
4. 2 つ目の接続では、ListSavedSearches を選択します。
5. 次に、パネルの下部にある SelectedRowsChangedExecuteSavedSearch にドラッグします。
次に、サーチ機能を接続します。テキストボックス内の入力は入力パラメータ keyword に接続し、ボタンはデータを取得するサービスに接続します。
1. ExecuteSavedSearch を展開してから、「パラメータ」を展開します。
2. テキストボックスのウィジェットを選択し、矢印をクリックしてリストを開きます。TextExecuteSavedSearch の下にある keyword にドラッグします。
3. サーチボックスパネルに戻り、ボタンウィジェットを選択し、ドロップダウンメニューから ClickedExecuteSavedSearch にドラッグします。
4. サーチボックスとボタンにラベルを追加しましょう。各要素を選択し、メニューから「ラベル」を選択します。以下のように、各エンティティの名前を入力します。
テキストボックス - Items to find
ボタン - Find
5. 変更内容を保存します。
接続を確認
この時点では接続は以下のように表示されます。以下の各エンティティを選択してその接続を確認します。
リストウィジェット
ExecuteSavedSearch
ListSavedSearches
部品構造をテーブルとして表示
テーブルウィジェットに部品構造を表示するため、部品構造データをグリッドウィジェットに接続します。このステップでは、これまでとは反対の方向、つまりサービスからウィジェットにドラッグすることに注意してください。
1. ExecuteSavedSearch の下の「戻されたデータ」を展開し、「すべてのデータ」をグリッドウィジェットにドラッグします。
2. 「バインドターゲットを選択」の下で、「データ」を選択します。
3. データがグリッドに接続された後は、テーブルを設定します。グリッドウィジェットを選択し、メニューから「グリッド列を設定」を選択します。
4. 「ウィジェットを設定」で、表示するプロパティを選択して順序変更します。
5. 変更内容を保存します。
アイテムが選択されたときにビューデータを表示
このタスクでは、グリッドでアイテムが選択されたときにアイテムのビューデータを表示します。これを設定するため、構造データを Creo View ウィジェットに接続し、ユーザーが別のアイテムを選択した場合にウィジェットが動的に更新されるように設定しましょう。
1. GetCreoViewData サービスの下の「戻されたデータ」の下で、「すべてのデータ」を展開し、structure を選択します。これを Creo View ウィジェットにドラッグします。
2. 「バインドターゲットを選択」の下で、ProductToView を選択します。
3. 動的更新を設定するため、ExecuteSavedSearch を選択します。次に、左下の枠にある SelectedRowsChangedGetCreoViewData サービスにドラッグします。
4. 「保存」をクリックします。
Creo View でアイテムを開くためのリンクを追加
ユーザーが 3D ビューデータファイルを簡単に開くことができるようにするため、これを Creo View で開くためのリンクを追加します。このサービスを使用するには、ユーザーは Creo View をインストールしているか、Windchill 経由で Creo View Lite にアクセス可能でなければなりません。
1. GetCreoViewData の下で、「戻されたデータ」「すべてのデータ」を展開します。
2. launchCreoViewUrl を選択し、これをリンクウィジェットにドラッグします。
3. 「バインドターゲットを選択」の下で、SourceURL を選択します。
4. さらに、このアイテムの Windchill オブジェクト ID をサービスに接続する必要があるため、GetCreoViewData の下で、「パラメータ」を展開します。
5. 次に、ExecuteSavedSearch の下で、「戻されたデータ」を展開し、次に「選択行」を展開します。
6. objectId を選択し、GetCreoViewData の下の oid パラメータにドラッグします。
7. 最後に、リンクに名前を付けます。リンクウィジェットを選択し、「テキスト」を選択します。リンクに表示するテキストを入力します (View item in Creo View など)。
8. 「保存」をクリックします。
アイテムがテーブルで選択されたときにそのプロパティを表示
サーチ結果のテーブルにアイテムのいくつかのプロパティが表示されます。プロパティのさらに詳細なリストを追加するため、プロパティ表示ウィジェットを接続してから、表示するプロパティを選択しましょう。
1. ExecuteSavedSearch の下で、「戻されたデータ」を展開してから、「選択行」を選択します。
2. このサービスからプロパティ表示ウィジェットに「選択行」をドラッグします。
3. 「バインドターゲットを選択」の下で、「データ」を選択します。
4. 表示ウィジェットがデータに接続された後は、表示するプロパティを選択します。これには、ウィジェットを選択し、左上隅にある矢印をクリックします。
5. メニューから「ウィジェットを設定」を選択します。
6. 「ウィジェットを設定」で、表示するプロパティを選択して順序変更します。
接続を再度確認
この時点では、接続は以下のように表示されています。以下の各エンティティを選択してその接続を確認します。
GetCreoViewData
ExecuteSavedSearch
ListSavedSearch
マッシュアップを保存して名前を付けてから、新規タスクを表示
あともう少しです。最後のステップでは、マッシュアップに名前を付けて保存してから、ThingWorx Navigate のカスタムタスクを表示します。
1. 「保存」をクリックします。
2. 「一般情報」で、「名前」ボックスにタスクの名前を入力します。
3. 「マッシュアップを表示」をクリックします。新規タスクが開きます。おつかれさまでした!
ThingWorx Navigate ホームページにタスクを追加して、調整を加えることが可能になりました。次のトピック「ホームページへのカスタムタスクの追加」を参照してください。
詳細情報が掲載されているリソース
ウィジェット
データサービスとリンク