ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Identity Manager開発者ガイド
11g リリース1(11.1.1)
B66705-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

28 Oracle Identity Managerのインタフェースのカスタマイズ

この章では、Oracle Identity Managerで使用可能なユーザー・インタフェースの様々な側面のカスタマイズ方法について説明します。


注意:

Oracle Identity Manager 11gリリース1(11.1.1)には、暫定UIと呼ばれる、従来のUIテクノロジに基づく多数のUIページが含まれています。技術上の相違のために、暫定UIはポップアップ・ウィンドウに表示され、そのルック・アンド・フィールは異なります。これらのUIについては、この章の関連する項で説明します。


この章では、次の内容を説明します。

28.1 ブランド・カスタマイズ

ブランド情報のカスタマイズには、ロゴ、ロゴ・マウスオーバー・テキスト、ブランド・テキストの3つの側面があります。これらは2つの方法によりカスタマイズできます。この項では、これを行う方法のうちの1つについて説明します。もう1つの方法は、適切なスタイル・クラスを使用してスキンを変更する方法であり、この方法については「スタイルシートの変更」で説明します。

ブランド・カスタマイズは、次の方法のいずれかを使用して行うことができます。

スキンおよびスタイルシートは、UIのルック・アンド・フィールをカスタマイズできるメカニズムです。スタイルシートの変更やカスタム・スキンを使用する利点は、これらの変更が集中管理されており、簡単に管理できる点です。スキンおよびスタイルシートの詳細は、次のURLでOracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイドのスタイルおよびスキンを使用した外観のカスタマイズに関する説明を参照してください。

http://download.oracle.com/docs/cd/E15523_01/web.1111/b52029/toc.htm

特定のカスタマイズ(ブランド・ロゴ・マウスオーバー・テキストなど)は、この項で説明するとおり、より簡単に実行できます。

ブランド・カスタマイズでは両方の方法を組み合せて使用でき、ほとんどの変更にはスタイルシートの変更やカスタム・スキンを使用して、特定のアイテム(ブランド・ロゴ・マウスオーバー・テキストなど)にはこの項で説明するような特定ファイルの変更を使用します。

ブランドは次のセクションでカスタマイズできます。

28.1.1 ログイン・ページ

ログイン・ページ用のブランド変更は、次のファイルで構成されます。

  • iam-consoles-faces.war/pages/Login.jspx

  • admin.war/pages/Login.jspx

ブランド・テキスト

ブランド・テキストは、リソース・バンドル・プロパティbranding_textの値を変更することにより変更できます。Login.jspxの次の場所でその値が参照されています。

<f:facet name="branding">
  <af:outputText value="#{admin.model.resources.common.branding_text}"              id="ot1"/>
</f:facet>

次のリソース・バンドルがプロパティの参照に使用されます。

iam-consoles-faces.war/WEB-INF/lib/iam-consoles-faces.jar/oracle/iam/consoles/faces/resources/Common_LOCALE.properties

ここでLOCALEをロケールの値で置き換えることにより(たとえば、Common_en.properties)、適切なファイルを使用します。


ヒント:

  • ファイルを変更する前に、ファイルのバックアップを作成します。編集するファイルは、コンソールを使用して実行するカスタマイズのタイプに対応します。たとえば、IdentityUIBundle_en.propertiesファイルを編集することにより、Oracle Identity Administrationのブランド・テキストを変更します。

  • JARファイルとWARファイルのアップロードおよびダウンロードの方法については、第35章「JARおよびリソース・バンドルのアップロード・ユーティリティ」を参照してください。

  • JARファイルを抽出できない場合は、Java JDKがあるディレクトリを指すようにPATH環境変数が設定されていることを確認します。


ロゴ・イメージ

ロゴ・イメージを変更するには、次の手順を実行します。

  1. 新しいイメージ(new-logo.pngなど)をoim.ear/iam-consoles-faces.war/images/ディレクトリにコピーします。

  2. iam-consoles-faces.war/pages/Login.jspx内にある次の行の後に、スタイルシート・クラスを追加します。

    <af:document title="#{admin.model.resources.common.title_login_page}" id="d1"                 theme="dark" maximized="true">
    

    例:

    <af:document title="#{admin.model.resources.common.title_login_page}" id="d1"
                     theme="dark" maximized="true">
    <af:resource type="css">
                .MyCustomBrandingLogo {
                    background-image:url('/oim/images/new-logo.png');
                    background-position:center;
        background-repeat:repeat-n; display:block;
                    height:3.5em; width:119px;
                  }
       </af:resource>
    …
    
  3. 次のように、brandingLogoClsという名前およびCSSクラス名としての値を含む属性を行内に追加します。

    <af:pageTemplate viewId="/templates/IdmSignIn.jspx" value="#{bindings.pageTemplateBinding}" id="pt1">

    例:

    <af:pageTemplate viewId="/templates/IdmSignIn.jspx" value="#{bindings.pageTemplateBinding}" id="pt1">
    <f:attribute name="brandingLogoCls" value="MyCustomBrandingLogo"/>
    …
    
  4. Oracle Identity Managerを再起動しても、WebLogic管理対象サーバーのtmp/ディレクトリからの古いファイルがロードされ、この結果、新しいロゴ・イメージは表示されません。この問題を修正するには、次の手順を実行します。

    1. Oracle WebLogic Serverを停止します。

    2. $DOMAIN_ROOT/servers/oim_server1/tmp/ディレクトリにあるすべてのファイルを削除します。

    3. Oracle WebLogic Serverを起動します。

ロゴ・マウスオーバー・テキスト

ロゴ・マウスオーバー・テキストを変更するには、次の手順を実行します。

  1. アーカイブの内容を次の場所から一時フォルダに抽出します。

    ORACLE_HOME/modules/oracle.idm.uishell_11.1.1/oracle.idm.uishell.war
    
  2. 元のファイルのバックアップを作成します。

  3. /WEB-INF/lib/oracle-idm-uishell.jarファイルの内容を一時的な場所に抽出します。

  4. templates/IdmShell.jspxファイルおよびtemplates/IdmSignIn.jspxファイルでshortDesc='Oracle'を検索し、(デフォルトのOracleのかわりに)必要なロゴ・マウスオーバー・テキストを次のコードのshortDescの値として指定します。

    <af:panelBorderLayout styleClass="AFBrandingBar" id="ptpbl1">
     <f:facet name="start">
     <af:panelGroupLayout styleClass="AFBrandingBarItem"
     inlineStyle="background-color: white;"
     id="ptpgl2">
     <af:spacer shortDesc="Oracle"
     styleClass="#{attrs.brandingLogoCls}"
     id="pts1"/>
     </af:panelGroupLayout>
    </f:facet>
    

    コード例を使用して、どの場所を置き換えるかを確認します。正確なコードは、この例と多少異なる場合があります。置換するテキストは、AFBrandingBarItemスタイル・クラスが使用されているパネル内にあります。

  5. JARファイルを再パッケージして、抽出したWebアーカイブ(WAR)ファイルの/WEB-INF/lib/ディレクトリに配置します。

  6. oracle.idm.uishell.warファイルを再パッケージして、元の場所に配置します。

    WARファイルを再パッケージする場合、MANIFEST.MFファイルを上書きしないでください。たとえば、次のコマンドを使用します。

    jar –cmf META-INF\MANIFEST.MF oracle.idm.uishell.war *
    

    注意:

    MANIFEST.MFファイルは、WARファイルを作成すると常に作成されます。このファイルには、WARファイルに関する情報(ファイルのビルド番号やバージョン番号など)が含まれています。引数としてmと入力すると、元のMANIFEST.MFファイルに存在する詳細がJavaで保持されるよう強制できます。つまり、ファイルは上書きされません。Oracle Identity Managerでは、oracle.idm.uishell.warファイルの内容を使用するためにこの情報が必要です。


28.1.2 アイデンティティ管理

Oracle Identity Administrationのブランド変更は、admin.war/pages/Admin.jspxで構成されます。

ブランド・テキスト

ブランド・テキストは、リソース・バンドル・プロパティbranding_textの値を変更することにより変更できます。Admin.jspxの次の場所でその値が参照されています。

<f:facet name="branding">
    <af:outputText value="#{resUI.branding_text}" id="ot1"/>
</f:facet>

ここで、resUIは次のリソース・バンドルを参照します。

admin.war/WEB-INF/lib/IdentityTaskFlow.jar/oracle/iam/identitytaskflow/resources/IdentityUIBundle_LOCALE.properties

ブランド・ファセットではADFタグが使用されており、ブランド・ニーズに対して柔軟に対応できます。

ロゴ・イメージ

ロゴ・イメージを変更するには、次の手順を実行します。

  1. 新しいイメージ(new-logo.pngなど)をoim.ear/iam-consoles-faces.war/images/ディレクトリにコピーします。

  2. admin.war/pages/Admin.jspx内にある次の行の後に、スタイルシート・クラスを追加します。

    <af:document title="#{resUI.window_title_text}" theme="dark" id="d1">
    

    例:

    <af:document title="#{resUI.window_title_text}" theme="dark" id="d1">
    <af:resource type="css">
                .MyCustomBrandingLogo {
                    background-image:url('/oim/images/new-logo.png');
                    background-position:center;
        background-repeat:repeat-n; display:block;
                    height:3.5em; width:119px;
                  }
       </af:resource>
    …
    
  3. 次のように、brandingLogoClsという名前およびCSSクラス名としての値を含む属性を行内に追加します。

    <af:pageTemplate viewId="/templates/IdmShell.jspx" value="#{bindings.pageTemplateBinding}" id="pt1">

    例:

    <af:pageTemplate viewId="/templates/IdmShell.jspx" value="#{bindings.pageTemplateBinding}" id="pt1">
    <f:attribute name="brandingLogoCls" value="MyCustomBrandingLogo"/>
    …
    
  4. Oracle Identity Managerを再起動しても、WebLogic管理対象サーバーのtmp/ディレクトリからの古いファイルがロードされ、この結果、新しいロゴ・イメージは表示されません。この問題を修正するには、次の手順を実行します。

    1. Oracle WebLogic Serverを停止します。

    2. $DOMAIN_ROOT/servers/oim_server1/tmp/ディレクトリにあるすべてのファイルを削除します。

    3. Oracle WebLogic Serverを起動します。

ロゴ・マウスオーバー・テキスト

「ログイン・ページ」で説明したように、ログイン・ページのロゴ・マウスオーバー・テキストを変更するための手順を実行する場合、この項の手順を実行する必要はありません。

ロゴ・マウスオーバー・テキストを変更するには、次の手順を実行します。

  1. アーカイブを次の場所から一時フォルダに抽出します。

    ORACLE_HOME/modules/oracle.idm.uishell_11.1.1/oracle.idm.uishell.war

  2. 元のファイルのバックアップを作成します。

  3. WEB-INF/lib/oracle-idm-uishell.jarファイルを一時的な場所に抽出します。

  4. templates/IdmShell.jspxファイルおよびtemplates/IdmSignIn.jspxファイルでshortDesc='Oracle'を検索し、(デフォルトのOracleのかわりに)必要なロゴ・マウスオーバー・テキストを次のようにshortDescの値として指定します。

    <af:panelBorderLayout styleClass="AFBrandingBar"
     id="ptpbl1">
     <f:facet name="start">
     <af:panelGroupLayout styleClass="AFBrandingBarItem"
     inlineStyle="background-color: white;"
     id="ptpgl2">
     <af:spacer shortDesc="Oracle"
     styleClass="#{attrs.brandingLogoCls}"
     id="pts1"/>
     </af:panelGroupLayout>
    </f:facet>
    
  5. JARファイルを再パッケージして、抽出したWARファイルのWEB-INF/libに配置します。

  6. oracle.idm.uishell.warファイルを再パッケージして、元の場所に配置して戻します。

28.1.3 認証されていないセルフ・サービス

認証されていないセルフ・サービスのUIに対するブランド変更は、iam-consoles-faces.war/pages/USelf.jspxで構成されます。

ブランド・ファセット

ブランド・テキストは、リソース・バンドル・プロパティheader_brandingの値を変更することにより変更できます。USelf.jspxの次の場所でその値が参照されています。

<f:facet name="branding">
    <af:outputText id="brandingTitle" value="#{uself.model.resources.uself.header_branding}"/>
</f:facet>

uselfリソース・バンドルは次の場所にあります。

iam-consoles-faces.war/WEB-INF/lib/iam-consoles-faces.jar/oracle/iam/consoles/faces/resources/USelf_LOCALE.properties

ロゴ・イメージ

ロゴ・イメージを変更するには、次の手順を実行します。

  1. 新しいイメージ(new-logo.pngなど)をoim.ear/iam-consoles-faces.war/images/ディレクトリにコピーします。

  2. iam-consoles-faces.war/pages/USelf.jspx内にある次の行の後に、スタイルシート・クラスを追加します。

    <f:facet name="metaContainer">
    

    例:

    <f:facet name="metaContainer">
    <af:resource type="css">
                .MyCustomBrandingLogo {
                    background-image:url('/oim/images/new-logo.png');
                    background-position:center;
        background-repeat:repeat-n; display:block;
                    height:3.5em; width:119px;
                  }
    </af:resource>
    …
    
  3. 同じファイルで、brandingLogoClsという名前およびCSSクラス名としての値を含む属性を次の行内に追加します。

    <af:pageTemplate id="PANEL_PAGE" viewId="/templates/uself.jspx">
    

    例:

    <af:pageTemplate id="PANEL_PAGE" viewId="/templates/uself.jspx">
    <f:attribute name="brandingLogoCls" value="MyCustomBrandingLogo"/>
    …
    
  4. Oracle Identity Managerを再起動しても、WebLogic管理対象サーバーのtmp/ディレクトリからの古いファイルがロードされ、この結果、新しいロゴ・イメージは表示されません。この問題を修正するには、次の手順を実行します。

    1. Oracle WebLogic Serverを停止します。

    2. $DOMAIN_ROOT/servers/oim_server1/tmp/ディレクトリにあるすべてのファイルを削除します。

    3. Oracle WebLogic Serverを起動します。

ロゴ・マウスオーバー・テキスト

ブランド・ロゴ・イメージのマウスオーバー・テキストを変更するには、iam-consoles-faces.war/pages/USelf.jspxファイルで次の手順のいずれかを実行します。

  • 行<af:pageTemplate id="PANEL_PAGE" viewId="/templates/uself.jspx">内で、静的テキスト値として次の値を追加します。

    <f:attribute name="brandingLogoText" value="My Company"/>
    
  • リソース・バンドルから、プロパティ(text_logo_mouseoverなど)を対応するバンドル(iam-consoles-faces.war/WEB-INF/lib/iam-consoles-faces.jar/oracle/iam/consoles/faces/resources/USelf_LOCALE.properties)に追加して、次に示すように使用します。

    <f:attribute name="brandingLogoText" value="#{uself.model.resources.uself.text_logo_mouseover}"/>
    

28.1.4 認証されたセルフ・サービス

Oracle Identity Managerセルフ・サービスに対するブランド変更は、iam-consoles-faces.war/pages/Self.jspxで構成されます。

ブランド・ファセット

ブランド・テキストは、リソース・バンドル・プロパティheader_brandingの値を変更することにより変更できます。Self.jspxの次の場所でその値が参照されています。

<f:facet name="branding">
    <af:outputText id="brandingTitle" value="#{self.model.resources.self.header_branding}"/>
</f:facet>

selfリソース・バンドルは、iam-consoles-faces.war/WEB-INF/lib/iam-consoles-faces.jar/oracle/iam/consoles/faces/resources/Self_LOCALE.propertiesにあります。

ロゴ・イメージ

ロゴ・イメージを変更するには、次の手順を実行します。

  1. 新しいイメージ(new-logo.pngなど)をoim.ear/iam-consoles-faces.war/images/ディレクトリにコピーします。

  2. iam-consoles-faces.war/pages/Self.jspx内にある次の行の後に、スタイルシート・クラスを追加します。

    <f:facet name="metaContainer">
    

    例:

    <f:facet name="metaContainer">
    <af:resource type="css">
                .MyCustomBrandingLogo {
                    background-image:url('/oim/images/new-logo.png');
                    background-position:center;
        background-repeat:repeat-n; display:block;
                    height:3.5em; width:119px;
                  }
       </af:resource>
    …
    
  3. 同じファイルで、brandingLogoClsという名前およびCSSクラス名としての値を含む属性を次の行内に追加します。

    <af:pageTemplate id="PANEL_PAGE" viewId="/templates/self.jspx">
    

    例:

    <af:pageTemplate id="PANEL_PAGE" viewId="/templates/self.jspx">
    <f:attribute name="brandingLogoCls" value="MyCustomBrandingLogo"/>
    …
    
  4. Oracle Identity Managerを再起動しても、WebLogic管理対象サーバーのtmp/ディレクトリからの古いファイルがロードされ、この結果、新しいロゴ・イメージは表示されません。この問題を修正するには、次の手順を実行します。

    1. Oracle WebLogic Serverを停止します。

    2. $DOMAIN_ROOT/servers/oim_server1/tmp/ディレクトリにあるすべてのファイルを削除します。

    3. Oracle WebLogic Serverを起動します。

ロゴ・マウスオーバー・テキスト

ブランド・ロゴ・イメージのマウスオーバー・テキストを変更するには、iam-consoles-faces.war/pages/Self.jspxファイルで次の手順のいずれかを実行します。

  • 行<af:pageTemplate id="PANEL_PAGE" viewId="/templates/self.jspx">内で、静的テキスト値として次の値を追加します。

    <f:attribute name="brandingLogoText" value="My Company"/>
    
  • リソース・バンドルから、プロパティ(text_logo_mouseoverなど)を対応するバンドル(iam-consoles-faces.war/WEB-INF/lib/iam-consoles-faces.jar/oracle/iam/consoles/faces/resources/Self_LOCALE.properties)に追加して、次に示すように使用します。

    <f:attribute name="brandingLogoText" value="#{self.model.resources.self.text_logo_mouseover}"/>
    

28.1.5 拡張管理

拡張管理のブランド変更は、iam-consoles-faces.war/pages/Admin.jspxで構成されます。

ブランド・ファセット

ブランド・テキストは、リソース・バンドル・プロパティheader_branding_advの値を変更することにより変更できます。Admin.jspxの次の場所でその値が参照されています。

<f:facet name="branding">
    <af:outputText id="brandingTitle" value="#{admin.model.resources.admin.header_branding_adv}"/>
</f:facet>

adminリソース・バンドルは、iam-consoles-faces.war/WEB-INF/lib/iam-consoles-faces.jar/oracle/iam/consoles/faces/resources/Admin_LOCALE.propertiesにあります。

ロゴ・イメージ

ロゴ・イメージを変更するには、次の手順を実行します。

  1. 新しいイメージ(new-logo.pngなど)をoim.ear/iam-consoles-faces.war/images/ディレクトリにコピーします。

  2. iam-consoles-faces.war/pages/Admin.jspx内にある次の行の後に、スタイルシート・クラスを追加します。

    <f:facet name="metaContainer">
    

    例:

    <f:facet name="metaContainer">
    <af:resource type="css">
                .MyCustomBrandingLogo {
                    background-image:url('/oim/images/new-logo.png');
                    background-position:center;
        background-repeat:repeat-n; display:block;
                    height:3.5em; width:119px;
                  }
       </af:resource>
    …
    
  3. 同じファイルで、brandingLogoClsという名前およびCSSクラス名としての値を含む属性を次の行内に追加します。

    <af:pageTemplate id="PANEL_PAGE" viewId="/templates/admin.jspx">
    

    例:

    <af:pageTemplate id="PANEL_PAGE" viewId="/templates/admin.jspx">
    <f:attribute name="brandingLogoCls" value="MyCustomBrandingLogo"/>
    …
    
  4. Oracle Identity Managerを再起動しても、WebLogic管理対象サーバーのtmp/ディレクトリからの古いファイルがロードされ、この結果、新しいロゴ・イメージは表示されません。この問題を修正するには、次の手順を実行します。

    1. Oracle WebLogic Serverを停止します。

    2. $DOMAIN_ROOT/servers/oim_server1/tmp/ディレクトリにあるすべてのファイルを削除します。

    3. Oracle WebLogic Serverを起動します。

ロゴ・マウスオーバー・テキスト

ブランド・ロゴ・イメージのマウスオーバー・テキストを変更するには、iam-consoles-faces.war/pages/Admin.jspxファイルで次の手順のいずれかを実行します。

  • 行<af:pageTemplate id="PANEL_PAGE" viewId="/templates/admin.jspx">内で、静的テキスト値として次の値を追加します。

    <f:attribute name="brandingLogoText" value="My Company"/>
    
  • リソース・バンドルから、プロパティ(text_logo_mouseoverなど)を対応するバンドル(iam-consoles-faces.war/WEB-INF/lib/iam-consoles-faces.jar/oracle/iam/consoles/faces/resources/Admin_LOCALE.properties)に追加して、次に示すように使用します。

    <f:attribute name="brandingLogoText" value="#{admin.model.resources.admin.text_logo_mouseover}"/>
    

28.2 スタイルシートの変更

この章では、スタイルシートを更新する手順について説明します。トピックは次のとおりです。

28.2.1 スタイルシートの概要

Oracle ADFでは、アプリケーションの外観をカスタマイズするためにスタイルとともにスキンを使用します。これらの概念は、暫定UIのポップアップを除き、Oracle Identity Managerのすべてのインタフェースに適用されます。


関連項目:

スタイルシートをカスタマイズする前に、次のURLでFusion Middleware Webユーザー・インタフェース開発者ガイドのスタイルおよびスキンを使用した外観のカスタマイズに関する説明を参照してください。

http://download.oracle.com/docs/cd/E15523_01/web.1111/b52029/toc.htm

次のURLでは、スタイルシートをカスタマイズするために使用できるCSSスタイル・セレクタすべてがリストされています。

http://download.oracle.com/docs/cd/E15523_01/apirefs.1111/e15862/toc.htm


trinidad-config.xmlで新規スキンを構成します。Oracle Identity Managerのデフォルトのスキンは、fusionです。

<?xml version="1.0" encoding='utf-8'?>
<trinidad-config xmlns="http://myfaces.apache.org/trinidad/config">
  <skin-family>fusion</skin-family>
</trinidad-config>

コンソール固有のtrinidad-config.xmlファイルは、次の2つです。

  • アイデンティティ管理の場合: admin.war/WEB-INF/trinidad-config.xml

  • セルフ・サービス(認証されていない)および拡張管理の場合: iam-consoles-faces.war/WEB-INF/trinidad-config.xml

28.2.2 カスタム・スキンの作成およびスタイルシートの上書き

fusionスキンによるデフォルトを保持して、特定のスタイルシート要素を上書きするには、次の手順を実行します。

  1. trinidad-skins.xmlファイルでスキンを作成します。trinidad-skins.xmlを/iam-consoles-faces.war/WEB-INF/ディレクトリからadmin.war/WEB-INF/ディレクトリにコピーします。/admin.war/WEB-INF/trinidad-skins.xmlファイルと/iam-consoles-faces.war/WEB-INF/trinidad-skins.xmlファイルの両方に対して、次の変更を行います。

    <?xml version="1.0" encoding='utf-8'?>
    <skins xmlns="http://myfaces.apache.org/trinidad/skin">
        <skin>
            <id>myskin.desktop</id>
            <family>myskin</family>
            <extends>fusion.desktop</extends>
            <render-kit-id>org.apache.myfaces.trinidad.desktop</render-kit-id>
            <style-sheet-name>skins/myskin/myskin.css</style-sheet-name>
            <bundle-name>oracle.iam.consoles.faces.resources.AdfComponentsMessageBundle</bundle-name>
        </skin>
    </skins>
    
  2. admin.war/WEB-INF/trinidad-config.xmlファイルとiam-consoles-faces.war/WEB-INF/trinidad-config.xmlファイルの両方で、新規のmyskinを次に示すように登録します。

    <?xml version="1.0" encoding='utf-8'?>
    <trinidad-config xmlns="http://myfaces.apache.org/trinidad/config">
      <skin-family>myskin</skin-family>
    </trinidad-config>
    
  3. admin.war/skins/myskin/myskin.cssファイルとiam-consoles-faces.war/skins/myskin/myskin.cssファイルの両方で、myskin.cssを作成します。

  4. デフォルトから上書きされる必要があるスタイルシート要素を指定します。たとえば、ブランド・テキストの色を変更するには、次を追加します。

    .AFBrandingBarTitle, .xdj
    {
            color:#800080;
    }
    
  5. Oracle WebLogic Server管理コンソールを使用して、Oracle Identity Managerデプロイメントを再デプロイ(または更新)します。

「ブランド・カスタマイズ」での方法にかわる方法としてブランド情報を変更するには、カスタム・スキンを作成して「スタイルシートの概要」のURLで示した適切なスタイル・クラスを使用します。

28.2.3 暫定UIにおけるスタイルシート

この項では、管理およびユーザー・コンソールにおける暫定UIのルック・アンド・フィールをカスタマイズする方法について説明します。これを行うには、カスケード・スタイルシートを編集します。

この項には次のトピックが含まれます:

28.2.3.1 変更するファイル

暫定UIの色、フォントおよび位置合せをカスタマイズするには、/xlWebApp/css/Xellerate.cssファイルまたはロケール固有のカスケード・スタイルシートを編集します。

28.2.3.2 暫定UIの外観のカスタマイズ

Xellerate.cssスタイルシートにより、暫定UIページの色、フォント、ポイント・サイズおよび位置合せが定義されます。暫定UIの外観の編集方法が決定したら、次の手順を実行します。

  1. ページのソースを表示します。

  2. 変更するページの要素に関連するスタイルシート・クラスを決定します。

  3. Xellerate.cssファイル内でスタイルシート・クラス名を検索します。

Xellerate.cssファイルにはコンテキスト・ラベルが含まれています。暫定UIの外観について特定の側面をカスタマイズする場合、これらのコンテキスト・ラベルを使用して、編集するクラスを検索します。また、このファイル内のクラスは、画面のリージョン(ヘッダー、本文、フッターなど)およびクラスが影響を及ぼすHTML要素(リンク、表、チェック・ボックスなど)に応じて編成されています。

28.3 ボタン・ラベルの名前変更

この項では、様々なコンソールでボタン・ラベルの名前を変更できる方法について説明します。

28.3.1 アイデンティティ管理

アイデンティティ管理は次の4つの主要な機能領域で構成されており、それぞれの領域に独自のリソース・バンドルがあります。

  • ユーザー管理:

    admin.war/WEB-INF/lib/IdentityTaskFlow.jar/oracle/iam/identitytaskflow/resources/IdentityUIBundle_LOCALE.properties
    
  • 組織管理:

    admin.war/WEB-INF/lib/orgmgmtTF.jar/oracle/iam/consoles/orgmgmt/tf/resources/orgmgmt-ui_LOCALE.properties
    
  • ロール管理:

    admin.war/WEB-INF/lib/rolemgmtTF.jar/oracle/iam/consoles/rolemgmt/tf/resources/rolemgmt-ui_LOCALE.properties
    
  • ポリシー管理:

    admin.war/WEB-INF/lib/OESOIMTaskFlows.jar/oracle/iam/consoles/oesoim/tf/resources/oes-oim-ui_LOCALE.properties
    

たとえば、ポリシー管理UIの場合、対応するプロパティ・ファイルで、次のプロパティがボタン・ラベル用に設定されています。

button.advanced=Advanced
button.apply=Apply
button.apply.accessKey=A
button.back=Back
button.back.accessKey=B
button.cancel=Cancel
button.cancel.accessKey=C
button.edit_attribute=Edit Attributes
button.edit_attribute.accessKey=E
button.finish=Finish
button.finish.accessKey=F
button.next=Next
button.next.accessKey=N
button.ok=Ok
button.ok.accessKey=O
button.revert=Revert
button.revert.accessKey=R
button.save=Save
button.save.accessKey=S

28.3.2 その他のコンソール

認証されていないセルフ・サービス、認証されたセルフ・サービスおよび拡張管理に対して共通のボタン・ラベルは、次のリソース・バンドルで設定されています。

iam-consoles-faces.war/WEB-INF/lib/iam-consoles-faces.jar/oracle/iam/consoles/faces/resources/Common_LOCALE.properties

例:

text_cancel = Cancel
description_cancel = Cancel
 
text_submit = Submit
description_submit = Submit.
 
text_reset = Reset
description_reset = Reset
 
text_previous = Back
description_previous = Back
 
text_next = Next
description_next = Next
 
text_refresh = Refresh
description_refresh = Refresh
 
text_perform = Perform
description_perform = Perform
 
text_confirm = OK
description_confirm = Confirm

セルフ・サービスの一部のボタン・ラベルは、iam-consoles-faces.war/WEB-INF/lib/OIMUI.jar/oracle/iam/selfservice/self/agentry/resources/Agent_LOCALE.propertiesファイルからも使用されます。

拡張管理では、数多くのボタン・ラベルが、それぞれの機能のAgent_LOCALE.propertiesファイルから使用されます。たとえば、リクエストされたボタンの場合、使用するファイルはiam-consoles-faces.war/WEB-INF/lib/OIMUI.jar/oracle/iam/request/agentry/resources/ディレクトリにあるAgent_LOCALE.propertiesです。

このファイルの一部のボタンは、次のとおりです。

Intent[BACK].name =Back
Intent[BACK].description =Back
Intent[NEXT].name =Next
Intent[NEXT].description =Next
Intent[ADD].name=Add
Intent[CANCEL].name=Cancel
Intent[CLEAR].name=Clear
Intent[SAVE].name=Save
Intent[APPLY].name=Apply
Intent[REVERT].name=Revert
Intent[PREV_RES].name=Previous Resource
Intent[NEXT_RES].name=Next Resource
Intent[CLOSE_REQ].name=Close Request
Intent[SEARCH_LKQ].name=Search
Intent[REFRESH].name=Refresh

一部の主要な機能について、OIMUI.jar内のエージェント・プロパティ・ファイルの場所のリストを次に示します。

  • システム構成: oracle/iam/conf/agentry/resources

  • ユーザー構成: oracle/iam/configservice/agentry/resources

  • スケジューラ: oracle/iam/features/scheduler/agentry/resources

  • 通知テンプレート: oracle/iam/features/notification/agentry/resources

  • リコンシリエーション: oracle/iam/reconciliation/agentry/resources

  • リクエスト: oracle/iam/request/agentry/resources

  • リクエスト・テンプレート: oracle/iam/requesttemplate/agentry/resources

  • 認証されたセルフ・サービス: oracle/iam/selfservice/self/agentry/resources

  • 認証されていないセルフ・サービス: oracle/iam/selfservice/uself/agentry/resources

  • セルフ・サービスのタスク・リスト: oracle/iam/tasklist/agentry/resources

28.3.3 暫定UIのポップアップ

この項では、管理およびユーザー・コンソールの暫定UIページに表示される説明およびラベルをカスタマイズする方法について説明します。また、特定の(エラー・メッセージが生成された)状況下で表示されるエラー・メッセージを編集する方法についても説明します。

次のテキストをカスタマイズできます。

  • 指示文などの手順の説明

  • ページのラベル

  • ページ内のフィールドのラベル

  • ボタンに表示されるラベル

  • 他のページへのリンクのラベル

  • コピーライトの日付と情報

この項には次のトピックが含まれます:

28.3.3.1 変更するファイル

管理およびユーザー・コンソールの暫定UIページにおけるテキストをカスタマイズするには、xlWebApp\WEB-INF\classes\xlWebAdmin_LOCALE.propertiesファイルまたはロケール固有のpropertiesファイルを編集します。

propertiesファイルには他にも、ワークフロー・ビジュアライザとワークフロー・デザイナ用のxlRichClient.propertiesや、イメージ参照などの一般的な(ロケール固有ではない)プロパティを組み込むために使用されるxlDefaultAdmin.propertiesなどがあります。

28.3.3.2 説明とラベルのカスタマイズ

コンソールに表示されるテキストは、xlWebAdmin_LOCALE.propertiesファイルに格納されています。ラベル、手順説明またはエラー・メッセージを編集するには、次の手順を実行します。

  1. テキストが表示されるJSPページにアクセスします。

  2. テキストに関連付けられるプロパティを参照します。

  3. xlWebAdmin_LOCALE.propertiesファイルでプロパティ名を検索します。

複数のページに含まれるテキストを制御するプロパティ、または複数の製品機能に関連付けられるプロパティは、このファイルのGLOBALセクションのいずれか(GLOBALメッセージなど)にリストされています。また、これらのプロパティはタイプ固有のラベル(メッセージ、ボタン、ラベルなど)によって分けられ、プロパティのグループも編成します。

製品機能のより具体的なコンテキストで表示されるテキストを制御するプロパティ(ユーザーの作成や自己登録など)は、機能固有の方法でラベル付けされたセクション(MANAGE USERラベルなど)にリストされます。

ワークフロー・ビジュアライザのラベルの幅は、ピクセル長を文字長に変換することにより計算されます。誤って変換すると、テキストが切り捨てられたり、ラベルの周りに余分な空白スペースができてしまう可能性があります。xlRichClient.propertiesファイルまたはロケール固有のファイル(日本語用のxlRichClient_jp.propertiesなど)には、global.workflowRenderer.labelWidthFactorという名前のプロパティが含まれています。このプロパティは、ラベル・テキストをピクセル長から文字長に変換する場合に使用されます。ワークフロー・ビジュアライザのラベル幅を変更するには、このプロパティに割り当てられている整数値を変更します。整数が大きくなるとラベル幅は増加され、整数が小さくなると減少されます。

28.4 メニューおよびタブの使用

この項では、管理およびユーザー・コンソールの様々なセクションで、メニューおよびタブを追加したり更新する方法について説明します。

28.4.1 Oracle Identity Administration

最上位レベルのタブ(「管理」および「ポリシー」)は、IDMシェル構成ファイルadmin.war/WEB-INF/idmshell-config.xmlで構成されます。IDMシェルの詳細は、次のURLを参照してください。

http://www.oracle.com/technetwork/developer-tools/adf/uishell-093084.html

構成ファイルは次のようになります。

<taskflows>
  <taskflow id="_oes_oim_lhs" closeable="false" indialog="false"
            taskFlowId="/taskflows/brsr/BrowseSearch-TF.xml#BrowseSearch-TF">
    <name>Browse And Search</name>
    <description>Browse And Search</description>
  </taskflow>
  <taskflow id="_oes_oim_rhs" closeable="false" indialog="false"
            taskFlowId="/taskflows/welcome/Welcome-TF.xml#Welcome-TF">
  </taskflow>
</taskflows>
<modules>
  <module id="oes_oim_mgr" helpTopicId="oim_ia_policy">
    <lhs-area>
      <taskflow refId="_oes_oim_lhs"/>
    </lhs-area>
    <default-taskflow-list>
      <taskflow refId="_oes_oim_rhs"/>
    </default-taskflow-list>
  </mLoading...odule>
</modules>

<taskflow>タブの内部にある構成は、ADFタスク・フローを表します。ADFメニューの詳細は、次のURLでOracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイドのメニュー、ツールバーおよびツールボックスに関する説明を参照してください。

http://download.oracle.com/docs/cd/E15523_01/web.1111/b52029/toc.htm

次の例では、アイデンティティ管理に対して新規タブを構成するために必要な手順を示しています。

  1. OIM_INSTALL/middleware/Oracle_IDM1/server/apps/oim.ear/admin.war/WEB-INF/idmshell-config.xmlファイルをテキスト・エディタで開きます。

  2. <taskflows>タグ内で、構成済タスク・フローのリストに新規タスク・フローを追加して、一意のIDを指定します。わかりやすくするために、次のnew_tabタスク・フロー構成では、「ようこそ」タブのタスク・フロー構成(admin_welcome)を模倣しています。

    <taskflow id="new_tab" closeable="false" indialog="false"
                  taskFlowId="/taskflows/adminwelcome/AdminWelcome-taskflow.xml#AdminWelcome-taskflow">
        </taskflow>
    
  3. 同じファイルを下へスクロールして<modules>タグを見つけ、このタグ内に、adminというIDを持つ<module>を見つけます。

  4. <default-taskflow-list>に新規<taskflow>を追加し、そのrefIDを以前に追加したタスク・フローID(すなわちnew_tab)に設定します。

    <module id="admin">
      <lhs-area>
        <taskflow refId="usr_lhs"/>
      </lhs-area>
      <default-taskflow-list>
        <taskflow refId="admin_welcome"/>
        <taskflow refId="new_tab"/>
      </default-taskflow-list>
    </module>
    

    注意:

    モジュールは最上位レベルのタブを参照し、Default-Taskflow-Listエントリは第2レベルのタブを参照します。


  5. propertiesファイルで新規タブにテキストを割り当てます。unzipなどのツールを使用して、ファイルOIM_INSTALL/middleware/Oracle_IDM1/server/apps/oim.ear/admin.war/WEB-INF/lib/IdentityTaskFlow.jarを一時ディレクトリ[WORK_DIR]に抽出します。

  6. アイデンティティ管理のヘッダーを変更するには、ファイルWORK_DIR/oracle/iam/identitytaskflow/resources/IdentityUIBundle_en.properties(または、必要に応じて他の言語固有の変換ファイル)を編集します。

  7. TaskFlow[new_tab].nameという名前の新規プロパティを追加し、適切な名前(New Tabなど)を割り当てます。

  8. TaskFlow[new_tab].descriptionという名前の新規プロパティを追加し、適切な説明(New Tab Descriptionなど)を割り当てます。

    TaskFlow[new_tab].name=New Tab
    TaskFlow[new_tab].description=New Tab Description
    

    注意:

    大カッコ内の値は、タスク・フローIDと一致する必要があります。このようにして、これらのプロパティ値を指定されたタブやタスク・フローに関連付けます。


  9. ディレクトリをWORK_DIRに変更し、次のjar構文を使用してWORK_DIRの下のファイルとディレクトリを再パッケージします。

     jar -cf IdentityTaskFlow.jar * 
    
  10. この新しいIdentityTaskFlow.jarファイルをOIM_INSTALL/middleware/Oracle_IDM1/server/apps/oim.ear/admin.war/WEB-INF/lib/に配置します。これを上書きする前に、必ず元のファイルをバックアップするようにしてください。

  11. Oracle WebLogic Server管理コンソールを使用して、Oracle Identity Managerデプロイメントを再デプロイ(または更新)します。

28.4.2 その他のコンソール

セルフ・サービスには、最上位レベルのタブを非表示にする機能があります。また、セルフ・サービスUIを使用して、新しいカスタム・タブを追加することもできます。カスタム・タブは、カスタムのjsffページの実装に関連付けることができます。セルフ・サービスにおける最上位レベルのメニューおよびタブの非表示については、「機能の無効化」で説明します。新規タブの追加およびセルフ・サービスのカスタムjsffの関連付けの詳細は、「カスタムADFタブのセルフ・サービスへの追加」で説明します。

28.5 機能の無効化

この項では、様々なコンソールやユーザー・インタフェースで機能を有効化または無効化できる方法について説明します。

28.5.1 認可ポリシーを介した機能へのアクセスの無効化

アイデンティティ管理、認証されたセルフ・サービスおよび拡張管理の機能の大半へのアクセスは、Oracle Identity ManagerとOracle Entitlements Server(OES)との統合を利用して制御されています。OES内で管理されている機能およびアクションの場合、機能やアクションを無効化するには、ユーザーが使用できるポリシーを制御することにより、その機能へのアクセスを削除する方法をお薦めします。


関連項目:

認可ポリシーの作成と変更の詳細は、Oracle Fusion Middleware Oracle Identity Managerユーザーズ・ガイドの認可ポリシーの管理に関する説明を参照してください。


たとえば、カスタマ・サポート組織でITエグゼクティブ(アウトバウンド・サービス)ロールを持つユーザーは、全ユーザーの検索および各ユーザーの連絡先情報の表示のみを許可されている必要があります。したがって、Oracle Identity Managerセルフ・サービスの左側のペインにあるユーザーまたはロールを作成および変更するためのボタンは、これらのユーザーに対して非表示となっている必要があります。

認可ポリシーを変更し、管理またはユーザー・コンソールの左側のペインにあるいくつかのアクションのうち、ユーザーに権限のないものに対応するボタンを非表示または無効にすることができます。これを行うには、次の手順を実行します。

  1. ユーザー管理に対して認可ポリシーを作成します。認可ポリシーの作成の詳細は、Oracle Fusion Middleware Oracle Identity Managerユーザーズ・ガイドのロール管理に対する認可ポリシーの作成に関する説明を参照してください。

  2. 「権限」タブをクリックして、「ユーザーの検索」および「ユーザー詳細の表示」としての権限を設定します。

  3. 「ユーザー詳細の表示」権限の場合、連絡先情報の属性を選択します。

  4. 「データの制約」タブをクリックし、組織(カスタマ・サポートなど)のメンバーとしてのデータの制約を設定します。

  5. 「割当て」タブをクリックします。このタブには、このポリシーに割り当てられているロールが表示されます。ITエグゼクティブ(アウトバウンド・サービス)などのロールを追加します。ロールの追加の詳細は、Oracle Fusion Middleware Oracle Identity Managerユーザーズ・ガイドのロール管理に対する認可ポリシーの作成に関する説明の手順10を参照してください。

  6. 「適用」をクリックして、変更を保存します。

「ユーザー検索」および「詳細の表示」のアクション・メニュー、ボタンまたはリンクについては、認可サービスAPIの使用による強制を設定する必要があります。操作に対するユーザーのアクセスが拒否される場合、このアクションは表示されないか、または無効として表示されます。

28.5.2 その他の管理機能

認可ポリシーを使用して機能を無効化できない場合は、別のオプションにより対応するADFアクション・タグを無効化できます。ほとんどのADFアクション・タグを無効化したり非表示にすることができます。

詳細は、次を参照してください。

28.5.3 その他のコンソール

セルフ・サービスからの機能は、iam-consoles-faces.war/WEB-INF/faces-config-self.xmlファイルを編集することにより削除できます。

たとえば、「プロファイル」タブをセルフ・サービスで非表示にすることにより無効化するには、ファイルで次のようにコメントします。

  • この機能に対応するマネージドBean定義の場合

    <!--managed-bean>
    <managed-bean-name>myProfilePrimaryOperation</managed-bean-name>
    ....
    <managed-bean-->
    
  • この機能に対応するマップ・エントリの場合

    <!--map-entry>
    <key>#{myProfilePrimaryOperation.entityTypeId}</key>
    <value>#{myProfilePrimaryOperation}</value>
    </map-entry-->
    

28.6 コンソールの表での列の追加または削除

この項では、UIの検索可能な列を追加または削除する方法について説明します。内容は次のとおりです。

28.6.1 アイデンティティ管理

アイデンティティ管理の表では、標準のADF機能が使用されます。UIにおける多くの拡張検索ページには、ユーザーが追加の検索可能属性から選択できるよう「フィールドの追加」ボタンがあります。ユーザー、ロールおよび組織を検索できるようにするには、スキーマで検索可能であるとして属性がマークされている必要があります。


関連項目:

Oracle ADFコンポーネントのホーム・ページから入手できるADFタグのガイドを参照してください。


表28-1は、jsffファイルと対応するコードの一部分を示しており、これを使用して、アイデンティティ管理の表をカスタマイズできます。

表28-1 アイデンティティ管理の表をカスタマイズするために変更するファイル

jsffファイル コードの一部分

admin.war/WEB-INF/lib/IdentityTaskflow.jar/taskflows/advsearch/AdvancedSearchview.jsff

<af:table var="row" rowBandingInterval="0" id="t1"
 binding="#{pageFlowScope.userAdvancedSearchBean.table}"
 value="#{pageFlowScope.userAdvancedSearchBean.searchResult}"
 emptyText="#{resUI.empty_table_string}"
 columnStretching="none"
 rowSelection="multiple" fetchSize="#{pageFlowScope.userAdvancedSearchBean.fetchSize}"
selectionListener="#{pageFlowScope.userAdvancedSearchBean.tableListener.processSelection}"
sortListener="#{pageFlowScope.userAdvancedSearchBean.sortListener.processSort}"
 contextMenuId="::contextPopup2">
<af:forEach items="#{pageFlowScope.userAdvancedSearchBean.columns}"
 var="def" varStatus="defIndex">
 <c:choose>
 <c:when test="${defIndex.index == 0}">
 <af:column headerText="#{pageFlowScope.userAdvancedSearchBean.advancedSearchAttrsTranslation[def.name]}"
 sortable="true" id="c1" headerNoWrap="true"
 sortProperty="#{def.name}">
 <af:commandLink text="#{row[def.name]}" id="ot2"
actionListener="#{pageFlowScope.userAdvancedSearchBean.userLinkListener.processAction}"/>
 </af:column>
 </c:when>
 <c:otherwise>
 <af:column headerText="#{pageFlowScope.userAdvancedSearchBean.advancedSearchAttrsTranslation[def.name]}"
 sortable="true" id="c2" headerNoWrap="true"
 sortProperty="#{def.name}">
 <af:outputText value="#{row[def.name]}" id="ot3"/>
 </af:column>
 </c:otherwise>
 </c:choose>
 </af:forEach>
 </af:table> 

#{pageFlowScope.userAdvancedSearchBean.columns}は、拡張検索結果の属性に対して構成される属性のリストを戻します。ユーザー用の拡張検索表の属性を変更する場合は、「拡張コンソール」、「ユーザー構成」、「検索構成」、「検索結果表構成」の属性を変更します。「検索結果表構成」の最初の属性が、リンクとして表示されます。

admin.war/WEB-INF/lib/IdentityTaskflow.jar/taskflows/modifyuser/ModifyUserview.jsff

「ロール」タブ:

<af:treeTable binding="#{pageFlowScope.modifyUserBean.roleTreeTable}"
 value="#{pageFlowScope.modifyUserBean.treeModel}"
 var="role" rowBandingInterval="1" id="ROLES_DATA"
 rowSelection="single" columnStretching="last"
 fetchSize="9" contentDelivery="immediate"
 selectionListener="#{pageFlowScope.modifyUserBean.roleSelected}"
 immediate="true" width="100%">
<f:facet name="nodeStamp">
 <af:column sortable="true" width="350" sortProperty="roleDisplayName"
 headerText="#{resUI.role_display_name_text}" id="c1">
 <!--<af:group>-->
 <!--<af:image source="/images/group_ena.png"/> -->
 <af:outputText value="#{role.roleDisplayName}" id="ot52"/>
 <!--</af:group>-->
 </af:column>
 </f:facet>

<af:column sortable="false" width="250"
 headerText="#{resUI.role_name_text}"
 align="start" id="c72">
 <af:outputText value="#{role.roleName}" id="ot12"/>
 </af:column>
 <af:column sortable="false" width="250"
 headerText="#{resUI.role_descripetion_text}"
 align="start" id="c7">
 <af:outputText value="#{role.description}" id="ot11"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.role_namespace_text}"
 align="start" id="c71">
 <af:outputText value="#{role.roleNameSpace}" id="ot111"/>
 </af:column>
 <!--af:column sortable="false"
 headerText="#{resUI.role_assigned_on_text}"
 align="start" id="c6">
 <af:outputText value="#{role.provisionedOn}" id="ot1"/>
 </af:column-->
 </af:treeTable>

「ロール」タブには、要件に基づいて再配置または削除できる静的列が含まれています。ロール・オブジェクトは、次のメソッドを含むoracle.iam.identitytaskflow.common.model.vo.RoleDetailVOのインスタンスです。

public String getRoleName()
public String getProvisionedOn()
public String getMembershipType()
public String getDescription()
public List<RoleDetailVO> getChildren()
public String getRoleKey()
public String getRoleDisplayName()
public String getRoleNameSpace()

admin.war/WEB-INF/lib/IdentityTaskflow.jar/taskflows/modifyuser/ModifyUserview.jsff

「リソース」タブ:

<af:table var="row" columnStretching="last"
 summary="#{resUI.resources_table_summary_text}"
 contentDelivery="immediate"
 binding="#{pageFlowScope.modifyUserBean.resourceTable}"
 fetchSize="60" id="t3"
 emptyText="#{resUI.empty_table_string}"
 value="#{pageFlowScope.modifyUserBean.resources}"
 rowSelection="single"
selectionListener="#{pageFlowScope.modifyUserBean.showSelectedResourceDetailsAction}">
 
 <af:column sortable="true"
 headerText="#{resUI.resource_name_text}"
 align="start" id="c6">
 <af:commandLink id="com1" text="#{row.resourceName}" partialSubmit="true"
actionListener="#{pageFlowScope.modifyUserBean.showResourceDetailsReadOnlyAction}"
 disabled="#{row.viewActionDisable}"/>
 </af:column>
 <af:column sortable="false" headerText="#{resUI.resource_type_text}" 
 align="start" id="c3">
 <af:outputText value="#{row.type}" id="ot6"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.resource_status_text}"
 align="start" id="c4">
 <af:outputText value="#{row.status}" id="ot7"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.resource_provisioned_text}"
 align="start" id="c5">
 <af:outputText value="#{row.provisionedOn}" id="ot8"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.resource_request_key_text}"
 align="start" id="c52">
 <af:outputText value="#{row.requestId}" id="ot82"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.resource_service_account}"
 align="start" id="c53">
 <af:outputText value="#{row.serviceAccount}" id="ot84"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.resource_description_text}"
 align="start" id="c51">
 <af:outputText value="#{row.descriptiveData}" id="ot81"/>
 </af:column>
 </af:table>

「リソース」タブには、要件に基づいて再配置または削除できる静的列が含まれています。行オブジェクトは、次のメソッドを含むoracle.iam.identitytaskflow.common.model.vo.ResourceDetailVOのインスタンスです。

public String getResourceName()
public String getStatus()
public String getProvisionedOn()
public String getType()
public String getProcessInstanceKey()
public String getResourceUserKey()
public String getResourceKey()
public String getObjectInstanceForUserKey()
public String getTaskArchived()
public String getDescriptiveData()
public String getRequestId()
public String getServiceAccount()

admin.war/WEB-INF/lib/IdentityTaskflow.jar/taskflows/modifyuser/ModifyUserview.jsff

「プロキシ」タブ:

<af:table var="row" rowBandingInterval="0" id="t5"
 contentDelivery="lazy"
 binding="#{pageFlowScope.modifyUserBean.proxyTable}"
 emptyText="#{resUI.empty_table_string}"
 value="#{pageFlowScope.modifyUserBean.proxyList}"
selectionListener="#{pageFlowScope.modifyUserBean.proxySelectionAction}"
 columnStretching="last" rowSelection="single">
<af:column sortable="true"
 headerText="#{resUI.proxy_name_text}" id="c9"
 sortProperty="proxyName">
 <af:commandLink text="#{row.proxyName}" id="ot4"
actionListener="#{pageFlowScope.modifyUserBean.openProxyDetailPageAction}"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.proxy_start_date_text}"
 id="c13">
 <af:outputText value="#{row.startDate}" id="ot2"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.proxy_end_date_text}" id="c10">
 <af:outputText value="#{row.endDate}" id="ot14"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.proxy_status_text}" id="c11">
 <af:outputText value="#{row.status}" id="ot13"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.proxy_relationship_text}"
 id="c12">
 <af:outputText value="#{row.relationship}" id="ot15"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.proxy_last_updated_text}"
 id="c8">
 <af:outputText value="#{row.lastUpdated}" id="ot10"/>
 </af:column>
 </af:table>

「プロキシ」タブには、要件に基づいて再配置または削除できる静的列が含まれています。行オブジェクトは、次のメソッドを含むoracle.iam.identitytaskflow.common.model.vo.ProxyDetailVOのインスタンスです。

public String getStartDate()
public String getEndDate()
public String getStatus()
public String getRelationship()
public String getLastUpdated()
public String getProxyName()
public String getProxyKey()
public String getProxyNameUserKey()
public String getLoginUserKey()
public String getLoginUserName()
public String getRequestId()
public String getServiceAccount()

admin.war/WEB-INF/lib/IdentityTaskflow.jar/taskflows/modifyuser/ModifyUserview.jsff

「直属の部下」タブ:

<af:table value="#{pageFlowScope.modifyUserBean.reportList}"
 var="row" fetchSize="60"
 binding="#{pageFlowScope.modifyUserBean.directReportiesTable}"
 emptyText="#{resUI.empty_table_string}"
 rowSelection="single" id="t6"
selectionListener="#{pageFlowScope.modifyUserBean.directReportSelectedAction}"
 columnStretching="last">
 <af:column sortProperty="Name" sortable="false"
 headerText="#{resUI.username_header_text}"
 id="column1">
 <af:outputText value="#{row.userDisplayName}" id="outputText1"/>
 </af:column>
 <af:column sortProperty="Name" sortable="false"
 headerText="#{resUI.userlogin_header_text}"
 id="column2">
 <af:outputText value="#{row.username}" id="outputText2"/>
 </af:column>
 <af:column sortProperty="Status" sortable="false"
 headerText="#{resUI.status_header_text}"
 id="column4">
 <af:outputText value="#{row.identityStatus}"
 id="outputText3"/>
 </af:column>
 <af:column sortProperty="Org" sortable="false"
 headerText="#{resUI.organization_header_text}"
 id="column5">
 <af:outputText value="#{row.organization}" id="outputText4"/>
 </af:column>
 </af:table>

「直属の部下」タブには、要件に基づいて再配置または削除できる静的列が含まれています。行オブジェクトは、次のメソッドを含むoracle.iam.identitytaskflow.common.model.vo.ReportDetailVOのインスタンスです。

public String getUsername()
public String getFirstName()
public String getLastName()
public String getStatus()
public String getOrganization()
public String getEmail()
public String getPhone()
public String getGlobalID()
public String getIdentityStatus()
public String getAccountStatus()
public String getUserDisplayName()

admin.war/WEB-INF/lib/IdentityTaskflow.jar/taskflows/modifyuser/ModifyUserview.jsff

「リクエスト」タブ:

<af:table var="row" rowBandingInterval="1" id="t8"
 columnStretching="column:column7" rowSelection="single"
 emptyText="#{resUI.empty_table_string}"
 value="#{pageFlowScope.modifyUserBean.requestList}"
 binding="#{pageFlowScope.modifyUserBean.requestsTable}">
 <af:column sortable="true" sortProperty="requestID"
 headerText="#{resUI.request_id_header_text}" id="c14">
 <af:commandLink text="#{row.requestID}" id="cl1"
actionListener="#{pageFlowScope.modifyUserBean.showSelectedRequestDetailsAction}"/>
 </af:column>
 <af:column sortable="true" sortProperty="modelName"
 headerText="#{resUI.request_model_name_header_text}"
 id="c17" noWrap="false">
 <af:outputText value="#{row.modelName}" id="ot18"/>
 </af:column>
 <af:column id="c18" headerText="#{resUI.request_status_text}"
 noWrap="false">
 <af:outputText value="#{row.status}" id="ot23"/>
 </af:column>
 <af:column sortable="true" sortProperty="requestedBy"
 headerText="#{resUI.request_requested_by_header_text}"
 id="c15">
 <af:outputText value="#{row.requestedBy}" id="ot19"/>
 </af:column>
 <af:column sortable="false"
 headerText="#{resUI.request_parent_id_header_text}"
 id="c16">
 <af:outputText value="#{row.parentID}" id="ot20"/>
 </af:column>
 <af:column sortable="false" headerText="#{resUI.request_date_requested_header_text}" id="column6">
 <af:outputText value="#{row.dateRequested}" id="ot21"/>
 </af:column>
 </af:table>

「リクエスト」タブには、要件に基づいて再配置または削除できる静的列が含まれています。行オブジェクトは、次のメソッドを含むoracle.iam.identitytaskflow.common.model.vo.RequestDetailVOのインスタンスです。

public String getRequestID()
public String getRequestedBy()
public String getParentID()
public String getDateRequested()
public String getModelName()
public String getStatus()

admin.war/WEB-INF/lib/IdentityTaskflow.jar/taskflows/rolepicker/RolePicker.jsff

<af:table binding="#{pageFlowScope.rolePickerBean.table}"
 value="#{pageFlowScope.rolePickerBean.results}" var="row"
 emptyText="#{resUI.empty_table_string}" id="t1"
 inlineStyle="width:inherit;" rowSelection="multiple"
 columnBandingInterval="1" columnStretching="first"
 fetchSize="40"
selectionListener="#{pageFlowScope.rolePickerBean.roleSelectAction}">
 <af:column headerText="" id="c0" rowHeader="true" width="18px"/>
 <af:column headerText="#{resUI.role_display_name_text}" id="c3"
 headerNoWrap="true">
 <af:outputText value="#{row.roleDisplayName}" id="ot5"/>
 </af:column>
 <af:column headerText="#{resUI.role_namespace_text}" id="c1"
 headerNoWrap="true">
 <af:outputText value="#{row.roleNameSpace}" id="ot3"/>
 </af:column>
 <af:column headerText="#{resUI.role_name_text}" id="c2"
 headerNoWrap="true">
 <af:outputText value="#{row.roleName}" id="ot4"/>
 </af:column>
 </af:table>

ロール・ピッカー・ポップアップの列は、要件に基づいて再配置または削除できます。ロール・オブジェクトは、次のメソッドを含むoracle.iam.identitytaskflow.common.model.vo.RoleDetailVOのインスタンスです。

public String getRoleName()
public String getProvisionedOn()
public String getMembershipType()
public String getDescription()
public List<RoleDetailVO> getChildren()
public String getRoleKey()
public String getRoleDisplayName()
public String getRoleNameSpace()

admin.war/WEB-INF/lib/IdentityTaskflow.jar/taskflows/search/SimpleSearchview.jsff

<af:table var="row" rowBandingInterval="0" id="t4"
 binding="#{pageFlowScope.simpleSearchBean.table}"
 value="#{pageFlowScope.simpleSearchBean.searchResult}"
 emptyText="#{resUI.empty_table_string}"
 columnStretching="last"
 rowSelection="multiple"
 fetchSize="#{pageFlowScope.simpleSearchBean.tableFetchSize}"
selectionListener="#{pageFlowScope.simpleSearchBean.processSelection}"
sortListener="#{pageFlowScope.simpleSearchBean.tableSortListener.processSort}">
 .......
 <af:column headerText="#{pageFlowScope.simpleSearchBean.headerText}"
 sortable="true" id="c1"
 headerNoWrap="true"
 sortProperty="#{pageFlowScope.simpleSearchBean.sortProperty}">
 <af:commandLink text="#{row[pageFlowScope.simpleSearchBean.sortProperty]}" id="ot2"
actionListener="#{pageFlowScope.simpleSearchBean.userLinkListener.processAction}"/>
 </af:column>
 </af:table>

oracle.iam.identitytaskflow.backing.taskflows.search.SimpleSearchView getSearchResult()メソッドは、ユーザー用の単純検索表に表示される文字列のリストを戻します。表示する必要がある値を含む属性は、拡張管理、ユーザー構成、検索構成、単純検索属性で定義された属性から、次の順序で決定されます。

  1. 表示名

  2. ユーザー・ログイン

  3. ユーザー・キー

  4. 拡張管理、ユーザー構成、検索構成、単純検索属性における最初の属性エントリ

admin.war/WEB-INF/lib/OESOIMTaskFlows.jar/taskflows/advsrh/AdvancedSearch.jsff

「認可ポリシー」タブの拡張検索機能は、admin.war/WEB-INF/lib/OESOIMTaskFlows.jar/taskflows/advsrh/AdvancedSearch.jsffファイルによって管理されます。ファイルの内容は次のとおりです。

<af:table var="row" columnStretching="last" id="shTable"
          rowSelection="single" columnSelection="single"
          contentDelivery="immediate"
          summary="#{props['padvsrc.tabs.browse.columns.summary']}"
          binding="#{pageFlowScope.advancedSearchBean.searchTableBinding}"
          selectionListener="#{pageFlowScope.advancedSearchBean.selectSearchRow}"
          emptyText="#{props['brsr.tabs.advsrch.emptyText']}"
          shortDesc="#{props['brsr.tabs.advsrch.shortDesc']}"
          value="#{pageFlowScope.advancedSearchBean.searchResultsModel}"
          partialTriggers=":q2"
          columnBandingInterval="1">
...
  <af:column sortable="true"
             sortProperty="authzPolicy.displayName"
             headerText="#{props['padvsrc.columns.policy_name.headerText']}"
             width="200" noWrap="false" align="start" id="c1">
    <af:outputText value="#{row.authzPolicy.displayName}" id="ot2"/>
  </af:column>

行オブジェクトは、次のgetterメソッドを含むoracle.iam.consoles.oesoim.tf.base.PolicyTableModel.SearchWrapperのインスタンスです。

public AuthzPolicy getAuthzPolicy()
public boolean getHasAssignment()
public boolean getHasAssignment()
public String getAssignment()
public boolean getHasPermissions()
public String getFirstPermission()
public String getPermissions()

28.6.2 暫定UI

管理およびユーザー・コンソールの暫定UIページで、タスクを実行するメニュー項目(アクセス・ポリシーの管理など)をクリックすると、検索ページが表示されます。たとえば、「アクセス・ポリシー」メニュー項目の下で「管理」リンクをクリックすると、アクセス・ポリシーを検索するための2つのドロップダウン・メニューを含む「アクセス・ポリシーの管理」ページが表示されます。ドロップダウン・メニューの数およびドロップダウン・メニュー項目をカスタマイズできます。

検索結果が表示されたら、各ページに表示される結果表の最大行数を決定できます。ユーザーが結果表から項目を選択すると、詳細ページ(「リソースの詳細」ページなど)が表示されます。詳細ページには、追加の詳細メニューが含まれています。これらのメニュー項目をカスタマイズできます。

この項には次のトピックが含まれます:

28.6.2.1 検索ドロップダウン項目のカスタマイズ

Design Consoleを使用して、検索ページの検索コードおよび追加詳細を変更します。ドロップダウンをカスタマイズするには、次の手順を実行します。

  1. Design Consoleにログインします。

  2. 「管理」→「参照定義」に移動して、「参照定義」フォームを開きます。

  3. 必要な検索定義を検索して特定します。


    ヒント:

    検索基準について、lookup.webclient*検索を使用して検索ページを見つけるか、または*additional_detailsを使用して追加詳細を見つけます。


  4. 検索コードに対して必要な変更を行い、各検索ページのドロップダウン・メニューに表示されるオプションを設定します。

    • コード・キーは各列のメタデータです。

    • デコード値は、管理およびユーザー・コンソールに表示される値です。

    • コード・キーリストでの項目の表示順序は、管理およびユーザー・コンソールのドロップダウン・リストでの表示順序です。エントリを削除し、再度追加すると、そのエントリはリストの最後に表示されます。

  5. 変更を保存します。

28.6.2.2 検索ドロップダウン項目数および検索結果数のカスタマイズ

ドロップダウン・メニューの数および各ページの検索結果の最大数を変更するには、xlDefaultAdmin.propertiesファイルを編集します。

ドロップダウン・メニューの数を設定するには、次の手順を実行します。

  1. xlDefaultAdmin.propertiesファイルを開きます。

  2. 表28-2からプロパティを特定し、必要に応じて編集します。

    表28-2 検索ページのメニュー数を決定するプロパティ

    プロパティ名 デフォルト ページ

    global.property.numsearchaccesspolicyfields

    2

    アクセス・ポリシー

    global.property.numsearchresourcefields

    2

    リソース検索

    global.property.numsearchattestationprocessfields

    3

    アテステーション・プロセス


  3. 各ページの検索結果の最大数を変更するには、プロパティglobal.displayrecordNum.valueの値を必要な値に変更します。デフォルト値は10です。

  4. ファイルを保存します。

  5. Oracle Identity Managerを再起動します。

28.7 データ・カスタマイズ

この項では、様々なコンソールのフォーム・テンプレートをカスタマイズできる方法について説明します。内容は次のとおりです。

28.7.1 拡張管理

リクエスト・テンプレートを変更して、自己登録やリクエスト・フォームのリクエスト属性をカスタマイズできます。

詳細は、Oracle Fusion Middleware Oracle Identity Managerユーザーズ・ガイドのリクエスト・テンプレートの管理に関する説明を参照してください。

28.7.2 認証されていないセルフ・サービス

自己登録に使用されるテンプレートは、SelfCreateUserDataSet.xmlファイル内のテンプレート属性を指定することによりカスタマイズできます。これにより、属性をレンダリングしたり、制限事項を指定することもできます。

28.7.3 認証されたセルフ・サービス

「ユーザー構成」のUIを使用して、「プロファイル」ページの属性を表示または非表示にするようユーザー・フォームを構成できます。

「プロファイル」ページに属性を表示するために必要な手順は、次のとおりです。

  1. 「プロファイル」ページを確認して、必要なカスタマイズを決定します。

  2. 拡張管理に移動し、「構成」の下で「ユーザー構成」をクリックします。

  3. 「アクション」メニューから、「ユーザー属性」を選択します。

  4. 「プロファイル」ページに表示する属性を選択し、「アクション」メニューから「属性の変更」を選択します。

  5. 可視性を「はい」に変更して、「保存」をクリックします。

    「プロファイル」ページに、この属性が表示されるようになります。

このページの属性を非表示にするには、同様の手順を使用できます。

28.8 カスタムURLの挿入

この項では、カスタマイズされたURLをコンソールに挿入する方法について説明します。トピックは次のとおりです。

28.8.1 アイデンティティ管理のカスタムURL

アイデンティティ管理はADFタスク・フローとして開発されました。タスク・フローの.jsffファイルを変更して、カスタムURLを挿入できます。次のWebサイトで、Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイドのナビゲーション・コンポーネントの使用に関する説明を参照してください。

http://download.oracle.com/docs/cd/E15523_01/web.1111/b52029/toc.htm

28.8.2 その他のコンソールのカスタムURL

認証されていないセルフ・サービス、認証されたセルフ・サービスおよび拡張管理では、カスタムURLを挿入するための2つのオプションがあります。

認証されていないセルフ・サービス、認証されたセルフ・サービスおよび拡張管理のページを使用すると、対応する.jspxファイルを編集することによりカスタムURLを追加できます。これには、ヘッダーなどの場所にADFタグを使用してカスタムURLを配置するオプションがあります。

ファイルは次のとおりです。

認証されていないセルフ・サービスの場合:

iam-consoles-faces.war/pages/USelf.jspx

認証されたセルフ・サービスの場合:

iam-consoles-faces.war/pages/Self.jspx

拡張管理の場合:

iam-consoles-faces.war/pages/Admin.jspx

注意:

.jspxファイルで許可された別の場所にさらに静的テキストを追加するには、同じファイルを使用できます。たとえば、ヘッダー・リージョンに静的テキストを追加するには、ファイルで適切なadfファセットを識別し、標準のadfタグを使用してこのような情報を配置します。


28.9 ポップアップ・プロパティの変更

認証されていないセルフ・サービス、認証されたセルフ・サービスおよび拡張管理のポップアップを変更して、プロパティを変更できます(サイズ変更のオンとオフの切替えなど)。これを行うには、対応する.jspxファイルを変更してポップアップ定義を変更します。

ファイルは次のとおりです。

認証されていないセルフ・サービスの場合:

iam-consoles-faces.war/pages/USelf.jspx

認証されたセルフ・サービスの場合:

iam-consoles-faces.war/pages/Self.jspx

拡張管理の場合:

iam-consoles-faces.war/pages/Admin.jspx

たとえば、操作ポップアップ(確認やメッセージのポップアップとは異なり、なんらかの操作を含むポップアップのことです)により、POPUP_FORM_0の定義が検索されます。この定義内に含まれている<af:dialog />定義に、resize="on"を次のように追加します。

<af:popup id="POPUP_FORM_0" clientComponent="true"                 contentDelivery="lazyUncached">
 <af:dialog binding="#{admin.view.popupForms[0].dialog}"
resize="on"  clientComponent="true" cancelVisible="false"
…

28.10 ワークフロー・デザイナのカスタマイズ

特定のロケールの必要に応じて、ワークフロー・デザイナのユーザー・インタフェースをカスタマイズするには、多数のプロパティを利用できます。これらのプロパティ・ファイルは、xlWebApp\WEB-INF\classes\xlRichClient_LOCALE.propertiesにあります。

この項では、ワークフロー・デザイナのカスタマイズ例について、いくつか説明します。

タスク名のラベル幅は、次を使用してカスタマイズできます。

global.workflowRenderer.labelWidthFactor=7

特定のロケールでテキストが切り捨てられると思われる場合、このプロパティを適宜変更して、ラベル幅を変更できます。

同様に、タスクおよびレスポンスを表すアイコンの幅と高さは、次を使用して制御できます。

workflowRenderer.referenceMarker.defaultHeight=22
workflowRenderer.referenceMarker.defaultWidth=22
workflowRenderer.referenceMarker.defaultDistance=6
workflowRenderer.referenceMarker.maxLabelLength=5

workflowRenderer.response.defaultHeight=20
workflowRenderer.response.defaultWidth=250
workflowRenderer.response.maxLabelLength=25

workflowRenderer.task.defaultHeight=38
workflowRenderer.task.defaultWidth=38
workflowRenderer.task.maxLabelLength=200

デザイナの実装における別の場所での検索機能では、ユーザーおよびグループが検索される場合、結果数が多くなる可能性があります。表示される結果数を制御するには、次のプロパティを使用できます。

workflowDesigner.label.limitUserSearchResults=200
workflowDesigner.label.limitGroupSearchResults=200
workflowDesigner.label.limitAdapterSearchResults=200
workflowDesigner.label.limitEmailTemplateSearchResults=200
workflowDesigner.label.limitRulesSearchResults=200
workflowDesigner.label.limitAssignTypeSearchResults=200
workflowDesigner.label.limitDependentDataTaskSearchResults=200
workflowDesigner.label.limitExistingTasksSearchResults=200

戻される結果数がこれらの数より多くなると、検索基準を絞り込むようメッセージが表示されます。