代替編集ユーザーインタフェースの開発
このトピックでは、承認申請プロセッサインタフェースの機能を使用して、承認申請の編集ユーザーインタフェースをカスタマイズして委任を登録する方法について説明します。このインタフェースでは、Windchill 編集ユーザーインタフェースまたは代替編集ユーザーインタフェースを開くことができます。承認申請のタイプまたはサブタイプごとに定義されている承認申請プロセッサ委任のコンフィギュレーションに応じて、承認申請の情報ページ、承認申請のテーブル行操作、およびタスクフォームテンプレート操作で編集操作が有効になります。委任が定義されていない場合、Windchill 編集操作の操作バリデータは、Windchill 編集操作をレンダリングします。委任が定義されている場合、編集ユーザーインタフェースの操作は enableCustomEditAction() メソッドの結果に基づいてレンダリングされます。enableCustomEditAction()true を返した場合、Windchill 編集ユーザーインタフェースの操作が非表示になり、createCustomEditUrl (RegulatorySubmission regulatorySubmission) メソッドの結果に基づいてカスタム編集操作がレンダリングされます。enableCustomEditAction ()false を返した場合、Windchill 編集操作がレンダリングされます。
代替編集ユーザーインタフェースをレンダリングするため、非 Windchill 操作によって、関連付けられている委任を呼び出す Spring コントローラが開きます。この委任は、代替編集ユーザーインタフェースを開くときに使用されるコントローラへの URL を返します。承認申請タイプにカスタムクラスが定義または登録されていない場合、Windchill 編集ユーザーインタフェースがレンダリングされます。
ソリューション
既成の承認申請編集ユーザーインタフェースを拡張するカスタムクラスを作成します。
カスタムクラスを登録する xconf エントリを作成します。
ソリューションエレメント
次のテーブルで、各種ソリューションエレメントについて説明します。
エレメント
タイプ
説明
enableCustomEditAction ()
API
承認申請の編集操作を設定するときに使用します。デフォルトでは、この実装は false を返します。createCustomEditUrl (RegulatorySubmission regulatorySubmission) メソッドをオーバーライドすることによってカスタム編集 URL が設定されている場合、true を返すようにこのメソッドをオーバーライドします。カスタム編集操作が有効になっている場合、Windchill 編集操作は無効になり、カスタム URL が開きます。
createCustomEditUrl (RegulatorySubmission regulatorySubmission)
API
承認申請のカスタム編集操作によって使用されるカスタム編集 URL を設定するときに使用します。デフォルトでは、この実装は Null を返します。承認申請の編集に使用されるカスタム編集 URL を返すようにこのメソッドをオーバーライドします。true を返すように enableCustomEditAction () メソッドが設定され、createCustomEditUrl (RegulatorySubmission regulatorySubmission) メソッドは設定されていない場合、エラーが表示されます。
デフォルトの動作
デフォルトで、承認申請では Windchill の編集操作が有効になっています。
カスタムクラスの作成
改訂不可能な承認申請または改訂可能な承認申請を編集する際の編集ユーザーインタフェースをカスタマイズするには、SimpleRegulatorySubmissionProcessor または適切な改訂可能なサブタイプポピュレータ (AERSubmissionProcessorERSubmissionProcessorRPSSubmissionProcessorUDISubmissionProcessor など) を拡張する Java クラスを作成してメソッド enableCustomEditAction および createCustomEditUrl をオーバーライドします。オーバーライドされた createCustomEditUrl メソッドの最小要件を満たす新規カスタムクラスの例を以下に示します。
public class CustomRPSSubmissionProcessor extends RPSSubmissionProcessor {
@Override
public boolean enableCustomEditAction() {
// Returning True will enable the Custom Edit Action and redirect the UI to the URL returned by the
// createCustomEditUrl method
return true;
}

@Override
public String createCustomEditUrl(RegulatorySubmission regulatorySubmission) {
// Compose the URL to be used for redirecting the UI
String redirectString = "http://customerdomain.com/customApp/";
return redirectString;
}
}
これは役に立ちましたか?