属性テーブル
目的
このドキュメントは、開発者に、情報ページの特定のビジネスオブジェクトの属性テーブルコンポーネントを実装する際に必要な情報を提供します。
属性テーブルコンポーネントは、Windchill 製品でオブジェクトのすべての必要な属性について詳細ページの表示に一貫性を持たせるために開発されました。また、このコンポーネントによって属性テーブルの作成が容易になります。開発者はこのコンポーネントを使用して属性テーブルページのみを設定します。ページの主なレイアウトはコンポーネントによって指定されます。
適用可能性
Windchill 製品のいずれかでオブジェクトの情報ページを設定する開発者は、このドキュメントを使用する必要があります。この設計パターンは、設定方法と、属性テーブルの設定を行う場所を示します。
参加者
このドキュメントは JSP、タグライブラリ、および JSTL を基本的に理解している読者を対象とします。
結果
このドキュメントを使用することで、ビジネスオブジェクトのすべての属性テーブルの設定が一貫した方法で行われます。これによって、属性テーブルの保守が容易になり、管理しやすくなります。
ソリューション
概要
属性テーブルコンポーネントは、Windchill クライアントアーキテクチャを使用して開発されています。このコンポーネントは、あらゆる Windchill 製品で共通レイアウトが表示されるように、オブジェクトの属性の共通レイアウトを提供します。属性テーブルコンポーネントを使用すると、すべてのオブジェクトと Windchill 製品間に一貫性が保たれます。
コンポーネントとは
• JSP、Bean、taglib、レンダラー、およびサービス呼び出しの組み合わせです。
• 指定されたオブジェクトに設定されたすべての属性とその値を表示します。
• 実装していない場合: WTParts の分類属性テーブルを表示します。
• ユーザーインタフェース基準に従います。
• カスタマイズ要件をサポートします。
デフォルトの属性テーブル実装が部品とドキュメントに追加されています。ただし、必要な属性または必須の属性を設定するには、これらのテーブルに関する作業をやり直す必要があります。
開発者は、属性テーブルを使用する必要があるすべてのビジネスオブジェクトについて、使用するタイプを設定した新しい JSP を作成する必要があります。属性テーブルの詳細リンクはすべて、オブジェクトタイプに基づいて転送先のページを識別するサーブレットにアクセスします。
コンポーネントの使用
使用するオブジェクトタイプの JSP の作成
• JSP の作成
• JSP の登録
JSP の作成
attributes.JSP には、describeProperty の describeAttributesTable タグと属性名 (ID) のリストのみが含まれます。describeAttributesTable の設定に基づいて、showSoftAttribute.jspf コンポーネントは属性テーブルパネルとそのコンテンツをレンダリングします。
以下はドキュメントオブジェクトの attributes.jsp の例です。
<jca:describeAttributesTable var="attributesTableDescriptor"
mode=”VIEW”>
<jca:describeProperty id="<Logical Form>" />
<jca:describeProperty id="<Logical Form>" />
</jca:describeAttributeTable>
属性値は、タイプインスタンスに適用されるメカニズムを使用する論理属性マッピングに基づいています。オブジェクトタイプによっては、LogicalAttributes.jsp を使用して論理属性名を調べることができます。この JSP には、構築した Windchill を実行してアクセスできます (http://<マシン>/<Windchill アプリケーション名>/meta/LogicalAttributeReport.jsp)。
「タイプ」入力フィールドに完全修飾クラス名を入力し、「サブミット」をクリックします。これによって、指定したオブジェクトタイプに使用できる属性のリストを取得できます。論理フォームまたは外部フォームを指定できますが、論理フォームを指定してください。
JSP の登録
情報ページサーブレットが、使用するタイプについて転送先の JSP を認識するには、タイプベースのサービスで使用される properties ファイルで、JSP のエントリを指定する必要があります。そのためのデフォルトの properties ファイルは typedservices.properties で、コードベースですぐに見つかります。エントリのフォーマットは以下のようになります。
wt.services/rsc/default/com.ptc.netmarkets.util.misc.FilePathFacto
ry/Attributes/wt.doc.WTDocument/0=/netmarkets/jsp/document/attribu
tes.jsp
wt.services/rsc/default/com.ptc.netmarkets.util.misc.FilePathFacto
ry/Attributes/wt.part.WTPart/0=/netmarkets/jsp/part/attributes.jsp
次に xcong フォーマットの例を示します。
<!--Info page fragments, Resource is the filepath to a jsp fragment
that will configure the info page -->
<Resource context="default"
name="com.ptc.netmarkets.util.misc.FilePathFactory">
<Option requestor="wt.part.WTPart"
resource="/netmarkets/jsp/part/attributes.jsp"
selector="Attributes"/>
<Option requestor="wt.doc.WTDocument"
resource="/netmarkets/jsp/document/attributes.jsp"
selector="Attributes"/>
</Resource>
Windchill/src/typedservices.properties.xconf ファイルは、タイプベースのアプリケーションコンテキストの検索に使用されるデフォルトの xconf ファイルです。使用するタイプについて、typedservices.properties を対象とするモジュール内で独自の xconf ファイルを作成します。
サンプルコード
attributesTableComponent の実装の例
ここでは、いくつかのオブジェクトタイプについて属性テーブルを設定する例を示します。ただし、これらの手順ではコードベースの場所のみを示し、ソースの配置の手順や、xconf ファイルへの情報の入力、xconf ファイルでのコンテンツの構築、xconf ファイルへの入力などの最良事例は含まれていません。作業を開始するための概念のみを説明します。
1. attributes.jsp という名前の JSP ファイルを作成し、コードベースの以下の場所に配置します。
codebase/netmarkets/jsp/part/
ここで、以下のコンテンツをページに追加します。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.ptc.com/windchill/taglib/components"
prefix="jca"%>
<jca:describeAttributesTable var="attributesTableDescriptor"
mode="VIEW" id="view.setAttribute"
label="Attributes" scope="request">
<jca:describeProperty id="containerName" />
<jca:describeProperty id="name"/>
<jca:describeProperty id="number"/>
<jca:describeProperty id="creatorName" />
<jca:describeProperty id="currentPrincipal" />
<jca:describeProperty id="cabinet"/>
<jca:describeProperty id="cabinetName"/>
<jca:describeProperty id="checkoutInfo.state" />
<jca:describeProperty id="comment"/>
<jca:describeProperty id="displayIdentifier"/>
<jca:describeProperty id="endItem"/>
<jca:describeProperty id="folderName"/>
<jca:describeProperty id="lifeCycleName" />
<jca:describeProperty id="usedBy"/>
<jca:describeProperty id="version"/>
<jca:describeProperty id="view" />
<jca:describeProperty id="viewName"/>
<jca:describeProperty id="owner.id"/>
<jca:describeProperty id="ALL_SOFT_SCHEMA_ATTRIBUTES"/>*
</jca:describeAttributesTable>
また、以下の手順で編集操作を開始できます。最初に表示するステップは、以下のフォーマットのリクエストで設定できます。
startStep=<step id>
* "ALL_SOFT_SCHEMA_ATTRIBUTES" はすべてのソフト属性とその値を表示します。
2. 情報ページサーブレットが JSP への転送を認識するように JSP を登録します。
以下のエントリを codebase/typedservices.properties に追加します。
wt.services/rsc/default/com.ptc.netmarkets.util.misc.FilePathFa
ctory/Attributes/wt.part.WTPart/0=/netmarkets/jsp/part/attribut
es.jsp
3. 新しい JSP をテストします。「ホーム」ページまたは「フォルダ」ページのアイコンは、新しい情報ページサーブレットにリンクする必要があります。URL は以下のようになります。
http://<machine>/<WindchillAppName>/servlet/InfoPage?oid=OR:wt.
part.WTPart:62028
サーブレットは typedservices.properties で転送先の JSP を検索します。属性テーブルの第 3 レベルナビゲーションに属性名とその値のリストが表示されます。