複合アプリケーション - 設計と管理


現在のユーザーインターフェースビューをフィルタリングする
多くの複合アプリケーションでは、1 つのコンポーネントが発行するプロパティを別のコンポーネントが使用します。このとき、使用側のコンポーネントは IBM(R) Lotus Notes(R) ユーザーインターフェースビューを表示しようとしますが、ビューは渡されたプロパティによってフィルタリングされます。

たとえば、コンポーネントが「PersonName」という名前のプロパティを発行するとします。他のコンポーネントはその個人の最近のメール、この個人の将来の会議などを表示しようとします。通常、このようなターゲットコンポーネントにはすべての文書を表示するビューがありますが、異なるビューはありません。特に、特定の 1 人のみのすべての文書のビューはありません。このためには、キーでビューをソートする必要があります。

これを実現するために、組み込みアクションが複合アプリケーションコンポーネントのデータベースに追加されました。最初に列をソートし、フィルタをキーとして使用し一致するもののみを表示することによって、このアクションは現在のユーザーインターフェースビューをフィルタリングします。ビューがカテゴリ化されている場合、見つかったカテゴリが展開され、次のレベルでのみ文書が表示されます。

このアクションは FilterCurrentUIViewViaViewCategory という名前で、渡された KeyFilterType という名前のプロパティ (String 型) を取得します。String 型のプロパティは、すべてキーフィルタとして機能させることができます。キーでフィルタリングする必要があるビューには、渡された KeyFilterType プロパティ (String 型) を取得する FilterCurrentUIViewViaViewCategory アクションの正確な定義が記述されている必要があります。

このアクションの使用方法を次のサンプル WSDL に示します。この WSDL には、データ型とプロパティの正確な定義が記述されている必要があります。

<types>

<xsd:schema targetNamespace="com.ibm.compositeapps.samples">

<xsd:simpleType name="KeyFilterType">

<xsd:restriction base="xsd:string"/>

</xsd:simpleType>

</xsd:schema>

</types>

<operation name="UpdateUI_Operation">

<portlet:action name="FilterCurrentUIViewViaViewCategory"

caption="FilterCurrentUIViewViaViewCategory"

description="FilterCurrentUIViewViaViewCategory"/>

<input>

<portlet:param name="KeyFilter" partname="KeyFilterPart"

caption="caption.KeyFilter"

description="description.KeyFilter"/>

</input>

</operation>

Lotus Notes リスナーコンポーネントはアクションを使用し、API を呼び出してビューをフィルタリングし、ウィンドウを更新します。この結果、表示されている Lotus Notes ユーザーインターフェースビューは、新しいフィルタを使用して同じ Lotus Notes ウィンドウで更新されます。

たとえば、ソースコンポーネントが個人名であるプロパティ「KeyFilterType」を発行するとします。ターゲットコンポーネントのアクションが呼び出され、ビューにフィルタが適用されます。

Composite Application Editor を使用すると、ターゲットコンポーネントの組み込みアクションを使用してソースコンポーネントのプロパティをワイヤリングできます。

ビューフィルタを作成してワイヤリングするには、次の手順を実行します。

1. Property Broker Editor で、分類されたビューを含む NSF の WSDL ファイルを編集します。

2. 「FilterCurrentUIViewViaViewCategory」という名前のアクションを作成して String 型の入力プロパティを指定します。

3. Lotus Domino Designer クライアントで、分類されたビューの設計を編集してビューアクションを作成します。

4. ビューアクションのインフォボックスで [詳細] タブを切り替え、複合設定アクションの「FilterCurrentUIViewViaViewCategory」を選択します。

5. このアクションに LotusScrip を追加してプロパティを発行します。詳しくは、「複合アプリケーション内で LotusScript クラスと API を使用する」を参照してください。

6. ビューを保存して閉じます。

7. Composite Application Editor で複合アプリケーションを開き、適切なプロパティを FilterCurrentUIViewViaViewCategory アクションにワイヤリングします。

関連項目