複数参加者選択ウィザードのカスタマイズ
Windchill の実装時にカスタマイズを行うことで、変更タスクまたはプロモーションリクエストの参加者選択テーブルに表示可能な内容をより詳細に制御できます。変更タスクおよびプロモーションリクエストウィザードで参加者選択コンポーネントに対してサポートされているカスタマイズの詳細情報は以下のとおりです。
ソリューション
デフォルトの参加者コンフィギュレーションの委任を拡張して、変更タスクまたはプロモーションリクエストウィザードの参加者ピッカーのデフォルト表示をオーバーライドします。
前提となる知識
このカスタマイズを実行するには、以下のことを理解している必要があります。
Java とプロパティに関連した基本的な開発。
ソリューションエレメント
エレメント
パッケージ
タイプ
説明
ParticipantConfiguration
com.ptc.windchill.enterprise.wizardParticipant.configuration
インタフェース
異なるコンフィギュレーションのウィザードの参加者選択テーブルの表示を制御する委任のインタフェース。
DefaultParticipantConfiguration
com.ptc.windchill.enterprise.wizardParticipant.configuration
クラス
異なるコンフィギュレーションのウィザードの参加者選択テーブルを表示するためのデフォルトの委任。
PromotionParticipantConfiguration
com.ptc.windchill.enterprise.maturity.configuration
クラス
プロモーションウィザードの参加者選択テーブルを表示するためのコンフィギュレーション委任。
typedservice.properties.xconf
xconf
参加者コンフィギュレーション委任は、タイプ設定されたサービスプロパティで登録されます。
ParticipantsFormDelegate
com.ptc.windchill.enterprise.wizardParticipant.forms
クラス
ワークフローチーム参加者の選択を処理するためのフォーム委任。
PromotionParticipantsFormDelegate
com.ptc.windchill.enterprise.maturity.forms.delegates
クラス
選択プロセスと、選択されたプロセスのワークフロー参加者の選択を保存します。
カスタマイズポイント
表示のオーバーライド
変更タスクまたはプロモーションリクエストウィザードの参加者選択ピッカーの表示をオーバーライドするには、目的の動作を提供するように DefaultParticipantConfiguration 委任を拡張する必要があります。プロモーションリクエストは、PromotionParticipantConfiguration によって実装されたデフォルト表示動作の一部をオーバーライドします。カスタマイズされた参加者コンフィギュレーション委任を使用するためには、まず、その委任を使用するオブジェクトのタイプ用に、typedservice.properties で登録する必要があります。typedservice.properties は直接更新できないので、代わりにカスタムの typedservice.properties.xonf を作成して委任を登録します。現時点でサポートされているタイプは、プロモーションリクエスト、変更タスク、任意のサブタイプです。プロモーションリクエストオブジェクト用に登録されている委任の例を次に示します。
<Service context="default"
name= "com.ptc.windchill.enterprise.wizardParticipant.
configuration.ParticipantConfiguration" >
<Option requestor="wt.maturity.PromotionNotice"
selector="wizardParticipantConfiguration"
serviceClass= "com.ptc.windchill.enterprise.maturity.configuration.
PromotionParticipantConfiguration" />
</Service>
次の表は、オーバーライド可能な特定の表示コンフィギュレーションについて説明しています。
API
説明
デフォルトの動作 (変更タスク)
オーバーライドされるプロモーションリクエストの動作
getWorkFlowTemplate
選択用に表示されるワークフロー役割と参加者リストの表示のために使用するリソースプールを定義するために使用されるワークフロープロセステンプレート。
ウィザードで選択されたオブジェクトタイプから、ライフサイクルテンプレートのワークフロープロセステンプレートを検索します。
getWorkflowResourcePools
選択に使用できる参加者リストを表示するために使用されるリソースプール。マップには、コンテキストチーム、チームテンプレート、チーム、またはグループのセットで、ワークフロー役割がキーと値として含まれます。
選択に使用できる参加者リストを表示するために使用されるリソースプール。getWorkFlowTemplate(FormDataHolder) から返されるワークフロープロセステンプレートと、フォームデータ内にあるコンテナのコンテキストチームを使用します。
getFixedRoleSelection
初期選択の参加者役割から、選択されるワークフロープロセス役割へのマッピング。これらの役割はユーザーが選択解除できます。
固定にマークされている役割はありません。
「プロモートする固定役割」プロモーションプリファレンスによって役割が別の役割にマップされた場合は、マッピングされた役割から初期選択の参加者を取得します。それ以外の場合、初期選択の参加者は指定された役割から派生します。
getInitialRoleSelections
固定の最初に選択した参加者役割から、選択されるワークフロープロセス役割へのマッピング。これらの役割はユーザーが選択解除できません。
オブジェクト初期化規則で定義されたオブジェクトチームテンプレート上の役割を使用します。
初期選択はありません。
isSelectUsersInGroups
true に設定すると、ユーザーをグループ内で選択できます。
グループ内でユーザーを選択できるようにします。
「グループメンバー表示」プロモーションプリファレンスを「はい」に設定すると、ユーザーをグループ内で選択できます。
excludedWorkflowRoles
ワークフロー役割をフィルタするために使用します。
除外される役割はありません。
オーナー役割を除外します。
excludedWorkflowRolesForDisplay
参加者テーブルに表示されるワークフロー役割列をフィルタするために使用します。非表示の役割に自動的に割り当てられている参加者はそのまま維持されます。
除外される役割はありません。
デフォルトでは、いずれの役割も除外されません。ワークフローテンプレート変数 "hideFixedRoles" が true に設定されている場合、すべての固定役割が非表示になります。"hideFixedRoles" が true に設定されている場合、固定役割の非表示を解除するには、ワークフローテンプレート変数 "overrideFixedRoleDisplay" をオーバーライドとして使用します。複数の役割をオーバーライドするには、"|" を使用して役割を区切ります。
参加者選択の検証
現時点では、設定されたリソースコンフィギュレーションに基づく選択の検証は行われません。選択内容を処理する前に選択を検証するには、ParticipantsFormDelegate または PromotionParticipantsFormDelegatepreProcess API をオーバーライドします。ParticipantsFormDelegategetParticipantsToProcess API を利用して、ワークフロー役割のマップおよびワークフロー役割の選択参加者を取得できます。
さらに、getParticipantConfiguration API を使用して、参加者選択を評価するための ParticipantConfiguration 委任の正確なインスタンスを取得することもできます。
プロモーションリクエストでのワークフロー役割の非表示
プロモーションリクエストのプロセスワークフローテンプレートを更新して、プロモーションリクエストの参加者テーブルでシステムによる固定役割を非表示にできます。たとえば、「プロモーションリクエスト承認プロセス」には、承認者とレビュー担当者の 2 つのワークフロー役割があります。レビュー担当者は必ず事前に指定されている必要があり、プロモーションリクエスト作成者が追加のレビュー担当者を設定してはなりません。
選択されている固定役割がテーブルに表示されないようにするには、「プロモーションリクエスト承認プロセス」ワークフローテンプレートのプロパティを更新して、"hideFixedRoles" という名前の新しいブール変数とデフォルト値 "true" を追加します。
承認者役割とレビュー担当者役割のどちらもシステム選択の固定役割として設定されているので、この両方が参加者テーブルで非表示になります。
システム選択による固定役割として設定されている承認者役割も表示するには、「プロモーションリクエスト承認プロセス」ワークフローテンプレートのプロパティを更新して、"overrideFixedRoleDisplay" という名前の新しい文字列変数と役割の内部名 (APPROVER) も追加します。"|" を使用して内部の役割名を区切ることで追加の役割を指定できます。
承認者役割の列が参加者テーブルに表示されるようになりました。レビュー担当者役割の列は表示されませんが、プロモーションリクエストウィザードの実行時には、システムで事前に選択されている固定の参加者役割の選択も処理されます。
制限事項
カスタム表示コンフィギュレーションは、ParticipantConfiguration 委任でサポートされている API に限られています。
これは役に立ちましたか?