基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > ウィザードの作成 > 再利用可能なウィザードステップのカスタマイズ
  
再利用可能なウィザードステップのカスタマイズ
概要
ユーザー入力を捕捉し、その入力からデータベースの Windchill ビジネスオブジェクトを作成または編集するウィザードを開発する必要があります。ウィザードには、すでにほかのウィザードに存在するステップがあり、重複してはいけません。
バックグラウンド
Windchill には、設定してカスタムウィザードに追加できる再利用可能なウィザードステップが多数用意されています。
多くの場合、ウィザードステップの再利用は単純で、ウィザードステップの操作を指定する正しい wizardStep タグを wizard タグに追加するだけです。このドキュメントでは、この最も単純なケースは取り扱いません。ときには、ステップまたはステップに加えるカスタマイズによって追加の情報が必要になることがあります。このドキュメントでは、追加の必要な情報またはカスタマイズオプションを含むいくつかの再利用可能なステップについて説明します。このセクションでは、これらのステップを使用する場合と方法について詳しく説明します。
範囲/適用可能性/前提条件
カスタムの Windchill ビジネスオブジェクトクラスまたはサブタイプを作成し、ユーザーがそのオブジェクトタイプの 1 つのインスタンスをデータベースに作成または編集できるウィザードを開発すると仮定します。
このドキュメントでは、再利用可能な共通のウィザードステップについて説明します。また、WTPartWTDocumentWTChangeIssue などの既存の Windchill ビジネスクラスがカスタムタイプによって拡張される場合は、ここで説明するコンポーネントの代わりに、そのクラスにより適したコンポーネントを使用できることがあります。このようなクラス固有のコンポーネントは、このドキュメントで説明する共通コンポーネントをベースとして構築されます。このドキュメントでは、このようなクラス固有のコンポーネントについては詳しく説明しません。
予測される結果
新しいウィザードに既存のステップを追加して、そのステップを設定します。
前提となる知識
この最良事例を適用するには、以下を理解しておく必要があります。
ウィザードの作成、カスタムウィザードステップの作成、ウィザードデータの処理を行う Windchill フレームワーク。詳細については、次を参照してください。
単一オブジェクトを作成するウィザードの構築
単一オブジェクトを編集するウィザードの構築
これらのトピックは、それぞれに複数の前提知識を必要としており、それについても学習する必要があります。このガイドには、上記に関する情報とそのコンポーネントについての追加情報が記載されており、データベースに Windchill ビジネスオブジェクトを作成するという特定の目的に適したウィザードを開発者が作成および処理できるようになっています。
使用する用語の定義
用語
定義
基本タイプ
ウィザードのタイプピッカーのルートタイプとなるハードタイプクラスまたはサブタイプクラス。ウィザードにタイプピッカーがない場合、作成されるオブジェクトタイプは基本タイプになります。ユーザーが特定のタイプを選択するまでは、異なるサブタイプの異なる JSP バリエーションを持つウィザードステップに適切な JSP を検索するために、基本タイプが使用されます。
分類属性
部品に割り当てられた分類ノードに関連付けられた属性。分類属性は一般に、ハード属性およびグローバル属性とは別のステップで指定し編集します。
コンテキスト
その中でオブジェクトが作成されるコンテナ (製品、ライブラリ、プロジェクトなど.)。
依存属性
値および表示特性、またはその両方が、オブジェクト初期化規則 (OIR)、アクセス制御ポリシー、またはその他のメカニズムを介して、"ドライバ属性" と呼ばれるその他の属性の値によって全体的にあるいは部分的に決定される属性。
ドライバ属性
オブジェクト初期化規則 (OIR)、アクセス制御ポリシー、またはその他のメカニズムを介して、"依存属性" と呼ばれるその他の属性の値および表示特性、またはその両方を指定する属性。
ハード属性
Java クラスで定義されるオブジェクトの属性。
ハードタイプ
Java クラスで定義されるオブジェクトのタイプ。ハードタイプは一般的に、注記を使用して java クラスに作成され、既成の Windchill ビジネスオブジェクトクラスを拡張します。
オブジェクトタイプ
作成するビジネスオブジェクトの属性と動作を定義する Java クラスまたはサブタイプ。
グローバル属性
Windchill の「タイプおよび属性の管理」ユーティリティで定義されるオブジェクトの属性。これらの属性は Java ビジネスオブジェクトクラスでは定義されず、Java ビジネスクラスのテーブルとは区別してデータベーステーブルに格納されます。
サブタイプ
Java クラスではなく、「タイプおよび属性の管理」ユーティリティによって定義されるオブジェクトタイプ。サブタイプによってその他のサブタイプを拡張することができますが、すべてのサブタイプには、そのルートタイプとしてハードタイプが含まれています。このドキュメントの末尾で例として作成する Literature オブジェクトがサブタイプの一例です。
再利用可能なウィザードステップ
用意されている再利用可能なウィザードステップは次のとおりです。
defineItemAttributesWizStep
editAttributesWizStep
SetContextWizStep
.setClassificationAttributesWizStep
attachments_step
setAccessControlWizStep
defineItemAttributesWizStep
このステップの本体は一般に 4 つのセクションに分かれます。読み取り専用のコンテキストプロパティパネル、タイプピッカー、ドライバ属性プロパティパネル、編集可能属性パネルです。ステップは MVC フレームワークと jsp を使って設定されます。MVC ビルダーは、ステップの (非ドライバ) 属性パネルの内容を定義し、属性パネルを設定します。コンテキストパネル、タイプピッカー、ドライバ属性、プライマリコンテンツパネル (存在する場合)、その他のコンポーネントは jsp 経由で設定されます。必須なのはタイプピッカーだけです。
コンテキストパネル
起動コンテキストから派生するか、前のウィザードステップで入力された作成対象オブジェクトの読み取り専用の情報。オブジェクトが WTContained の場合は、通常、新規オブジェクトのコンテナが表示されます。
ドライバ属性
このプロパティパネルには、属性値を指定できる属性の入力フィールドや、ユーザーが入力するその他の属性に対する制約が表示されます。このパネルの値を変更すると、後続のすべてのウィザードステップが新規の属性値に基づいて自動的に再表示されます。そのため、すべてのドライバ属性をこのセクションに配置する必要があります。
「表示」 > 「組織を公開」が true に設定されており、オブジェクトが OrganizationOwned である場合は、オブジェクトの組織属性用のピッカーがこのパネルに指定されている必要があります。組織 ID によって定義済みのその他の属性値が指定されることはありませんが、カスタマイズの担当者がそれらの依存を設定する場合があります。
存在する場合、オブジェクトタイプは、指定する必要があるその他の属性を示します。詳細については、その他のドライバ属性を使用してステップを作成する方法を参照してください。
編集可能属性パネル
後のステップで入力される部品分類属性を除き、通常は、それまでに入力されなかったオブジェクトタイプのすべてのソフト属性とハード属性が含まれます。
通常、このリストに表示される属性の 1 つは、フォルダの場所になります。フォルダの場所によって管理ドメインが指定され、次に、アクセス制御ポリシーが指定され、次に、ユーザーが作成できるオブジェクトタイプのリストが指定されます。タイプピッカーに示されるタイプのリストは、起動コンテキストから決められるデフォルトのフォルダに基づきます。ユーザーは別のフォルダの場所を選択する可能性があり、その場合、アクセス制御ポリシーはさまざまです。そのため、選択したタイプの作成アクセス許可を持たないフォルダをユーザーが選択できることもありえます。この状態になると、ユーザーが「OK」をクリックしたときにエラーメッセージが表示されます。
チェックボックス
このセクションでは、新規オブジェクトの手順を処理するためのチェックボックスについて説明します。内容は以下のとおりです。
チェックボックスのラベル
適用可能性
説明
「チェックアウト状態を維持」
新規の RevisionControlled オブジェクトで使用
オンにすると、オブジェクトの作成後に自動的にチェックアウトが行われます。
「チェックアウトおよびダウンロード」
テンプレートからドキュメントを作成するときに使用
オンにすると、新規ドキュメントのチェックアウトとダウンロードが行われます。
使用可能
ドキュメントのテンプレートを作成するときに使用
オンにすると、新規テンプレートがすぐに使用可能になります。
editAttributesWizStep
このステップはほとんどすべての編集ウィザードに共通で、ユーザーはオブジェクトのほとんどの属性を編集できます。一般に、読み取り専用コンテキストプロパティパネルと属性入力パネルを含みます。
デフォルトでは、読み取り専用属性はありません。編集が望ましい属性はオブジェクトタイプごとに異なります。必要な場合は、MVC ビルダーを使って、所定のタイプに表示する読み取り専用属性セットを設定します。読み取り専用として表示される一般的な属性は次のとおりです。
オブジェクトタイプ
コンテナ名 (オブジェクトが WTContained の場合)
組織 ID (新規オブジェクトが OrganizationOwned でプリファレンスの「表示」> 「組織を公開」が true に設定されている場合)
そのオブジェクトタイプでこのパネルに表示する必要のある情報は何かを決定する必要があります。
属性入力パネルは、一般に、オブジェクトタイプのすべての編集可能なソフト属性とハード属性の入力フィールドを含みますが、部品分類属性の入力フィールドは含みません。これは後のステップで入力します。このパネルで表示する属性セットは、「タイプおよび属性の管理」ユーティリティによって制御されます。
ソリューション
新しいウィザードに editAttributesWizStep を追加して、ステップを設定します。
このステップを使用するとき
このステップはオブジェクトの編集に使用します。オブジェクトの作成については、defineItemAttributesWizStepを参照してください。
ソリューションエレメント
操作
<action name="editAttributesWizStep" id="editAttributesWizStep"
preloadWizardPage="false"
required="true" afterVK="editAttributes" resourceBundle=
"com.ptc.core.ui.componentRB">
<component name="editAttributesWizStep" typeBased="true"
windowType="wizard_step"/>
</action>
操作ファイル: <Windchill>/codebase/config/actions/actions.xml
このステップがウィザードの最初のステップではなく、それより前のステップに依存する場合は、editAttributesWizStep 操作によってページが非プリロードに指定されます。ただし、最初のステップである場合は、操作での指定方法にかかわらず、この操作はフレームワークによってプリロードされます。
JSP
ビュー JSP ページ: <Windchill>/codebase/netmarkets/jsp/object/propertyAttributesWizStep.jsp
バリデータ
EditAttributesStepValidator を使って、このステップで入力したデータを検証できます。このクラスは、属性編集ステップで入力したすべての属性が有効な値であるかを、制約を確認して検証します。必須属性が指定されているかどうかの検証は、クライアント側で JavaScript を使用して行われます。
ほかの Java クラス
これらの追加の java クラスは、このステップの作成に関わっていて、高度なカスタマイズに利用できます。
DefaultEditAttributesWizStepBuilder: 「属性を設定」ステップ用の MVC ビルダー。空の読み取り専用属性領域と編集可能属性パネルを含みます。このクラスを継承して、空でない読み取り専用属性セットを定義します。
TypedAttributesPanelBuilder: 属性パネル用の MVC ビルダー。
手順 - ステップを設定する
wizard タグに操作を追加する
このステップをウィザードに追加するには、次のタグを使用します。<jca:wizardStep action="editAttributesWizStep" type="object"/>
initalizeItem タグを追加する
defineItemAttributesWizStep と同様に、editAttributesWizStep にも initializeItem タグが必須です。このタグの操作属性を ${createBean.create} に設定する代わりに、${createBean.edit} に設定します。編集ウィザードには、objectHandle および baseTypeName タグ属性は適用できません。
属性をレイアウトする
このステップに表示される属性は、「タイプおよび属性の管理」ユーティリティで制御されます。このステップの属性の配置の詳細については、属性パネルを参照してください。
カスタマイズ
ステップの読み取り専用プロパティパネルのコンテンツの修正方法
読み取り専用属性パネルを修正して、属性を追加するには EditAttributesWizStepBuilder を作成します。新しいビルダーは DefaultEditAttributesWizStepBuilder を継承し、buildReadOnlyAttributePanelConfig メソッドを実装する必要があります。このメソッドでは、目的の属性を含む AttributePanelConfig を作成します。TypeBased アノテーションを使って、ビルダーの適用対象のタイプを指定します。ビルダーの例は、単一オブジェクトを編集するウィザードの構築の基本的な編集ウィザードの例にあります。
基本的なビルダーは次のようになります。
@TypeBased(value = "FakeLiterature")
public class LiteratureEditDetailsWizStepBuilder extends
DefaultEditAttributesWizStepBuilder {
@Override
protected AttributePanelConfig buildReadOnlyAttributePanelConfig
(ComponentParams params) throws WTException {
ComponentConfigFactory factory = getComponentConfigFactory();
AttributePanelConfig attrPanel = factory.newAttributePanelConfig();
attrPanel.addComponent(getContainerAttributeConfig(params));
attrPanel.addComponent(factory.newAttributeConfig(DescriptorConstants.
ColumnIdentifiers.TYPE));
return attrPanel;
}
}
SetContextWizStep
通常このステップには入力フィールドが 1 つだけあり、この入力フィールドが、作成されるオブジェクトの所有コンテナのピッカーになります。選択されたコンテナは、ほかの属性に適した OIR を選択するために使用されます。
多くの場合、コンテナはウィザードの起動コンテキストから決定されるため、このステップは必要ありません。たとえば、製品のフォルダページからウィザードが起動されると、コンテナがその製品と見なされます。
ソリューション
新しいウィザードに SetContextWizStep を追加して、ステップを設定します。
このステップを使用するとき
このステップは WTContained オブジェクト専用です。このステップはコンテキスト (コンテナ) ピッカーを含んでおり、起動コンテキストからコンテナを指定できない場合や、ユーザーがコンテナを選択できるようにする場合は、WTContained オブジェクトで作成ウィザードに含める必要があります。
ソリューションエレメント
操作
<action name="setContextWizStep" id="setContextWizStep" preloadWizardPage="true"
required="true"
afterVK="setContextWizStep">
<command windowType="wizard_step"/>
</action>
操作ファイル: <Windchill>/codebase/config/actions/actions.xml
JSP
ビュー JSP ページ: <Windchill>/codebase/WEB-INF/jsp/netmarkets/object/setContextWizStep.jsp
バリデータ
ContextWizardStepValidator を使ってコンテキスト設定ウィザードステップのデータを検証できます。ContextWizardStepValidator は、フォームデータが有効なコンテナオブジェクト参照を含んでいることだけを検証します。
このバリデータは、ステップをウィザードで表示する必要があるかどうかも判断します。起動ポイントからコンテキストが決定された場合は、ウィザードに含まれている場合でも、このステップはスキップされます。
手順 - ステップを設定する
wizard タグに操作を追加する
このステップをウィザードに追加するには、次のタグを使用します。<jca:wizardStep action="setContextWizStep" type="object"/>
このステップを使う場合は、ウィザードの最初のステップにすることをお勧めします。
カスタマイズ
カスタムのコンテキスト設定ステップ JSP ページの作成
カスタムウィザードに「コンテキストを設定」ステップがある場合、通常は、先に挙げた定義済みのステップ JSP で十分です。カスタムステップ JSP を開発する必要があるのは、「オブジェクトを定義」ステップで示される属性を表示する前に、追加属性値を捕捉する必要がある場合のみです。
たとえば、以下のように仮定します。
ウィザードの起動ポイントにフォルダコンテキストがない。
新規オブジェクトのデフォルトのフォルダ位置を設定する OIR がない。
特定のオブジェクトのサブタイプについて、ユーザーの作成アクセス許可を拒否するアクセス制御ポリシーを定義した。これらのポリシーは、新規オブジェクトが配置されるフォルダに関連付けられる管理ドメインに基づきます。
この場合、フォルダの選択に対してオブジェクトコンテナが影響を及ぼすことはないので、使用可能なタイプのリストを正確に判断できるように、ユーザーがフォルダの位置を選択するようにします。この場合、「オブジェクトを定義」ステップの前のステップに、フォルダ入力フィールドを配置することができます。この入力フィールドを「コンテキストを設定」ステップに追加するか、追加のステップをウィザードに追加すると、「コンテキストを設定」ステップの前後いずれかでフォルダの位置を捕捉できます (いずれの方法でも、「コンテキストを設定」ステップでのユーザーのフォルダ選択に基づくタイプピッカーに管理ドメインパラメータを設定できるように、「オブジェクトを定義」ステップのために独自の JSP も必要になります)。
カスタムの「コンテキストを設定」JSP が必要で、そこでコンテナピッカーが必要な場合は、定義済み JSP の内容をコピーするのではなく、定義済み JSP をインクルードすることをお勧めします。こうすることによって、今後のリリースでコンテキストピッカーが修正されたとしても、カスタムページは正常に動作し続けます。
setClassificationAttributesWizStep
ソリューション
新しいウィザードに setClassificationAttributesWizStep を追加して、ステップを設定します。
このステップを使用するとき
PartsLink がインストールされている場合、このステップは WTParts とそのサブタイプにのみ適用されます。これは、部品が分類される場合にのみ表示される動的なステップです。このステップでは、部品の分類属性を修正できます。上部に表示モードで部品の分類が表示され、続いて、分類属性の入力フィールドのテーブルも示されます。このステップは、オブジェクトの作成と編集の両方に使用できます。
「分類属性を設定」ステップは、非表示とマークされます。このステップは、ユーザーが
「属性を設定」ステップで「分類を選択」ラジオボタンをクリックした場合、動的にウィザードに挿入されます。「分類しない」ラジオボタンをクリックして部品を分類しない場合、動的に除去されます。
ソリューションエレメント
再利用可能なウィザードステップ
用意されている再利用可能なウィザードステップは次のとおりです。
defineItemAttributesWizstep
editAttributesWizStep
SetContextWizStep
.setClassificationAttributesWizStep
attachments_step
setAccessControlWizStep
defineItemAttributesWizStep
このステップの本体は一般に 4 つのセクションに分かれます。読み取り専用のコンテキストプロパティパネル、タイプピッカー、ドライバ属性プロパティパネル、編集可能属性パネルです。ステップは MVC フレームワークと jsp を使って設定されます。MVC ビルダーは、ステップの (非ドライバ) 属性パネルの内容を定義し、属性パネルを設定します。コンテキストパネル、タイプピッカー、ドライバ属性、プライマリコンテンツパネル (存在する場合)、その他のコンポーネントは jsp 経由で設定されます。必須なのはタイプピッカーだけです。
コンテキストパネル
起動コンテキストから派生するか、前のウィザードステップで入力された作成対象オブジェクトの読み取り専用の情報。オブジェクトが WTContained の場合は、通常、新規オブジェクトのコンテナが表示されます。
ドライバ属性
このプロパティパネルには、属性値を指定できる属性の入力フィールドや、ユーザーが入力するその他の属性に対する制約が表示されます。このパネルの値を変更すると、後続のすべてのウィザードステップが新規の属性値に基づいて自動的に再表示されます。そのため、すべてのドライバ属性をこのセクションに配置する必要があります。
「表示」 > 「組織を公開」が true に設定されており、オブジェクトが OrganizationOwned である場合は、オブジェクトの組織属性用のピッカーがこのパネルに指定されている必要があります。組織 ID によって定義済みのその他の属性値が指定されることはありませんが、カスタマイズの担当者がそれらの依存を設定する場合があります。
存在する場合、オブジェクトタイプは、指定する必要があるその他の属性を示します。詳細については、その他のドライバ属性を使用してステップを作成する方法を参照してください。
編集可能属性パネル
後のステップで入力される部品分類属性を除き、通常は、それまでに入力されなかったオブジェクトタイプのすべてのソフト属性とハード属性が含まれます。
通常、このリストに表示される属性の 1 つは、フォルダの場所になります。フォルダの場所によって管理ドメインが指定され、次に、アクセス制御ポリシーが指定され、次に、ユーザーが作成できるオブジェクトタイプのリストが指定されます。タイプピッカーに示されるタイプのリストは、起動コンテキストから決められるデフォルトのフォルダに基づきます。ユーザーは別のフォルダの場所を選択する可能性があり、その場合、アクセス制御ポリシーはさまざまです。そのため、選択したタイプの作成アクセス許可を持たないフォルダをユーザーが選択できることもありえます。この状態になると、ユーザーが「OK」をクリックしたときにエラーメッセージが表示されます。
チェックボックス
このセクションでは、新規オブジェクトの手順を処理するためのチェックボックスについて説明します。内容は以下のとおりです。
チェックボックスのラベル
適用可能性
説明
「チェックアウト状態を維持」
新規の RevisionControlled オブジェクトで使用
オンにすると、オブジェクトの作成後に自動的にチェックアウトが行われます。
「チェックアウトおよびダウンロード」
テンプレートからドキュメントを作成するときに使用
オンにすると、新規ドキュメントのチェックアウトとダウンロードが行われます。
使用可能
ドキュメントのテンプレートを作成するときに使用
オンにすると、新規テンプレートがすぐに使用可能になります。
ソリューション
新しいウィザードに defineItemAttributesWizStep を追加して、ステップを正しく設定します。
このステップを使用するとき: このステップはタイプ化オブジェクトを作成するときに使用します。編集ウィザードの場合は、editAttributesWizStep を参照してください。
ソリューションエレメント
操作
このステップの操作は次のとおりです。
<action name="defineItemAttributesWizStep" afterVK="setAttributesWizStep"
id="defineItemAttributesWizStep " preloadWizardPage="false" required="true"
resourceBundle="com.ptc.core.ui.componentRB">
<component name=" defineItemAttributesWizStep"
typeBased="true" indowType="wizard_step"/>
</action>
操作ファイル: <Windchill>/codebase/config/actions/actions.xml
* 
このステップの操作は、MVC ビルダー Java クラスを使って作成されたため、command 属性の代わりに component 属性が指定されています。
JSP
ビュー JSP ページ: <Windchill>/codebase/WEB-INF/jsp/netmarkets/object/defineItemAttributesWizStep.jsp
これが、このステップのビューを定義するデフォルト JSP です。このビューは、コンテキスト名の読み取り専用プロパティパネル、タイプピッカー、属性値を入力するためのドライバ属性パネルと編集可能属性パネルを含みます。
既成のビュー JSP は、処理の一部を実行するほかの JSP を含みます。次の表で、これらのサブ JSP について説明します。
JSP
説明
defineItemAttributesWizStep.jsp
「属性を設定」ステップのビュー JSP。タイプピッカーを表示し設定する configureTypePicker タグ、ドライバ属性パネル、プライマリコンテンツパネル (存在する場合)、属性テーブル、チェックボックス (該当する場合) を含みます。
defineItemReadOnlyPropertyPanel.jspf
読み取り専用パネルのための describePropertyPanel タグを含んでいます。
defineItemReadOnlyProperties.jspf
読み取り専用パネルの属性のための describeProperty タグを含んでいます。
defineItem.jspf
ドライバ属性パネルの JSP を検索し、すべてのページエレメントのデータを取得してレンダリングします。読み取り専用サブパネル、タイプピッカー、およびドライバ属性サブパネルを含んでいる renderPropertyPanel タグを含んでいます。タイプピッカーは、タイプ値が変更されるたびに、ドライバ属性パネル、編集可能属性パネル、下流の非プリロードステップを再表示する js 関数を呼び出すように設定されます。
driverAttributesSetup.jspf
TypeBasedIncludeServlet を ajax 呼び出しして、ドライバ属性パネル用の describePropertyPanel タグ、getModel タグ、renderPropertyPanel タグを含む JSP を取得します。特定のタイプの service.properties エントリによってオーバーライドされないかぎり、以下の JSP のいずれかが使用されます。
<Windchill>/codebase/netmarkets/jsp/object/defineItemAttributesPanel.jsp (OrganizationOwned オブジェクトの場合)
これはオーナー組織を入力するコンポーネントを含みます。
「表示」> 「組織を公開」が true に設定されている場合にのみ表示されます。
<Windchill>/codebase/netmarkets/jsp/object/defineItemAttributesPanelEmpty.jsp (その他のすべてのオブジェクトの場合)
defineItemStepContextPanel.jspf
読み取り専用属性サブパネルのための getModel タグと renderPropertyPanel タグを含んでいます。
バリデータ
SetAttributesStepValidator を使って属性設定ウィザードステップのデータを検証できます。
このクラスは、属性設定ステップで入力したすべての属性が有効な値であるかを、制約を確認して検証します。このクラスは必須属性が指定されているかどうかの検証は行いません。その検証はクライアント側で JavaScript によって行います。
タグ
次に挙げるタグはすべて <Windchill>/codebase/WEB-INF/tlds/components.tld ファイルで定義されます。
タグと属性の詳細については、次に示されている Windchill クライアントアーキテクチャ共通コンポーネントタグライブラリについての Javadoc と、タグハンドラについての Javadoc を参照してください。
エレメント
説明
initializeItem
タグに渡される属性値とウィザードの起動コンテキストを使用して作成されるオブジェクトで、いくつかのデータを初期化します。このデータは、HTML フォームデータと NmCommandBean の HTTPRequestData パラメータマップに、非表示のフィールドとして保存されます。
タグハンドラ: com/ptc/core/components/tags/components/InitializeItemTag
attributesTableWizComponent
属性値を入力するときに使用するオブジェクト属性の属性レイアウトを作成します。レイアウトには、名前と値のペアのグループを含み、「タイプおよび属性の管理」ユーティリティによって制御されます。
このタグは、ドライバ属性の検証後にドライバ属性が有効であった場合にだけ、属性を描画します。
WEB-INF\tags\mvc\attributesTableWizComponent.tag
configureTypePicker
タイプピッカーテーブルを設定します。詳細については、タイプピッカーを設定するを参照してください。
タグハンドラ: com/ptc/core/components/tags/components/ConfigureTypePickerTag
ほかの Java クラス
これらの追加の java クラスは、このステップの作成に関わっていて、高度なカスタマイズに利用できます。
DefineItemAttributesWizStepBuilder: ドライバ属性と属性テーブルを含む「属性を設定」ステップの MVC ビルダー。
TypedAttributesPanelBuilder: 属性パネル用の MVC ビルダー。
手順 - ステップを設定する
wizard タグに操作を追加する
このステップをウィザードに追加するには、次のタグを使用します: <jca:wizardStep action="defineItemAttributesWizStep" type="object"/>
initializeItem タグを追加する
InitializeItem タグは、ウィザードの起動コンテキストから作成するオブジェクトのデータとタグに渡される属性を初期化します。この情報には以下の内容が含まれています。
操作の種類 (作成または編集)
作成するオブジェクトの基本タイプ
デフォルトのコンテナ
タイプピッカーの初期値
作成するオブジェクトのタイプインスタンス識別子
AttributePopulator クラス (該当する場合)
このタグの属性については、「属性を設定」ステップのデフォルトビュー JSPを参照してください。必須属性は operation だけです。
<jca:initializeItem operation="${createBean.create}" baseTypeName="wt.doc.WTDocument|org.rnd.FakeLiterature"/>
属性をレイアウトする
このステップに表示される属性は、「タイプおよび属性の管理」ユーティリティで制御されます。このステップの属性の配置の詳細については、属性パネルを参照してください。
カスタマイズ
「属性を設定」ステップがウィザードの最初のステップである場合、または、このステップが以前のステップのデータによってまったく影響されない場合は、ステップをプリロードできます。そうでない場合は、ステップの操作で、プリロードしないように指定します。ウィザードに「コンテキストを設定」ステップとタイプピッカーがある場合は、コンテキストがタイプピッカーの内容に影響を及ぼすため、プリロードはしないでください。
以降のセクションでは、このステップで共通するカスタマイズの実行方法について説明します。
* 
カスタマイズの管理に記載されているように、カスタムの jsp ファイルと jspf ファイルは、必ず wtSafeArea の下のディレクトリに置いてください。
<initializeItem> タグのパラメータ
タグパラメータの最新情報については、com.ptc.core.components.tags.InitializeItemTag および共通コンポーネントタグライブラリの Javadoc を参照してください。
パラメータ
デフォルト値
有効な値
必須
説明
operation
なし
CreateAndEditWizBean.CREATE
CreateAndEditWizBean.EDIT
Yes
オブジェクトの作成または編集が示されます。
objectHandle
単一オブジェクトの作成ウィザードでは使用されません。
baseTypeName
ウィザード操作に関連付けられているタイプ
Windchill タイプ識別子文字列
いいえ
作成するオブジェクトクラスの Windchill タイプ識別子の文字列形式。"wt.part.WTPart" または "wt.part.WTPart|MySoftPart" など。
このクラスは、ウィザードのタイプピッカーでルートタイプになります。タイプピッカーで特定のタイプが選択されるまで、さまざまなサブクラスでさまざまなバリエーションを持つウィザードステップ用の適切な JSP を検索するためにも使用されます。オプションです。指定されていない場合は、
ウィザード操作に関連付けられているタイプが使用されます。
タイプピッカーを設定する
ウィザードの基本タイプは InitializeItem タグの属性から派生しますが、このタグに属性がない場合はウィザード操作に関連付けられているオブジェクトタイプから派生します (詳細については、後述の InitializeItem タグを参照)。ユーザーが基本タイプまたは基本タイプのサブタイプを作成できるようにするには、ウィザードにタイプピッカーを含めます。
タイプピッカーで使用可能なタイプのリストは、一般的に以下のように決定されます。
1. 基本タイプのハードサブタイプおよびソフトサブタイプのリストを計算します。ソフトサブタイプは、特定の組織コンテナで基本タイプに定義されるインスタンス化可能なサブタイプです。
2. 特定のコンテナタイプの複合オブジェクトの初期化規則に基づき、基本タイプと各サブタイプのデフォルトのライフサイクル状態と初期ライフサイクル状態を指定します。
3. 新規オブジェクトのデフォルトのフォルダ場所コンテキストを指定します。これは、次のように指定します。
4. レンダラー制約 SelectGeneratedFolderByDefault が基本タイプの複合 OIR で定義されている場合、または、共有先コンテナのフォルダブラウザから共有オブジェクトを作成している場合
ターゲットコンテナの基本タイプの OIR によって定義されたフォルダを使用します。
OIR フォルダが定義されていない場合は、ターゲットコンテナのデフォルトキャビネットを使用します。
5. レンダラー制約が定義されていて、共有先オブジェクトでない場合
起動コンテキストで選択されたフォルダを使用します。これは、フォルダブラウザテーブルでチェックされたフォルダ、フォルダブラウザの左枠でハイライトされたフォルダ、または作成操作を開始した情報ページのビジネスオブジェクトに関連付けられたフォルダです。
起動コンテキストによってフォルダが決まらない場合は、先述のアイテム i で示したようにフォルダを決定します。
6. デフォルトの初期ライフサイクル状態およびフォルダの場所の管理ドメインに基づいて、タイプごとにユーザーに作成アクセス許可を付与するかどうかを指定します。指定しない場合は、リストのタイプがフィルタ処理されます。
7. ピッカーに残りのタイプを表示します。
以下のように、タイプピッカーのデフォルト値は、基本タイプに対応するプリファレンスによって決まります。
基本タイプ
プリファレンス
WTPart
「作成および編集」> 「部品作成のデフォルトタイプ」
WTDocument
「作成および編集」> 「ドキュメント作成のデフォルトタイプ」
WTChangeIssue (問題レポート)
「作成および編集」> 「問題レポート作成のデフォルトタイプ」
WTChangeRequest2 (変更リクエスト)
「作成および編集」> 「変更リクエスト作成のタイプ」
WTChangeOrder2 (変更通知)
「作成および編集」> 「変更通知作成のデフォルトタイプ」
WTChangeActivity2 (変更タスク)
「作成および編集」> 「変更タスク作成のデフォルトタイプ」
WTVariance (一時許可)
「作成および編集」> 「一時許可作成のデフォルトタイプ」
すべてのその他のウィザードでは、基本タイプがデフォルトのタイプとして使用されます。
ユーザーがタイプピッカーでタイプを選択すると、JavaScript によってタイプピッカー下部のドライバ属性パネルおよび後続のすべてのウィザードステップが再表示されます。オブジェクトタイプは、JSP で使用される後続のステップと表示される属性入力フィールドに影響を与える可能性があるため、この処理が必要になります。
タイプピッカーを再設定する方法
タイプピッカーを修正して、リストから特定のタイプをフィルタリングしたり、異なるデフォルト値を指定したりできます。設定パラメータは ConfigureTypePicker タグの Javadoc で説明されています。
異なるピッカーパラメータを指定するには、以下の手順を実行する必要があります。
1. ウィザードの jsp で、ファイルの先頭に次の行を追加します。
<%@ taglib uri="http://www.ptc.com/windchill/taglib/picker" prefix="p"%>
2. configureTypePicker タグを追加します。
3. ConfigureTypePickerTag についての Javadoc に示されているように、pickerParam サブタグを configureTypePicker タグに追加します。
例については、「チェックアウト状態を維持」チェックボックスを使う作成ウィザードを参照してください。
<configureTypePicker> タグのパラメータ
このタグのパラメータは、pickerParam サブタグの形式です。パラメータはすべてオプションです。構文の例を次に示します。
<jca:configureTypePicker>
      <p:pickerParam name="seedType" value="wt.part.WTPart|org.r_and_d.
SoftPartType1/>
      <p:pickerParam name="filterType"
value="wt.part.WTPart|org.r_and_d.SoftPartType1|org.r_and_d.
SoftPartType1B"/>
<p:pickerParam name="showRoot" value="false"/>
</jca:configureTypePicker>
パラメータ
デフォルト値
有効な値
説明
seedType
なし
Windchill タイプ識別子文字列 (論理または外部)
タイプリストの生成に使用する最上位レベルのタイプ。"wt.part.WTPart" など。これらのパラメータを複数含む場合があります。
defaultType
プリファレンスで指定されることがあります (前述の表を参照してください)。
その他のウィザードの場合、基本タイプが使用されます。
Windchill タイプ識別子文字列 (論理または外部)
デフォルトによって選択されるタイプ。"wt.part.WTPart" など。タイプ名ではなく "Select a Type" などの文字列の場合もあります。
filterType
なし
Windchill タイプ識別子文字列 (論理または外部)
タイプリストから除外されるタイプ。"SoftPartType1" など。フィルタタイプの子も除外されます。これらのパラメータを複数含む場合があります。
displayHierarchy
false
true (階層を表示する場合)
false (平坦なリストで表示する場合)
タイプリストをフラットなリストで表示するか、階層形式で表示するかを示します。
showRoot
true
true (シードタイプを表示する場合)
false (シードタイプを表示しない場合)
seedTypes の表示または非表示。
adminDomainRefString
デフォルトのフォルダの場所に関連付けられたドメイン (概要を参照)
管理ドメインの参照文字列
タイプリストのアクセス制御フィルタで使用される管理ドメイン参照の文字列表示。"wt.admin.AdministrativeDomain:7" など。
タイプ
BOTH
ROOT_TYPES (seedTypes のみが表示される場合)
SOFT_TYPES (サブタイプのみが表示される場合)
MODELED_TYPES (モデル化されたタイプのみが表示される場合)
BOTH (モデル化されたタイプとサブタイプの両方が表示される場合)
表示されるさまざまなタイプを示します。値は、com.ptc.windchill.enterprise.picker.type.server.TypePickerTypes で定義される列挙定数のいずれかでなければなりません。
ステップのコンポーネントの追加方法
ステップにコンポーネントを追加するには (チェックボックスを下部に追加するなど)、次の作業を行います。
1. ステップのための新しいメイン jsp ファイルを作成します。
2. <Windchill>/netmarkets/jsp/object/defineItemWizStep.jsp ファイルのコンテンツを新しいファイルにコピーします。
3. 目的のコンポーネントを次のようにページに追加します。
<div id='driverAttributesPane'>
...
</div>
Add components here if you want them to appear below the
drive attributes panel

<div id='setAttributesTablePane'></div>
Add components here if you want them to appear below the attributes panel
4. ステップの新しいビルダークラスを作成し、getView() メソッドをオーバーライドしてステップのビュー jsp を指定します。
このステップのビルダークラスに付ける名前の候補は、
<object type> DefineItemAttributesWizStepBuilder.java
このステップのビュー JSP に付ける名前の候補は、
defineItemAttributesWizStep.jsp
または
defineItemAttributesWizStep For<object type>.jsp (ディレクトリに複数ある場合)
オブジェクトが RevisionControlled である場合は、一例として、「チェックアウト状態を維持」チェックボックスを追加できます。このチェックボックスを表示するには、ビュー JSP に次の JSP ファイルをインクルードします。/netmarkets/jsp/components/keepCheckedOutCheckbox.jspf
例については、WTPart の「属性を設定」ステップのデフォルトビュー JSPおよび「チェックアウト状態を維持」チェックボックスを使う作成ウィザードを参照してください。
ステップのコンポーネントの除去方法
1. ステップのための新しいメイン jsp ファイルを作成します。
2. <Windchill>/netmarkets/jsp/object/defineItemWizStep.jsp ファイルのコンテンツを新しいファイルにコピーします。
3. たとえば、読み取り専用プロパティパネルというコンポーネントを除去するとします。その場合は、ファイルから次の行を削除します。
<%@ include file="/netmarkets/jsp/components/
defineItemReadOnlyPropertyPanel.jspf"%>
ステップの読み取り専用プロパティパネルのコンテンツの修正方法
1. ステップのための新しいメイン jsp ファイルを作成します。
2. <Windchill>/netmarkets/jsp/object/defineItemWizStep.jsp ファイルのコンテンツを新規のメイン jsp ファイルにコピーします。
3. 次の行を削除し、表示する属性を含むカスタムの describePropertyPanel タグに置き換えます。
<%@ include file="/netmarkets/jsp/components/
defineItemReadOnlyPropertyPanel.jspf"%>
describePropertyPanel タグで次の属性を設定してください。
属性
var
"defineItemStepContextPanelDescriptor"
id
"defineItemStepContextPanelDescriptor"
scope
"request"
mode
"VIEW"
または、埋め込まれているタグと置換せずに、describePropertyPanel タグを含んでいる新規の jspf ファイルを指定することができます。
例については、WTPart のアイテム定義パネルを定義する JSPを参照してください。
ドライバ属性を使用せずにステップを作成する方法
この場合、新規のウィザードステップ JSP を作成する必要はありません。
次に示すように、jsp ファイル defineItemAttributesPanelEmpty を示すタイプベースのサービスプロパティ xconf ファイルを作成します。
<Resource context="default" name="com.ptc.netmarkets.util.misc.FilePathFactory">
<Option requestor="<object type to be created>"
resource=”/netmarkets/jsp/object/defineItemAttributesPanelEmpty.jsp”
selector="defineItemAttributesPanel"/>
</Resource>
その他のドライバ属性を使用してステップを作成する方法
この場合、新規のウィザードステップ JSP を作成する必要はなく、以下のように、ドライバ属性の新規のサブ JSP ファイルを使用します。
1. ドライバ属性について、describePropertyPanel、getModel、および renderPropertyPanel タグを含んでいる新規の JSP ファイルを作成します(.jspf ファイルではなく .jsp ファイルを作成してください)。<Windchill>/codebase/netmarkets/jsp/object/defineItemAttributesPanel.jsp ファイルをサンプルとして使用し、describePropertyPanel タグに表示する属性を示します。この JSP の出力は解析されてページに動的に挿入されるため、前述の 3 つのタグ以外に、表示テキストや HTML を含むことはできません。
2. 次のように、新規の jsp ファイルを示すタイプベースのサービスプロパティ xconf ファイル内にエントリを作成します。
<Resource context="default"
name="com.ptc.netmarkets.util.misc.FilePathFactory">
<Option requestor="<object type to be created>"
resource=”<path to your jsp page ”>
selector="defineItemAttributesPanel"/>
</Resource>
editAttributesWizStep
このステップはほとんどすべての編集ウィザードに共通で、ユーザーはオブジェクトのほとんどの属性を編集できます。一般に、読み取り専用コンテキストプロパティパネルと属性入力パネルを含みます。
デフォルトでは、読み取り専用属性はありません。編集が望ましい属性はオブジェクトタイプごとに異なります。必要な場合は、MVC ビルダーを使って、所定のタイプに表示する読み取り専用属性セットを設定します。読み取り専用として表示される一般的な属性は次のとおりです。
オブジェクトタイプ
コンテナ名 (オブジェクトが WTContained の場合)
組織 ID (新規オブジェクトが OrganizationOwned でプリファレンスの「表示」> 「組織を公開」が true に設定されている場合)
そのオブジェクトタイプでこのパネルに表示する必要のある情報は何かを決定する必要があります。
属性入力パネルは、一般に、オブジェクトタイプのすべての編集可能なソフト属性とハード属性の入力フィールドを含みますが、部品分類属性の入力フィールドは含みません。これは後のステップで入力します。このパネルで表示する属性セットは、「タイプおよび属性の管理」ユーティリティによって制御されます。
ソリューション
新しいウィザードに editAttributesWizStep を追加して、ステップを設定します。
このステップを使用するとき
このステップはオブジェクトの編集に使用します。オブジェクトの作成については、defineItemAttributesWizStepを参照してください。
ソリューションエレメント
操作
<action name="editAttributesWizStep" id="editAttributesWizStep"
preloadWizardPage="false"
required="true" afterVK="editAttributes" resourceBundle=
"com.ptc.core.ui.componentRB">
<component name="editAttributesWizStep" typeBased="true"
windowType="wizard_step"/>
</action>
操作ファイル: <Windchill>/codebase/config/actions/actions.xml
このステップがウィザードの最初のステップではなく、それより前のステップに依存する場合は、editAttributesWizStep 操作によってページが非プリロードに指定されます。ただし、最初のステップである場合は、操作での指定方法にかかわらず、この操作はフレームワークによってプリロードされます。
JSP
ビュー JSP ページ: <Windchill>/codebase/netmarkets/jsp/object/propertyAttributesWizStep.jsp
バリデータ
EditAttributesStepValidator を使って、このステップで入力したデータを検証できます。このクラスは、属性編集ステップで入力したすべての属性が有効な値であるかを、制約を確認して検証します。必須属性が指定されているかどうかの検証は、クライアント側で JavaScript を使用して行われます。
ほかの Java クラス
これらの追加の java クラスは、このステップの作成に関わっていて、高度なカスタマイズに利用できます。
DefaultEditAttributesWizStepBuilder: 「属性を設定」ステップ用の MVC ビルダー。空の読み取り専用属性領域と編集可能属性パネルを含みます。このクラスを継承して、空でない読み取り専用属性セットを定義します。
TypedAttributesPanelBuilder: 属性パネル用の MVC ビルダー。
手順 - ステップを設定する
wizard タグに操作を追加する
このステップをウィザードに追加するには、次のタグを使用します。<jca:wizardStep action="editAttributesWizStep" type="object"/>
initalizeItem タグを追加する
defineItemAttributesWizStep と同様に、editAttributesWizStep にも initializeItem タグが必須です。このタグの操作属性を ${createBean.create} に設定する代わりに、${createBean.edit} に設定します。編集ウィザードには、objectHandle および baseTypeName タグ属性は適用できません。
属性をレイアウトする
このステップに表示される属性は、「タイプおよび属性の管理」ユーティリティで制御されます。このステップの属性の配置の詳細については、属性パネルを参照してください。
カスタマイズ - ステップの読み取り専用プロパティパネルのコンテンツの修正方法
読み取り専用属性パネルを修正して、属性を追加するには EditAttributesWizStepBuilder を作成します。新しいビルダーは DefaultEditAttributesWizStepBuilder を継承し、buildReadOnlyAttributePanelConfig メソッドを実装する必要があります。このメソッドでは、目的の属性を含む AttributePanelConfig を作成します。TypeBased アノテーションを使って、ビルダーの適用対象のタイプを指定します。ビルダーの例は、単一オブジェクトを編集するウィザードの構築の基本的な編集ウィザードの例にあります。
基本的なビルダーは次のようになります。
@TypeBased(value = "FakeLiterature")
public class LiteratureEditDetailsWizStepBuilder extends
DefaultEditAttributesWizStepBuilder {
@Override
protected AttributePanelConfig buildReadOnlyAttributePanelConfig
(ComponentParams params) throws WTException {
ComponentConfigFactory factory = getComponentConfigFactory();
AttributePanelConfig attrPanel = factory.newAttributePanelConfig();
attrPanel.addComponent(getContainerAttributeConfig(params));
attrPanel.addComponent(factory.newAttributeConfig(DescriptorConstants.
ColumnIdentifiers.TYPE));
return attrPanel;
}
}
SetContextWizStep
通常このステップには入力フィールドが 1 つだけあり、この入力フィールドが、作成されるオブジェクトの所有コンテナのピッカーになります。選択されたコンテナは、ほかの属性に適した OIR を選択するために使用されます。
多くの場合、コンテナはウィザードの起動コンテキストから決定されるため、このステップは必要ありません。たとえば、製品のフォルダページからウィザードが起動されると、コンテナがその製品と見なされます。
ソリューション
新しいウィザードに SetContextWizStep を追加して、ステップを設定します。
このステップを使用するとき
このステップは WTContained オブジェクト専用です。このステップはコンテキスト (コンテナ) ピッカーを含んでおり、起動コンテキストからコンテナを指定できない場合や、ユーザーがコンテナを選択できるようにする場合は、WTContained オブジェクトで作成ウィザードに含める必要があります。
ソリューションエレメント
操作
<action name="setContextWizStep" id="setContextWizStep" preloadWizardPage="true"
required="true"
afterVK="setContextWizStep">
<command windowType="wizard_step"/>
</action>
操作ファイル: <Windchill>/codebase/config/actions/actions.xml
JSP
ビュー JSP ページ: <Windchill>/codebase/WEB-INF/jsp/netmarkets/object/setContextWizStep.jsp
バリデータ
ContextWizardStepValidator を使ってコンテキスト設定ウィザードステップのデータを検証できます。ContextWizardStepValidator は、フォームデータが有効なコンテナオブジェクト参照を含んでいることだけを検証します。
このバリデータは、ステップをウィザードで表示する必要があるかどうかも判断します。起動ポイントからコンテキストが決定された場合は、ウィザードに含まれている場合でも、このステップはスキップされます。
手順 - ステップを設定する
wizard タグに操作を追加する
このステップをウィザードに追加するには、次のタグを使用します。<jca:wizardStep action="setContextWizStep" type="object"/>
このステップを使う場合は、ウィザードの最初のステップにすることをお勧めします。
カスタマイズ - カスタムのコンテキスト設定ステップ JSP ページの作成
カスタムウィザードに「コンテキストを設定」ステップがある場合、通常は、先に挙げた定義済みのステップ JSP で十分です。カスタムステップ JSP を開発する必要があるのは、「オブジェクトを定義」ステップで示される属性を表示する前に、追加属性値を捕捉する必要がある場合のみです。
たとえば、以下のように仮定します。
ウィザードの起動ポイントにフォルダコンテキストがない。
新規オブジェクトのデフォルトのフォルダ位置を設定する OIR がない。
特定のオブジェクトのサブタイプについて、ユーザーの作成アクセス許可を拒否するアクセス制御ポリシーを定義した。これらのポリシーは、新規オブジェクトが配置されるフォルダに関連付けられる管理ドメインに基づきます。
この場合、フォルダの選択に対してオブジェクトコンテナが影響を及ぼすことはないので、使用可能なタイプのリストを正確に判断できるように、ユーザーがフォルダの位置を選択するようにします。この場合、「オブジェクトを定義」ステップの前のステップに、フォルダ入力フィールドを配置することができます。この入力フィールドを「コンテキストを設定」ステップに追加するか、追加のステップをウィザードに追加すると、「コンテキストを設定」ステップの前後いずれかでフォルダの位置を捕捉できます (いずれの方法でも、「コンテキストを設定」ステップでのユーザーのフォルダ選択に基づくタイプピッカーに管理ドメインパラメータを設定できるように、「オブジェクトを定義」ステップのために独自の JSP も必要になります)。
カスタムの「コンテキストを設定」JSP が必要で、そこでコンテナピッカーが必要な場合は、定義済み JSP の内容をコピーするのではなく、定義済み JSP をインクルードすることをお勧めします。こうすることによって、今後のリリースでコンテキストピッカーが修正されたとしても、カスタムページは正常に動作し続けます。
setClassificationAttributesWizStep
ソリューション
新しいウィザードに setClassificationAttributesWizStep を追加して、ステップを設定します。
このステップを使用するとき
PartsLink がインストールされている場合、このステップは WTParts とそのサブタイプにのみ適用されます。これは、部品が分類される場合にのみ表示される動的なステップです。このステップでは、部品の分類属性を修正できます。上部に表示モードで部品の分類が表示され、続いて、分類属性の入力フィールドのテーブルも示されます。このステップは、オブジェクトの作成と編集の両方に使用できます。
「分類属性を設定」ステップは、非表示とマークされます。このステップは、ユーザーが
「属性を設定」ステップで「分類を選択」ラジオボタンをクリックした場合、動的にウィザードに挿入されます。「分類しない」ラジオボタンをクリックして部品を分類しない場合、動的に除去されます。
ソリューションエレメント
操作
<action name="setClassificationAttributesWizStep"
id="setClassificationAttributesWizStep"
hidden="true" required="true" preloadWizardPage="false">
<command windowType="wizard_step"/>
</action>
操作ファイル: <Windchill>/codebase/ config/actions/PartManagement-actions.xml
JSP
ビュー JSP ページ: <Windchill>/codebase/netmarkets/jsp/part/setClassificationAttributesWizStep.jsp
バリデータ
「分類属性を設定」ステップでは、「属性を設定」ステップと同じバリデータが使用されます。
手順 - ステップを設定する
このステップをウィザードに追加するには、次のタグを使用します。
<jca:wizardStep action=" setClassificationAttributesWizStep" type="part"/>
ウィザードステップに操作を追加する
カスタマイズ
編集ウィザードでのステップの使用
「分類属性を設定」ステップを含む編集ウィザードを作成するとき、編集する部品を分類する場合は、そのステップを動的にロードする必要があります。そのためには、<Windchill>/codebase/netmarkets/javascript/part/PartHelper.js にある js 関数 loadClassificationStep() を使用できます。多くの場合、この関数は、次に示すようにウィザードでメインウィザード jsp がロードされる際に、onloadEditPartWizard() 関数を呼び出すことによって間接的に呼び出されます。
<script language="JavaScript" src="netmarkets/javascript/part/PartHelper.js">
</script>
... full jsp contents, the following javascript
should be the last thing in the file...
<script language="Javascript">
PTC.onReady(onloadEditPartWizard);
</script>
onloadEditPartWizard() 関数によって loadClassificationStep() が呼び出され、ワークスペースから起動されたウィザードの追加設定も行われます。この関数は、ウィザードがワークスペースから起動できるかどうかに関係なく使用できます。
attachments_step
通常、このステップはオブジェクト ContentHolders を作成または編集するときに指定されます。このステップを指定すると、ユーザーが、ドキュメント、リンク、およびその他のコンテンツを新規オブジェクトに添付できるようになります。
このステップを組み込むために含める必要のあるエレメントの情報については、添付資料を参照してください。
添付資料ステップでは、バリデータは提供されず、必要もありません。
setAccessControlWizStep
このステップは、一般に、ユーザーがオブジェクトのアクセス許可を修正できるようにするときに指定されます。
このステップを組み込むために含める必要のあるエレメントの情報については、コンポーネントのアクセス制御を参照してください。
サンプルコード
「属性を設定」ステップのデフォルトビュー JSP
この JSP は、<Windchill>/codebase/config/actions/actions.xml にある objecttype=object の "defineItemAttributesWizStep" 操作の MVC ビューです。任意のオブジェクトの「属性を設定」ステップの MVC ビルダーは、DefineItemAttributesWizStepBuilderです。ビルダーの MVC ビューは、WEB_INF/jsp/object/ defineItemAttributesWizStep.jsp で定義されます。
次のセクションのWTPart の「属性を設定」ステップのデフォルトビュー JSPでは、WTPart がカスタマイズしたタイプピッカーと ReadOnlyPropertyPanel を含む必要がある場合に、オブジェクトタイプ WTPart について独自のビュー JSP を作成する方法を示しています。
<%@ taglib uri="http://www.ptc.com/windchill/taglib/jcaMvc" prefix="mvc"%>
<%@ include file="/netmarkets/jsp/components/beginWizard.jspf"%>
<%@ include file="/netmarkets/jsp/components/createEditUIText.jspf"%>
<%@ include file="/netmarkets/jsp/components/includeWizBean.jspf"%Ok. W>
//The driver attribute panel that defines the top section that includes the read
only property panel for context, type picker and driver attributes
<div id='driverAttributesPane'>
<%@ include
file="/netmarkets/jsp/components/defineItemReadOnlyPropertyPanel.jspf"%>
<jca:configureTypePicker/>
<%@ include file="/netmarkets/jsp/components/defineItem.jspf"%>
</div>
//Include Attribute Panel defining the non driver attributes
<mvc:attributesTableWizComponent/>
<%@ include file="/netmarkets/jsp/util/end.jspf"%>
WTPart の「属性を設定」ステップのデフォルトビュー JSP
WTPart はカスタマイズしたタイプピッカー、ReadOnlyPropertyPanel、CreateCadDocStep option に関連するカスタム情報を含める必要があります。そのため、WTPart のビルダー (PartDefineItemAttributesWizStepBuilder) を定義して、「属性を設定」ステップ (WEB_INF/jsp/part/ defineItemAttributesWizStep.jsp) のビューを設定する必要があります。
汎用ステップとの唯一の違いは、ドライバ属性を描画する JSP が異なっている点です。
<%@ taglib uri="http://www.ptc.com/windchill/taglib/jcaMvc" prefix="mvc"%>
<%@ taglib uri="http://www.ptc.com/windchill/taglib/mvc" prefix="mvc1"%>
<%@ include file="/netmarkets/jsp/components/beginWizard.jspf"%>
<%@ include file="/netmarkets/jsp/components/createEditUIText.jspf"%>
<%@ include file="/netmarkets/jsp/components/includeWizBean.jspf"%>
<%@ taglib uri="http://www.ptc.com/windchill/taglib/wrappers" prefix="wrap"%>
<%@ page import="com.ptc.windchill.enterprise.part.partResource" %>
<fmt:setBundle basename="com.ptc.windchill.enterprise.part.partResource"/>
<fmt:message var="createCADDocument" key="<%= partResource.CREATE_CAD_DOC_
FROM_NEW_PART_LABEL %>" />
<div id='${createBean.currentObjectHandle}driverAttributesPane'>
<%@ include file="/netmarkets/jsp/part/defineItem.jspf"%>
</div>
<mvc:attributesTableWizComponent/>
<c:if test='${param.showNewCADDocStep == "true"}'>
<wrap:checkBox name="createCADDocForPart" id="createCADDocForPart"
label="${createCADDocument}" renderLabel="true"
renderLabelOnRight="true" checked="false"
onclick="toggleCreateCADDocStep('part.defineItemAttributesWizStepForCADDoc!~
objectHandle~caddocHandle~!');" />
</c:if>

<br>
<c:if test='${param.invokedfrom != "workspace"}'>
<%@ include
file="/netmarkets/jsp/components/keepCheckedOutCheckbox.jspf"%
>
</c:if>
<input id="selectedClfNodes" type="hidden" name="selectedClfNodes" >
<input id="selectedClfNodesDisplayName" type="hidden"
name="selectedClfNodesDisplayName" >
<%@ include file="/netmarkets/jsp/util/end.jspf"%>
WTPart のアイテム定義パネルを定義する JSP
ファイル名: <Windchill>/codebase/ netmarkets/jsp/part/defineItem.jspf
この例では、読み取り専用コンテキストパネルをオーバーライドし、タイプピッカーを再設定する方法を示します。
<%@ page import="com.ptc.windchill.enterprise.part.PartConstants" %>
<%@ page import="com.ptc.core.ui.componentRB" %>
<%@ taglib uri="http://www.ptc.com/windchill/taglib/components"
prefix="jca"%>
<%@ taglib uri="http://www.ptc.com/windchill/taglib/picker" prefix="p"%>
<%@ taglib uri="http://www.ptc.com/windchill/taglib/partcomponents"
prefix="partcomp"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.ptc.com/windchill/taglib/fmt" prefix="fmt"%>
<jca:describePropertyPanel var="defineItemStepContextPanelDescriptor"
id="defineItemStepContextPanelDescriptor"
scope="request" mode="VIEW" type="wt.part.WTPart">
<jca:describeProperty id="containerName"
label="${createBean.containerLabel}"/>
</jca:describePropertyPanel>

<%-- Get the part types to filter from type picker selection list --%>
<partcomp:PartCreateHelper var="partTypesToFilter"
method="getPartTypesToFilter"/>
<c:choose>
<c:when test='${param.invokedfrom == "tabular_input"}' >
<!-- If New Part client is invoked from Edit Structure, association
constraints need to be enforced. (Please see the Javadoc for
DefaultAssociationConstraintIT for more details). The list of
creatable types needs to be filtered out to inlcude only the
types allowed by association constrains. This is achieved by
finding the list of valid (allowable) types using the
getSeedPartTypes below and then setting the type picker's
'type' parameter to 'ROOT_TYPES' -->
<!-- Get the seed part types. Usually, it is wt.part.WTPart but
it can be a bunch of types if association contraints
are in place -->
<partcomp:PartCreateHelper var="seedPartTypes" method="getSeedPartTypes"/>
<jca:configureTypePicker>
<%--
Type Picker picks up the default from Preferences.
It does not have be set here.
--%>
<c:forEach var="item" items="${seedPartTypes}">
<p:pickerParam name="seedType" value="${item}"/>
</c:forEach>
<c:forEach var="item" items="${partTypesToFilter}">
<p:pickerParam name="filterType" value="${item}"/>
</c:forEach>
<p:pickerParam name="type" value="ROOT_TYPES"/>
</jca:configureTypePicker>

</c:when>
<c:when test='${param.invokedfrom == "config_link_table"}' >
<!-- The part types in the type picker must come from the
association constraints on the configurable link. -->
<clui:getRoleBTypesForNewAction var="roleBObjectTypes"
roleBBaseType="wt.part.WTPart"/>
<jca:configureTypePicker>
<c:forEach var="item" items="${roleBObjectTypes}">
<p:pickerParam name="seedType" value="${item}"/>
</c:forEach>
<c:forEach var="item" items="${partTypesToFilter}">
<p:pickerParam name="filterType" value="${item}"/>
</c:forEach>
<p:pickerParam name="type" value="ROOT_TYPES"/>
</jca:configureTypePicker>
</c:when>
<c:otherwise>
<jca:configureTypePicker>
<%--
Type Picker picks up the default from Preferences.
It does not have be set here.
--%>
<c:forEach var="item" items="${partTypesToFilter}">
<p:pickerParam name="filterType" value="${item}"/>
</c:forEach>
</jca:configureTypePicker>
</c:otherwise>
</c:choose>
<%@ include file="/netmarkets/jsp/components/defineItem.jspf"%>
その他のリソース
関連カスタマイズドキュメント
Windchill クライアントアーキテクチャウィザード
ウィザード処理
コンテキストピッカーの設定
タイプピッカーの設定
組織ピッカーの設定
ユーザーピッカーの設定
アイテムピッカーの設定
単一オブジェクトを作成するウィザードの構築
単一オブジェクトを編集するウィザードの構築
添付資料
コンポーネントのアクセス制御
属性のカスタマイズ
関連パッケージ/クラスの Javadoc
com.ptc.core.components.tags.components..InitializeItemTag
com.ptc.core.components.tags.components.ConfigureTypePickerTag
Common Components Tag Lib Javadoc