Oracle Access Managerでは、様々なシステム属性と動作を構成するためにカタログ・ファイルを広く使用しています。カタログ・ファイルは、param.xmlまたはmsg.xmlで終わるファイルです。param.xmlで終わるファイルはOracle Access Managerの動作を制御し、msg.xmlで終わるファイルはメッセージの内容を制御します。この章では、これらのファイルに対して実行できる多くの変更のうち一部について説明します。内容は次のとおりです。
新しく10g(10.1.4.0.1)をインストールした場合も、古いインストールをOracle Access Manager 10g(10.1.4.0.1)にアップグレードした場合も、UTF-8エンコーディングおよびサポートが自動的に提供されます。環境を変更する必要はありません。以前のリリースと同様に、ディレクトリ・サーバーのデータはUTF-8エンコーディングを使用して格納されます。
注意: ディレクトリ・データはすべてUTF-8形式です。Oracle Access Managerでは、ディレクトリ内でのデータ型の混在をサポートしていません。 |
グローバリゼーション、ローカリゼーションおよびマルチバイト・サポートの詳細は、『Oracle Access Manager概要』と「XMLエンコーディング」の説明を参照してください。
ここでは、XMLメッセージ・ファイルのエンコーディング・スキームと、これらのファイルをカスタマイズする場合に指定する項目について概説します。
ISO-8859-1エンコーディング: 純粋な英語テキストでは、ISO-8859-1エンコーディングとUTF-8エンコーディングの違いはありません。このため、英語のXMLメッセージとXSLファイルのエンコーディング・スキームは、これまでどおりISO-8859-1です。次の例は、英語ディレクトリ(\lang\en-us)からのXMLメッセージ・ファイル(auditmsg.xml)を示しています。
\IdentityServer_install_dir\identity\oblix\lang\en-us\auditmsg.xml
<?xml version="1.0" encoding="ISO-8859-1" ?> - <MessageCtlg xmlns="http://www.oblix.com" CtlgName="auditmsg"> ...
注意: 以前の製品リリースのXMLファイルでは、これまでどおりencoding="ISO-8859-1"が指定されることもありますが、アップグレード中にXMLに変換される以前のLSTファイルではUTF-8エンコーディングが使用されます。 |
UTF-8エンコーディング: 英語以外の場合、ISO-8859-1エンコーディングではすべての言語のすべての文字を表せるわけではないため、XMLメッセージ・ファイルのエンコーディングはUTF-8に設定されます。次のサンプル・ファイルは、ドイツ語ディレクトリ\IdentityServer_install_dir\identity\oblix\lang\de-de\auditmsg.xmlからのものです。
<?xml version="1.0" encoding="UTF-8" ?> - <MessageCtlg xmlns:oblix="http://www.oblix.com" CtlgName=""> <Message MsgTag="ExAuditInitHandler">Exçêpä ìÖÑExç ÖççürrêdÖçç ìÑì ähêä AüdìäAü MÖdülêMÖ ìÑìäìà lìzàäìÖÑìÑìäì. Thê T êxçêpäìÖÑêxç säàçksä ìsì: %1. </Message> ...
UTF-8エンコーディング・スキームは各国共通で使用されるため、英語ディレクトリ(\lang\en-us)内でも一部のファイルにはUTF-8エンコーディングが規定されています。たとえば、次の例は英語バージョンのdata_types.xmlです。
<?xml version="1.0" encoding="UTF-8" ?> - <MessageCtlg xmlns="http://www.oblix.com" CtlgName="data_types.xml"> <Message MsgTag="OB_BIN">Binary</Message> <Message MsgTag="OB_DN">Distinguished Name</Message> <Message MsgTag="OB_TEL">Telephone</Message> ...
その他の言語(たとえばドイツ語)のディレクトリでは、同じファイルが次のような内容になります。
<?xml version="1.0" encoding="UTF-8" ?> - <MessageCtlg xmlns:oblix="http://www.oblix.com" CtlgName=""> <Message MsgTag="OB_BIN">BìÑàryBì</Message> <Message MsgTag="OB_DN">DìsäìÑgüìshêdDìsä NàmêN</Message> <Message MsgTag="OB_TEL">TêlêphÖÑêTêl </Message> ...
注意: XMLメッセージ・ファイルをカスタマイズするときは、encoding="ISO-8859-1"かencoding="UTF-8"のいずれかを選択できます。どちらの場合もOracle Access Manager XMLパーサーによって、適切な処理を行うためにファイル内のエンコーディング・タグが読み取られます。 |
問題: 初めてOracle Access Managerをインストールすると、表示タイプ「日付」を使用するように構成されたすべての属性に対してデフォルト形式が使用されます。このデフォルトの表示形式をインストール中に変更することはできません。後で、デフォルト形式を変更したり、属性によって別々の設定にする必要が生じることもあります。
解決方法: この項で説明する2つの方法のいずれかを使用して、日付書式を変更します。
汎用デフォルト値を変更します。属性が表示タイプ「日付」を使用するように構成されている場合、この書式が自動的に使用されます。
または、
属性ごとに、ディレクトリ内に格納されている値を変更します。デフォルト書式ではなく、格納されている書式が使用されます。
Oracle Access Managerでは、月(M)、日(D)および年(Y)の処理を制御するために表4-1の日付表示タイプ書式をサポートしています。「dateType値」列に示された書式名を使用すると、日付は「例」列に示された書式で表示されます。また、MDYの値の間に使用する日付セパレータを指定することもできます。日付セパレータは、"/"、"-"または""(セパレータなし)のいずれかです。
表4-1 日付書式
dateType値 | 例 | 説明 |
---|---|---|
ObIntegerDate |
946080000 |
1970年12月31日午前0時からの秒数 |
ObMDYDate |
12/31/1999 |
mm/dd/yyyy |
ObDMYDate |
31/12/1999 |
dd/mm/yyyy |
ObDMonthYDate |
31-Dec-1999 |
dd-MMM-yyyy |
ObMonthDYDate |
Dec-31-1999 |
MMM-dd-yyyy |
ObISO8061Date |
19993112 |
yyyyddmm |
次の手順に示すように、globalparams.xmlファイル内のobDateSepおよびobDateTypeパラメータを変更する必要があります。
テキスト・エディタを使用して、globalparams.xmlファイルを開きます。
IdentityServer_install_dir/identity/oblix/apps/common/bin/globalparams.xml file
変更する行を見つけます(サポートされている日付セパレータはダッシュ(-)とスラッシュ(/)です)。
次に例を示します。
<SimpleList> <NameValPair ParamName="obDateSep" Value="/"></NameValPair> </SimpleList> <SimpleList> <NameValPair ParamName="obDateType" Value="ObMDYDate" /></NameValPair> </SimpleList>
表からobDateType
値の1つを使用して、必要に応じてobDateTypeパラメータの値を変更します。次に、obDateSep
パラメータの値を変更します。
たとえば、変更後の行は次のようになります。
<NameValPair ParamName="obDateSep" Value="-" /> <NameValPair ParamName="obDateType" Value="ObMonthDYDate"/ >
変更を保存し、ファイルを閉じます。
アイデンティティ・サーバーを停止してから起動します。
デフォルトでは、Oracle Access Managerでは1993〜2012の範囲の年リストが提供されます。この場合、IDカード発行や有効期限の日付を入力するときには合理的ですが、(誕生日を入力する日付など)より広範囲の日付を入力する必要があるときには不便です。basic.xslスタイルシート内に設定されている年の日付範囲は拡張できます。
この理由の詳しい説明は、「PresentationXMLを使用したGUIの設計」を参照してください。
注意: 標準的なOracle Access Manager XSLファイルでは、この1つのドロップダウン年日付範囲のみを定義しています。ここで説明する方法は、グローバルな影響を及ぼします。次の手順に示す変更を、これらのファイル両方に対して行う必要があります。 |
次のディレクトリ内のbasic.xslスタイルシートを見つけます。
IdentityServer_install_dir/identity/oblix/lang/shared/basic.xsl
このスタイルシートをカスタム・ディレクトリにコピーして、カスタム・ディレクトリ内のラッパーを上書きします。
次に例を示します。
IdentityServer_install_dir/identity/oblix/lang/langTag/Custom_Dir/basic.xsl
カスタム・ディレクトリ内のスタイルシートで、ObDateYearに対応するテンプレートを見つけます。
テンプレート内で年リストの定義の開始行と終了行を見つけます。
- <xsl:template name="ObDateYear">... - <xsl:if test="@obyear"> - <option value="{@obyear}" selected="true"> <xsl:value-of select="@obyear" /> </option> </xsl:if> <option value="">----</option> <option value="1993">1993</option> <option value="1994">1994</option> <option value="1995">1995</option> ... <option value="2012">2012</option> </select> </xsl:template>
ここで、IdentityServer_install_dirはアイデンティティ・サーバーがインストールされているディレクトリ、langTagはRFC 1766形式の言語タグ(たとえばen-usなど)です。
パターンのコピー、貼付けおよび編集を行って、年日付範囲を拡張します。
たとえば、年リストが次の行で定義されているとします(xsl:template name="ObDateYear")。
<option value="">----</option> <option value="1992">1992</option> <option value="1993">1993</option>
これを2012年以降の日付にまで拡張するには、次のように行を挿入します。
<option value="2012">2012</option> <option value="2013">2013</option> </select </xsl:template>
スタイルシートをWebPass上のカスタム・スタイル・ディレクトリにコピーします。
WebPass_install_dir/identity/oblix/lang/langTag/Custom_Dir/basic.xsl
アイデンティティ・サーバーとWebPassを停止してから起動します。
「属性の構成」パネルの前景色および背景色を変更する必要がある場合は、oblixadminparams.xmlファイル内でこれらの色を制御するRGB値を変更できます。
ディレクトリ内のoblixadminparams.xmlファイルを見つけます。
IdentityServer_install_dir/identity/oblix/apps/common/bin/oblixadminparams.xml
ここで、IdentityServer_install_dirはアイデンティティ・サーバーがインストールされているディレクトリです。
次のエントリを見つけます。
<NameValPair ParamName="config_meta_attr_applet_bg" Value="cccccc" /> <NameValPair ParamName="config_meta_attr_applet_fg" Value="000000" />
パラメータbgは背景色を制御し、fgは前景色を制御します。コロンに続く値は、色に対応するRGBの16進値です。
RGB値を変更して新しい色を設定します。
ファイルを保存して閉じます。
アイデンティティ・サーバーを再起動して、変更を有効にします。
アイデンティティ・システムのトップ・ナビゲーション・バーのボタンに使用されるマウスオーバー時のテキストを変更するには、oblixbaseparams.xmlファイルを編集します。
トップ・ナビゲーション・バーのアプリケーション名を変更する手順
ディレクトリ内のoblixbaseparams.xmlファイルを見つけます。
IdentityServer_install_dir/identity/oblix/apps/common/bin/oblixbaseparams.xml
ここで、IdentityServer_install_dirはアイデンティティ・サーバーがインストールされているディレクトリです。
このファイル内で、モジュールのいずれかに対応する制御テキストを見つけます。
たとえば、グループ・マネージャに対応するテキストは次の部分です。
</ValNameList> <ValNameList ListName="groupservcenter_application_info"> <NameValPair ParamName="VERSION" Value="10.1.3" /> <NameValPair ParamName="CODE" Value="GM1013" /> <NameValPair ParamName="ID" Value="groupservcenter" /> <NameValPair ParamName="PROGRAM" Value="../../groupservcenter/ bin/groupservcenter.cgi" /> <NameValPair ParamName="DESCRIPTION" Value="Group Manager" /> <NameValPair ParamName="NAVBAR_GIF" Value="T1TABgroupmanager" /> <NameValPair ParamName="NAVBAR_GIF2" Value="T1TABgroupmanager" /> <NameValPair ParamName="NAVBAR_GIFDIR" Value="../../common/ui/ style0/" /> <NameValPair ParamName="WORKFLOW_ALLOWED" Value="true" /> </ValNameList>
DESCRIPTIONに続くテキストは、「グループ・マネージャ」ボタンにマウス・ポインタを置いたときに表示される情報です。
テキスト・エントリを必要な内容に変更します。
ファイルを保存して閉じます。
アイデンティティ・サーバーを再起動して、変更を有効にします。
デフォルトのログイン・ページのテキストを変更できます。デフォルトでは、このページには2つのテキスト・フィールド(「ユーザー名」および「パスワード」)が表示されます。oblixbasemsg.xmlファイルを編集することにより、これらのテキスト・ラベルを別の値に変更できます。たとえば、ログイン名として「ユーザー名」ではなく「UID」を表示します。
ログオン画面の「ユーザー名」と「パスワード」のテキストを変更する手順
ディレクトリ内のoblixbasemsg.xmlファイルを見つけて開きます。
IdentityServer_install_dir/identity/oblix/lang/langTag/oblixbasemsg.xml
ここで、IdentityServer_install_dirはアイデンティティ・サーバーがインストールされているディレクトリ、langTagはRFC 1766形式の言語タグ(たとえばen-usなど)です。
oblixbasemsg.xmlファイルには、次の形式で対になったデータ・セットが含まれています。
<Message MsgTag="message name">Message text</Message>
Oracle Access Managerは"message name"を使用して、表示するテキストを見つけます。
注意: "message name"は変更しないでください。 |
Oracle Access Managerによってメッセージ・テキストが表示されます。このテキストは可変テキストであり、変更可能です。
変更するメッセージ・テキストを見つけます。
次に例を示します。
<Message MsgTag="MUsername">Username </Message> <Message MsgTag="MPassword">Password </Message>
メッセージ・テキストを変更します。
たとえば、MUsernameをUIDに変更するには、次のようにします。
<Message MsgTag="MUsername">UID</Message>
ファイルを保存して閉じます。
アイデンティティ・サーバーを再起動して、変更を有効にします。
Oracle Access Managerの動作は、このマニュアルに具体的に示されていない方法でも変更できます。Oracle Access Managerは、主にハードコードのロジックにより制御されています。一部の場所(一般にはユーザー・インタフェース)では、特定のテキスト・ファイルの内容が動作を制御します。これらのファイルの一部については、内容を変更できます。
メッセージ・カタログ内のテキストを変更することにより、マウスオーバー時のテキストを変更したり、表示されるエラー・メッセージの内容を変更することができます。
他の箇所でも説明したように、複数の言語が使用可能です。以前にスタイルシート内に存在していたメッセージは言語に依存するため、現在ではメッセージ・カタログ内の変数として個別に定義されています。Oracle Access Managerディレクトリ構造では、JavaScriptファイル、XSLおよびHTML用のすべてのメッセージ・カタログが統合されています。
言語固有のファイルはすべて、\lang\langTag内に配置されます。
言語固有でないオブジェクトはすべて、\lang\shared内に配置されます。
すべてのスタイルシートには、\lang\langTag\style0内に言語固有のラッパーがあります。この中に、\lang\shared内の言語中立バージョンの主要なスタイルシートが含まれています。この新しいラッパーによって、言語に依存しない主要スタイルシート機能と言語固有のメッセージが分離されています。
次の各項で説明するように、言語固有のメッセージは、メッセージ・カタログ・ファイル内の変数を介して参照されます。
スタイルシートのメッセージは、メッセージ・カタログ内で定義されています。
\IdentityServer_install_dir\identity\oblix\lang\langTag\msgctlg.xsl
古いバージョンのスタイルシート内のすべての表示可能文字列が、10g(10.1.4.0.1)のスタイルシート・メッセージ・カタログ内に配置されていることを確認する必要があります。たとえば、次の場所にあるバージョン6.1のスタイルシート(navbar.xsl)をカスタマイズしたとします。
\IdentityServer_install_dir\identity\oblix\apps\common\ui\style0\navbar.xsl
ここでは、次のようなメッセージが表示されます。
<xsl:text> << Click here to return to the previous application(s). </xsl:text>
次に、10g(10.1.4.0.1)のスタイルシートを見つけます。
\IdentityServer_install_dir\identity\oblix\lang\shared\navbar.xsl
このスタイルシートで、メッセージを次のように変更します。
<xsl:text> << <xsl:value-of select="$MPrevAppln"/> </xsl:text>
また、10g(10.1.4.0.1)のメッセージ・カタログを見つけます。
\IdentityServer_install_dir\identity\oblix\lang\langTag\msgctlg.xsl
このメッセージ・カタログ内で、次のようにMPrevApplnが定義されていることを確認します。
<xsl:variable name="MPrevAppln">Click here to return to the previous application(s). </xsl:variable>
XSLスタイルシート用の言語固有メッセージ・カタログを処理する手順
メッセージが含まれるスタイルシートを見つけます。
次に例を示します。
\IdentityServer_install_dir\identity\oblix\lang\shared\navbar.xsl
<xsl:text> << Click here to return to the previous application(s). </xsl:text>
スタイルシートをカスタム・スタイル・ディレクトリにコピーします。
次に例を示します。
\IdentityServer_install_dir\identity\oblix\lang\langTag\Custom_dir\navbar.xsl
スタイルシート内のメッセージを、適切なメッセージ・カタログ・パラメータを使用するように変更します。
次に例を示します。
<xsl:text> << <xsl:value-of select="$MPrevAppln"/> </xsl:text>
言語固有のメッセージ・カタログを見つけます。
\IdentityServer_install_dir\identity\oblix\lang\langTag\msgctlg.xsl
メッセージ・パラメータが適切に定義されていることを確認します。
<xsl:variable name="MPrevAppln">Click here to return to the previous application(s). </xsl:variable>
アイデンティティ・サーバーを再起動して、変更を有効にします。
JavaScriptファイル内のポップアップ・メッセージも、変数で置き換えることができます。JavaScriptファイル用のメッセージ・カタログは次の場所にあります。
\WebPass_install_dir\identity\oblix\lang\langTag\msgctlg.js
言語固有のメッセージ・カタログはそれぞれ、特定のJavaScriptファイル用のメッセージを表示する各セクションに分かれています。各セクションの名前には次のものがあります。
misc.js miscs.js monitorwf.js personselector.js proxyadmin.js selector.js atickets.js wfqs.js deactivateuser.js confirm.js
すべての表示可能な文字列がメッセージ・カタログ内に配置されていることを確認する必要があります。また、メッセージ・カタログはI18N_GetMsg機能を介して参照される必要があります。
たとえば、次のJavaScriptファイルを見てみます。
\WebPass_install_dir\identity\oblix\lang\shared\admin.js
次のようなメッセージをポップアップで表示するとします。
alert("Room must have a name.")
この場合、JavaScriptファイル内のコードは次のようになります。
alert(I18N_GetMsg('MRoomNameReq'))
ここで、MRoomNameは次のメッセージ・カタログ内に定義されています。
\WebPass_install_dir\identity\oblix\lang\langTag\msgctlg.js
メッセージ・カタログ内での定義内容は次のとおりです。
MESSAGE_CATALOG[ 'MRoomNameReq' ] = "Room must have a name.";
注意: \shared内のファイルは信頼できるバックアップとして保持しておき、まず、カスタマイズするファイルをカスタム・スタイル・ディレクトリにコピーすることをお薦めします。 |
JavaScriptファイル用の言語固有メッセージ・カタログを処理する手順
JavaScriptファイル用のすべての表示可能な文字列が、次のメッセージ・カタログ内に配置されていることを確認します。
\WebPass_install_dir \identity\oblix\lang\langTag\ msgctlg.js
メッセージ・カタログが、次の場所にあるI18N_GetMsg機能を介して参照されていることを確認します(自動的にロードされます)。
\WebPass_install_dir\identity\oblix\lang\shared\i18n.js
アイデンティティ・サーバーとWebPassを再起動して、変更を有効にします。