この章では、次のオプションの手順について説明します。
ノート:
Oracle Identity Managerリリース11.1.2以降では、参照問合せはサポートされません。Oracle Identity Managerシステム管理コンソールでの「フォーム・デザイナ」を使用した参照の管理の詳細は、Oracle Fusion Middleware Oracle Identity Managerの管理の参照の管理を参照してください。
デフォルトで提供される属性に加えて、プロビジョニング用の新規属性を構成できます。
ノート:
プロビジョニング用の新規属性を追加しない場合は、この項を無視できます。
プロビジョニング用の新規属性を追加するには、次の項で説明する手順を実行します。これらの項では、USER_PROFILE PeopleSoftコンポーネント・インタフェースのWorklist User属性が追加されています。同じ手順に従って、他の属性を追加できます。
新規属性Worklist Userが、USER_PROFILEコンポーネント・インタフェースのプロパティの1つとして表示されていることを確認する必要があります。プロパティの下に表示されている属性のみがプロビジョニングでサポートされます。属性が存在する場合は、属性の定義を検証し、記録します。
USER_PROFILEコンポーネント・インタフェースで属性の定義を検証するには:
PeopleSoftユーザー管理コネクタは、PeopleSoftコンポーネント・インタフェースでメソッドを呼び出し、プロパティを設定することで、ユーザー・プロビジョニングを実行します。コンポーネント・インタフェース定義は、PeopleSoftコンポーネント・インタフェース構成オブジェクトに割り当てられています。コネクタ・パッケージのxmlディレクトリにあるPeopleSoftComponentInterfaces.xml
ファイルのコピーを編集することで、定義を追加および変更できます。
関連項目:
Peoplesoftコンポーネント・インタフェースのマップ定義の詳細は、「Peoplesoft User Managementのコネクタ・コンポーネント・インタフェース」を参照してください。
PeopleSoftコンポーネント・インタフェースのマップ定義XMLファイルに新規属性を追加するには:
Oracle Identity Managerでの属性の構成では、次のステップを実行します:
ノート:
Oracle Identity Managerリリース11.1.2.x以降を使用している場合は、新しいUIフォームを作成してこれをアプリケーション・インスタンスに添付し、この新しい属性を表示します。手順は、「新規UIフォームの作成」および「新規フォームによる既存アプリケーション・インスタンスの更新」を参照してください。
次のようにして、プロセス・フォームに新しい列を追加します。
UD_PSFT_BAS
と入力し、「Query for records」ボタンをクリックします。UD_PSFT_BAS_WORKLIST
と入力し、「Field Label」フィールドにWorklist User
と入力します。次の図に示すように、他の値を指定します。属性の「Lookup Type」の新規参照定義(Lookup.PSFT.UM.WorklistUserなど)を作成します。次のコード・キーおよびデコード・エントリを追加します。
コード・キー | デコード |
---|---|
Y |
Yes |
N |
No |
次の図に、新規参照のマッピングを示します。
新規参照Lookup.PSFT.UM.WorklistUserを「Worklist User」プロセス・フォームに関連付けます。これを行うには:
Lookup.PSFT.UM.ProvAttrMap参照定義に新規属性のマッピングを追加します。これを行うには:
ノート:
新規属性に対する更新を有効にするには、「プロビジョニングの新規属性の更新の有効化」で説明している手順を実行します。
新規にプロビジョニングされた属性の更新を有効にするには:
ノート:
次の手順のステップには、これまで使用してきた値に固有のステップがあります。別の値を使用する場合、これらのステップを変更して実行する必要があります。
プロビジョニングの新規属性を追加するには、「プロビジョニングへの新規属性の追加」を参照してください。
Oracle Identity Manager Design Consoleにログインします。
「Process Management」を開き、「Process Definition」をダブルクリックします。
「Name」フィールドに、Peoplesoft User Management
と入力し、「Query for records」ボタンをクリックします。
新しいタスク(WorklList User Updated
など)を追加して、タスクを保存します。
ノート:
新しいタスクの作成時に、タスク名がプロセス・フォームのフィールドの名前と同じであることを確認します。
WorkList User Updatedタスクの「Integration」タブをクリックして、「Add」をクリックします。
ハンドラ・タイプとして「Adapter」を選択した後、次のようにします。
「ADPPSFTUPDATEATTRIBUTEVALUE」を選択し、「Save」をクリックします。
「Adapter Variable」リージョンで、「Adapter Return Value」をダブルクリックします。変数のデータ・マッピングを編集するためのウィンドウが表示されます。
「Map To」リストから、「Response Code」を選択し、「Save」をクリックします。
「Adapter Variable」リージョンで、「AttrFieldName」をダブルクリックします。変数のデータ・マッピングを編集するためのウィンドウが表示されます。
「Map To」リストから、「Literal」を選択します。
「Literal Value」フィールドで、Lookup.PSFT.UM.ProvAttrMap参照定義に追加された新規属性の列名としてUD_PSFT_BAS_WORKLIST
と入力します。
「Adapter Variable」リージョンで、「ITResourceFieldName」をダブルクリックします。変数のデータ・マッピングを編集するためのウィンドウが表示されます。
「Map To」リストから、「Literal」を選択します。
「Literal Value」フィールドで、「ITResource」フィールドの列名としてUD_PSFT_BAS_SERVER
と入力します。
「Adapter Variable」リージョンで、「objectType」をダブルクリックします。変数のデータ・マッピングを編集するためのウィンドウが表示されます。
「Map To」リストから、「Literal」を選択します。
「Literal Value」フィールドで、User
と入力し、保存します。
「Adapter Variable」リージョンで、「procInstanceKey」をダブルクリックします。変数のデータ・マッピングを編集するためのウィンドウが表示されます。
「Map To」リストから「Process Data」を選択し、「Qualifier」リストから「Process Instance」を選択して保存します。
マッピングを実行し、フォームを保存します。
Worklist Updatedタスクの「Responses」タブをクリックします。SUCCESS
レスポンスはステータスCにマップされ、他のすべてのレスポンスはステータスRにマップされます。
ノート:
PeopleSoftはこれらの値のみ受け入れるため、「WorklistUser」フィールドにはY
またはN
を入力する必要があります。
Oracle Identity Managerとターゲット・システム間のデフォルトのフィールド・マッピングを変更できます。たとえば、USER_PROFILEメッセージのLookup.PSFT.UM.UserProfile.ReconAttrMap参照定義はデフォルト属性マッピングを保持します。必要に応じて、この属性マッピングの事前定義済セットに追加できます。
リコンシリエーション用の新しい属性を追加するには、次のようにします。
ノート:
リコンシリエーション用の新しい属性を追加しない場合は、この手順を実行する必要はありません。
Oracle Identity Manager Design Consoleで、次の手順で必要な変更を行います。
関連項目:
次のステップを実行する手順の詳細は、『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のターゲット・リコンシリエーションに関するターゲット・システム属性の追加に関する項を参照してください
プロセス・フォームに新しい属性を追加します。詳細は、「プロビジョニングへの新規属性の追加」を参照してください。
「Resource Management」を開き、「Resource Objects」をダブルクリックします。
「Name」フィールドに、オブジェクト定義の名前を入力し、「Query for records」ボタンをクリックします。
「Object Reconciliation」タブで、「Create Reconciliation Profile」をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。
Peoplesoftユーザー・リソース・オブジェクトの新規属性に対応するリコンシリエーション・フィールドを追加します。たとえば、WorkListリコンシリエーション・フィールドを追加できます。
Peoplesoft User Managementプロセス定義を変更して、新規に追加したフィールドとそれに対応するリコンシリエーション・フィールドとの間のマッピングを追加します。
メッセージ固有の属性マッピング参照定義(USER_PROFILEメッセージのLookup.PSFT.UM.UserProfile.ReconAttrMap参照定義など)に新規属性を追加します。
この表に格納されている値の形式は次のとおりです。
コード・キー | デコード |
---|---|
AttributeName |
|
次に例を示します:
コード・キー: WorkList
デコード: WORKLIST_USER_SW~PSROLEXLATOPRVW
この例では、WorkListがリコンシリエーション・フィールドであり、対応するターゲット・システム・フィールドはWORKLIST_USER_SWです。
「Resource Object」属性リコンシリエーション参照定義(USER_PROFILEメッセージのLookup.PSFT.UM.UserProfile.Recon参照定義など)に新規属性を追加します。
この表に格納されている値の形式は次のとおりです。
コード・キー | デコード |
---|---|
RO Attribute |
|
この例では、RO Attributeは前のステップで追加したリソース・オブジェクト属性名を表します。デコード列は、メッセージ固有属性マッピング参照定義のコード・キー値を表します。
次に例を示します:
コード・キー: WorkList
デコード: WorkList
Oracle Identity Managerリリース11.1.2.x以降を使用している場合は、新しいUIフォームを作成してこれをアプリケーション・インスタンスに添付し、この新しい属性を表示します。手順は、「新規UIフォームの作成」および「新規フォームによる既存アプリケーション・インスタンスの更新」を参照してください。
プロビジョニングされるPeopleSoftアプリケーション・モジュールに応じて、新規IDタイプを追加することもできます。新規IDタイプは、プロビジョニングのためにユーザー・プロファイルにリンクできます。
この項では、次の項目について説明します。
ユーザー・プロファイルには、PeopleSoftシステムの特定のユーザーが記述されます。システムのユーザーごとに個々のユーザー・プロファイルがあり、ユーザー・プロファイルは1つ以上のロールにリンクされています。通常、ユーザー・プロファイルを使用可能なプロファイルにするには、1つ以上のロールにリンクする必要があります。各ロールに、ユーザーが何にアクセスでき、何にアクセスできないかを制御する1つ以上の権限リストを追加できます。したがって、ユーザーはロールを通じて権限を継承します。
IDタイプに基づいてユーザー・プロファイルを分類できます。また、顧客や従業員などのIDタイプに基づいてデータ・アクセス権を付与できます。
人事システムは、従業員ユーザー・タイプにフォーカスを当てるように設計されています。一方、財務システムは、顧客およびサプライヤ・ユーザー・タイプを追跡するように設計されています。IDタイプにより、ユーザーがシステムと対話する場合に最も適切なレコードにユーザー・タイプをリンクできます。このため、ユーザーがPeopleSoftアプリケーションにログインすると、自身に関連する情報が表示されます。
「属性値」フィールドでは、IDタイプの属性名に関連付けられている値を選択します。たとえば、値は従業員番号を反映しますが、顧客番号またはベンダー番号にすることができます。
PeopleSoftでは、従業員IDタイプに加えて顧客およびベンダーIDがサポートされます。プロビジョニングされるPeopleSoftアプリケーション・モジュールに応じて、新規IDタイプを追加することもできます。新規IDタイプは、プロビジョニングのためにユーザー・プロファイルにリンクできます。
ノート:
PeopleSoftターゲット・システム上のユーザー・プロファイルに複数のIDタイプを割り当てることができます。ただし、IDタイプの単一のインスタンスを同じユーザーに割り当てることができます。
たとえば、プロビジョニング中にユーザー・プロファイルを従業員IDおよびベンダーIDにリンクできます。ただし、同じユーザーを2つの従業員IDインスタンスにリンクすることはできません。
次の手順で説明するIDタイプと属性はサンプル値であり、実際の環境の値とは異なる場合があります。したがって、現在の環境に適用される値で同じ手順に従う必要があります。
新しいIDタイプEquation SQL Auth Classをプロビジョニング用に属性EQS IDに追加するとします。次の手順で説明するステップを実行します。
ノート:
新規ユーザー・プロファイルIDタイプの構成時に使用することに決定したIDタイプ属性を、PSOPRALIAS表のフィールドにマップする必要があります。
プロビジョニング用の新規IDタイプを追加するには:
次のステップに従って、プロセス・フォームに新しい列を追加します。
Oracle Identity Manager Design Consoleにログインします。
「Development Tools」を開き、「Form Designer」をダブルクリックします。
「Table Name」フィールドに、UD_PSFT_BAS
と入力し、「Query for records」ボタンをクリックします。
「Create New Version」をクリックします。
「Create a new version」ダイアログ・ボックスで、「Label」フィールドにバージョン名を指定し、変更内容を保存した後、ダイアログ・ボックスを閉じます。
「Current Version」リストから、新しく作成したバージョンを選択します。
「Additional Columns」タブで、「Add」をクリックします。
属性EQS IDの新しい属性名(Operator Alias Value
など)を指定します。また、EQS ID
のフィールド・ラベルなど、他の値を入力します。
「Make Version Active」をクリックします。
新規IDタイプ属性のマッピングを追加します。これを行うには:
Oracle Identity Manager Design Consoleにログインします。
「Administration」を開き、「Lookup Definition」をダブルクリックします。
「Code」フィールドに参照定義の名前としてLookup.PSFT.UM.ProvAttrMap
と入力し、「Query for records」ボタンをクリックします。
次の値の新しい行を追加して、Lookup.PSFT.UM.ProvAttrMap参照定義を変更します。
コード・キー: フォームの列名
デコード: EQS IDタイプの次のデコードと同様の要素の組合せを入力します。
IDTypes~UM_IDTypes[IDType=EQS]~Attributes~UM_Attributes[AttributeName=Operator Alias Value]~AttributeValue
この形式の詳細は次のとおりです:
IDTypes: Identity Connector Framework (ICF)親属性名を表します
UM_IDTypes: IDTypeおよびAttributesを含む埋込みICFオブジェクト・クラスを表します。IDTypeのデフォルト値はEQS
です。
Attributes: AttributeNameおよびAttributeValueを含む埋込みICFオブジェクト・クラスを表します。AttributeNameのデフォルト値は、Operator Alias Value
です。AttributeValueの値は、フォーム・フィールドから取得されます。
デコードの要素の形式の詳細は、「Lookup.PSFT.UM.ProvAttrMap」を参照してください。
IDタイプ値がEQSで属性名がOperator Alias ValueのEquation SQL Auth Class IDタイプを追加するには、Lookup.PSFT.UM.ProvAttrMap参照定義の従業員IDマッピングと同様のマッピングを定義する必要があります。
Oracle Identity Managerリリース11.1.2.x以降を使用している場合は、新しいUIフォームを作成してこれをアプリケーション・インスタンスに添付し、このIDタイプを表示します。手順は、「新規UIフォームの作成」および「新規フォームによる既存アプリケーション・インスタンスの更新」を参照してください。
「プロビジョニングの新規IDタイプの追加」の説明に従ってEQS IDフィールドを更新するとします。その場合、次の手順を実行します:
新規に追加したIDタイプ属性を更新するには:
Oracle Identity Manager Design Consoleにログインします。
「Development Tools」を開き、「Adapter Factory」 をダブルクリックします。
「Adapter Name」フィールドにPSFT UM Update ID Types
と入力し、「Query for records」ボタンをクリックします。
「Adapter Tasks」タブで、「PSFT UM Update ID Types」を展開し、「updateIdType」を選択します。
変数リスト・タブをクリックし、「プロビジョニングの新規IDタイプの追加」の入力に基づくタイプとマッピングとともに属性名を追加します。保存ボタンをクリックします。
「Adapter Tasks」タブで、「PSFT UM Update ID Types」を展開し、「updateIdType」をダブルクリックします。
「Edit Adapter Factory Task Parameters」ダイアログの「Application Method Parameters」セクションで、「Method」を開き、Input: String[]パラメータ・タイプを右クリックします。「Add String」をクリックし、ステップ5で追加した属性を一度に1つずつ追加します。属性ごとに、「Map To」および「Name」フィールドの値を選択します。保存ボタンをクリックします。
「Process Management」を開き、「Process Definition」をダブルクリックします。
「Name」フィールドにPeoplesoft User Management
と入力し、「Query for records」ボタンをクリックします。
新しいタスク(EQS ID Updated
など)を追加して、タスクを保存します。
「EQS ID Updated」タスクをダブルクリックし、「Integration」タブ、「Add」の順にクリックします。
ハンドラ・タイプとして「Adapter」を選択した後、次のようにします。
次のマッピングに示すように「ADPPSFTUPDATEIDTYPE」を選択し、保存ボタンをクリックします。
「Adapter Variable」リージョンで、「Adapter return value」をダブルクリックし、「Map To」リストから「Response Code」を選択します。保存ボタンをクリックします。
「Adapter Variable」リージョンで、「objectType」をダブルクリックし、「Map To」リストから「Literal」を選択します。
「Literal Value」フィールドにUser
と入力し、保存ボタンをクリックします。
「Adapter Variable」リージョンで、「ITResourceName」をダブルクリックし、「Map To」リストから「Literal」を選択します。
「Literal Value」フィールドで、Lookup.PSFT.UM.ProvAttrMap参照定義に追加された新規属性の列名としてUD_PSFT_BAS_SERVER
と入力します。
「Adapter Variable」リージョンで、「ProcessInstanceKey」をダブルクリックします。
「Map To」リストから「Process Data」を選択し、「Qualifier」リストから「Process Instance」を選択して保存ボタンをクリックします。
マッピングを実行し、書式を保存します。
EQS ID Updatedタスクの「Responses」タブをクリックします。SUCCESSレスポンスはステータスCにマップされ、他のすべてのレスポンスはステータスRにマップされます。
「プロビジョニングの新規IDタイプの追加」の説明に従ってEQS IDフィールドをリコンサイルするとした場合、次の手順を実行します。
リコンシリエーション用の新規IDタイプを追加するには:
プロセス・フォームに新しいIDタイプ属性を追加します。新しいIDタイプ属性の追加の手順は、「プロビジョニングの新規IDタイプの追加」を参照してください。
新規IDタイプ属性のリコンシリエーション・プロファイルを作成します。これを行うには:
「Resource Management」を開き、「Resource Objects」をダブルクリックします。
「Name」フィールドに、オブジェクト定義の名前を入力し、「Query for records」ボタンをクリックします。
「Object Reconciliation」タブをクリックし、Peoplesoftユーザー・リソース・オブジェクトの新規属性に対応するリコンシリエーション・フィールドを追加します。保存ボタンをクリックします。
「Create Reconciliation Profile」 をクリックします。これにより、リソース・オブジェクトに行われた変更がMDSにコピーされます。
Peoplesoft User Managementプロセス定義を変更して、新規に追加したフィールドとそれに対応するリコンシリエーション・フィールドとの間のマッピングを追加します。
メッセージ固有の属性マッピング参照定義(USER_PROFILEメッセージのLookup.PSFT.UM.UserProfile.ReconAttrMap参照定義など)に新規属性を追加します。
この表に格納されている値の形式は次のとおりです。
コード・キー | デコード |
---|---|
AttributeName |
|
次に例を示します:
コード・キー: EQS
デコード: EQS_ID~PSOPRALIAS
この例では、EQS
がリコンシリエーション・フィールドであり、対応するターゲット・システム・フィールドはEQS_IDです。
「リソース・オブジェクト」属性リコンシリエーション参照定義(USER_PROFILEメッセージのLookup.PSFT.UM.UserProfile.Recon参照など)に新規属性を追加します。
この例では、この参照に次の値を追加する必要があります。
コード・キー | デコード |
---|---|
EQS ID |
EQS ID |
Oracle Identity Managerリリース11.1.2.x以降を使用している場合は、新しいUIフォームを作成してこれをアプリケーション・インスタンスに添付し、このIDタイプを表示します。手順は、「新規UIフォームの作成」および「新規フォームによる既存アプリケーション・インスタンスの更新」を参照してください。
リコンサイルおよびプロビジョニングされた単一値データの検証を要件に応じて構成できます。たとえば、プロセス・フォームの「ユーザーID」フィールドに入力されたデータを検証して、リコンシリエーション操作中に番号記号(#)がOracle Identity Managerに送信されないようにすることができます。
検証チェックに失敗したデータについては、次のメッセージが表示またはログ・ファイルに記録されます。
フィールド
FIELD_NAME
に返された値はfalseです。
データの検証を構成するには:
必要な検証ロジックを実装するコードをJavaクラスに記述します。
関連項目:
このインタフェースの詳細は、コネクタに付属のJavadocを参照してください。
次の署名付きでクラスを作成する必要があります。
public boolean validate (HashMap arg0, HashMap arg1, String arg2)
この署名コードの意味は次のとおりです。
arg0
には、プライマリ表フィールドの値が含まれます。
arg1
には、子表フィールドの値が含まれます。
arg2
は、検証を実行する必要のあるフィールドです。
次のサンプル検証クラスは、User ID属性の値に番号記号(#)が含まれるかどうかを確認します。
package com.validate; import java.util.*; public class MyValidation { public boolean validate(HashMap hmUserDetails, HashMap hmEntitlementDetails, String field) { /* * You must write code to validate attributes. Parent * data values can be fetched by using hmUserDetails.get(field) * For child data values, loop through the * ArrayList/Vector fetched by hmEntitlementDetails.get("Child Table") * Depending on the outcome of the validation operation, * the code must return true or false. */ /* * In this sample code, the value "false" is returned if the field * contains the number sign (#). Otherwise, the value "true" is * returned. */ boolean valid=true; String sUserID=(String) hmUserDetails.get(field); for(int i=0;i<sUserID.length();i++){ if (sUserID.charAt(i) == '#'){ valid=false; break; } } return valid; } } /* End */
Javaクラスを保持するJARファイルを作成します。
Oracle Identity Manager JARアップロード・ユーティリティを実行して、ステップ2で作成したJARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。
ノート:
このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME
環境変数が設定されていることを確認してください。
Microsoft Windowsの場合:
OIM_HOME/server/bin/UploadJars.bat
UNIXの場合:
OIM_HOME/server/bin/UploadJars.sh
ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として1を指定します。
リコンシリエーションのプロセス・フォーム・フィールドの検証用にJavaクラスを作成した場合は、次の手順を実行します。
Design Consoleにログインします。
メッセージ固有の構成参照定義(この例では、USER_PROFILEメッセージのLookup.PSFT.Message.UserProfile.Configuration参照定義)を検索し、開きます。この参照定義の詳細は、「Lookup.PSFT.Message.UserProfile.Configuration」を参照してください。この参照定義の検証参照定義パラメータを確認します。デコード値は、検証参照の名前を指定します。この例では、デコード値はLookup.PSFT.UM.ReconValidationです。
Lookup.PSFT.UM.ReconValidation参照定義を検索して開きます。
「コード・キー」列に、User ID
と入力します。「Decode」列に、
com.validate.MyValidation
と入力します。
ここで、コード・キー値は検証するフィールドの列名を指定します。デコード値は、検証ロジックを含むJavaクラスの完全なパッケージ名です。
参照定義に変更を保存します。
メッセージ固有の構成参照定義(この例では、Lookup.PSFT.Message.UserProfile.Configuration参照定義)を検索し、開きます。
「Use Validation」エントリの値を「yes
」に設定します。
参照定義に変更を保存します。
PeopleSoftOIMListener.earファイルをアプリケーション・サーバーから削除します。
ステップ2で作成した検証JARファイルを次の場所にコピーします。
PeoplSoftOIMListener.ear/PeoplSoftOIMListener.war/WEB-INF/lib
PeopleSoftOIMListener.earファイルをアプリケーション・サーバーに再デプロイします。手順は、「PeopleSoftリスナーのデプロイ」を参照してください。
リコンサイルされた単一値データの変換を要件に応じて構成できます。たとえば、通貨コード値を使用して、Oracle Identity Managerの「通貨コード」フィールドの値を作成できます。
データの変換を構成するには:
必要な変換ロジックを実装するコードをJavaクラスに記述します。
関連項目:
このインタフェースの詳細は、コネクタに付属のJavadocを参照してください。
次のサンプル変換クラスは、ターゲット・システムから受け取った通貨コード値の先頭にドル記号($)を付けることでCurrency Code属性の値を変更します。
package com.transform; import java.util.*; public class MyTransform { /* Description:Abstract method for transforming the attributes param hmUserDetails<String,Object> HashMap containing parent data details param hmEntitlementDetails <String,Object> HashMap containing child data details */ public Object transform(HashMap hmUserDetails, HashMap hmEntitlementDetails,String sField) { /* * You must write code to transform the attributes. Parent data attribute values can be fetched by using hmUserDetails.get("Field Name"). *To fetch child data values, loop through the * ArrayList/Vector fetched by hmEntitlementDetails.get("Child Table") * Return the transformed attribute. */ System.out.println("sfield =" + sField); String sCurrencyCode= (String)hmUserDetails.get(sField); sCurrencyCode = "$"+sCurrencyCode; return sCurrencyCode; } } /* End */
Javaクラスを保持するJARファイルを作成します。
Oracle Identity Manager JARアップロード・ユーティリティを実行して、ステップ2で作成したJARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。
ノート:
このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME
環境変数が設定されていることを確認してください。
Microsoft Windowsの場合:
OIM_HOME/server/bin/UploadJars.bat
UNIXの場合:
OIM_HOME/server/bin/UploadJars.sh
ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として1を指定します。
リコンシリエーションのプロセス・フォーム・フィールドの変換用にJavaクラスを作成した場合は、次の手順を実行します。
Design Consoleにログインします。
メッセージ固有の構成参照定義(この例では、USER_PROFILEメッセージのLookup.PSFT.Message.UserProfile.Configuration参照定義)を検索し、開きます。この参照定義の詳細は、「Lookup.PSFT.Message.UserProfile.Configuration」を参照してください。この参照定義の「Transformation Lookup Definition」パラメータを確認します。デコード値は、変換参照の名前を指定します。この例では、デコード値はLookup.PSFT.UM.UserProfile.Transformationです。
Lookup.PSFT.UM.UserProfile.Transformation参照定義を検索して開きます。
「コード・キー」列に、Currency Code
と入力します。「デコード」列に、com.transform.MyTransform
と入力します。
ここで、コード・キー値は検証するフィールドの列名を指定します。デコード値は、変換ロジックを含むJavaクラスの完全なパッケージ名です。
参照定義に変更を保存します。
メッセージ固有の構成参照定義(この例では、Lookup.PSFT.Message.UserProfile.Configuration参照定義)を検索し、開きます。
「Use Transformation」エントリの値を「yes
」に設定します。
参照定義に変更を保存します。
PeopleSoftOIMListener.earファイルをアプリケーション・サーバーから削除します。
ステップ2で作成した変換JARファイルを次の場所にコピーします。
PeoplSoftOIMListener.ear/PeoplSoftOIMListener.war/WEB-INF/lib
PeopleSoftOIMListener.earファイルをアプリケーション・サーバーに再デプロイします。手順は、「PeopleSoftリスナーのデプロイ」を参照してください。
プロビジョニングされた単一値データの検証を要件に応じて構成できます。たとえば、プロビジョニングされたユーザーIDを検証して、そのデータに番号記号(#)が含まれていないことを確認します。
検証チェックに失敗したデータについては、次のメッセージが表示またはログ・ファイルに記録されます。
フィールド
FIELD_NAME
に返された値はfalseです。
この形式では、FIELD_NAME
は検証を実行するフィールドの名前です。
データの検証を構成するには:
必要な検証ロジックを実装するコードをJavaクラスに記述します。
関連項目:
このインタフェースの詳細は、コネクタに付属のJavadocを参照してください。
次の署名付きでクラスを作成する必要があります。
public boolean validate (HashMap arg0, HashMap arg1, String arg2)
この署名コードの意味は次のとおりです。
arg0
には、プライマリ表フィールドの値が含まれます。
arg1
には、子表フィールドの値が含まれます。
arg2
は、検証を実行する必要のあるフィールドです。
次のサンプル検証クラスは、user ID属性の値に番号記号(#)が含まれるかどうかを確認します。
package com.validation; import java.util.HashMap; public class Validator { public boolean validate(HashMap hmUserDetails, HashMap hmEntitlementDetails, String sField) { /* You must write code to validate attributes. Parent * data values can be fetched by using hmUserDetails.get(field) * For child data values, loop through the * ArrayList/Vector fetched by hmEntitlementDetails.get("Child Table") * Depending on the outcome of the validation operation, * the code must return true or false. */ /* * In this sample code, the value "false" is returned if the field * contains the number sign (#). Otherwise, the value "true" is * returned. */ boolean valid = true; String sGivenName = (String) hmUserDetails.get(sField); for (int i = 0; i < sGivenName.length(); i++) { if (sGivenName.charAt(i) == '#') { valid = false; break; } } return valid; } } /* End */
Javaクラスを保持するJARファイルを作成します。
次のステップを実行して、Lookup.PSFT.UM.Prov.Configuration参照定義を更新します。
関連項目:
参照の詳細は、「Lookup.PSFT.UM.Prov.Configuration」を参照してください
Design Consoleにログインします。
Lookup.PSFT.UM.Prov.Configuration参照定義を検索して開きます。
「Code Key」列に、Provisioning Validation Lookup
を入力します「デコード」列に、
Lookup.PSFT.UM.ProvValidation
と入力します。
参照定義に変更を保存します。
新しい参照定義Lookup.PSFT.UM.ProvValidationを作成し、次のステップを実行して参照を更新します。
関連項目:
新しい参照定義の作成の詳細は、Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズで参照の作成を参照
「コード・キー」列に、User ID
と入力します。「デコード」列に、
com.validation.Validator
と入力します。
ここで、コード・キー値は検証するフィールドの列名を指定します。デコード値は、検証ロジックを含むJavaクラスの完全なパッケージ名です。
参照定義に変更を保存します。
Oracle Identity Manager JARアップロード・ユーティリティを実行して、ステップ2で作成したJARファイルをOracle Identity Managerデータベースに投稿します。このユーティリティは、Oracle Identity Managerのインストール時に次の場所にコピーされます。
ノート:
このユーティリティを使用する前に、Oracle WebLogic ServerをインストールしたディレクトリにWL_HOME
環境変数が設定されていることを確認してください。
Microsoft Windowsの場合:
OIM_HOME/server/bin/UploadJars.bat
UNIXの場合:
OIM_HOME/server/bin/UploadJars.sh
ユーティリティを実行すると、Oracle Identity Manager管理者のログイン資格証明、Oracle Identity Managerホスト・コンピュータのURL、コンテキスト・ファクトリ値、アップロードするJARファイルのタイプおよびJARファイルがアップロードされる場所の入力を求めるプロンプトが表示されます。JARタイプの値として1を指定します。
PurgeCacheユーティリティを実行して、Oracle Identity Managerキャッシュをパージします。
PurgeCacheユーティリティの詳細は、「サーバー・キャッシュからのコネクタ・リソース・バンドル関連コンテンツの消去」を参照してください。
場合によっては、プロセス・フォームのフィールド(属性)の長さを変更する必要があります。たとえば、Japaneseロケールを使用する場合は、ターゲット・システムのマルチバイト・データを格納するためにプロセス・フォームのフィールド長を増やす場合があります。
OIMユーザー・フォームのフィールド長を変更するには:
コネクタをターゲット・システムの複数のインストールに対して構成するには、ITリソース、プロセス・フォーム、プロセス定義、リソース・オブジェクトなどのコネクタ・オブジェクトのコピーを作成します。
この項では、次の項目について説明します。
ターゲット・システムの複数のインストールに対してコネクタを構成する場合があります。次の例でこの要件について説明します。
Example Multinational Inc.のロンドンおよびニューヨークの事業所には、独自にターゲット・システムがインストールされています。最近、この会社では、Oracle Identity Managerをインストールし、これを構成してインストールされたすべてのターゲット・システムをリンクしようとしています。
会社には、Oracle Identity Managerのアイデンティティ・データの信頼された(認可)ソース(PSFT_TRSTなど)があります。会社では、PeopleSoft Employee Reconciliationコネクタを使用して個人レコードをリコンサイルし、OIMユーザーを作成します。
会社では、PeopleSoft User Managementコネクタを使用して、ロンドン事業所とニューヨーク事業所の2つの異なるターゲット・システム(それぞれPSFT_LDNおよびPSFT_NY)でリソースをプロビジョニングする必要があります。
ロンドン事業所のリソースには、プロビジョニングする5つの必須フィールドがあります。一方、ニューヨーク事業所には、プロビジョニングする追加フィールド(社会保障番号(SSN)など)があります。このシナリオでは、User Managementコネクタのクローンを作成して、PSFT_LDNおよびPSFT_NYターゲット・システムをプロビジョニングする必要があります。PSFT_NYターゲット・システムのコネクタには、プロビジョニングする追加のSSNフィールドがあります。
extending-functionality-connector.htm#GUID-20E11AEE-0D63-4F74-8CAD-2CAB3793CF4A__BCGHJJADに、Example Multinational Inc.におけるターゲット・システムの複数インストールのアーキテクチャを示します
このようなシナリオの要件を満たすために、ITリソース、プロセス・フォーム、プロセス定義、リソース・オブジェクトなどのコネクタ・オブジェクトのコピーを作成できます。
コネクタ・オブジェクトのコピーを作成するという決定は、要件に基づきます。たとえば、ITリソースは、1つのターゲット・システム・インストールの接続情報を保持できます。したがって、ターゲット・システム・インストールごとにITリソースのコピーを作成する必要があります。
他の一部のコネクタ・オブジェクトでは、コピーを作成する必要はありません。たとえば、1つの属性マッピング参照定義をターゲット・システムのすべてのインストールに使用できます。
すべてのコネクタ・オブジェクトがリンクされます。たとえば、スケジュール済タスクはITリソースの名前を保持します。同様に、ITリソースは共通構成参照定義であるLookup.PSFT.Configurationの名前を保持します。オブジェクトのコピーを作成する場合は、他のコネクタ・オブジェクトでコピーの名前を指定する必要があります。extending-functionality-connector.htm#GUID-19998A97-1DAE-4027-BBEC-620458C7679F__BCGFIAFHに、コピーを作成できるコネクタ・オブジェクトと、これらのオブジェクトを参照する他のオブジェクトとの関連付けを示します。オブジェクトのコピーを作成する場合は、この情報を使用して、そのオブジェクトと他のオブジェクトとの関連を変更します。
extending- functionality- connector.htm#GUID-19998A97-1DAE-4027-BBEC-620458C7679F__BCGFIAFHに、コピーを作成できるコネクタ・オブジェクトと、これらのオブジェクトを参照する他のオブジェクトとの関連付けを示します。オブジェクトのコピーを作成する場合は、この情報を使用して、そのオブジェクトと他のオブジェクトとの関連を変更します。
表4-1 コネクタ・オブジェクトとその関連
コネクタ・オブジェクト | 名前 | 参照元 | 説明 |
---|---|---|---|
ITリソース |
PSFT User |
|
ITリソースのコピーを別の名前で作成する必要があります。 |
リソース・オブジェクト |
Peoplesoft User |
メッセージ固有の構成参照定義:
|
リソース・オブジェクトのコピーの作成はオプションです。他のターゲット・システムの同じ属性セットをリコンサイルする場合、新規リソース・オブジェクトを作成する必要はありません。 ノート: このリソース・オブジェクトのコピーは、ターゲット・システムの2つのインストール間で属性に違いがある場合にのみ作成します。 |
プロセス定義 |
Peoplesoft User Management |
該当なし |
プロセス定義のコピーの作成はオプションです。同じ属性セットをリコンサイルまたはプロビジョニングする場合、このコネクタ・オブジェクトのコピーを作成する必要はありません。 ノート: このプロセス定義のコピーは、ターゲット・システムの2つのインストール間で属性に違いがある場合にのみ作成します。 |
プロセス・フォーム |
UD_PSFT_BAS |
該当なし |
プロセス・フォームのコピーの作成はオプションです。異なる属性セットをプロビジョニングする場合は、このコネクタ・オブジェクトのコピーを作成する必要があります。 |
共通構成参照定義 |
Lookup.PSFT.Configuration |
メッセージ固有の構成参照定義:
|
共通構成参照定義のコピーの作成はオプションです。 ノート: この参照定義のコピーは、ターゲット・システムの2つのインストール間で属性に違いがある場合にのみ作成します。 |
メッセージ固有の構成参照定義 |
|
属性マッピング参照定義:
|
メッセージ固有参照定義のコピーの作成はオプションです。 ノート: この参照定義のコピーは、ターゲット・システムの2つのインストール間で属性に違いがある場合にのみ作成します。 |
属性マッピング参照定義 |
|
該当なし |
この参照定義は、ターゲット・システムのXMLメッセージ・ファイルからリコンサイルされた属性の情報を保持します。 ノート: この参照定義のコピーは、ターゲット・システムの2つのインストール間で属性に違いがある場合にのみ作成します。 |
リコンシリエーション・マップ参照定義 |
|
該当なし |
この参照定義は、リソース・オブジェクト・フィールドを、メッセージからリコンサイルされたデータにマップします。 ノート: この参照定義のコピーは、ターゲット・システムの2つのインストール間で属性に違いがある場合にのみ作成します。 |
プロビジョニング操作を実行する際に、管理およびユーザー・コンソールの参照フィールドで、リストから値を選択できます。これらの参照フィールドの一部には、ターゲット・システムからコピーされた値が移入されます。
以前のリリースのコネクタでは、ターゲット・システムのインストールが複数ある場合に、参照フィールドのエントリはそのエントリのコピー元のターゲット・システム・インストールにリンクされました。これにより、プロビジョニング操作が実行されたターゲット・システム・インストールに固有の参照フィールド値を選択できました。
Oracle Identity Managerをデプロイした後で、この機能を有効にできます。依存参照フィールド機能を有効にするには、次の手順を実行します。
ノート:
リソースをプロビジョニングするには、1つ以上の参照値(Currency Codeなど)が選択されているプロセス・フォームに必要な値を入力し、「続行」をクリックします。ただし、「戻る」ボタンをクリックした場合は、プロセス・フォームのコード・キーの説明がデコード値に変更されます。ここでプロビジョニングを続行すると、次の例外がスローされます。
列データの長さが長すぎます
この項では、UD_PSFT_BASフォームを更新する方法について説明します。次の項目が含まれます。
新しいバージョンのUD_PSFT_BASフォームを作成するには:
「プライマリ権限リスト」参照フィールドのプロパティを追加するには:
「現行バージョン」リストから、作成したバージョンを選択します。
「プロパティ」タブを開きます。
「プライマリ権限リスト」参照フィールドのプロパティを次のように追加します。
「参照コード= 参照定義の名前」プロパティを選択し、「プロパティの削除」をクリックします。
次に例を示します:
参照コード = Lookup.PSFT.UM.PermissionList
「プライマリ権限リスト」を選択し、「プロパティの追加」をクリックします。
「プロパティの追加」ダイアログ・ボックスで、次の操作を実行します。
「プロパティ名」リストから、「参照列名」を選択します。
「プロパティ値」フィールドに、lkv_encoded
と入力します。
「Save」アイコンをクリックしてダイアログ・ボックスを閉じます。
「プライマリ権限リスト」を選択し、「プロパティの追加」をクリックします。
「プロパティの追加」ダイアログ・ボックスで、次の操作を実行します。
「プロパティ名」リストから、「列名」を選択します。
「プロパティ値」フィールドに、lkv_encoded
と入力します。
「Save」アイコンをクリックしてダイアログ・ボックスを閉じます。
「プライマリ権限リスト」を選択し、「プロパティの追加」をクリックします。
「プロパティの追加」ダイアログ・ボックスで、次の操作を実行します。
「プロパティ名」リストから、「列幅」を選択します。
「プロパティ値」フィールドに、234
と入力します。
「プライマリ権限リスト」を選択し、「プロパティの追加」をクリックします。
「プロパティの追加」ダイアログ・ボックスで、次の操作を実行します。
「プロパティ名」リストから、「列見出し」を選択します。
「プロパティ値」フィールドに、lkv_decoded
と入力します。
「Save」アイコンをクリックしてダイアログ・ボックスを閉じます。
「プライマリ権限リスト」を選択し、「プロパティの追加」をクリックします。
「プロパティの追加」ダイアログ・ボックスで、次の操作を実行します。
「プロパティ名」リストから、「参照問合せ」を選択します。
「プロパティ値」フィールドで、Oracle Identity ManagerがOracleで実行されている場合は次のように入力します。
SELECT lkv_encoded,lkv_decoded FROM lkv lkv,lku lku WHERE lkv.lku_key = lku.lku_key AND lku_type_string_key = 'Lookup.PSFT.UM.PermissionList' AND lkv_encoded like CONCAT('$Form data.UD_PSFT_BAS_SERVER$','~%')
「プロパティ値」フィールドで、Oracle Identity ManagerがMicrosoft SQL Serverで実行されている場合は次のように入力します。
SELECT lkv_encoded,lkv_decoded FROM lkv lkv,lku lku WHERE lkv.lku_key = lku.lku_key AND lku_type_string_key = 'Lookup.PSFT.UM.PermissionList' AND lkv_encoded like '$Formdata.UD_PSFT_BAS_SERVER$' + '~%'
「Save」アイコンをクリックしてダイアログ・ボックスを閉じます。
UD_PS_EMAILフォームを更新するために実行する手順は、「UD_PSFT_BASフォームの更新」で説明した手順とほぼ同じです。
Design Consoleで、「Development Tools」を展開し、「Form Designer」をダブルクリックします。
UD_PS_EMAILフォームを検索して開きます。
「新しいバージョンの作成」をクリックし、新規バージョン番号を入力して、バージョンを保存します。
「現行バージョン」リストから、作成したバージョンを選択します。
「プロパティ」タブを開きます。
「電子メール・タイプ」参照フィールドのプロパティを次のように追加します。
「UD_PSFT_BASフォームの更新」で説明した手順のステップ6bを実行するときに、「プライマリ権限リスト」のかわりに「電子メール・タイプ」を選択します。
ステップ6cから6jまでを実行します。UD_PS_EMAILフォームの「電子メール・タイプ」フィールドに追加したプロパティを追加します。
ステップ6kを実行する場合は、参照問合せの「プロパティ値」フィールドに次のように入力します。
Oracleの場合:
SELECT lkv_encoded,lkv_decoded FROM lkv lkv,lku lku WHERE lkv.lku_key = lku.lku_key AND lku_type_string_key = 'Lookup.PSFT.UM.EmailType' AND lkv_encoded like CONCAT('$Form data.UD_PSFT_BAS_SERVER$', '~%')
Microsoft SQL Serverの場合
SELECT lkv_encoded,lkv_decoded FROM lkv lkv,lku lku WHERE lkv.lku_key=lku.lku_key AND lku_type_string_key='Lookup.PSFT.UM.EmailType'AND lkv_encoded like'$Formdata.UD_PSFT_BAS_SERVER$' + '~%'
「Save」アイコンをクリックして、フォームに変更を保存します。
「Make Version Active」をクリックします。
UD_PSROLESフォームを更新するために実行する手順は、「UD_PSFT_BASフォームの更新」で説明した手順とほぼ同じです。
Design Consoleで、「Development Tools」を展開し、「Form Designer」をダブルクリックします。
UD_PSROLESフォームを検索して開きます。
「新しいバージョンの作成」をクリックし、新規バージョン番号を入力して、バージョンを保存します。
「現行バージョン」リストから、作成したバージョンを選択します。
「プロパティ」タブを開きます。
「ロール名」参照フィールドのプロパティを次のように追加します。
「UD_PSFT_BASフォームの更新」で説明した手順のステップ6bを実行するときに、「プライマリ権限リスト」のかわりに「ロール名」を選択します。
ステップ6cから6jまでを実行します。UD_PSROLESフォームの「ロール名」フィールドに追加したプロパティを追加します。
ステップ6kを実行する場合は、参照問合せの「プロパティ値」フィールドに次のように入力します。
Oracleの場合:
SELECT lkv_encoded,lkv_decoded FROM lkv lkv,lku lku WHERE lkv.lku_key = lku.lku_key AND lku_type_string_key = 'Lookup.PSFT.UM.Roles' AND lkv_encoded like CONCAT('$Form data.UD_PSFT_BAS_SERVER$', '~%')
Microsoft SQL Serverの場合
SELECT lkv_encoded,lkv_decoded FROM lkv lkv,lku lku WHERE lkv.lku_key=lku.lku_key ANDlku_type_string_key='Lookup.PSFT.UM.Roles' AND lkv_encoded like'$Formdata.UD_PSFT_BAS_SERVER$' + '~%'
「Save」アイコンをクリックして、フォームに変更を保存します。
「Make Version Active」をクリックします。
PeopleSoftユーザー管理コネクタは、PeopleSoftコンポーネント・インタフェースでメソッドを呼び出し、プロパティを設定することで、ユーザー・プロビジョニングを実行します。コンポーネント・インタフェース定義は、PeopleSoftコンポーネント・インタフェース構成オブジェクトに割り当てられています。コネクタ・パッケージのxmlディレクトリにあるPeopleSoftComponentInterfaces.xml
ファイルのコピーを編集することで、定義を変更できます。このXMLファイルは、Lookup.PSFT.Configuration参照定義のxmlMappingエントリにマップされます。
この項には、PeopleSoft User Managementコネクタでのコンポーネント・インタフェースの構成と実装に関する次の情報が含まれます。
ノート:
「プロビジョニングのためのターゲット・システムの構成」を参照してください。
コンポーネント・インタフェース・マップには、コネクタで使用可能なコンポーネント・インタフェースのリストが含まれます。interfaces
オブジェクトには、コンポーネント・インタフェースのリストが含まれます。カスタム・コンポーネント・インタフェースがある場合は、独自のコンポーネント・インタフェース定義をマップに定義する必要があります。PeopleSoftコンポーネント・インタフェース構成オブジェクトを編集し、定義を追加のオブジェクトとして<Attribute name='interfaces'>
要素の下の<List>
要素に追加します。
この項では、次の項目について説明します。
使用可能な各コンポーネント・インタフェースには固有の定義があります。コンポーネント・インタフェース定義の主要な要素は次のとおりです。
name
。コンポーネント・インタフェースのラベル。多くの場合、componentInterface
属性の値と一致しますが、これは必須ではありません。値は、コネクタの「リソース・パラメータ」ページのドロップダウン・メニューに表示されます。
componentInterface
属性。PeopleSoftで定義された、コンポーネント・インタフェースの名前。
getKey
属性。PeopleSoft GET操作の実行時に設定されるコンポーネント・インタフェース・プロパティの名前。getKey
が定義されていない場合は、かわりにkey
属性が使用されます。
findKey
属性。PeopleSoft FIND操作の実行時に設定されるコンポーネント・インタフェース・プロパティの名前。findKey
が定義されていない場合は、かわりにkey
属性が使用されます。
createKey
属性。PeopleSoft CREATE操作の実行時に設定されるコンポーネント・インタフェース・プロパティの名前。createKey
が定義されていない場合は、かわりにkey
属性が使用されます。
key
属性。非推奨です。かわりにgetKey
、findKey
またはcreateKey
を使用します。
properties
属性。PeopleSoftコンポーネント・インタフェースから読取りまたは設定できるプロパティのリスト。
「プロパティ」リストの各オブジェクトには、次の属性が必要です。
name
。プロパティの名前これは、componentInterface
プロパティで識別される、PeopleSoftコンポーネント・インタフェースによって公開されているプロパティの名前と正確に一致する必要があります。プロパティの名前は、「アカウント属性」ページにリソース・ユーザー属性としてリストされる候補です。
これがコレクション・プロパティの場合は、追加属性を定義する必要があります。コレクション・プロパティは、そのキー・プロパティと、単純プロパティまたは複合プロパティ、あるいはその両方のネストしたセットを定義します。
isCollection
属性。プロパティがコレクションの場合は、これをtrueに設定します。
key
属性。プロパティがコレクションの場合は、これを、コレクションの各アイテムを一意に識別するプロパティの名前に設定します。
properties
属性。コレクションの各項目について読取り/設定できるプロパティのリスト。任意の複雑性をサポートするために、このリストの各メンバーは、親と同じ許容属性を持つオブジェクトです。つまり、独自のname
、isCollection
、key
およびproperties
属性を含むことができます。
disableRule
属性。ユーザーの無効状態を計算および設定するロジックを定義するオブジェクト。
この属性には、次の属性が含まれます。
property
属性。チェックするプロパティ。値は、componentInterface
オブジェクトのproperties
属性にリストされている必要があります。
trueValue
属性。ユーザーが無効であることを示す値。
falseValue
属性。ユーザーが有効であることを示す値。
supportedObjectTypes
属性。サポートされているリソース・オブジェクト・タイプのリストです。各オブジェクトが機能のセットを定義します。
features
属性。サポートされる機能のリスト。可能な機能タイプには、view、get、list、find、create、saveas、update、renameおよびdeleteが含まれます。
デフォルト・コンポーネント・インタフェース構成オブジェクトでは、次のインタフェースを定義します。
USER_PROFILE。作成、読取りおよび更新アクションを実行します。「USER_PROFILEコンポーネント・インタフェース」を参照してください。
DELETE_USER_PROFILE。ユーザー・アカウントを削除します。「DELETE_USER_PROFILEコンポーネント・インタフェース」を参照してください。
デフォルトのUSER_PROFLEコンポーネント・インタフェース定義は、作成、読取りおよび更新アクションの実行に使用されます。USER_PROFILEコンポーネント・インタフェースはGETKEYSおよびFINDKEYSキーのUserIDフィールドを割り当てるため、key
およびfindKey
属性はUserIDに設定されます。
USER_PROFILEコンポーネント・インタフェースのデフォルト定義は、可能なプロパティのすべてを定義するわけではありません。サンプル・ユーザー・フォームで使用されるプロパティのみ含むように簡素化されています。「アカウント属性」ページに他のリソース・ユーザー属性を追加する必要がある場合は、最初にコンポーネント・インタフェース定義を更新する必要があります。リソース・ユーザー属性は、コンポーネント・インタフェース定義にリストされていないかぎり、そのページに追加できません。
USER_PROFILEで定義されているほとんどのプロパティは、単純オブジェクトです。ただし、IDTypesおよびRolesオブジェクトはコレクションであり、複数の値を持つことができます。IDTypesには、独自のコレクションであるAttributesが含まれます。これらのオブジェクトには、isCollection
属性、コレクションのキー名および1つ以上のプロパティが含まれている必要があります。
リソース・オブジェクトを管理できるように、PeopleSoftコンポーネント・インタフェース・マップ定義ファイルを編集できます。テキスト・エディタを使用して、ObjectType
要素を定義ファイルに追加します。たとえば、Roleリソース・オブジェクトのサポートを追加するには、次の例のようなObjectType
要素を追加します。
<ObjectTypes> <ObjectType name='Role' icon='role'> <ObjectFeatures> <ObjectFeature name='find'/> </ObjectFeatures> <ObjectAttributes idAttr='ROLENAME' displayNameAttr='ROLENAME' descriptionAttr='DESCR'> <ObjectAttribute name='ROLENAME' type='string'/> <ObjectAttribute name='DESCR' type='string'/> <ObjectAttribute name='ROLESTATUS' type='string'/> </ObjectAttributes> </ObjectType> </ObjectTypes>
ObjectType
名(Roleなど)は、1つのコンポーネント・インタフェース定義のsupportedObjectTypes
リストの1つのオブジェクトの名前とのみ一致する必要があります。各ObjectFeature
(findなど)には、同じsupportedObjectTypes
のfeatures
リスト内の対応する機能が必要です。一致するコンポーネント・インタフェースを使用して、リソース機能が実行されます。複数の一致がある場合は、最初に見つかったものが使用されます。
次の例は、コンポーネント・インタフェース・マップのROLE_MAINTコンポーネント・インタフェースのコンポーネント・インタフェース定義の一部です。オブジェクト名Roleが見つかり、機能リスト内のアイテムの名前はfindです。
<Attribute name='supportedObjectTypes' > <List> <Object name='Role'> <Attribute name='features' > <List> <Object name='find' /> <Object name='get' /> </List> </Attribute> </Object> </List> </Attribute>