アイデンティティ・システムでは、XSL(eXtensible Style Language)スタイルシートとXML(eXtensible Markup Language)データを結合して、ユーザーに表示されるほとんどすべてのページを動的に作成します。この機能はPresentationXMLと呼ばれます。この機能により、Oracle Access Manager開発者は非常に柔軟な設計が可能になり、製品と合せて多数のページの静的HTMLコンテンツを作成する必要がなくなります。
この章で説明する範囲内で、この機能を使用して、アイデンティティ・システムのユーザー・アプリケーションをニーズに合せてカスタマイズできます。たとえば、次のことが可能です。
組織のカラー・スキームおよびその他のグラフィカル・スタイル要素(フォント、ボタン・イメージ、ロゴなど)をOracle Access Managerページに適用します。
IDイベント・プラグインAPIで使用できる非表示情報を追加します(『Oracle Access Managerデプロイメント・ガイド』を参照)。
この章では、PresentationXMLの使用方法について説明します。内容は次のとおりです。
PresentationXMLライブラリ: PresentationXMLコンポーネントの完全ライブラリの主要な部分をいくつかリストして説明します。
Oracle Access Managerのカスタマイズ: カスタマイズを行うための1つの方法を概説します。
アイデンティティ・システム・ページのカスタマイズ: Oracle Access Managerのカスタマイズを実際に経験するために実行できる例を示します。
注意: PresentationXMLを使用する際に、XSLとXMLの経験は必要ありません。ただし、より複雑な種類の変更について掘り下げて調べていく場合は、XSLとXMLに関する知識と理解が必要になります。付録A「XMLの背景」に、いくつかの参照サイトと簡単な構文が示されています。 |
システム管理コンソールでは、常にデフォルトのClassic Styleが使用されます。
この項では、標準的なPresentationXMLの動作について説明し、その出力を制御するために使用できるいくつかのパラメータを示します。また、便利な別の動作モードについても説明します。次の用語が使用されています。
スタイルシート: この語は、ユーザーに表示されるデータがWebを介してどのように送信されるかを記述するXSLスタイルシートを示します。
ベース・スタイルシート: この語は、他のスタイルシートの基盤となる、次のような複数のアイデンティティ・システム・スタイルシートを示します。
basic.xsl
font.xsl
searchform.xsl
navbar.xsl
title.xsl
ラッパー: この語は、他のファイルへのポインタを持つXSLインクルード文のみが含まれるXSLスタイルシート・ファイルを示します。
ここでは、XSLスタイルシート・ファイルのエンコーディング・スキームと、これらのファイルをカスタマイズする場合に指定する項目について概説します。
XMLは、次の文字列で開始する必要があります。
<?xml version="1.0"?>
10g(10.1.4.0.1)では、リクエストに対してISO-8859-1(Latin-1)とUTF-8の2つのエンコーディング形式がサポートされています。ただし、レスポンスはUTF-8エンコーディングのみになります。
この必須文字列内で、エンコーディング指定を選択するためのタグを使用できます。
新しい10g(10.1.4.0.1)インストールでは、次のようにUTF-8エンコーディング・タグ(encoding="UTF-8"
)を使用します。
<?xml version="1.0" encoding="UTF-8" ?>
アップグレード後の環境で古いプラグインとの下位互換性を確保するためには、Latin-1エンコーディング・タグ(encoding="ISO-8859-1"
)を使用します。次に例を示します。
<?xml version="1.0" encoding="ISO-8859-1" ?>
ISO-8859-1エンコーディング: 純粋な英語テキストでは、ISO-8859-1エンコーディングとUTF-8エンコーディングの違いはありません。このため、英語のXSLファイルのエンコーディング・スキームは、\lang\langtag\style0ディレクトリ内のほとんどのラッパー・ファイルでISO-8859-1のまま変更されていません。
次の例は、XSLスタイルシートのラッパー(style.xsl)を示しています。これは、すべての言語ディレクトリ(英語(\lang\en-us)、ドイツ語(\lang\de-de)、日本語(\lang\ja-jp)など)で同じです。各ファイルで違うのは、次の例の最後の行のlangtag項目で指定されている言語指定のみです。これは国ごとに(言語ごとに)異なります。
\IdentityServer_install_dir\identity\oblix\lang\langtag\style0\style.xsl
<?xml version="1.0" encoding="ISO-8859-1" ?> -
<!-- Copyright (c) 1996-2005, Oracle All Rights Reserved. --> -
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:oblix="http://www.oblix.com/">
<xsl:variable name="styleName">style0/</xsl:variable>
<xsl:variable name="localeName">langtag
</xsl:variable>
...
UTF-8エンコーディング: マルチバイト・キャラクタ・サポートを有効化するには、エンコーディングをUTF-8として明示的に定義します。エンコーディング文字列がない場合、デフォルトのエンコーディング指定はUTF-8です。たとえば、グローバル・スタイルシートではエンコーディングが指定されていないため、デフォルトは次のようにUTF-8になります(\IdentityServer_install_dir\\identity\oblix\lang\shared\style.xsl)。
<?xml version="1.0" <!-- Copyright (c) 1996-2005, Oracle All Rights Reserved. --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oblix="http://www.oblix.com/"> <xsl:variable name="styleName">style0</xsl:variable> <xsl:variable name="localeName">en-us</xsl:variable> <xsl:variable name="gifPathName">../../../lang/<xsl:value-of select="$localeName"/>/<xsl:value-of select="$styleName"/></xsl:variable> <xsl:variable name="jsPathName">../../../lang/shared</xsl:variable> </xsl:stylesheet>
注意: XMLおよびXSLファイルをカスタマイズするときは、encoding="ISO-8859-1"どちらの場合もOracle Access Manager XMLパーサーによって、適切な処理を行うためにファイル内のエンコーディング・タグが読み取られます。 |
次に示す図は、PresentationXMLのデフォルトのデータ・フローを示しています。このデフォルト・プロセスは、HTMLを生成してブラウザに表示するプロセスで、サーバー側の処理と呼ばれます。次の手順が実行されます。
ブラウザが、WebPassプラグインを含むWebサーバーのURLにリクエストを送信します。
完全なURLにはWebサーバーの場所が含まれ、リクエストに応じると想定されるアプリケーション(グループ・マネージャなど)が暗黙的に示されます。また、URLには通常、実行するタスクをアプリケーションに指示し、そのタスクを命令するパラメータを提供する情報が含まれます。(URLの完全な構文の詳細は、「アイデンティティ・システムのアプリケーション」を参照してください。)
WebPassはリクエストを受け取って小さな変更をいくつか行い、アイデンティティ・サーバーに渡します。
アイデンティティ・サーバーは、リクエストを適切なアプリケーションに渡します。(この図では、わかりやすくするためにアプリケーションを別個のエンティティとして示していますが、このアプリケーションは実際にはアイデンティティ・サーバーの動的にロードされた一部です。)
アプリケーションはリクエストを処理し、OutputXMLという名前のXMLファイルを作成します。
OutputXMLには、最終的なHTMLの一部として表示される情報が含まれています。また、アプリケーションはその登録ファイルを開いて、処理したリクエストに適用されるベースXSLスタイルシートの名前を取得します(図2-1を参照)。
OutputXMLおよびベース・スタイルシートの名前がアイデンティティ・サーバーに返されます。
アイデンティティ・サーバーは、ベース・スタイルシートのテキストをライブラリから読み取ります。このテキストには通常、多くの種類のリクエストで共通に使用される他のスタイルシートへの参照が含まれています。アイデンティティ・サーバーは、参照ごとにスタイルシート・ライブラリから追加のテキストを読み取って参照の場所にインラインで挿入し、1つの大きなスタイルシートを作成します。
XSLT(XSLトランスフォーマ)アプリケーションは、アイデンティティ・サーバーの一部です。XSLTはスタイルシートを解析して解釈し、それをOutputXMLと結合してHTMLを作成します。OutputXMLの内容によって、スタイルシートの解釈時に行われる決定の基盤が提供されます。また、HTMLに挿入されるデータも提供されます。
スタイルシート全体の処理が完了すると、結果のHTMLがWebPassに送信され、WebPassからブラウザに返されます。
ブラウザはWebPassを使用して、必要に応じてGIFイメージおよびJavaScriptを取得します。
形式、XSLおよびスタイルを制御する各種パラメータをURLに追加すると、OutPutXMLおよびスタイルシートと関連したXSLTの動作を調整できます。
formatパラメータを使用すると、結果の情報がブラウザに渡される前にアイデンティティ・サーバーがOutputXMLとスタイルシートを結合する方法を制御できます。ただし、globalparams.xmlパラメータ・ファイルのoutputFormatパラメータの設定によって、これが許可されている場合にかぎります。詳細は表B-9を参照してください。
アイデンティティ・サーバーは、このファイル内のoutputFormatパラメータに指定されている値をチェックします。パラメータ・ファイル内でoutputFormatパラメータがデフォルトに設定されていないと、PresentationXML URLでのformatパラメータの使用は有効になりません。
formatパラメータは3つの値のいずれかを取ります。
デフォルト: URL内にパラメータが含まれていない場合、XSLT処理が実行されます。
format=xmlnoxsl: アイデンティティ・サーバーは、XSLT処理を実行せずにOutput XMLを返します。つまり、XSLスタイルシートは適用されません。OutputXMLを生成する方法としては、これが推奨されます。この方法を実行した場合、結果を取得するには、表示されたデータをXMLとして保存します(ブラウザでこれがサポートされている場合)。実際のOutputXMLには、表示されたデータをテキスト・ファイルとして保存すると失われるエスケープ文字が含まれています。
注意: 同じCGIを使用して別の機能を取り扱う場合は、URLに"&format=xmlnoxsl"を追加するだけです。この結果、指定したCGIのデフォルトの機能が実行されます。 |
同じCGIを使用して別の機能を取り扱う場合は、アクションの一部として"&format=xmlnoxsl"を使用したフォーム・リクエストを再送信することが必要です。これを実現するには、次の方法を使用します。
方法1: 関連する.xslスタイルシート内のフォーム・アクションに"&format=xmlnoxsl"を追加します。この方法は一見単純ですが、スタイルシートを変更しているため、予期しない結果が発生する可能性があることに注意してください。変更を行った後で、アイデンティティ・サーバーを再起動するか、スタイルシート・キャッシングが無効化されるようにglobalparams.xmlファイルを更新(たとえば、スタイルシート・キャッシングを1に設定)し、スタイルシートの動的変更の更新を許可する必要があります。
方法2: POSTリクエストをGETリクエストとして再作成し、&format=xmlnoxslを追加します。POSTリクエストをGETリクエストとして再作成するには、Portal Insertを使用する方法があります。詳細は、「Portal Insertsのカスタマイズ」を参照してください。
POSTリクエストに渡されるパラメータを直接指定することが常に可能なわけではありません。
アクションが、フォーム・リクエストの送信前にformパラメータを再作成するというJavaScriptである場合もあります。このような場合は、パケットSnifferを実行して、ブラウザから出るときのPOSTリクエストを取得することができます。あるいは、アイデンティティ・サーバーのデバッグを有効化し、リクエスト・データを参照することもできます。ただし、ある程度の量の関連のないデータから取捨選択する必要があることがあります。その後、POSTリクエストをGETリクエストとして再作成します。この方が1つのURLとして送信するよりも簡単だからです。まれに、POSTデータが長すぎてGETリクエストに収まりきらないことがあります。この場合は、HTML静的フォームを作成し、Snifferを使用して取得したPOSTリクエストから、またはOracle Access Managerデバッグ・ログから手動でデータを入力することができます。
注意: オラクル社では、特定のパケットSnifferが有用であることを把握しています。たとえば、http://demosten.com/dasniff で入手できるdaSniffにはコマンドライン・インタフェースが備わっており、WinPcapライブラリ(http://netgroup-serv.polito.it/winpcap で入手可能)が必要です。 |
format=xml: アイデンティティ・サーバーは、XML要素として埋め込まれたベースXSLスタイルシートの名前とともにOutput XMLを返します。この機能を使用するためには、ブラウザで独自のXSLT処理を実行できることが必要です。その場合、ブラウザは、挿入されたスタイルシートの内容に対するリクエストをWebPassに送信し、WebPassはその内容を適切なライブラリから直接取得します。
現在、独自のXSLT処理を実行できるブラウザは、MicrosoftのInternet Explorer(IE)のみです。バージョン5.5以降のIEは、PresentationXMLとの互換性があります。
それ以前のバージョンのIEでは、1998年の作業草案に基づく以前の草案バージョンのXSLTが使用されます。これは、Oracle Access Managerが準拠している現行バージョンのXSLTと整合していません。以前のバージョンのIEでformat=xml
オプションを使用するには、以前の草案バージョンと整合するようにXSLスタイルシートを再作成するか、MicrosoftのパッチをXSLTプロセッサにダウンロードする必要があります。
IdentityXMLを使用するとき、XSLProcessor
パラメータは、ページの生成時に使用するプロセッサを指定します。
正式にサポートされている値は、default
のみです。この値は、XDKプロセッサが使用されることを示します。他のプロセッサ・タイプ、XALANおよびDGXTは、非本番環境でXSLプロセッサの問題をテストする目的のみに使用します。
xslパラメータは、OutPutXMLと結合されるXSLスタイルシートを指定します。このパラメータは、次の2つのいずれかの値を取ります。
デフォルト: URL内にパラメータが含まれていない場合、デフォルトで、登録ファイル内に指定されているXSLスタイルシートが適用されます。
xsl=stylesheet_name: 登録ファイル内に指定されているスタイルシートのかわりに、指定されたスタイルシートをベース・スタイルシートとして使用します。
styleパラメータは、ライブラリ内のどのスタイル・ディレクトリからベース・スタイルシートを取得するかを示します。(スタイルの詳細は、「スタイル」を参照してください。)URL内にstyleパラメータが使用されると、選択したスタイルが、その特定のブラウザのセッション内の以降のリクエストすべてに暗黙的に適用されます。
デフォルト: URL内にパラメータが含まれていない場合、デフォルトは次のいずれかです。styleパラメータが以前に使用されていない場合は、style0ディレクトリからベース・スタイルシートが取得されます。styleパラメータが以前に使用された場合は、引き続き、以前の使用で指定されたスタイル・ディレクトリからベース・スタイルシートが取得されます。
style=styledirectoryname: 指定されたスタイル・ディレクトリからベース・スタイルシートを取得し、このブラウザを使用する以降のセッションでも同じことが行われます。
注意: 管理者は、新しいスタイル・ディレクトリを作成して、それをデフォルト・スタイルとして設定できます。ここでは、style0 はデフォルトのスタイル・ディレクトリを表します。 |
次に示す図は、PresentationXMLを使用するための主要な代替方法を示しています。この方法では、OutPutXMLとベース・スタイルシートが提供されると、ブラウザがそれ自身のHTMLを生成することを想定しています。このため、この方法はクライアント側の処理と呼ばれます。この処理を設定するには、前述のようにformat=xmlパラメータを使用します。この場合のアイデンティティ・サーバーの役割は、WebPassを介して、埋め込まれているベース・スタイルシートの名前とともにOutPutXMLをブラウザに返すことのみです。ブラウザは、各種のライブラリ・コンポーネントが必要になると、そのリクエストをWebPassに送信します。
サーバー側の処理と同じように、ブラウザがWebサーバーにリクエストを送信します。
前と同様に、WebPassはリクエストを受け取って小さな変更をいくつか行い、アイデンティティ・サーバーに渡します。
前と同様に、アイデンティティ・サーバーはリクエストを適切なアプリケーションに渡します。
前と同様に、アプリケーションはリクエストを処理し、OutPutXMLファイルを作成して、ベース・スタイルシートを取得します。
前と同様に、OutputXMLおよびベース・スタイルシートがアイデンティティ・サーバーに返されます。
ただし、アイデンティティ・サーバーはOutPutXMLの処理を行わず、ベース・スタイルシート名をOutPutXMLに埋め込み、結果をWebpassに送信します。Webpassは結果をブラウザに渡します。
ブラウザは必要に応じて、参照されているスタイルシート、イメージおよびJavaScriptに対するリクエストをWebサーバーに送ります(図2-2を参照)。
効率を高めるため、アイデンティティ・サーバーではバイナリ形式に変換されたスタイルシートのキャッシュが保持されます。スタイルシートはアイデンティティ・システムの稼働中に変更できますが、有効にするにはこのキャッシュに強制的に入れる必要があります。これには、アイデンティティ・サーバーを停止してから起動するという方法があります。
また、globalparams.xmlパラメータ・ファイル内に指定されたXSLスタイルシート制御パラメータ(211ページ)を使用する方法もあります。
Identity_install_dir
\identity\oblix\apps\common\bin\globalparams.xml
ここで、Identity_install_dir
は、アイデンティティ・サーバーがインストールされているディレクトリです。
XSLスタイルシート制御パラメータには、次の2つがあります。
XSLStylesheetLiveUpdate: このパラメータのデフォルト値はfalseです。この場合、スタイルシートがキャッシュされると、アイデンティティ・システムでは、元のファイルが変更されているかどうかにかかわらず、キャッシュされたバイナリ・バージョンが使用されます。本番環境では、このパラメータをfalseに設定してください。このパラメータをtrueに設定すると、Oracle Access Managerはファイル・スタンプを比較して、リクエストの合間にスタイルシートが変更されたかどうかを調べます。この場合は不必要なオーバーヘッドが発生するため、本番システムでは推奨されません。
値をtrueに変更すると、ファイルのテキスト・バージョンのタイムスタンプが、キャッシュされたバージョンのタイムスタンプに比較してチェックされます。キャッシュされたバージョンの方が古い場合、テキスト・ファイルがバイナリに変換され、キャッシュ内の古いバージョンと置き換えられます。ただし、これはベース・スタイルシートにしか適用されませんので注意してください。
XSLStylesheetCacheSize: このパラメータのデフォルト値は200です。開発環境では、1つのスタイルシートしかキャッシュされないように値を1に変更できます(0は無効な値です)。1ページ進んでから、テスト対象のページに戻ります。これは、すべてのレベルのスタイルシートに適用されます。
推奨事項: 本番環境では、XSLStylesheetCacheSizeパラメータをベース・スタイルシートの数以上に設定する必要があります。この値は、200より大きくする必要があります。また、パフォーマンスを最適化するために、XSLStyleSheetLiveUpdateパラメータをfalseに設定する必要もあります。
PresentationXMLスタイルシートをカスタマイズする準備として、ユーザー・インタフェースで更新後のスタイルシートの効果をプレビューできるようにしておく必要があります。変更をプレビューできるようにするには、XMLエディタを設定し、ローカル・バージョンのIDアプリケーションXMLファイルを作成する必要があります。この項では、XMLSpyエディタの設定の説明も含めて、これらの内容について説明します。XMLSpyを使用すると、スタイルシートに行った変更内容をテストできます。XMLSpyは、XSLスタイルシート内の定義に従ってXML文書を変換することを可能にするXML開発環境です。
この項で示す手順は、XMLSpyを使用したことのないユーザーを対象としています。XMLSpyおよびPresentationXMLの使用経験がある場合は、適宜手順を変更してかまいません。
次のタスクの概要は、カスタマイズするXSLファイルを生成するための手順をまとめたものです。
タスクの概要: スタイルシートのカスタマイズをテストする環境の設定
PresentationXMLフォルダのローカル・コピーを作成してXML編集環境に追加します。
詳細は、「XMLSpyでPresentationXMLフォルダを構成する手順」を参照してください。
PresentationXMLイメージ・フォルダを構成します。
詳細は、「ローカル・テスト用にIdentityXMLイメージ・フォルダを構成する手順」を参照してください。
スタイルシートを使用してカスタマイズするXMLをインポートします。
詳細は、「各XSLスタイルシートとともに使用するアイデンティティ・システムXMLファイルをインポートする手順」を参照してください。
XSLスタイルシートを使用してXMLファイルを変換します。
詳細は、「XMLファイルをXSLに変換する手順」を参照してください。
XMLSpyでPresentationXMLフォルダを構成する手順
PresentationXMLという名前のフォルダを、たとえば次のように作成します。
c:\PresentationXML
これが作業フォルダになります。アイデンティティ・サーバーおよびWebPass用のXSLとイメージをこのフォルダにコピーできます。
前の手順で作成したフォルダの下に、"identity"および"webcomponent"という名前の2つのサブフォルダを作成します。
アイデンティティ・スタイルシート・フォルダをWebサーバーから"identity"フォルダにコピーします。
コピー元:
Identity_Server_install_dir
\identity\oblix\lang
コピー先:
c:\PresentationXML\identity\
この結果、ディレクトリ構造は次のようになります。
C:\PresentationXML identity lang en-us\. . . shared\. . . webcomponent
WebPassスタイルシートの場合、次のようにして、WebComponentスタイルシート・フォルダ全体とそのサブディレクトリを、WebPassがインストールされているWebサーバーから、作成したwebcomponentフォルダにコピーします。
コピー元:
WebPass_install_dir
\webcomponent\oblix\lang
コピー先:
C:\PresentationXML\webcomponent\
この結果、ディレクトリ構造は次のようになります。
C:\PresentationXML identity lang en-us\. . . shared\. . . webcomponent lang en-us\. . . shared\. . .
XMLSpyを起動します。
新しいプロジェクトを開始するには、「Project」をクリックしてから「New Project」をクリックします。
「XMLSpy Project」ペインで「XSL Files」フォルダを右クリックし、「Add External Folder」を選択します。
次の場所を参照します。
C:\PresentationXML\identity
identityフォルダを選択し、「OK」をクリックします。
webcomponentフォルダに対して前述の手順を繰り返します。
ローカル・テスト用にIdentityXMLイメージ・フォルダを構成する手順
XMLSpyで、イメージおよびjavascriptファイルのパスを変更します。
これが必要なのは、Webサーバーでの実行時にはすべてのイメージへの共通参照が存在するのに対し、ローカル・ドライブではこれらが存在しないためです。
XMLSpyまたはテキスト・エディタで、次のstyle.xslファイルを開きます。
C:\PresentationXML\identity\lang\en-us\style0
8行目のgifPathNameを次のように変更します。
変更前:
../../../lang
変更後:
C:\PresentationXML\webcomponent\lang\shared
9行目のjsPathNameを次のように変更します。
変更前:
../../../lang/shared
変更後:
C:\PresentationXML\webcomponent\lang\shared
各XSLスタイルシートとともに使用するアイデンティティ・システムXMLファイルをインポートする手順
カスタマイズするアイデンティティ・システム機能に移動します。
たとえば、アイデンティティ・システムで、「ユーザー・マネージャ」をクリックしてから「ID」をクリックします。
このページに対して使用されているURL文字列に次のパラメータを追加します。
&format=xmlnoxsy
[Enter]または「実行」を押します。
図2-3に示すように、プロファイル・ページがRAW XMLとして表示されます。
ブラウザで、「ファイル」→「名前を付けて保存」をクリックし、たとえばviewProfile.xmlなどのファイル名を指定することにより、この情報をファイルとして保存します。
&format=xmlnoxslパラメータを使用して作成したXMLファイルを格納するためのフォルダを、たとえば次のように作成します。
C:\PresentationXML\xml
XMLSpyで、前の手順で作成したXMLフォルダを追加するために、「XML Files」フォルダを右クリックし、「Add External Folder」をクリックし、XMLフォルダを参照して「OK」をクリックします。
XMLSpyの「Project」ペインで「XML Files」フォルダを拡張し、変換するファイルをダブルクリックします。
ファイルの内容が右ペインに表示されます。
XMLファイルをXSLに変換する手順
XMLSpyで、「XSL/XQuery」をクリックしてから「XSL Transformation」をクリックします。
XSLスタイルシートを参照します。たとえば、「アイデンティティ」ページを変換するには、次のXSLスタイルシートにナビゲートします。
C:\PresentationXML\identity\lang\en-us\style0\usc_profile.xsl
「Open」をクリックします。
「OK」をクリックします。
少し経つと、XMLおよびXSLの変換に基づいてHTML出力が表示されます。
次の項で説明するようにXSLファイルを変更し、XMLSpyで変更をテストします。
この項では、PresentationXMLを作成するためにまとまって動作するアイデンティティ・システム・コンポーネントについて説明します。次のコンポーネントがあります。
XSLトランスフォーマ: アイデンティティ・サーバーは通常、WebPassとアプリケーションの間でデータを送信する他、(スタイルシートをガイドとして使用して)OutPutXMLをブラウザで使用できるようにHTMLに変換する必要があります。これを行うために、アイデンティティ・サーバーには組込みのXSLトランスフォーマが備わっています。詳細は、「XSLトランスフォーマ」を参照してください。
アプリケーション: ユーザー・マネージャやロスト・パスワード管理など、各リクエストに固有のロジックを取り扱うアイデンティティ・サーバー内部の機能エンティティ。詳細は、「アイデンティティ・システムのアプリケーション」を参照してください。
URL: ブラウザが特定のアプリケーションにアクセスするためにWebPassを介してリクエストを行うときに指定する場所情報およびその他のパラメータ。詳細は、「URL」を参照してください。
Output XML: アイデンティティ・システムの各アプリケーションによって作成されるXMLデータのストリーム。これはファイルとして取得できます。リクエストされたページに表示される情報が含まれます。詳細は、「OutPutXML」を参照してください。
XMLスキーマ: OutPutXML内に表示されるデータのタイプおよび階層が記述されたファイル。詳細は、「XMLスキーマ」を参照してください。
登録ファイル: 使用するスタイルシートと、OutPutXMLが説明されたXMLスキーマ・ファイルを指定するファイル。詳細は、「登録ファイル」を参照してください。
JavaScript: 専門のタスクを実行するJavaScriptアプリケーション。これらのアプリケーションへのポインタは、HTML内に提供されています。詳細は、「JavaScript」を参照してください。
スタイル: ページのHTMLの生成をサポートするデータのコレクション。アプリケーションごとに、データには次のものが含まれます。
スタイルシート: OutPutXML内に提供された情報の使用方法をXSLトランスフォーマに指示するXSL命令が含まれたファイル。詳細は、「XSLスタイルシートの内容」を参照してください。
イメージ: HTML内で参照される小さなグラフィック・ファイル。これらが結合されて、最終的なGUI表示が作成されます。詳細は、「イメージ」を参照してください。
アイデンティティ・サーバーには、組込みのXSLトランスフォーマが備わっています。このトランスフォーマは、XSLスタイルシート内で指定されたロジックに従い、HTML形式に準拠するテキストのファイルを作成します。トランスフォーマは、OutPutXMLの内容を使用して、そのロジック内の意思決定ポイントでブランチを決定し、HTMLに挿入するデータの内容を取得します。
PresentationXMLでは、アイデンティティ・サーバー内部から動的にロードされて実行される6つのアプリケーションをサポートしています。次の表にアプリケーションをリストし、それぞれの名前を示します。ブラウザは、アイデンティティ・サーバーへのリクエストの一部としてURLを提供します。アプリケーション名はURL内の文字列として示されます。また、アプリケーション名はディレクトリ名としても示されます。特定のアプリケーションのPresentationXMLデータは、この名前で検索できます(詳細は「ディレクトリ構造」を参照してください)。各アプリケーションの説明とそれぞれの使用方法の詳細は、『Oracle Access Manager概要』を参照してください。
アプリケーション | アプリケーション名 |
---|---|
グループ・マネージャ | groupservcenter |
組織マネージャ | objservcenter |
ユーザー・マネージャ | userservcenter |
ロスト・パスワード管理 | lost_pwd_mgmt |
クエリー・ビルダー | querybuilder |
セレクタ | selector |
この他にもう1つ、アプリケーション全体で共通のアクティビティに対してURL内で使用される有効な値があります。
アプリケーション | アプリケーション名 |
---|---|
アプリケーション全体で使用されるリソース | common |
ブラウザがアイデンティティ・サーバーに提供するURLは、基本的に2種類あります。1つ目は各アプリケーションの最初のページのURLで、ログイン後に表示されるURLです。たとえば、ユーザー・マネージャのフロント・ページURLはその一例で、次のようになります。
http://www.domain.com/identity/oblix/apps/userservcenter/bin/ userservcenter.cgi
これは複数の部分に分けられます。最初の部分は次のとおりです。
http://www.domain.com/
これは、アイデンティティ・サーバーがプラグインとして追加されているサーバー・サイトの場所です。2つ目の部分は次のとおりです。
http://www.domain.com/identity/oblix/
これは、アイデンティティ・サーバーを使用することをサーバー・サイトに指示しています。3つ目の部分は次のとおりです。
apps/userservcenter/bin/userservcenter.cgi
これは、使用するアプリケーション(この場合はユーザー・マネージャ)をアイデンティティ・サーバーに指示しています。
正式には、『Internet RFC 2396- Uniform Resource Identifiers (URI): Generic Syntax』仕様で説明されているように、
identity/oblix/apps/userservcenter/bin/userservcenter.cgi
という文字列が実行可能なアプリケーションのパスです。
表2-1に、各アプリケーションの最初のページのURLへのパスを示します。
表2-1 各アプリケーションの最初のページのURL
アプリケーション | アプリケーションのフロント・ページURL |
---|---|
|
|
|
|
|
|
|
|
|
|
|
フロント・ページには、アプリケーション内の他のページへのリンクが含まれます。このようなリンクのURLは、たとえば次のようになります。
http://www.domain.com/identity/oblix/ apps/ userservcenter/bin/userservcenter.cgi ?program=view &uid=cn%3DJohn%20Smith%2C%20ou%3DCorporate %2C%20ou%3DCompany%2C%20c%3DUS &tab_id=Employees
これは、フロント・ページURLの内容を拡張したものです。サーバーを検索して使用アプリケーションを指定するための情報は、前と同じです。?と&デリミタで始まるいくつかのパラメータが追加されています。
PresentationXMLの場合、最も重要なパラメータはprogramです。このパラメータは、リクエストされたページの目的を識別します。program名は、アプリケーションごとの登録ファイル内の参照索引として使用されます。
OutPutXMLは、PresentationXMLを使用して作成されたページの内容が含まれる情報の構造化ストリームです。この内容の配置や最終的なページに表示される量に関する選択は、それに適用されるスタイルシートによって決まります。
各アプリケーションは、実行しているタスクに対応するOutPutXMLストリームを生成します。このストリームの内容は、アプリケーションが使用しているディレクトリの内容によって大きく異なります。
このため、OutPutXMLの詳細な内容は予測不可能です。ただし、OutPutXMLストリームに含まれるデータはアプリケーションごとにOracle Access Managerが従うXMLスキーマに準拠しているため、このデータの種類を予測することは可能です。
アプリケーションおよびプログラム名がわかっていれば、アプリケーションの登録ファイル内の対応するスキーマ・ファイル名を見つけることができます。
アイデンティティ・システムの各アプリケーション内の各プログラムによって生成されるOutPutXML情報はハードコードされており、ユーザーが直接変更することはできません。OutPutXMLの内容は、XMLスキーマ・ファイルの内容によって制御されません。このファイルは、OutPutXMLとともに使用するXSLスタイルシートの設計に役立つよう開発者支援として提供されているにすぎません。XMLスキーマ・ファイルは、World Wide Web Consortiumが作成した標準に準拠しています。標準およびXML構文の概要については、「XMLスキーマ」を参照してください。
注意: XMLスキーマ・ファイルはPresentationXMLに何も影響を与えず、WebPassのみに配置されます。XMLスキーマ・ファイルはいずれも変更しないことをお薦めします。 |
次の例は、WebPass_install_dir\identity\oblix\WebServices\XMLSchema\usc_profile.xsd
内のXMLスキーマ・ファイル(完全なusc_profile.xsdファイル)を示しています。
<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by zzz (zzz) --> <xsd:schema targetNamespace="http://www.oblix.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.oblix.com/" elementFormDefault="qualified"> <xsd:include schemaLocation="component_profile.xsd"/> </xsd:schema>
xsd:includeで始まる太字の行は、次の場所にあるファイル内のこのスキーマ定義にインラインで挿入する情報がまだ他に存在することを示しています。
../..//XMLSchema/component_profile.xsd.
component_profile.xsdファイルの完全な内容は次のとおりです。このファイルには、他の4つのスキーマ・ファイル(navbar.xsdなど)へのポインタが含まれていることがわかります。
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema targetNamespace="http://www.oblix.com/" xmlns:xsd="http:// www.w3.org/2001/XMLSchema" xmlns="http://www.oblix.com/" elementFormDefault="qualified"> <xsd:include schemaLocation="navbar.xsd"/> <xsd:include schemaLocation="searchform.xsd"/> <xsd:include schemaLocation="component_panel.xsd"/> <xsd:include schemaLocation="component_basic.xsd"/> <xsd:element name="ObProfile"> <xsd:complexType> <xsd:sequence> <xsd:element ref="ObPanel" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="ObHeaderPanel" minOccurs="0"/> <xsd:element ref="ObRequestInfo" minOccurs="0"/> <xsd:element ref="ObScripts" minOccurs="0"/> <xsd:element ref="ObForm" minOccurs="0"/> <xsd:element ref="ObDisplay" minOccurs="0"/> <xsd:element ref="ObTextMessage" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="ObSelectorInfoForm" minOccurs="0"/> <xsd:element ref="ObButton" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="ObStatus" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Oblix"> <xsd:complexType> <xsd:sequence> <xsd:choice> <xsd:element ref="ObProfile"/> <xsd:element ref="ObError"/> </xsd:choice> <xsd:element ref="ObNavbar" minOccurs="0"/> <xsd:element ref="ObSearchForm" minOccurs="0"/> <xsd:element ref="ObApplicationFunc" minOccurs="0"/> <xsd:element ref="ObStatus" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="oblang" type="xsd:string"/> </xsd:complexType> </xsd:element> </xsd:schema>
このファイルは、次の点で、ほとんどのXMLスキーマ・ファイルの典型であるといえます。
挿入されたXMLスキーマ(複数のアプリケーションにわたって共通に使用されるXMLスキーマ)のセットで開始されています。
<xsd:element name="ObProfile">
で始まり</xsd:element>
で終わる行は、ObProfileという要素を定義しています。
その間にある<xsd:element ref=
で始まる行は、ObProfile要素にネストされた要素(ObPanel
、ObHeaderPanel
など)が含まれることを示しています。
注意: また、ObProfileは、Oracle Access Managerスキーマ全体のルート要素であるOblix要素の一部として参照されます。ルート要素は、XSLスタイルシートのアプリケーションの開始点となります。 |
XMLスキーマ・ファイルはPresentationXMLに何も影響を与えず、WebPassのみに配置されます。
よく使用されるスキーマ・ファイルは次のとおりです。
navbar.xsd: 各ページの上から2行で構成されるナビゲーション・バーを、アプリケーション名、「ヘルプ」ボタン、「ログアウト」ボタン、および他のアプリケーションやアプリケーション内部のモジュールを選択するための各種タブを含めて定義します。
searchform.xsd: グラフィック・ラベル検索で開始される検索フォーム行(一部のページに表示されるグラフィックの行)を定義します。この行の下に他の行が存在することもあります。
component_panel.xsd: プロファイルの内容(ユーザー、グループまたは組織の説明情報のセット)を定義します。
component_basic.xsd: 最下位要素の多くを定義します。displaytype.xsdおよびerror.xsdが含まれます。
displaytype.xsd: アイデンティティ・システムの各表示タイプの書式設定を定義します。
error.xsd: ObError要素を定義します。
これらのファイルにはそれぞれ、他のネストされた要素などが含まれます。参照しやすいように、「XMLスキーマ要素ライブラリ」の表に、よく使用されるスキーマ・ファイルの名前、そのスキーマ・ファイルに含まれる要素の名前、および各要素の簡単な説明を記載しています。
注意: アイデンティティ・システムの各アプリケーション内の各プログラムによって生成されるOutPutXML情報はハードコードされており、ユーザーが直接変更することはできません。OutPutXMLの内容は、XMLスキーマ・ファイルの内容によって制御されません。このファイルは、OutPutXMLとともに使用するXSLスタイルシートの設計に役立つよう開発者支援として提供されているにすぎません。ユーザーはいずれのXMLスキーマ・ファイルも変更しないでください。 |
アイデンティティ・システムの各アプリケーションにはそれぞれ固有の登録ファイルが関連付けられています。これは、一連のXML要素として配置された情報を含むテキスト・ファイルです。特定のIDアプリケーションは、参照索引用にURL内に表示されるObProgram名を使用することにより、その登録ファイルを検索して、OutPutXMLに適用されるベース・スタイルシートの名前を取得します。また開発者への支援として、登録ファイルには、プログラムのOutPutXMLを説明するXMLスキーマの名前も含まれています。
表2-2に、各アプリケーションの登録ファイルのパスを示します。
表2-2 各アプリケーションの登録ファイルのパス
アプリケーション | 登録ファイルの場所 |
---|---|
Identity_install_dir\identity\oblix\apps\ groupservcenter\bin\groupservcenterreg.xml |
|
Identity_install_dir\identity\oblix\apps\ objservcenter\bin\objservcenterreg.xml |
|
Identity_install_dir\identity\oblix\apps\ userservcenter\bin\userservcenterreg.xml |
|
Identity_install_dir\identity\oblix\apps\lost_pwd_mgmt\bin\lostpwdmgmtreg.xml |
|
Identity_install_dir\identity\oblix\apps\ querybuilder\bin\querybuilderreg.xml |
|
Identity_install_dir\identity\oblix\apps\selector\ bin\selectorreg.xml |
主要なアプリケーションも、共通リソース・アプリケーションから頻繁にロジックをコールします。この場合、アプリケーションは共通登録ファイル内で適切なスタイルシートを検索します。
登録ファイルには、次のような一般的な内容が含まれています。次の例では、各登録ファイル内の重要な変数値をイタリックで示しています。また、構造型要素を太字で示しています。
<?xml version="1.0"?> <ObProgramRegistry> <ObApplication name="application_name"> <ObProgram name="a_program_name"> <ObStyleSheet name="stylesheetname.xsl"/> <ObSchema name="Its_XML_schema_name.xsd"/> </ObProgram> <ObProgram name="a_program_name"> <ObButton name="a_button_name"/> <ObButton name="another_button_name"/> <ObButton name="yet_another_button_name"/> <ObButton name="maybe_more_button_names"/> <ObStyleSheet name="stylesheetname.xsl"/> <ObSchema name="XML_schema_name.xsd"/> </ObProgram> <ObProgram name="and_so_on"> ... </ObProgram> ... </ObApplication> </ObProgramRegistry>
これらの要素はそれぞれ特定の目的に使用されます。
たとえば、次の要素はファイルを登録ファイルとして指定しています。
<ObProgramRegistry>
これに対し、次の要素は、この登録ファイルが適用されるアプリケーションを指定しています。
<ObApplication name="the_application_name">
例:
<ObApplication name="groupservcenter">
プログラム名は、スタイルシート、ボタンおよびスキーマが適用されるアプリケーション内のプログラムまたは機能を示します。
<ObProgram name="a_program_name">
例:
<ObProgram name="commonNavBar">
スタイルシート名は、ObProgramによって指定されたプログラムと関連付けられているベース・スタイルシートを示します。
<ObStyleSheet name="stylesheetname.xsl"/>
例:
<ObStyleSheet name="gsc_front.xsl"/>
次の要素は、ObProgramによって指定されたプログラムと関連付けられているXMLスキーマ・ファイルを示します。
<ObSchema name="XML_schema_name.xsd"/>
例:
<ObSchema name="gsc_front.xsd"/>
注意: ObStyleSheet要素とObSchema要素は、各ObProgram要素につき1つずつです。 |
次の要素は、ObProgramによって指定されたプログラムと関連付けられているObButton要素を示します。各ObProgram要素につき、0個または任意の数のObButton要素を指定できます。
<ObButton name="a_button_name"/>
たとえば、保存用のプログラム名において、最初のボタンは次のようになります。
<ObButton name="groupSubscribe"/>
ObButtonは、グラフィック、マウスオーバー時のテキスト、およびリンクを、ページに組み込まれる1つの単位としてパッケージ化するOracle Access Manager固有の構成物です。
Output XML内に提供されている名前付きのボタン・パッケージの内容は変更できません。ただし、ボタンのエントリを登録ファイルから削除することはできます。削除した場合、このボタンは最終的なページに表示されません。また、XSLスタイルシートを使用して、ボタンの表示位置と表示するかどうかを制御できます。
注意: 登録ファイルの編集は、経験のある開発者以外は行わないことをお薦めします。それでも登録ファイルを編集する場合には、細心の注意を払ってください。 |
次のコードは、Identity_install_dir
\identity\oblix\apps\userservcenter\bin\userservcenterreg.xml
にあるユーザー・マネージャ登録ファイルからの抜粋です。表示プログラムに対応する情報は太字でハイライトしています。
注意: 表示プログラムに対応するOutPutXMLデータに適用されるXMLスキーマ・ファイル名はusc_profile.xsdであり、使用されるスタイルシート・ファイルはusc_profile.xsl です。実際に、usc_profile.xsl スタイルシートは複数の機能によって使用されます。このスタイルシートの詳細は、「XSLスタイルシートの内容」を参照してください。 |
<?xml version="1.0"?> <ObProgramRegistry> <ObApplication name="userservcenter"> <ObProgram name="front"> <ObStyleSheet name="usc_profile.xsl" /> <ObSchema name="usc_front.xsd" /> </ObProgram> <ObProgram name="commonNavbar"> <ObStyleSheet name="usc_profile.xsl" /> <ObSchema name="usc_front.xsd" /> </ObProgram> ... <ObProgram name="deactivateUserArchive"> <ObStyleSheetname= "Deactuser_purgearchiveconfirm.xsl"/> <ObButton name="wfArchivePurgeBack"/> <ObSchema name="usc_deactivateUserPurge.xsd"/> </ObProgram> <ObProgram name="view"> <ObStyleSheet name="usc_profile.xsl"/> <ObButton name="initiateDeactivateUser"/> <ObButton name="userreactivate"/> <ObButton name="userModify"/> <ObSchema name="usc_profile.xsd"/> </ObProgram> <ObProgram name="modify"> <ObStyleSheet name="usc_profile.xsl"/> <ObButton name="userSaveChange"/> <ObButton name="userCancelChange"/> <ObSchema name="usc_profile.xsd"/> </ObProgram> ... </ObApplication> </ObProgramRegistry>
JavaScriptは、ブラウザからのリクエストへのダイレクト・レスポンスとしてWebPassによって提供されるため、アイデンティティ・サーバーに関連付けられたディレクトリではなく、WebPassに関連付けられたディレクトリに配置されます。次に例を示します。
WebPass_install_dir\identity\oblix\lang\shared
詳細は、「ディレクトリ構造」を参照してください。
PresentationXMLによって作成されたHTMLには、JavaScriptファイルおよびファイル内の機能への参照が埋め込まれています。これらのファイルのいくつかは特定のアプリケーションと関連付けられていますが、ほとんどはWebPassに基づいて提供されます。
このうち最も重要なファイルおよびそのファイル内で使用可能な機能を、「JavaScriptライブラリ」にリストしています。
Oracle Access Managerで情報が表示される方法は、Oracle Access Managerのスタイルと呼ばれます。これは、使用されるグラフィック・イメージの外観と、それらのイメージがページ上で結合される方法がもたらす直接的な結果です。スタイルシートは、イメージが結合される方法を制御します。イメージそのものを変更することも、スタイルシート内で別のイメージ名を使用することもできます。
特に複雑なスタイルシートの場合は、変換エンジンがスタック領域を使い尽くしてしまうことがありますので注意してください。この問題が発生した場合は、globalparams.xmlファイル内のStringStackパラメータの値を変更できます。詳細は、「Oracle Access Managerのパラメータ・ファイル」を参照してください。
スタイルシート内のメッセージは、言語に依存しています。複数言語機能が備わっていれば、メッセージはスタイルシートから取り込まれ、msgctlg.xsl(およびJavaScriptファイルの場合はmsgctlg.js)内で変数として個別に定義されています。メッセージ・カタログの詳細は、「メッセージ・カタログおよびマウスオーバー時のテキストの変更」を参照してください。
また、次の場所に、各スタイルシートに対応する言語固有のThinラッパーがあります。
Identity_install_dir
\identity\oblix\lang\langTag\style0
\style0
内の各ラッパーには、\shared
に格納されている言語中立の主要なスタイルシートが含まれています。
Identity_install_dir
\identity\oblix\lang\shared
この新しいThinラッパーの目的は、言語に依存しないスタイルシート・テンプレートの主要機能をスタイルシート内の言語固有のメッセージから分離することにあります。
たとえば、典型的なラッパー・スタイルシートであるbasic.xslは\style0内に配置されます。また、カスタム・スタイル・ディレクトリ内に配置することもできます。
Identity_install_dir
\identity\oblix\lang\en-us\style0\basic.xsl
Identity_install_dir
\identity\oblix\lang\en-us\
Custom
\basic.xsl
次の例は、basic.xslの内容を示しています。
<?xml version="1.0" ?> - <!-- Copyright (c) 1996-2005, Oracle Inc. All Rights Reserved. --> - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oblix="http://www.oblix.com/"> <xsl:include href="./style.xsl" /> <xsl:include href="../msgctlg.xsl" /> <xsl:include href="../../shared/basic.xsl" /> </xsl:stylesheet>
basic.xslラッパー・スタイルシートには、次のファイルへのポインタが含まれます。
(identity\oblix\lang\en-us内の)カスタム・ディレクトリから1ディレクトリ上にあるmsgctlg.xsl
カスタム・ディレクトリ内のstyle.xslファイル
すべてのイメージ・ファイルの場所が変更されたため、新しいgifPathName変数はstyle.xsl内に定義されています。詳細は、「イメージ」を参照してください。
identity\oblix\lang\shared内のbasic.xsl
「XSLスタイルシートの内容」も参照してください。
XSLスタイルシートは、World Wide Web Consortiumが作成した標準に準拠しています。標準の詳細およびXSL構文の概要は、「XSLの検証」を参照してください。
前述のように、PresentationXMLは現在のプログラム名をその登録ファイルに対する索引として使用して、関連付けられたXSLスタイルシートの名前を取得します。たとえば、ユーザー・マネージャ・アプリケーションが表示プログラムを実行している場合、このアプリケーションはusc_profile.xslファイルを検索してスタイルシートとして使用します。
次のコードは、ユーザー・マネージャのusc_profile.xslスタイルシート・ファイルの内容の一部です。情報は簡潔にした形式で示されています。<xsl:templateの箇所はそれぞれXSLの多数の行を表していますが、ここでは簡潔にするために省略しています。
<?xml version="1.0" ?> <!-- Copyright ... --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oblix="http://www.oblix.com/"> <xsl:include href=./basic.xsl" /> <xsl:include href=./selectorinfo.xsl" /> <xsl:include href=./usc_searchform.xsl" /> <xsl:include href=./usc_navbar.xsl" /> <xsl:template match="/"> ... <xsl:template match="oblix:ObProfile"> ... <xsl:template match="oblix:ObProfile/Oblix/ObForm"> ... <xsl:template match="/oblix:Oblix/oblix:WfActorComment"> <xsl:template match="oblix:WfActorComment/oblix:ObForm"> <xsl:template match="oblix:ObHeaderPanel">... <xsl:template match="oblix:ObPanel">... <xsl:template match="oblix:ObAttribute"> ... <xsl:template name ="horizontalButton"> ... </xsl:stylesheet>
xsl:template matchで始まる行は、XSL命令の膨大な数の行の最上位であり、テンプレートと呼ばれます。テンプレートは、XSLトランスフォーマに出力ページの構築方法を指示します。
たとえば、次の行を見てみます。
<xsl:template match="oblix:ObProfile">
この行は実際に、OutPutXML内でoblix:ObProfile要素の出現箇所を探し、見つかった場合にはスタイルシートのこの行に続く命令の適用を開始するように、トランスフォーマに指示しています。
この例のスタイルシートの場合、HTMLの構築は<xsl:template match="/">という行から始まっています。そのテンプレートの中で、ナビゲーション・バーと検索フォームが構築されます。残りのテンプレートは、ヘッダー・パネル(ユーザー写真を含むパネル)や他の各パネルなど、プロファイル情報の構築を開始します。
太字で示されたxsl:includeで始まる行は、完全なXSLスタイルシートを生成するためにインラインで追加される他のXSLファイルを示しています。挿入されるこれらのファイルに、挿入される他のファイルへの参照などが含まれることもあります。特定のベース・スタイルシート・ファイルは、ほとんどすべてのアプリケーションで共通に使用されます。
ベース・スタイルシートには次のものがあります。
basic.xsl: 属性とステータスを定義して表示情報を制御するためのテンプレートが含まれます。また、font.xslおよびtitle.xslファイルへの参照が含まれます。
searchform.xsl: Searchform行を作成するためのテンプレートが含まれます。
navbar.xsl: ナビゲーション・バーを作成するためのテンプレートが含まれます。
font.xsl: ページ・ヘッダーなどの繰返しテキストのHTMLサイズ、フォントおよび色を定義するためのテンプレートが含まれます。
title.xsl: HTMLページのデフォルト・タイトルが含まれます。
各ベース・スタイルシートには、他のネストされたスタイルシートなどが含まれます。参照しやすいように、「スタイルシート」の表に、よく使用されるスタイルシートの名前、そのスタイルシートに含まれるテンプレートの名前、および各テンプレートの機能の簡単な説明を記載しています。
PresentationXMLによって作成されたHTMLには、イメージへの参照が埋め込まれています。Oracle Access Managerは独自のGIFイメージ・セットを提供し、ブラウザで読み取ることが可能なあらゆるタイプのイメージをサポートしています。イメージは、ブラウザからのリクエストへのダイレクト・レスポンスとしてWebPassによって提供されるため、WebPassに関連付けられたディレクトリに配置されます(「ディレクトリ構造」を参照)。
関連項目: これらのファイルのネーミング規則については、「イメージ・ライブラリ」を参照してください。アップグレード後にカスタム・イメージまたはスタイルを取り込む方法の詳細は、『Oracle Access Managerアップグレード・ガイド』を参照してください。 |
gifPathName変数およびjsPathName変数
すべてのイメージ・ファイルの場所が変更されたため、新しいgifPathName変数はstyle.xsl内に定義されています。style.xslの他に次のファイルにも、イメージの場所のパスを示すgifPathName変数が含まれています。
install_dir\oblix\lang\langTag\msgctlg.js
msgctlgファイルの詳細は、「カタログ・ファイルの変更」を参照してください。
注意: スタイルシートは、gifPathName変数を参照してイメージ・ディレクトリを検索します。JavaScriptファイルは、jsPathName変数を参照します。 |
言語に依存しないスタイルシートは、gifPathName変数によって示された変更後のイメージ・パスからイメージを取り出します。これは次の2つの理由で重要です。
スタイルシート内のURLのハードコードが回避されるため、複数のスタイル間で同じスタイルシートを再利用することが容易になります。スタイルシートをカスタマイズするときは、GIFへのURLパスを構成するたびにこのグローバル変数を使用する必要があります。
現在の言語と現在のスタイル・タグが取り込まれ、適切なパスが生成されます。
style.xslラッパーは\style0内にあります。カスタム・ディレクトリに置くこともできます。
Identity_install_dir
\identity\oblix\lang\en-us\style0\style.xsl
Identity_install_dir
\identity\oblix\lang\en-us\
Custom
\style.xsl
style.xslの例を次に示します。
<?xml version="1.0" encoding="ISO-8859-1"?> - <!-- Copyright (c) 1996-2005, Oracle All Rights Reserved. --> - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oblix="http://www.oblix.com/"> <xsl:variable name="styleName">style0/</xsl:variable> <xsl:variable name="localeName">en-us</xsl:variable> - <xsl:variable name="gifPathName"> ../../../lang/ <xsl:value-of select="$localeName" /> / <xsl:value-of select="$styleName" /> </xsl:variable> <xsl:variable name="jsPathName">../../../lang/shared</xsl:variable> - <xsl:variable name="cssPathName"> ../../../lang/ <xsl:value-of select="$localeName" /> / <xsl:value-of select="$styleName" /> /coreid.css </xsl:variable> <xsl:variable name="pageLayoutDir">LTR</xsl:variable> </xsl:stylesheet>
この項では、前述のコンポーネントのいくつかを、プログラミング言語と同じ方法でPresentationXMLを実装する際に使用される情報のライブラリの一部として扱います。ここではディレクトリ内のファイルを詳しく説明し、その場所を示します。
アイデンティティ・システムは、ルート・ディレクトリの直下にインストールすることも、指定したサブディレクトリ内にインストールすることもできます。次に例を示します。
Windowsのデフォルト: C:\Program Files\COREid\identity
UNIXのデフォルト: /opt/coreid/identity
このマニュアル: Identity_
install_dir
\identity
バージョン6.5より前では、PresentationXMLライブラリは2つのディレクトリにインストールされ、予測されるファイルの用途に応じて分配されていました。
バージョン6.5以降には、ユーザーに静的情報を母国語で表示することを可能にする言語パックが含まれています。英語がデフォルト言語で、この場合は言語パックは必要ありません。すべてのOracle Access Managerインストールには、en-us言語タグ(langTag)で名付けられたディレクトリが含まれています。
追加の言語パックをインストールすると、他のlangTagディレクトリが作成されることがわかります。たとえば、フランス語の言語パックをインストールすると、fr-frという名前のディレクトリが作成されます。言語パックのインストール方法の詳細は、『Oracle Access Managerインストレーション・ガイド』を参照してください。
バージョン6.5以降の場合、PresentationXMLライブラリのデフォルトのディレクトリ構造を要約すると、次のようになります。
Identity_install_dir\identity\oblix\apps\AppName\bin Identity_install_dir\identity\oblix\apps\AppName\bin Identity_install_dir\identity\oblix\lang\langTag Identity_install_dir\identity\oblix\lang\langTag\style0 Identity_install_dir\identity\oblix\lang\shared WebPass_install_dir\identity\oblix\lang\langTag WebPass_install_dir\identity\oblix\lang\langTag\style0 WebPass_install_dir\identity\oblix\lang\shared WebPass_install_dir\identity\oblix\WebServices\XMLSchema
図2-4と図2-5は、デフォルトのアイデンティティ・サーバー・ディレクトリ構造を示しています。\en-usディレクトリと\sharedディレクトリが\langディレクトリ内で同じレベルに位置していることに注意してください。また、アイデンティティ・システム・アプリケーションに固有のディレクトリが\apps(userservcenter、objservcenter、groupservcenter)の下に位置していることにも注意してください。
ここでは、アイデンティティ・システムおよびWebPassのデフォルト・ディレクトリの内容を示します。
表2-3に、デフォルト・ディレクトリの内容を概説します。AppName列については、アプリケーションの完全なリストを参照してください。
表2-3 デフォルトのPresentationXMLライブラリ
デフォルトのアイデンティティ・システム・ディレクトリ | 内容 |
---|---|
ここで、AppNameは、common、groupservcenter、objservcenter、userservcenterなどになります。 |
アプリケーションに固有の登録ファイルおよびパラメータ・ファイル。 注意: アイデンティティ・サーバー実行可能ファイルには、アプリケーション用の動的にロード可能なコードが含まれています。 |
ここで、langTagは、en-us(英語)またはfr-fr(フランス語)などのインストールされている言語を表します。 |
各種アプリケーション用のメッセージ・ファイル。 |
|
|
|
各種アプリケーション用のXSLスタイルシート・テンプレート。 |
表2-4に、前述のデフォルトのWebPassディレクトリの内容を概説します。
表2-4 デフォルトのWebPass PresentationXMLライブラリ
デフォルトのWebPassディレクトリ | 内容 |
---|---|
|
各種アプリケーション用のメッセージ・ファイルが含まれます。 |
|
|
|
|
|
特定のアプリケーション用のXMLスキーマ・ファイルが含まれます。 |
アイデンティティ・サーバーとWebPassのPresentationXMLディレクトリの内容の違いは、「アイデンティティ・サーバー・ディレクトリとWebPassディレクトリの内容の違い」で概説しています。
アイデンティティ・サーバー・ディレクトリとWebPassディレクトリの内容の違い
違いを要約すると、次のようになります。
XMLschemaディレクトリはPresentationXMLの動作に影響を与えず、WebPassにのみ存在します。
JavaScriptおよびイメージ・ファイルは常にWebPassによって提供されます。すべてのイメージ・ファイルの場所が変更されたため、新しいgifPathName変数は\identity\oblix\lang\langTag\style0\styles.xsl内に定義されています。言語に依存しないスタイルシートは、変数によって示された変更後のイメージ・パスからイメージを取り出します。ラッパー・スタイルシートには、styles.xslスタイルシート・ファイルが含まれています。また、styles.xslにはJavaScriptのパスが含まれています。
パラメータ・ファイル、メッセージ・ファイルおよび登録ファイルは、OutPutXMLを生成するプロセスの一部として、IDアプリケーションによってのみ使用されます。
スタイルシートは、次のどちらにも使用できるため、アイデンティティ・サーバーとWebPassの両方で使用可能です。
サーバー側の処理(アイデンティティ・サーバーが完了済のXSLスタイルシートを構築します。)
クライアント側の処理(WebPassが、インラインで挿入する他のスタイルシートの部分をクライアント・ブラウザに送信することにより、クライアント・ブラウザが最終的なスタイルシートを構築するためのアシストをします。)
例:
v6.5より前: Identity_install_dir
\identity\oblix\apps\
AppName
v6.5より前: WebPass_install_dir
\identity\oblix\apps\
AppName
ここで、AppNameは、グループ・マネージャ(groupservcenter)、組織マネージャ(objservcenter)、ユーザー・マネージャ(userservcenter)などを表します。
挿入されたAppNameディレクトリには、次の3つの重要なサブディレクトリが含まれます。
v6.5より前: AppName
\bin
v6.5より前: AppName
\ui
v6.5より前: AppName
\xmlschema
注意: Oracle Access Managerには、ユーザーに静的情報を母国語で表示することを可能にする言語パックが含まれています。英語がデフォルト言語で、この場合は言語パックは必要ありません。このため、ディレクトリ構造と特定ファイルの場所が変更されています。 |
以降に、前の段落で示したディレクトリの内容を詳しく説明します。
Identity_install_dir\identity\oblix\apps\AppName\bin
AppName
ディレクトリは、次のような特定のアプリケーションを表します。
common
groupservcenter
objservcenter
userservcenter
その他
各AppName
\bin
ディレクトリには登録ファイルが含まれます(「登録ファイル」を参照)。また、各AppName
\bin
ディレクトリには、特定のアプリケーション用のパラメータが含まれるXMLファイルが少数含まれています。アプリケーション固有のサブディレクトリにはすべて、同じタイプの情報が含まれています。ただし、userservcenter\binディレクトリにはいくつかの証明書ファイルも含まれています。
たとえば、groupservcenter\binには次のファイルがあります。
groupservcenterreg.xml: グループ・マネージャ・アプリケーション用の登録ファイル。
groupservcenterparams.xml: このファイルと、params.xmlで終わるその他のファイルには、アプリケーションの実行を指示するために使用されるパラメータが含まれます。
gsc_wf_params.xml: 作成ワークフロー、削除ワークフローおよび属性変更ワークフローのパラメータ。次のファイルはこの情報を複製するものであり、IBM SecureWayディレクトリ・サーバーに要求される特殊な取扱いで必要となります。
gsc_wf_params-base.xml gsc_wf_params-sw.xml。
gsc_wfqs_params.xml: グループ基本テンプレート作成のパラメータ。
gscaclparams.xml: 簡易アクセス制御に対するパラメータとその値範囲のセットを示す例。サンプル・データが含まれていますが、これは配布での使用を意図したものではありません。
注意: ここでのパラメータの説明ではパラメータの変更を禁止する文を記載していませんが、これらのファイルのうち、「Oracle Access Managerのパラメータ・ファイル」にリストされていないファイルについては内容を変更しないでください。 |
注意: バージョン6.5より前で使用可能なAppName .dllファイルには、アプリケーションごとにアイデンティティ・サーバーが実行するロジックが含まれていました。現在では、アプリケーション・モジュール・ロジックおよびライブラリがアイデンティティ・サーバー実行可能ファイル内にコンパイルされています。 |
Identity_install_dir\identity\oblix\lang\langTag
Oracle Access Managerには、複数の言語をサポートするため、インストールされた各言語に対応する特定の名前付きディレクトリが用意されています。たとえば、\lang\en-usには英語ファイルが含まれ、\lang\fr-frにはフランス語ファイルが含まれます。デフォルトのスタイル・ディレクトリと自分で作成したカスタム・スタイル・ディレクトリの両方が、インストール済の各言語ディレクトリに格納されます。
Identity_install_dir
\identity\oblix\lang\en-us\NewStyleIdentity_install_dir
\identity\oblix\lang\en-us\style0Identity_install_dir
\identity\oblix\lang\fr-fr\NewStyleIdentity_install_dir
\identity\oblix\lang\fr-fr\style0
各langTagディレクトリには、各種アプリケーション用の特定言語(英語など)のメッセージ・ファイルも含まれています。また、\helpディレクトリもこのディレクトリに格納されています。
各langTagディレクトリ内のメッセージは、特定のmsg.xmlファイルを編集することによってカスタマイズできます。
Identity_install_dir\identity\oblix\lang\langTag\style0
各langTagディレクトリには、各アプリケーションに固有のデフォルト・ラッパー・スタイルシートが用意されています。次に例を示します。
gsc_は、グループ・マネージャ・ラッパー・スタイルシートの接頭辞です。
osc_は、Org Managerラッパー・スタイルシートの接頭辞です。
usc_は、ユーザー・マネージャ・ラッパー・スタイルシートの接頭辞です。
wf_は、ワークフロー・ラッパー・スタイルシートの接頭辞です。
これ以外のものもあります。
各デフォルト・ラッパー・スタイルシートは、\sharedディレクトリ内のデフォルト・グローバル・スタイルシートを指し示しています。また、このディレクトリにはいくつかの共通イメージ(GIF)も格納されています。アイデンティティ・システム・コンソールで「スタイルの構成」機能を使用してスタイルを追加し、Classic Styleからコピーした場合、\style0の内容がカスタム・ディレクトリ内に複製されます。
スタイルをカスタマイズするとき、カスタム・ディレクトリ内のデフォルト・ラッパー・スタイルシートを、カスタマイズしようとする\sharedスタイルシートのコピーで上書きすることができます。カスタム・ディレクトリ内のどのデフォルト・ラッパー・スタイルシートも、\sharedフォルダ内のデフォルト・グローバル・スタイルシートを継承(または参照)していないようにしてください。
以前のバージョンに含まれていたgiflist.xmlは使用できません。
注意: デフォルト・スタイルに戻す必要が生じたときのために、\style0内のファイルはそのまま保持しておくことをお薦めします。詳細は、「Oracle Access Managerのカスタマイズ」を参照してください。 |
Identity_install_dir\identity\oblix\lang\shared
\sharedディレクトリには、すべての言語の各種アプリケーションに適用されるデフォルトのグローバル・スタイルシートが含まれています。
\shared内のスタイルシートを編集すると、すべての言語に対するグローバル変更を実施することができます。ただし、\sharedおよび\style0内のデフォルト・スタイルシートは、オラクル社によって定期的に更新されます。\sharedおよび\style0内のカスタマイズ済スタイルシートは、製品パッチまたはアップグレード中に上書きされることがあります。他のスタイルシートも更新の影響を受ける可能性があるため、更新済のデフォルト・スタイルシートをカスタマイズ済スタイルのバックアップ・コピーで上書きすることは危険です。\shared内のデフォルト・スタイルシートをカスタム・ディレクトリにコピーしてから、コピーをカスタマイズすることをお薦めします。
注意: デフォルト・スタイルに戻す必要が生じたときのために、\shared内のファイルはそのまま保持しておくことをお薦めします。 |
WebPass_install_dir\identity\oblix\lang\langTag
このディレクトリには、各種アプリケーション用のメッセージ・カタログ・ファイルが含まれますが、ID側のlangTagディレクトリの正確な複製ではありません。
複数のメッセージ・ファイルのコピー
その他のメッセージ・ファイル(webpassmsg.xmlなど)
HTMLファイル(ldap_personoc.htmlなど)
また、このディレクトリにはhelpディレクトリと、Webサーバー関連ファイル用のdocsディレクトリも含まれています。ここでも、メッセージ・ファイルを編集して、変更を他のWebPassホストに伝播することができます。
WebPass_install_dir\identity\oblix\lang\langTag\style0
Identity_install_dir
\identity\oblix\lang\
langTag
\style0
からコピーされた、各種アプリケーション用のデフォルトのXSLラッパー・スタイルシートが含まれます。
また、ページを表示するときに使用されるイメージ・ファイルも含まれます。これらのファイルは常に、ブラウザ・リクエストへのダイレクト・レスポンスとしてWebPassによって提供されます。
注意: Oracle Access Managerは、このディレクトリ内に提供されたイメージに依存しています。デフォルトのイメージは変更しないことをお薦めします。 |
Oracle Access Managerにスタイルを追加してスタイルシートをカスタマイズした後は、同じスタイル関連ディレクトリ構造をWebPass上に作成します。使用するすべてのイメージをWebPass上のカスタム・ディレクトリ構造にコピーする必要があります。イメージを変更していない場合も、次のようにイメージをコピーする必要があります。
イメージのコピー元: WebPass_install_dir
\identity\lang\en-us\style0
イメージのコピー先: WebPass_install_dir\identity\lang\en-us\
CustomStyle
他のデフォルト・スタイル・ファイルの場合と同様に、イメージもオラクル社によって定期的に更新される可能性があります。
WebPass_install_dir\identity\oblix\lang\shared
このディレクトリには、リクエストに応答してWebPassが使用するデフォルトのグローバル・ファイルが含まれます。
WebPassによって使用されるJavaScript
クライアント側の処理で使用するIdentity_install_dir
\identity\oblix\lang\shared
ディレクトリ内のXSLスタイルシートのコピー
他のデフォルト・スタイル・ファイルの場合と同様に、これらもオラクル社によって定期的に更新される可能性があります。デフォルト・ファイルは変更しないことをお薦めします。JavaScriptは、アイデンティティ・サーバー側のスタイルシートを変更する場合と同じ方法でコピーおよびカスタマイズできます。
WebPass_install_dir\identity\oblix\WebServices\XMLSchema
このディレクトリには、各種アプリケーションに固有の要素を定義するXMLスキーマがxsdファイルとして含まれています。たとえば、次のようになります。
gsc_...は、グループ・マネージャ・ファイルを示します。
osc_...は、Org Managerファイルを示します。
usc_...は、ユーザー・マネージャ・ファイルを示します。
workflow...は、ワークフロー・ファイルを示します。
XMLSchemaはPresentationXMLに影響を与えず、WebPass上にのみ挿入されます。
他のデフォルト・スタイル・ファイルの場合と同様に、これらもオラクル社によって定期的に更新される可能性があります。
Oracle Access Managerシステムは、これらのファイルに依存しています。このディレクトリ内のファイルはそのまま保持しておくことをお薦めします。
前の項で説明したように、アイデンティティ・システムの各種アプリケーション用のデフォルトのXSLスタイルシートおよびラッパー・スタイルシートは、次のディレクトリ内にあります。
Identity_install_dir\identity\oblix\lang\langTag\style0 -- wrapper stylesheets Identity_install_dir\identity\oblix\lang\shared -- stylesheets WebPass_install_dir\identity\oblix\lang\langTag\style0 WebPass_install_dir\identity\oblix\lang\shared
WebPass上に、クライアント側の処理のためにコピーが挿入されます(その方法が使用される場合)。
次のベース・スタイルシート・ファイルは、他のすべてのスタイルシートの基盤となるもので、他のスタイルシートへの相対ポインタを含んでいます。
basic.xsl: 属性とステータスを定義して(font.xslファイルとtitle.xslファイルへの参照を含む)表示情報を制御するためのテンプレートを提供します。
詳細は、「basic.xsl」を参照してください。
font.xsl: ページ・ヘッダーなどの繰返しテキストのHTMLサイズ、フォントおよび色を定義するためのテンプレートが含まれます。
詳細は、「font.xsl」を参照してください。
title.xsl: HTMLページのデフォルト・タイトルが含まれます。
詳細は、「title.xsl」を参照してください。
navbar.xsl: ナビゲーション・バーを定義するためのテンプレートを提供します。
詳細は、「navbar.xsl」を参照してください。
searchform.xsl: Searchform行を作成するためのテンプレートを提供します。次のsearchform.xslファイルも同様に示されます。これらはすべてsearchform.xslを指し示しています。
gsc_searchform.xsl
osc_searchform.xsl
usc_searchform.xsl
詳細は、「searchform.xsl」を参照してください。
重要: オラクル社はスタイルシートを定期的に更新するため、デフォルトのスタイルシートは、予測可能なスタイルシート・ライブラリとして保持しておくことをお薦めします。 |
\lang\en-us\style0またはカスタム・ディレクトリ内のbasic.xslラッパー・スタイルシートは、style.xslスタイルシートとmsgctlg.xslスタイルシートへの参照、および\sharedサブディレクトリ内のbasic.xslスタイルシートへの参照を提供します。
次のディレクトリ内のグローバルで言語中立なbasic.xslファイルには、表2-5の変数と表2-6のテンプレートが含まれています。
Identity_install_dir\identity\oblix\lang\shared WebPass_install_dir\identity\oblix\lang\shared
表2-5 basic.xsl内に定義されている変数
名前 | 説明 |
---|---|
textSLength |
テキスト・ボックスのデフォルト長。 |
textSMaxLength |
テキスト・ボックスの最大長。 |
namePrefix |
Oblix内部変数。変更しないでください。 |
singlequote |
一重引用符文字の定数を定義します。これは、特殊な方法で取り扱う必要のある文字として指定されます。JavaScriptコードの一重引用符で囲まれたリテラル文字列には、この変数が必要です。 |
charsToEscape |
|
表2-6に、basic.xsl内で使用可能な実際のテンプレートを示します。
表2-6 basic.xslのテンプレート
名前 | 説明 |
---|---|
oblix: ObDisplay |
各表示タイプ(たとえば、チェック・ボックス、テキスト・ボックス、ビット列など)は、oblix:ObDisplay要素内にネストされます。この一致テンプレートはディスパッチャと呼ばれることもあり、対応する表示タイプ・テンプレートをコールして、その表示タイプのHTMLを適切に生成します。変更モードでは、[+]または[-]ボタンを適切に挿入するためのHTMLロジックがさらに追加されます。 |
oblix:ObBitString |
ビット列表示タイプ・データを、表示モードではHTMLテキストとして、変更モードではHTMLテキスト・ボックスとして生成します。 |
oblix:ObBoolean |
ブール表示タイプ・データを、表示モードではテキスト文字列として、変更モードではラジオ・ボタンとして生成します。 |
oblix:ObCheckBox |
チェック・ボックス表示タイプ・データを、表示モードではテキスト文字列として、変更モードではHTMLチェック・ボックスとして生成します。 |
oblix:ObDate |
このテンプレートは、表示モードでは、指定されたデータ・タイプ(ObMonthDYDateやObDMYDateなど)に対応する形式で、日付表示タイプをテキスト文字列として生成します。変更モードでは、日付表示タイプをHTML選択ボックス(年、月および日に対して1つずつ)として生成します。このテンプレートは、ObDateValueテンプレートをコールして実際の選択ボックスを生成します。 |
oblix:ObDateValue |
このテンプレートは、表示モードでは、指定されたデータ・タイプ(ObMonthDYDateやObDMYDateなど)に対応する形式で、日付表示タイプの入力済の値をテキスト文字列として1つ生成します。変更モードでは、HTML選択ボックス(年、月および日に対して1つずつ)として生成します。 |
oblix:ObDn |
表示モードと変更モードの両方で、dn表示タイプをハイパーリンク・テキストとして生成します。また、XMLからイメージが提供される場合は、dn値の前にイメージが付加されます。 |
oblix:ObEmail |
表示モードでは、電子メール表示タイプをmailto:<email address>という形式のハイパーリンク・テキストとして生成します。変更モードでは、これはHTMLテキスト・ボックスです。 |
oblix:ObFacsimile TelNum |
このテンプレートは、表示モードでは、facsimileTelNum表示タイプ・データをテキスト文字列として生成します。このテキスト文字列では、最初にFAX値が示され、次にこのデータがTwoDimensional、FineResolution、b4Length、a3Width、b4Width、uncompressed、unlimitedLengthのいずれであるかを説明するオプションのパラメータが示されます。変更モードでは、テキスト文字列はHTMLテキスト・ボックスとして表示され、パラメータ・プロパティはチェック・ボックスとして表示されます。 |
oblix:ObGeneric Selector |
表示モードと変更モードの両方で、汎用セレクタ表示タイプ・データをハイパーリンク・テキストとして生成します。ユーザーが使用するデータの場合、ユーザー・イメージが前に付加されます。グループが使用するデータの場合、グループ・イメージが前に付加されます。データがオブジェクトの場合、オブジェクト・イメージが前に付加されます。さらに、変更モードでは「セレクタ」ボタンも生成されます。 |
oblix:ObGif |
表示モードと変更モードの両方で、XMLからのsrc、width、heightおよびalt情報を使用して、GIF表示タイプ・データをイメージとして生成します。変更モードでは、ファイル・アップロード・ボックスも生成されます。 |
oblix:ObGifUrlText |
ObGifUrlによってコールされる名前付きテンプレート。変更モードでのみ使用されます。指定されたlengthおよびmaxlengthを使用して、gifurl情報をテキスト・ボックスとして生成します。 |
oblix:ObGifUrl |
表示モードと変更モードの両方で、ObImageのXML属性のobhref(ハイパーリンク)、obalt(代替テキスト)、obwidth(イメージの幅)およびobheight(イメージの高さ)を使用して、gifurl表示タイプ・データをイメージとして生成します。変更モードでは、テンプレートObGifUrlTextをコールすることによって追加のテキスト・ボックスも生成されます。 |
oblix:ObLocationDn |
ObLinkテンプレートをコールすることによって、場所のdn表示タイプ・データをリンクとして生成します。 |
oblix:ObMedia |
メディア表示タイプ・データを、イメージ付き(イメージが提供されている場合)または指定された表示名(表示名が指定されている場合)のハイパーリンクとして生成します。変更モードでは、追加のファイル参照ボタンも生成されます。 |
oblix:ObPassword |
変更モードにおいて、指定されたlentghおよびmax lentghを使用してHTMLパスワード入力ボックスを生成します。oboldpswdがtrueの場合、パスワード入力ボックスを使用して古いパスワードの入力も要求されます。(この要素は表示モードでは使用されません。) |
表示モードでは、住所表示タイプの値をテキスト文字列として生成します。変更モードでは、値はテキスト・ボックス内の変更可能データとして表示されます。 |
|
変更モードにおいて、各値はテキスト・ボックス内の変更可能データとして表示されます。また、「クエリー・ビルダー」ボタンも生成されます。(この要素は表示モードでは使用されません。) |
|
表示モードでは、ラジオ表示タイプの値をテキスト文字列として生成します。変更モードでは、値はHTMLラジオ・ボタンとして生成されます。 |
|
oblix:ObSelect |
表示モードでは、選択表示タイプの値をテキスト文字列として生成します。変更モードでは、値はHTML選択ボックスとして生成されます。 |
SMIMECertficate表示タイプをテキスト文字列として生成します。 |
|
表示モードでは、textM表示タイプの値をテキスト文字列として生成します。変更モードでは、値は、指定された列と行を持つHTML複数行テキスト・ボックスとして生成されます。 |
|
表示モードでは、textS表示タイプの値をテキスト文字列として生成します。変更モードでは、値は、指定された列と行を持つHTML単一行テキスト・ボックスとして生成されます。 |
|
表示モードでは、数値文字列表示タイプの値をテキスト文字列として生成します。変更モードでは、指定されたmaxlengthとlengthを持つテキスト・ボックス内に値が生成され、テキスト・フィールドが数値のみを受け入れるようにJavaScript検証も設定されます。 |
|
Oblix:ObValue要素内にPCデータ・テキストを生成します。 |
|
HTMLアプレットを生成します。情報には、codebase、code、width、height、align、targetおよびarchiveが含まれます。アプレットに入力パラメータが必要な場合は、それらのパラメータがoblix:ObParam要素内に指定されます。 |
|
ObScripts要素内のObScript要素ごとにoblix:ObScriptテンプレートをコールします。 |
|
Oblix:ObScript要素内に指定されているJavaScriptがHTML内部で参照されることを可能にするためのスクリプト・タブを生成します。 |
|
XML内に指定された情報を使用して、ボタンをハイパーリンク・テキストまたはイメージとして生成します。情報には、href、mouse overおよびoptional imageが含まれます。イメージが指定されていない場合は、アンカー・テキストが表示されます。 |
|
XML要素内に指定された情報を使用して、HTML入力タグを生成します。 |
|
表示モードでは、指定されたhrefおよびmouse overの値を使用して、イメージまたはテキスト文字列付きのハイパーリンクを生成します。変更モードでは、テキスト・ボックスが生成されます。 |
|
指定されたobwidth、obheight、obaltおよびhrefの値を使用してイメージを生成します。 |
|
属性削除のためのチケットをリクエストする機能を有効化するための適切なHTMLタグを生成する、コールされたテンプレート。 |
|
属性変更のためのチケットをリクエストする機能を有効化するための適切なHTMLタグを生成する、コールされたテンプレート。 |
|
変更モードに対して日付選択項目を生成する、コールされたテンプレート。 |
|
変更モードにおいて月選択ボックスを生成する、コールされたテンプレート。 |
|
変更モードにおいて日選択ボックスを生成する、コールされたテンプレート。 |
|
変更モードにおいて年選択ボックス(デフォルトでは1993〜2012)を生成する、コールされたテンプレート。 |
|
変更モードにおいて時間選択ボックス(00〜23)を生成する、コールされたテンプレート。 |
|
変更モードにおいて時間選択ボックス(00〜12)を生成する、コールされたテンプレート。 |
|
変更モードにおいて分または時間選択ボックス(00〜59)を生成する、コールされたテンプレート。 |
|
内部目的で使用される非表示HTML入力タグを生成する、コールされたテンプレート。これはOblix:ObDisplayテンプレートによってコールされます。 |
|
さらに値を追加する機能([+]ボタン)を有効化するための適切なHTMLタグを生成する、コールされたテンプレート。 |
|
値を削除する機能([-]ボタン)を有効化するための適切なHTMLタグを生成する、コールされたテンプレート。 |
|
onXイベント(onChange、onClick、onDblClick、onDragStart、onFilterChange、onHelp、onKeyDown、onKeyPress、onMouseDown、onMouseMove、onMouseOut、onMouseOver、onMouseUp、onSelectStartおよびdisabledのいずれか)を追加する、コールされたテンプレート。 |
|
エラー・メッセージを生成します。 |
|
指定されたテキスト・メッセージを生成します。 |
|
内部目的で使用される非表示HTML入力タグを生成する、コールされたテンプレート。 |
|
値を表形式で生成する、コールされたテンプレート。 |
|
リンク値を表形式で生成する、コールされたテンプレート。 |
|
各リンク値を表形式のチェック・ボックスとして生成する、コールされたテンプレート。 |
|
入力パラメータをxからObxに変換してハイフンをアンダースコアに変更する、コールされたテンプレート。 |
|
文字列に
が含まれている箇所に改行を追加する、コールされたテンプレート。 |
|
JavaScriptをコールする準備として文字をエスケープする、コールされたテンプレート。 |
|
Java Runtime Environment 1.3以上が必要なのに使用可能でない場合にエラー表示を生成する、コールされたテンプレート。 |
このスタイルシートには、ページ・ヘッダーなどの繰返しテキストのHTMLサイズ、フォントおよび色を定義するためのテンプレートが含まれます。次のディレクトリ内のfont.xslファイルには、表2-7の変数と表2-8のテンプレートが含まれています。
Identity_install_dir\identity\oblix\lang\shared WebPass_install_dir\identity\oblix\lang\shared
表2-7 font.xsl内に定義されている変数
名前 | 説明 |
---|---|
ページのヘッダーのサイズを定義します。 |
|
ページのヘッダーの色を定義します。 |
|
ページのヘッダーのフォントを定義します。 |
|
ページのサブヘッダーのサイズを定義します。 |
|
ページのサブヘッダーの色を定義します。 |
|
ページのサブヘッダーのフォントを定義します。 |
|
コンテンツ・タイトル(たとえば、プロファイル・ページの属性表示名など)のサイズを定義します。 |
|
コンテンツ・タイトルの色を定義します。 |
|
コンテンツ・タイトルのフォントを定義します。 |
|
コンテンツ・テキスト(たとえば、プロファイル・ページの属性値など)のサイズを定義します。 |
|
コンテンツ・テキストの色を定義します。 |
|
コンテンツ・テキストに使用されるフォントを定義します。 |
|
警告メッセージのサイズを定義します。 |
|
警告メッセージの色を定義します。 |
|
警告メッセージに使用されるフォントを定義します。 |
|
login.xslおよびlogout.xslで使用されるアンカー・テキストのサイズを定義します。 |
|
login.xslおよびlogout.xslのアンカー・テキストの色を定義します。 |
|
login.xslおよびlogout.xslのアンカー・テキストのフォントを定義します。 |
表2-8に、font.xsl内のテンプレートを示します。
表2-8 font.xsl内に定義されているテンプレート
名前 | 説明 |
---|---|
ページ・ヘッダー(たとえば、プロファイル・ページのタイトルのProfileという語など)の適切な色、サイズおよびフォントを設定するために使用される、コールされたテンプレート |
|
サブ・ヘッダー(たとえば、プロファイル・ページのパネル名など)の適切な色、サイズおよびフォントを設定するために使用される、コールされたテンプレート |
|
コンテンツ・タイトル(たとえば、プロファイル・ページの属性表示名など)の適切な色、サイズおよびフォントを設定するために使用される、コールされたテンプレート |
|
コンテンツ・テキスト(たとえば、プロファイル・ページの属性値など)の適切な色、サイズおよびフォントを設定するために使用される、コールされたテンプレート |
|
ページ警告の適切な色、サイズおよびフォントを設定するために使用される、コールされたテンプレート |
|
login.xslおよびlogout.xslによって作成されたアンカー・テキストの適切な色、サイズおよびフォントを設定するために使用される、コールされたテンプレート |
このスタイルシートには、HTMLページのデフォルト・タイトルが含まれます。次のディレクトリ内のtitle.xslファイルには、表2-9の変数が含まれています。title.xsl内にテンプレートはありません。
Identity_install_dir\identity\oblix\lang\shared WebPass_install_dir\identity\oblix\lang\shared
表2-9 title.xsl内に定義されている変数
名前 | 説明 |
---|---|
すべてのパブリッシャ・ページのHTMLタイトル。 |
|
すべてのユーザー・マネージャ・ページのHTMLタイトル。 |
|
すべてのグループ・マネージャ・ページのHTMLタイトル。 |
|
すべての組織マネージャ・ページのHTMLタイトル。 |
|
すべてのクエリー・ビルダー・ページのHTMLタイトル。 |
|
すべてのセレクタ・ページのHTMLタイトル。 |
|
すべてのロスト・パスワード管理ページのHTMLタイトル。 |
|
すべてのアプリケーションにわたって共有されるすべての共通ページのHTMLタイトル。 |
|
内部使用のみ。現在のページのコンテキストを判別するために使用されます。 |
|
内部使用のみ。現在のページのコンテキストを判別するために使用されます。 |
|
内部使用のみ。現在のページのコンテキストを判別するために使用されます。 |
|
内部使用のみ。現在のページのコンテキストを判別するために使用されます。 |
\sharedサブディレクトリ内のnavbar.xslは、ナビゲーション・バーを定義するためのテンプレートを提供します。また、\sharedサブディレクトリ内の次のファイルも、navbar.xsl: gsc_navbar.xsl、osc_navbarm.xsl、usc_navbar.xslを指し示しています。
次のディレクトリ内のnavbar.xslファイルには、表2-10のテンプレートが含まれています。navbar.xsl内に変数はありません。
Identity_install_dir\identity\oblix\lang\shared WebPass_install_dir\identity\oblix\lang\shared
表2-10 navbar.xsl内に定義されているテンプレート
名前 | 説明 |
---|---|
oblix:ObNavbar |
アイデンティティ・システムの各ページのトップに表示されるナビゲーション・バー(Navbar)を生成します。navbarを構成する重要な部分は、ログイン・ユーザー識別、選択可能アプリケーション(ユーザー・マネージャや組織マネージャなど)のリスト、「ヘルプ」/「バージョン情報」/「ログアウト」ボタン、アプリケーション機能(たとえば、「ID」や「レポート」など)およびタブ(複数のタブが存在する場合)です。 |
oblix:ObApps |
選択可能なアプリケーションのリストを生成します。 |
localButton |
href、mouseover、mouseoutおよびイメージまたはアンカー・テキストに関するHTML情報を埋め込むことによってボタンを生成する、コールされたテンプレート。 |
oblix:ObApplication/ oblix:ObTabs/oblix:ObButtons |
様々なタブを選択するために使用されるボタンを生成します。 |
oblix:ObApplication/ oblix:ObFunctions/oblix:ObButton |
アプリケーション内の様々な機能(たとえば「ID」など)を選択するために使用されるボタンを生成します。 |
oblix:ObApplication/ oblix:ObTitle/oblix:ObButton |
内部使用のみ。現在のコンテキストを設定するために使用されます。 |
以前はこのテンプレートが配信されていましたが、現在では、Searchform行を作成するためのテンプレートがsearchform.xsl内に配置されています。次のsearchform.xslファイルも示され、すべてsearchform.xslを指し示しています。
gsc_searchform.xsl osc_searchform.xsl usc_searchform.xsl
次のディレクトリ内のsearchform.xslファイルには、表2-11のテンプレートが含まれています。searchform.xsl内に変数はありません。
Identity_install_dir\identity\oblix\lang\shared WebPass_install_dir\identity\oblix\lang\shared
表2-11 searchform.xsl内に定義されているテンプレート
名前 | 説明 |
---|---|
oblix:ObSearchForm |
ほとんどのページでナビゲーション・バーのすぐ下に配置されるSearchformを生成します。Searchformには、多数のSearchRowが含まれることがあります。 |
oblix:ObSearchForm/ oblix:ObSearchRow |
検索機能の1行を生成します。2つの選択ボックスと1つのテキスト・ボックスで構成される行で、"full name" "that contains" "John"のような検索リクエストごとに1行ずつです。 |
oblix:ObSearchForm/ oblix:ObAdvanced Search |
拡張検索機能が有効化されている場合に、拡張検索ボタン、絞込み検索ボタン、およびすべて検索ボタンを生成します。 |
前述のように、アイデンティティ・システムの各アプリケーション内の各プログラムによって生成されるOutPutXML情報はハードコードされており、ユーザーが直接変更することはできません。OutPutXMLの内容は、XMLスキーマ・ファイルの内容によって制御されません。このファイルは、OutPutXMLとともに使用するXSLスタイルシートの設計に役立つよう開発者支援として提供されているにすぎません。XMLスキーマ・ファイルはいずれも変更しないことをお薦めします。
次の例は情報目的でのみ示しています。WebPass_install_dir
\identity\oblix\WebServices
内のXMLSchemaディレクトリには、各アプリケーションに固有のスキーマ・ファイルがいくつか含まれています。次に例を示します。
gsc_administrationMain.xsd ... osc_administrationMain.xsd ... usc_administrationMain.xsd ... and others ...
これらのファイルを調べると、そのうちのいくつかにはそのファイル内にしか存在しない要素定義が含まれていること、および多くのファイルに他のスキーマ・ファイルへの参照が含まれていることがわかります。
深くネストされた参照をトレースすると、次の6つのファイルに到達します。これらは共通アプリケーション用のXMLSchemaディレクトリ内に提供されています。
navbar.xsd: ナビゲーション・バー(各ページの上から2行)のコンテンツを、アプリケーション名、「ヘルプ」ボタン、「ログアウト」ボタン、およびアプリケーション内の他のモジュールを選択するための各種タブを含めて定義します。
searchform.xsd: グラフィック・ラベル検索で開始されるSearchForm行(一部のページで使用可能な行)を定義します。この行には、さらに複雑な検索組合せのための追加の行が含まれることがあります。
component_panel.xsd: プロファイルの内容(ユーザー、グループまたは組織の説明情報のセット)を定義します。
component_basic.xsd: 最下位要素の多くを定義します。displaytype.xsdおよびerror.xsdが含まれます。
displaytype.xsd: Oracle Access Managerの各表示タイプの書式設定を定義します。
error.xsd: ObError要素を定義します。
この項の以降の部分では、これらの各ファイル内に定義されている要素について説明します。
注意: これらのファイルの内容は、予測可能なテンプレート・ライブラリとして保持しておくことを強くお薦めします。 |
WebPass_install_dir
\identity\oblix\WebServices\XMLSchema
内のdisplaytype.xsdファイルには、表2-12に示す要素が含まれています。このファイル内のすべての要素は、Oblixネームスペース内に存在します。
表2-12 displaytype.xsdのスキーマ
名前 | 説明 |
---|---|
ObDisplay |
生成される値(または値セット)に関する情報が含まれる要素。この要素は通常、表示タイプ(電子メールや日付など)の1つにマップされます。この要素には2つの子が含まれることがあります。1つはObDisplayProperties要素で、オプションです。もう1つは必須要素で、名前が表示タイプ(たとえば、ObCheckBoxやObDateなど)にマップされます。この要素には次の必須属性が含まれます。 obname: 生成される値の名前。通常は属性名です。 obdisplayName: 表示名、わかりやすい名前または印刷される名前。 obdisplayType: この値の表示タイプ。 obsemanticType: この値のセマンティク・タイプ。 obmode: view、modifyまたはplainのいずれか。 obshowLabel: trueまたはfalse。この値を出力するときに表示名を表示するかどうかを示します。 obrequired: trueまたはfalse。これが必須の値(変更モードでユーザーが少なくとも1つの値を入力する必要がある)かどうかを示します。 obcardinality: singleValuedまたはmultiValued。これが単一値属性か複数値属性かを示します。 obcanRequest: trueまたはfalse。変更モードでユーザーがこの値を変更できるかどうかを示します。 |
ObDisplay Properties |
0個以上のObDisplayProperty要素が含まれます。 |
ObDisplayProperty |
onXイベント(onChange、onClick、onDblClick、onDragStart、onFilterChange、onHelp、onKeyDown、onKeyPress、onMouseDown、onMouseMove、onMouseOut、onMouseOver、onMouseUp、onSelectStartおよびdisabledのいずれか)の必要な表示プロパティが含まれます。XML属性obnameにはonXイベントの名前が含まれ、XML属性obvalueにはonXイベントの値が含まれます。 |
ObBitString |
ビット列表示タイプを記述します。0個以上のObValue要素が含まれ、それぞれが1つの値に対応しています。さらに、オプションのXML属性が2つあります。1つはテキスト・ボックスの長さを示すoblengthで、もう1つはテキスト・ボックスの最大長を示すobmaxLengthです。 |
ObBoolean |
ブール表示タイプを記述します。trueまたはfalseの値を含む必須のXML属性obvalueが含まれます。 |
ObButton |
ボタンを記述します。1つのボタンには次の6つのオプションのXML属性が含まれます。 obaction: アクション。 obmouseover: マウスオーバー時のメッセージ。 obhref: href。 obimageUrl: ボタンのイメージの場所。 obanchorText: イメージがない場合の代替テキスト。 target: 将来の使用のために提供されている属性で、現在は使用されていません。 |
ObCheckBox |
チェック・ボックス表示タイプを記述します。0個以上のObChoice要素が含まれます。 |
ObChoice |
選択項目を記述します。通常は、選択を許可する表示タイプ(ObCheckBoxなど)内にネストされます。 オプションのXML属性obselectedが含まれます。obselectedに使用可能な値は、trueまたはfalseです。この属性が指定されていない場合のデフォルト値は、falseです。値が選択されている場合、その値がユーザーにより選択された値であるという意味です。値が選択されていない場合、その値は選択可能であるが、ユーザーによって実際に選択されていないことを意味します。 また、ObChoice要素には、この選択項目の表示名(わかりやすい名前)に対応する必須のXML属性obdisplayNameが含まれます。 |
ObDate |
日付表示タイプを記述します。0個以上のObDateValue要素が含まれます。さらに、オプションの属性として、日付の部分を区切る文字列を示すobseparatorも含まれます。これが指定されていない場合、デフォルト値は/です。 obformat: 日付を表示する書式。指定されていない場合、デフォルト値はUSStandardです。使用可能な値には、USStandardFull、EUSStandard、EUSStandardFullおよびUSStandardがあります。 obdateType: 日付がデータとして送られる方法。使用可能な値には、ObIntegerDate、ObMDYDate、ObDMYDate、ObDMonthYDate、ObISO8601DateおよびObUnknownDateがあります。 |
ObDateValue |
日付値を記述します。次の必須XML属性が含まれます。 obmonth: 月を表すテキスト文字列 obday: 日を表すテキスト文字列 obyear: 年を表すテキスト文字列 さらに、オプションのXML属性obbadDateは、特定の日付の書式が不正かどうかを記述します。obbadDate属性のデフォルト値はfalseであり、日付の書式が不正であることを意味します。使用可能な値は、trueおよびfalseです。 |
ObDn |
dn表示タイプを記述します。0個以上のobLink要素が含まれます。 |
ObEmail |
電子メール表示タイプを記述します。0個以上のObValue要素が含まれます。さらに、ObEmail要素には2つのオプションのXML属性が含まれることがあります。 oblength: テキスト・ボックスの実際の長さ obmaxLength: テキスト・ボックスの許可される最大長 |
ObFacsimileTelNum |
FAX番号表示タイプを記述します。0個以上のObValue要素と0個以上のObFaxParam要素が含まれます。 |
ObFaxParam |
XML属性obdisplayNameが含まれます。 |
ObForm |
フォームを生成するための情報が含まれます。0個以上のObInput要素が含まれます。さらに、次の属性も含まれます。 obname: フォームの名前を提供する必須のXML属性。 obaction: フォームが送信されたときに実行するアクションを指定するオプションのXML属性。 obenctype: フォームの暗号化タイプを提供するオプションのXML属性。 obmethod: このフォームのメソッド(postまたはget)を指定するオプションのXML属性。デフォルトのメソッドはpostです。 |
ObGenericSelector |
汎用セレクタ表示タイプを記述します。0個以上のObLink要素と1個までのオプションのObButton要素が含まれます。 |
ObGif |
GIF表示タイプを記述します。0個以上のObImage要素が含まれます。 |
ObGifUrl |
gifurl表示タイプを記述します。0個以上のObImage要素が含まれます。さらに、次の2つのオプションのXML属性が含まれます。 oblength: テキスト・ボックスの長さ obmaxLength: テキスト・ボックスの最大長。 |
ObLocationDn |
場所のdn表示タイプを記述します。0個以上のObLink要素が含まれます。 |
ObMedia |
メディア表示タイプを記述します。0個以上のObLink要素が含まれます。 |
ObMime |
MIME表示タイプを記述します。必須のXML属性obtypeと、(ファイル拡張子の定義に使用される)オプションのXML属性obfileExtが含まれます。 |
ObPassword |
0個以上のObValue要素が含まれます。さらに、次の3つのオプションのXML属性が含まれることがあります。 oblength: テキスト・ボックスの長さ。 obmaxLength: テキスト・ボックスの最大長。 oboldpsw: 古いパスワードに関する情報を表示するかどうかを示します。oboldpsw属性に使用可能な値は、trueおよびfalseです。 |
ObPostalAddress |
0個以上のObPostalValue要素が含まれます。また、次の2つのオプションのXML属性が含まれます。 oblength: テキスト・ボックスの長さ obmaxLength: テキスト・ボックスの最大長 |
ObPostalSubString |
postalサブストリングを含むPCデータ。 |
ObPostalValue |
0個以上のObPostalSubString要素が含まれます。 |
ObSelect |
選択表示タイプを記述します。0個以上のObChoice要素が含まれます。さらに、次の2つのオプションのXML属性が含まれます。 obmultiple: trueまたはfalse。デフォルト値はfalseです。 obsize: 選択ボックスのサイズ。 |
ObTextM |
textM表示タイプを記述します。0個以上のObValue要素が含まれます。さらに、次の3つのオプション属性が含まれることがあります。 obrows: 複数行テキスト・ボックスの行数。 obwrap: テキストを折り返す必要があるかどうかを示し、trueおよびfalseの値を取ります。 obcols: 複数行テキスト・ボックスの列数。 |
ObTextMessage |
テキスト・メッセージを記述するPCデータ。この要素の使用方法は、コンテキストに依存します。よくある用途の1つに、エラー・メッセージの出力があります。 |
ObTextS |
textS表示タイプを記述します。0個以上のObValue要素と0個以上のObTextMessage要素が含まれます。さらに、次の2つのオプション属性が含まれることがあります。 oblength: テキスト・ボックスの長さ obmaxLength: テキスト・ボックスの最大長 |
ObQueryBuilder |
クエリー・ビルダー表示タイプを記述します。0個以上のObValue要素とオプションのObButton要素1つが含まれます。さらに、次の2つのオプション属性が含まれることがあります。 oblength: テキスト・ボックスの長さ obmaxLength: テキスト・ボックスの最大長 |
ObRadio |
ラジオ表示タイプを記述します。0個以上のObChoice要素が含まれます。 |
ObSMIMECertificate |
0個以上のObSMIMEValue要素が含まれます。さらに、次の3つのオプションのObButton属性が含まれます。 |
ObSMIMEValue |
0個以上のObNameValuePair要素と2つのオプションのObButton要素が含まれます。 |
ObNameValuePair |
次の2つの必須のXML属性が含まれます。 obcertinfo: 3つの使用可能な値(issuer、validfromおよびvalidto)があります。 obcertvalue: このObNameValuePairによって記述されている値です。 |
ObScript |
スクリプトを挿入するための情報が含まれます。スクリプトの名前は、必須のXML属性obnameによって記述されます。 |
ObScripts |
0個以上のObScript要素が含まれます。 |
ObValue |
値が含まれるPCデータ。 |
ObImage |
次の1つの必須のXML属性が含まれます。 obhref: href また、次の3つのオプションのXML属性が含まれます。 obalt: altテキスト obwidth: イメージの幅 obheight: イメージの高さ |
ObInput |
HTML入力タグの生成に必要な情報が含まれます。最大3つのXML属性が含まれます。 obtype: 入力のタイプ(必須) obname: 入力の名前(必須) obvalue: 入力の値(オプション) |
ObLink |
0個以上のObImage要素と0個以上のObMime要素が含まれます。また、最大3つのXML属性が含まれます。 obhref: href(必須) obmouseOver: リンクのマウスオーバー時のメッセージ(オプション) obdisplayName: ハイパーリンクの表示名(オプション) |
ObNumericStr |
0個以上のObValue要素が含まれます。さらに、次の2つのオプションのXML属性が含まれることがあります。 oblength: テキスト・ボックスの長さ obmaxLength: テキスト・ボックスの最大長 |
ObApplet |
アプレットを記述する情報が含まれます。0個以上のObParam要素が含まれ、それぞれがアプレットのパラメータを記述しています。さらに、1つのオプションのXML属性obarchiveと必須のXML属性obname、obtarget、obcodeBase、obcode、obwidth、obheightおよびobalignが含まれます。これらの属性はすべて、HTMLアプレット・タグ内で必要な情報にマップされます。 |
ObParam |
パラメータの名前と値が、2つの必須の属性(obnameおよびobvalue)のフォームで含まれます。 |
WebPass_install_dir
\identity\oblix\WebServices\XMLSchema
内のcomponent_basic.xsdファイルには、表2-13に示す要素が含まれています。このファイル内のすべての要素は、oblixネームスペース内に存在します。
WebPass_install_dir
\identity\oblix\WebServices\XMLSchema
内のnavbar.xsdファイルには、表2-14に示す要素が含まれています。このファイル内のすべての要素は、oblixネームスペース内に存在します。
表2-14 navbar.xsdのスキーマ
名前 | 説明 |
---|---|
ObTabs |
現在のアプリケーションに対して構成されている様々なタブを記述するために使用される0個以上のボタンが含まれます。 |
ObNavbar |
ナビゲーション・バーを記述します。最大8つのオプションの要素(ObRequestInfo、ObScripts、ObMisc、ObApps、ObForm、ObApplication、ObFunctionsButtonおよびObStatus)が含まれることがあります。さらに、必須のXML属性obbgcolorは、このページの背景色を指定します。 |
ObMisc |
ヘルプ、バージョン情報およびログアウトに使用されるボタンを記述します。 |
ObApps |
0個以上のObApplication要素が含まれます。各ObApps要素は、ユーザー・マネージャや組織マネージャなどのアプリケーションを記述します。 |
ObApplication |
通常はObApps内にネストされている特定のアプリケーションの詳細を記述します。次の4つのいずれかの要素が含まれます。 ObButtons: そのアプリケーションにアクセスするためのURL/ボタン情報を指定します。この情報は、ユーザーがそのアプリケーション内にいない場合にのみ埋め込まれます。 ObFunctions: このページに使用可能な機能を指定します。 ObTabs: このページで使用されるタブ(ある場合)を指定します。 ObTitle: このアプリケーションのタイトル・イメージを指定します。 |
ObFunctions |
現在のページで使用可能な機能を記述します。次の属性で構成されます。 ObButtons: たとえば、ワークフローでない管理機能(プロキシの構成、ユーザーの非アクティブ化、ユーザーの作成など)。このような機能が0個以上あります。 ObWorkflowFunctions: たとえば、ワークフロー着信リクエスト、ワークフロー送信リクエストまたはワークフロー・チケット検索フォームなど。 ObAdminFunctions: 委任管理やワークフロー定義などの管理機能。 |
ObAdminFunctions |
ワークフロー定義や委任管理などの管理機能を記述します。 |
ObWorkflow Functions |
ワークフロー着信リクエスト、ワークフロー送信リクエストまたはワークフロー・チケット検索フォームなどのワークフロー機能を記述します。 |
ObTitle |
現在のアプリケーションに適用されているイメージを記述する0個以上のボタンが含まれます。 |
ObApplicationFunc |
画面ナビゲーションにおけるユーザーの位置を定義する追加のコンテキストを提供します。この要素は、ユーザーが最初のレベルのナビゲーションを通過しないと使用されません。たとえば、ユーザーが「構成」をクリックした後にここに含まれるナビゲーション情報などがその例です。 |
WebPass_install_dir\identity\oblix\WebServices\XMLSchema内のsearchform.xsdファイルには、表2-15に示す要素が含まれています。このファイル内のすべての要素は、oblixネームスペース内に存在します。
表2-15 searchform.xsdのスキーマ
名前 | 説明 |
---|---|
ObSearchForm |
ObHelpContext、ObRequestInfo、ObScripts、ObForm、ObDisplay、ObButton、ObAdvancedSearch、ObSearchRowおよびObStatusのうち0個以上の要素からなる検索フォームを記述します。 |
ObSearchRow |
0個以上のObDisplay要素からなる検索フォームの各行を記述します。SearchRowには、3つのフィールド(テキスト・ボックスと2つの選択ボックス)を含む表の行を出力するために必要な情報が含まれます。 |
ObAdvancedSearch |
オプションのXML属性obadvancedSearchOnの値セットを挿入することによって拡張検索機能を有効化するかどうかを示します。 |
ObHelpContext |
ページのコンテキストの関連情報が含まれるPCデータ。オンライン・ヘルプに使用されます。 |
WebPass_install_dir
\identity\oblix\WebServices\XMLSchema
内のsearchform.xsdファイルには、表2-16に示す要素が含まれています。このファイル内のすべての要素は、oblixネームスペース内に存在します。
表2-16 component_panel.xsdのスキーマ
名前 | 説明 |
---|---|
ObHeaderPanel |
ヘッダー・パネルを記述します。これには、0個以上のObAttribute要素によって記述された多数のLDAP属性が含まれます。さらに、パネルは多くのオプションのXML属性を使用して記述されます。これらの属性は、アイデンティティ・システム・コンソールでパネルを構成したときに管理者が指定したものです。プロファイル・ページには多数のパネルを含めることができますが、ヘッダー・パネルは1つしか含めることができません。 |
ObPanel |
パネルを記述します。これには、0個以上のObAttribute要素によって記述された多数のLDAP属性が含まれます。さらに、パネルは多くのオプションのXML属性を使用して記述されます。これらの属性は、アイデンティティ・システム・コンソールでパネルを構成したときに管理者が指定したものです。プロファイル・ページには多数のパネルを含めることができますが、ヘッダー・パネルは1つしか含めることができません。 |
WebPass_install_dir
\identity\oblix\WebServices\XMLSchema
内のsearchform.xsdファイルには、表2-17に示す要素が含まれています。このファイル内のすべての要素は、oblixネームスペース内に存在します。
Oracle Access Managerでは、ページを表示するために使用されるデフォルトのGIFファイルが用意されており、ブラウザがサポートするあらゆるタイプのイメージがサポートされています。これらは常に、ブラウザ・リクエストへのダイレクト・レスポンスとしてWebPassによって提供され、WebPass_install_dir
\identity\oblix\lang\
langTag
\style0
内に配置されています(「ディレクトリ構造」を参照)。
重要: Oracle Access Managerはこれらのイメージ・ファイルに依存しているため、これらのファイルをカスタム・ディレクトリにコピーしてから変更し、更新後のコピーをスタイルシートに挿入することをお薦めします。「Oracle Access Managerのカスタマイズ」を参照してください。まれに、カスタム・イメージが表示されずにデフォルトのイメージが表示されることがあります。この場合は、デフォルトのイメージを変更する必要がある可能性があります。 |
ほとんどのファイル名は、標準的なネーミング規則に準拠しています。この規則を理解しておくと、スタイルシート内で間違ったイメージを参照することを避けられます。イメージ名には、3つの要素(<ImagePrefix><DescriptiveName><ImageState>)が含まれます。次に例を示します。
2FTABgeneratereport2.gif
ImagePrefix: 前述の例では、2FTABがImagePrefixです。GIFイメージ名のこの部分は、イメージが使用される方法を記述します。ImagePrefixの様々な値のリストと説明は、次の表を参照してください。
DescriptiveName: 例では、generatereportがDescriptiveNameです。GIFイメージ名のこの部分は、イメージを関連付ける機能、タブ、コンテンツまたはナビゲーション機能をわかりやすく説明するためのものです。
ImageState: GIFイメージ名のこの部分は、イメージがアクティブまたは非アクティブのいずれの状態で表示されるかを示します。アクティブとは、機能、タブ、コンテンツまたはナビゲーション機能が、ページに現在表示されている内容と一致しているという意味です。非アクティブとはそうでないことを意味します。つまり、イメージは選択可能な代替項目を表します。アクティブなイメージは濃い色で表示されることを除いて、どちらのイメージも通常は同じです。ネーミングの違いは次のとおりです。
アクティブなイメージ: アクティブなイメージを表す場合、ImageStateは2に設定されます。
非アクティブなイメージ: 非アクティブなイメージの場合、ImageStateは省略されます。
次のイメージは、2FTABgeneratereport2.gifのイメージです。これはアクティブなイメージです。
次のイメージは、比較のための非アクティブなイメージ2FTABgeneratereport.gifです。
表2-18に、イメージ・ファイルに対して使用可能なImagePrefix値を示します。
表2-18 ImagePrefixタイプ
イメージ・タイプ | ImagePrefix値 | 説明 |
---|---|---|
コンテンツ・ボタン |
CBUTTON |
特定のユーザーの選択やデータの追加など、使用可能データの特定のサブセットを選択するアクティビティと関連付けられます。 |
コンテンツ・ボタン(小) |
2CBUTTON |
前述の小型バージョン。 |
コンテンツ・イメージ |
CIMAGE |
説明用のイメージ。選択項目とは関連付けられません。 |
コンテンツ・タブ |
CTAB |
グループ・タイプなどの主要なデータ・カテゴリを選択するために使用されます。 |
コンテンツ・タブ(小) |
2CTAB |
前述の小型バージョン。 |
機能タブ |
FTAB |
グループの作成やレポートの生成など、ユーザーがアイデンティティ・システムに実行させるアクティビティと関連付けられます。 |
機能タブ(小) |
2FTAB |
前述の小型バージョン。 |
ログイン画面イメージ |
LOGIN |
これらは顧客が使用するためのものではありません。 |
ページ・ナビゲーション |
NAV |
別の画面への変更を示すために使用されます。通常はデータは変更されません。 |
ページ・ナビゲーション(小) |
2NAV |
前述の小型バージョン。 |
ほとんどのJavaScriptファイルは、WebPass_install_dir
\identity\oblix\lang\shared
内にあります(「ディレクトリ構造」を参照)。
JavaScriptファイルは、jsPathName変数を参照してイメージ・ディレクトリを検索します。詳細は、「gifPathName変数およびjsPathName変数」を参照してください。
言語固有のメッセージは、メッセージ・カタログ・ファイル内の変数を介して参照されます。詳細は、「メッセージ・カタログおよびマウスオーバー時のテキストの変更」を参照してください。
JavaScriptファイルの数は非常に多いので、ここですべての内容を説明することはできません。このため、この項では、最もよく使用されるJavaScriptファイルのいくつかについて、その機能と処理内容を示します。このライブラリに示された機能を、スタイルシート内の標準的でない場所で使用したり、自分で新しく機能を作成する場合の開始点として使用することができます。
注意: 前述したように、\shared内のファイルは信頼できるデフォルトとして保持しておくことをお薦めします。ただし、\shared内のファイルをカスタム・ディレクトリにコピーし、そのコピーの内容を変更してから、新しいJavaScriptファイルおよび機能を挿入するスタイルシートを作成することはできます。「Oracle Access Managerのカスタマイズ」を参照してください。 |
confirm.jsは、WebPass_install_dir\identity\oblix\lang\shared
内にあります。これには表2-19に示す機能が含まれています。
表2-19 confirm.js
機能名 | 説明 |
---|---|
myConfirm |
メッセージおよびURLを引数として取ります。確認ウィンドウがメッセージとともに表示されます。ユーザーが「OK」を押すと、ブラウザがユーザーをURLに移動します。 |
confirmDelete |
削除アクションの確認が、確認ウィンドウのフォームで表示されます。ユーザーが「OK」を押すと、ブラウザがユーザーを別のWebページに移動します。このページのhrefでは元のURLのhrefのほとんどが使用されますが、プログラム情報は引数URLで置換されます。 |
confirmClear |
ユーザーにxを消去してよいか尋ねるWindows確認ボックスを出力します(xは引数名)。消去してよい場合、ブラウザは引数RUL内に指定された情報に基づいてユーザーを新しいURLに移動します。 |
Customizeresults.jsは、WebPass_install_dir\identity\oblix\lang\shared内にあります。これには表2-20に示す機能が含まれています。
Deactivateuser.jsは、WebPass_install_dir
\identity\oblix\lang\shared
内にあります。これには表2-21に示す機能が含まれています。
表2-21 Deactivateuser.js
機能名 | 説明 |
---|---|
startSearchAndSubmit |
監視検索フォームを送信します。 |
DeactContinueSearch |
非アクティブ化検索結果ページで「前へ」または「次へ」を押すためのロジックを提供します。引数subprogramは、これが「前へ」と「次へ」のいずれであるかを示します。「次へ」の場合、これがすでに最後の検索結果セットであれば、その旨を示すエラー・メッセージがポップアップで表示されます。「前へ」の場合、これが最初のページであれば、エラー・メッセージでその旨が示されます。 |
submitresults |
非アクティブ化検索フォームを検証付きで送信します。検証に成功すると、引数URLがアイデンティティ・サーバーに送信されます。 |
toggleselect |
検索結果フォームのチェック・ボックスをfalseからtrueに切り替えます。 |
sortDeactivatedUsers(sortBy、sortOrder) |
引数情報を使用して、非アクティブ化検索結果ページのソート情報を設定します。 |
Groupsubscription.jsは、WebPass_install_dir
\identity\oblix\lang\shared
内にあります。これには表2-22に示す機能が含まれています。
Helpcommon.jsは、WebPass_install_dir
\identity\oblix\lang\shared
内にあります。これには表2-23に示す機能が含まれています。
Horizontalprofile.jsは、WebPass_install_dir
\identity\oblix\lang\shared
内にあります。これには表2-24に示す機能が含まれています。
表2-24 Horizontalprofile.js
機能名 | 説明 |
---|---|
toggleImage |
引数 |
change |
引数oldName、oldIndexによって指定されたイメージを、引数newName、newIndexによって指定された新しいイメージに変更します。 |
showPanel |
引数パネルID名newPanelおよび引数パネルID索引newPanelIdxを持つパネルを表示します。さらに、この機能は現在のパネルを非表示にします。 |
initDynamicAuxClasses |
valuesOldNameの値を初期化します。profileForm内の要素を反復し、名前付き要素oldNameの値を配列valuesOldNameに格納します。引数oldNameは、リクエストより前の補助クラスのセットの初期状態を格納する要素の名前です。(使用される名前はObOldAuxClassesです。) |
diffAuxClassSet |
firstSet(最初の引数)とsecondSet(2番目の引数)の内容に違いがあるかどうかを判別します。違いがある場合はtrueを返し、ない場合はfalseを返します。 |
isAuxClassChange |
グループ・タイプが新しく選択されたり削除されているかどうかを判別します。グループ・タイプの現在の状態は、ObAuxClassesに格納されます。初期状態はObOldAuxClassesです。メソッドはprofileFormの要素を反復し、名前付きのnewName要素の値を格納します(選択されている場合)。また、これらの値をvaluesNewNameに格納します。次にメソッドは、valuesNewNameとvaluesOldNameを比較します。valuesNewNameにはあるがvaluesOldNameにはない要素、またはその逆の要素がある場合、補助クラスの状態は変更されています。このメソッドは、保存イメージの切替え状態(保存か更新のいずれか)を判別するために使用されます。引数newNameは、補助クラスのセットの現在の状態を格納する要素の名前です(使用される名前はObAuxClassesです)。選択されたグループ・タイプの状態が変更されている場合はtrueを返し、そうでない場合はfalseを返します。 |
doSaveRequest |
リクエスト保存アクションを実行します。このアクションを実行すると、データが保存されるか、同じページへのリクエストが保存されます(属性が表示されていない補助クラスをユーザーが選択した場合)。引数oldNameは、補助クラスの元の状態を格納する要素の名前です。引数newNameは、補助クラスの現在の状態を格納する要素の名前です。引数saveActionは、エントリを保存するアクションの名前です。引数moreActionは、新しい属性を持つ同じページをリクエストするアクションの名前です。 |
doToggle |
このメソッドは、補助クラスの状態が変更された場合に「保存」ボタンのイメージを切り替えます。ドキュメント内のイメージ・セットの中でimageSaveを検索することにより、「保存」ボタンのソースを動的に判別します。次に、新しいイメージ・ソースを「保存」ボタン要素に割り当てることにより、イメージにソースを再提供します。メソッドは、イメージのソースの値を比較することによりイメージを検索します。引数oldNameは、補助クラスの元の状態を格納する要素の名前です。引数newNameは、補助クラスの現在の状態を格納する要素の名前です。引数imageSaveは、「保存」ボタン・イメージの名前です。引数 |
Misc.jsは、WebPass_install_dir
\identity\oblix\lang\shared
内にあります。これには表2-25に示す機能が含まれています。
注意: mics.jsは変更しないことを強くお薦めします。これはシステム・レベル・ファイルです。このファイルは、ほとんどすべてのスタイルシートにインクルード・ファイルとして含まれています。このファイル内にエラーがあると、システムが使用するほとんどすべてのスタイルシートが影響を受けます。この場合、知らない間に問題が進行します。顧客サービス担当は、このファイルが変更されているかどうかを知りません。実際に、顧客もそれを知らないことがあります。このファイルを変更すると、問題が知らない間に進行することがあります。あるいは後で問題が発生することもあります。 |
表2-25 Misc.js
機能名 | 説明 |
---|---|
obDetectBrowser |
クライアントのブラウザ・バージョンを検出し、適切な変数を設定します。 |
submitFormAfter Confirm |
引数確認メッセージが表示された後にフォームを送信します。 |
submitLoginForm |
ログイン・フォームを送信するために使用されます。最初にパスワードが入力されていることを確認してから、次のページ用の適切なURL(選択されたアプリケーションにユーザーを移動するURL)を構成します。 |
checkPasswordEnterKey |
ユーザーが[Enter]を押したときに(または引数に指定されたその他任意のイベントで)ログイン・フォームを送信できるようにするための機能を有効化します。(たとえば、ユーザーが[Enter]を押したときにログイン・フォームを送信する場合は、この機能を使用します。) |
onUserType |
ログイン・フォームに対して、ユーザーが別のユーザー・タイプを選択したときにページをリロードします。 |
onApplication |
ログイン・フォームに対して、ユーザーが「パブリッシャ」を選択した場合、オプションの認証表示が無効化されていれば、アプリケーション選択後にユーザーをパブリッシャに移動します。 |
setFocusToFirst TextElement |
引数フォームのフォーカスを最初の要素に設定します。 |
submitForm |
ページ内の最初のフォームを送信します。 |
submitSpecifiedForm |
引数formNameに名前が指定されているフォームを送信します。 |
submitFormAfterUser Action |
引数フォームと同じアクションを持つフォームを送信します。フォームのアクションがactivateFormの場合は、追加の確認メッセージが表示されます。 |
submitFormCheckProfil eAttributes |
同じプロファイル属性が2回以上選択されているかどうかをチェックするための機能。アプリケーションのロギング・ポリシー変更画面では、この機能が使用されます。 |
submitFormCheckCommonLogParams |
最大ログ・ファイル・サイズに対して数値が入力されているかどうかをチェックするために使用される機能。 |
isInteger |
入力された値が整数かどうかを判別するための汎用機能。 |
IsNumeric |
入力された値が数字で構成されているかどうかを判別するための汎用機能。 |
isFloat |
入力された値がFloatかどうかを判別するための汎用機能。 |
isNonNullInteger |
入力された値が整数で構成されているかどうかを判別するための汎用機能。isInteger機能との違いは、この機能では、入力値が空の場合にもfalseが返されないという点です。 |
sendtotop |
現在のページをトップ・ページに設定します。 |
IsStringOblix Compliant |
引数要素が、","、";"、"\"のいずれも含まない空でない文字列であることを確認します。引数要素に","、";"、"\"のいずれかが含まれる場合、引数メッセージを使用したエラー・メッセージが表示されます。 |
isEmpty |
引数文字列が空、または空白を含んでいるかどうかをチェックします。 |
denyWithAlert |
引数メッセージを使用したアラート・メッセージを表示します。 |
checkAndSubmitForm |
引数が"login"でない場合にフォームを送信します。引数が"passwd"の場合は、タイムアウトになります。 |
validateInput |
次の入力を検証します。 rootDN: 空でないことを確認します。 ldapRootPasswd: 空でないことを確認します。 machineNo: 空でないことを確認します。 portNo: 整数であることを確認します。 searchBase: 空でないことを確認します。 すべての検証が成功すると、変更の最終確認ボックスがポップアップで表示され、フォームが送信されます。 |
validateSearch |
表示フィールド・レコードが有効な整数であり、空でないことを確認します。 |
checkSearchKey |
フォームを送信し、フォームdeactUserSearchForm、searchForm、ObSearchGroupMembersForm、viewGroupMembersおよびmonitorsearchformに対して適切な検証を実行します。 |
validateSearchAndSubmit |
検索機能の「検索開始」、「フィールド追加」および「フィールド削除」によって、フォームを送信するために使用されます。「検索開始」では、(検索基準値の最小文字数の)検証が実行されます。「フィールド追加」および「フィールド削除」では、必要な行数が計算されてからフォームが送信されます。 |
continueSearch |
検索機能の「次へ」ボタンと「戻る」ボタンによって、フォームを送信するために使用されます。「次へ」では、これがまだ最後のレコード・セットでないことが確認されます。「戻る」では、これがレコードの先頭でないことが確認されます。 |
continueSelectorSearch |
セレクタ検索の「次へ」ボタンと「戻る」ボタンによって使用されます。startFrom値の計算後にフォームを送信します。 |
doSearch |
sortByおよびsortOrder(どちらも入力引数として提供される)に適切な値を割り当てた後、検索フォームを送信します。 |
appendElementsTo BackUrl |
element_name=valueのペアのセットをbackUrlに追加します。引数backUrlは、戻りURL文字列です。引数elementsは、追加する要素のセットです。 |
startTrim |
引数文字列の先頭の空白を削除します。 |
endTrim |
引数文字列の末尾の空白を削除します。 |
createBackUrl |
フォーム要素が含まれる戻りURLの部分を作成して返します。HTMLドキュメント内のすべてのフォーム(レイヤー内のフォームも含む)から要素と値のペアを追加します。 |
PersonSelector |
セレクタを起動するために使用されます。引数gotoUrlは、移動先の(セレクタ)URLです。引数returnUrlは、セレクタを起動したページに戻るために使用する必要のあるURLです。 |
QueryBuilder |
クエリー・ビルダーを起動するために使用されます。引数gotoUrlは、移動先の(クエリー・ビルダー)URLです。引数returnUrlは、クエリー・ビルダーを起動したページに戻るために使用する必要のあるURLです。 |
sendBookmark |
検索結果をブックマークとして送信するために使用されます。 |
validateLicenseKeys |
フォーム値が空でないことを確認します。フォーム値が空の場合、ライセンス・キーを入力する必要があるというエラー・メッセージがポップアップで表示されます。 |
validateLicenseKeysAnd Submit |
(ライセンス・キーの値を期待される)フォーム値が空でないことを確認してから、フォームを送信します。 |
lostPassword |
ログイン・フィールドが空でないことを確認した後でロスト・パスワード機能を起動します。 |
certLicenseMessage |
機能を有効化する前に証明書管理ライセンス・ファイルをインストールするようにユーザーに警告するメッセージをポップアップで表示します。 |
installIECert |
x509証明書をインストールするためのVirtual Basic Script機能をコールします。Netscapeを使用している場合は、共通サーバーと通信してバイナリ証明書のストリームを取得します。 |
extractCert |
x509証明書をインストールするためのVirtual Basic Script機能をコールします。 |
performOCSP |
プロファイル変更ページを再びコールして、オンラインの証明書チェックのためにOCSP(Online Certificate Status Protocol)を使用します。URLにダイレクトされる前に、OCSPチェックにしばらく時間がかかることをユーザーに警告するアラートがポップアップで表示されます。 |
validateDeactivatedUser Search |
deactUserSearchFormの表示レコードが空でない整数であることを確認します。 |
validateGroupMember SearchAndSubmit |
validateGroupMemberSearchをコールすることによって、グループ・メンバー検索を検証します。これがメンバー更新機能である場合は、フォームの送信前に変更を確認するポップアップ・メッセージが表示されます。 |
validateGroupMember Search |
グループ・メンバー検索の検証を実行します。たとえば、各検索値の最小文字数が満たされていることや、表示レコードが空でない整数であることを確認します。 |
cancelWorkflow |
現在のワークフローを終了します。確認後、引数URLに移動します。 |
GetCookie |
引数名を使用してCookieの値を取得します。 |
setFocusToOKButton |
Internet Explorer 4およびNetscape 6の場合、javascript:top.close()と等しいフォーム要素にフォーカスを設定します。 |
submitFeedBack |
フィードバック・フォームを送信します。 |
checkJavaPlugin |
適切なJavaプラグインがインストールされていることを確認します。 |
EnableDetectJava PluginLayer |
"DetectJavaPlugin"という名前のレイヤーを有効化します。 |
EnableJavaPlugin VersionLayer |
"DetectJavaPluginVersion"という名前のレイヤーを有効化します。 |
DetectPluginForApplets |
Javaプラグインがインストールされていることを確認します。 |
getParameterValue |
引数名を使用してURL内のパラメータの値を取得します。 |
Miscsc.jsは、WebPass_install_dir
\identity\oblix\lang\shared
内にあります。これには表2-26に示す機能が含まれています。
重要: Miscsc.jsは変更しないことを強くお薦めします。これはシステム・レベル・ファイルです。このファイルは、ほとんどすべてのスタイルシートにインクルード・ファイルとして含まれています。このファイル内にエラーがあると、ほとんどのスタイルシートが影響を受けます。この場合、知らない間に問題が進行します。サポート担当は、このファイルが変更されているかどうかを知りません。ユーザーもそれを知らないことがあります。 |
表2-26 Miscsc.js
機能名 | 説明 |
---|---|
SCConfirm |
プロファイル・フォームを送信します。デフォルトで、引数値programがprofileFormプログラム・フィールドに割り当てられます。引数messageが空でない場合は、ポップアップの確認メッセージを介して確認後に割り当てられます。 |
SCRequestChangeAnd Submit |
プログラム・フィールドをworkflowChangeAttributeRequestに設定した後、プロファイル・フォームを送信します。引数attrは属性変更リクエストの属性を決定し、引数actionはこれが削除リクエストと変更リクエストのいずれであるかを決定します。 |
SCRequiredValuesAlert |
フィールドob_name(別の引数)に対して(引数num_reqによって指定されている)必要な値の数が満たされていないことを通知するアラートがユーザーに表示されます。 |
SCPasswordNoConfirm |
引数ob_nameによって指定されているパスワード値が一致しないというアラートがユーザーに表示されます。 |
SCCheckSingleForm |
フォーム内のフィールドごとに検証を実行し、検証が満たされていない場合はユーザーにアラートを表示します。それ以外の場合はtrueを返します。サンプルの検証に、パスワードが一致しているか、必須の値の数が満たされているかなどのチェックが含まれています。 |
SCCheckForm |
ページ上のすべてのフォームをチェックして、検証要件が満たされていることを確認します。 |
SCSwitchProfile |
スタイルシートを切り替えることにより、水平変更プロファイルと垂直変更プロファイルを切り替えます。 |
SCSubmit |
最初にすべての検証を実行することにより、フォームを送信します。(たとえば、saveやless_valuesなどの)アクションのタイプが異なると、ポップアップ・メッセージが表示される、追加の情報がアイデンティティ・サーバーに戻されるなど、追加のロジックが適用されます。 |
getElementIndex |
要素elementNameの索引をフォーム内に返します。elementNameが見つからない場合は-1を返します。 |
CopyElements |
formFrom内の要素の値をformTo内の同名の要素に割り当てます。 |
hasKeyGenForm |
NavGenKeyformフォームが存在することを確認します。 |
InvokeKeyGen |
NavGenKeyformを送信するヘルパー機能。 |
AppendFormElements |
ドキュメント内のすべてのレイヤー内のすべてのフォームからのすべての要素を入力パラメータformに追加します。ほとんどの場合、formは、送信されるフォームであるprofileFormです。このメソッドは、各レイヤー内の各フォームの各要素の値を、form内の同一名の要素に割り当てます。このメソッドは、すべての特殊な場合の表示タイプを取り扱うわけではありません。現在では、チェック・ボックスのみが取り扱われます。 |
Monitorwf.jsは、WebPass_install_dir
\identity\oblix\lang\shared
内にあります。これには表2-27に示す機能が含まれています。
表2-27 Monitorwf.js
機能名 | 説明 |
---|---|
startSearchAndSubmit |
monitorsearchformを検証してから送信します。 |
continueSearch |
ユーザーが監視検索結果で「戻る」ボタンおよび「次へ」ボタンをクリックするとコールされます。「次へ」が押されると、まずそれが最後のレコード・セットであるかどうかをチェックし、そうであれば、エラーを表示します。最後のレコード・セットでない場合は、フォームを送信します。「戻る」が押されると、まずそれが最初のレコード・セットであるかどうかをチェックし、そうであれば、すでに一番最初のレコード・セットが表示されていることを通知します。最初のレコード・セットでない場合は、フォームを送信します。 |
doSearchAndSort |
ソート実行用の引数sortByおよびsortOrderを使用して監視検索結果の検索結果をソートするためにコールされます。 |
submitresults |
ワークフローをパージ、アーカイブまたはロック解除するためにコールされます。 |
toggleselect |
検索結果フォームのチェック・ボックスをfalseからtrueに切り替えます。 |
一部の画面(通常は最も基本的な画面)で、URLにプログラム名が含まれていないことがあります。プログラム名は常に、format=XMLを使用してOutPutXMLを生成および取得することにより判別できます。スタイルシート名は、結果ファイルの一番上に挿入されます。
Microsoft Internet Explorerでは、バージョンによって結果に関する動作が異なります。一貫性を保つためには、Netscape Communicatorを使用し、出力をxml拡張子でテキスト・ファイルとして保存してください。こうすれば、任意のテキスト・エディタでこのファイルを表示してスタイルシート名を取得できます。
XSLスタイルシートを使用すると、データのほぼあらゆるコンポーネントまたは部分をページのどこにでも配置できます。これは科学というよりはむしろ芸術です。このマニュアルでは、目的の表示を作成するための正確な手順は示しません。ここでは、デフォルトのClassic Styleを基盤として使用して軽微な変更を行うための推奨アプローチについて概説します。
「スタイルをカスタマイズするための前提条件」を完了します。
「カスタマイズの事実」を確認します。
「カスタマイズのガイドライン」を確認します。
「カスタマイズ方法のチェックリスト」を把握しておきます。
タスク「アイデンティティ・システム・ページのカスタマイズ」を完了して、カスタマイズおよびプロセスのデバッグのテストを実際に経験します。
第4章「カタログ・ファイルの変更」も参照してください。
スタイルをカスタマイズする前に、必ず次の前提条件を完了してください。これにより、参照用として、およびこのスタイルに戻る必要が生じた場合の最終手段として元のClassic Style(\style0)を保持しておくことができます。
アイデンティティ管理者として、『Oracle Access Manager Administration Guide』の説明に従って独自のスタイルを追加します。
ID管理者がこのスタイルを新しいシステム・デフォルトとするまでは、元のスタイルが有効になっています。
ID管理者として、行った変更の効果を確認できるように、新しいスタイルをデフォルト・スタイルとして選択します。
スタイルの更新とメンテナンス: パッチおよび製品アップグレードを介した改良の具体的な例として、\style0内のデフォルト・ラッパー・ファイルおよび\shared内のデフォルト・グローバル・スタイルシートが定期的に更新されます。
このような更新が行われたときは、変更内容をカスタム・スタイルに伝播できるように、リリース・ノートによって通知されます。新しいファイルをカスタム・ファイルと比較し、カスタム・ファイルに変更を伝播する必要があります。デフォルトのスタイルを、同じ名前のカスタマイズ済スタイルで上書きすることは危険です。
行った変更およびそれに関連するファイルは必ず記録しておいてください。これにより、デフォルト・スタイルを更新するときに、カスタム・スタイルシートを短時間で更新できます。
カスタム・ディレクトリ: スタイルシートのカスタマイズは、カスタム・ディレクトリ内でのみ行ってください。カスタマイズ済スタイルシートはカスタム・ディレクトリ内に配置する必要があります。また、すべてのファイル内の相対ポインタは、\shared内のファイルではなくカスタム・ディレクトリ内のファイルを指し示している必要があります。
登録ファイル: 「登録ファイルの一般的な内容」で説明したように、共通登録ファイルおよび各アプリケーションの登録ファイルには、アプリケーションのページを表示するのに必要なスタイルシートおよびスキーマ・ファイルの名前が含まれています。たとえば、identity\oblix\apps\userservcenter\userservcenterreg.xml内のユーザー・マネージャ登録ファイル内には、アプリケーション名と、各種の機能の実行時にアプリケーションによってコールされるスタイルシートの名前が示されています。
また、アプリケーションおよびプログラム名がわかっていれば、アプリケーションの登録ファイル内の対応するスキーマ・ファイル名を見つけることができます。
登録ファイルの編集は、経験のある開発者のみが細心の注意を払って行うことをお薦めします。登録ファイルの詳細は、「登録ファイル」を参照してください。
ポインタ: すべてのラッパー・ファイルおよびスタイルシートには、別のファイルをコールするインクルード文としてのポインタが含まれています。これらのポインタのほとんどは、絶対パス名を指定せずにディレクトリ構造内のファイルの場所を示す相対ポインタです。
たとえば、ユーザー・マネージャ機能によってコールされるusc_profile.xslスタイルシートを見ると、次のファイルをコールする相対ポインタを持つインクルード文が含まれていることがわかります。
./basic.xsl
./selectorinfo.xsl
./usc_searchform.xsl
./usc_navbar.xsl
ファイルの場所を変更(カスタマイズ用にスタイルシートのコピーをカスタム・ディレクトリに挿入)した場合、それをコールする各ファイル内のこのファイルへのポインタを(相対ポインタか絶対ポインタかにかかわらず)、新しい場所を反映するように変更する必要があります。スタイルシート内のすべての相対ポインタは、カスタム・ディレクトリ内のファイルを指し示している必要があります。
また、多くのスタイルシートにはオブジェクト・ファイルへの相対ポインタが含まれています。ページがロードされるときにOracle Access Managerがオブジェクトをインスタンス化できない場合、予期しない動作が起こることがあります。オブジェクト・ファイルへの相対ポインタはすべて、絶対ポインタにする必要があります(「スタイルシートの編集」を参照)。
ラッパー・ファイル: ラッパー・ファイルには、\shared内の実際のスタイルシートへのポインタが含まれます。ただし、共通登録ファイルとアプリケーション自身の登録ファイルはどちらも内部命令に従ってスタイルシートをコールするため、必ずしもラッパー・ファイルがスタイルシートより先にコールされるわけではありません。このため、カスタム・ディレクトリ内のすべてのラッパー・ファイルを、\sharedディレクトリからコピーした対応するデフォルト・スタイルシートで上書きする必要があります。
重要: スタイルシートのカスタマイズは反復的なプロセスです。\sharedの内容全部をカスタム・ディレクトリに一度にコピーしようとすると、エラーが発生します。 |
すべてのスタイルシートを一度にコピーせず、まず登録ファイルを調べて、どの機能(プログラム)がどのスタイルシートをコールするのかを確認します。次に、ベース・スタイルシートおよび機能関連スタイルシートを選択的にカスタム・ディレクトリにコピーして、ラッパー・ファイルを上書きします(「カスタム・ディレクトリへのスタイルシートのコピー」を参照)。その後、その機能のスタイルをカスタマイズしてテストします。この結果に問題がなければ、別の機能をカスタマイズするプロセスを繰り返します。
適切にカスタマイズを行うために、次のガイドラインを参考にしてください。
\style0および\sharedディレクトリ内の元のファイルすべてを最初の状態のまま保持して、将来の使用のために安全な場所に格納します。また、パッチによってカスタマイズが影響を受けることのないように、カスタマイズ済のスタイル・ファイルのバックアップ・コピーを作成しておきます。
行った変更およびその影響を受けるファイルすべてを記録します。
新しいスタイルは非本番環境でカスタマイズしてテストした後に、本番環境に移行します。
重要: \sharedまたは\style0ディレクトリ内の元のスタイル・ファイルは変更しないことをお薦めします。これらのファイルはパッチ更新および製品アップグレードによって上書きされることがあります。あるいは、元のスタイル・ファイルを後で参照する必要が生じることもあります。 |
1つしかスタイルを使用しない場合は、\sharedディレクトリ内のスタイルシートへの依存性を壊すことを考慮してください(これも、\style0および\sharedへのパッチ・リリース更新によってカスタマイズが影響を受けることを回避するためです)。つまり、カスタム・ディレクトリ内のどのスタイルシートも、\sharedまたは\style0内のスタイルシートを継承または参照していないようにしてください。
複数のカスタム・スタイルを使用する場合は、複数のカスタム・スタイル間でカスタマイズを共有する場合と、カスタム・スタイルごとに個別のカスタマイズを実装する場合のメリットとデメリットを考慮してください。次に例を示します。
同じスタイルシートを共有する2つのスタイル: 2つのカスタム・スタイル(custom_style1およびcustom_style2)が同じスタイルシートを共有できる場合、製品パッチやアップグレードで更新されたスタイルシートによってカスタム・スタイルが上書きされる危険があるにもかかわらず、\sharedディレクトリ内のスタイルシートをカスタマイズしてしまうことがあります。
2つの個別のスタイル: 2つのカスタム・スタイル(custom_style1およびcustom_style2)が個別のカスタマイズ済スタイルシートを必要とする場合、標準的な方法を使用し、カスタム・ディレクトリ内のラッパー・ファイルを\shared内の対応するスタイルシートで上書きします。
ハードコードされた値(タブのID、属性名、表やリンクのプロパティなど)を使用するのではなくカスタム・スタイル・コレクション用のパラメータ・スタイルシート・ファイルを使用することを考慮してください。これは、ヘッダー・ファイルを使用してプログラム・コードを記述する方法と似ています。
前述のように、カスタマイズは反復的なプロセスであり、科学というよりはむしろ芸術です。このマニュアルでは、目的の表示を作成するための正確な手順は示しません。この項では、軽微な変更を行うための推奨アプローチについて概説します。
重要: 一度に1つずつの機能に対するスタイルシートにフォーカスすることをお薦めします。\sharedからすべてのスタイルシートをカスタム・スタイル・ディレクトリにコピーしようとすると、エラーが発生します。 |
表2-28 カスタマイズ方法のチェックリスト
チェック | 操作 | 説明 |
---|---|---|
新しいスタイルの追加 |
スタイルを追加する方法、および新しいスタイルをデフォルトとして選択する方法の詳細は、『Oracle Access Manager Administration Guide』を参照してください。 |
|
カスタマイズする機能の選択 |
最初にカスタマイズする機能を決定します。一度に1つずつの機能に関連するスタイルシートをカスタマイズすることをお薦めします。 |
|
カスタム・ディレクトリへの選択済スタイルシートのコピー |
\sharedから選択済スタイルシートをカスタム・ディレクトリにコピーして、対応するラッパー・スタイルシートを上書きします。
|
|
カスタム・ディレクトリ内のスタイルシートのカスタマイズ |
|
|
作業の記録 |
変更したファイルおよび変更内容を記録に残します。 |
|
WebPassへのカスタム・ディレクトリ構造のコピー |
WebPass上にカスタム・ディレクトリ構造を構築し、カスタマイズしたスタイルおよびイメージをWebPassにコピーします。 注意: WebPassでは、スタイルシートはクライアント側の処理にのみ使用され、サーバー側の処理には必要ありません。 |
|
カスタマイズ済スタイルのテスト |
|
|
別の機能のカスタマイズ |
機能ごとに、このプロセスを繰り返します。
|
|
カスタマイズ済スタイルの伝播 |
アプリケーション用のすべてのスタイルシートをコピーしてカスタマイズした後、カスタム・スタイル・ディレクトリを環境内のすべてのアイデンティティ・サーバーおよびWebPassホストにコピーします。 |
この例では、ページの機能を変更することなくページの外観を変更する方法を示します。1つのアプリケーション内の特定のページに対してフォント色を変更するだけです。変更を行った後、目的どおりの結果になることを確認します。この機能カスタマイズを完了したら、WebPass上に同じカスタム・スタイル・ディレクトリ構造を作成し、すべてのイメージ・ファイルをWebPassにコピーします。これにより、WebPassは問合せに応答して適切なイメージを表示できるようになります。その後、実装をテストします。
次の各項では、「カスタマイズ方法のチェックリスト」を一連の順序で説明します。次の手順を完了すると、実際にカスタマイズを経験できます。
タスクの概要: アイデンティティ・システム・ページのカスタマイズ
『Oracle Access Manager Administration Guide』で説明されているように、スタイルをカスタマイズするための前提条件は、スタイルを追加し、新しいスタイルをデフォルトとして選択することです。その結果のファイルおよびファイル構造が、カスタマイズの基盤となります。
たとえば、Pastelという名前のディレクトリにPastelという名前の新しいスタイルを追加し、(ディレクトリ\style0内の)Classic Styleからファイルをコピーすることを要求したとします。
『Oracle Access Manager Administration Guide』の説明に従って、スタイルを追加してデフォルトとして選択します。
新しいカスタム・ディレクトリ: Oracle Access Managerによって、デフォルト言語(英語)用に\style0の複製のディレクトリが作成されます。フランス語用の言語パックをインストールした場合も、Oracle Access Managerによって、フランス語ディレクトリ内に\style0の複製のディレクトリが作成されます。
新しいカスタム・ディレクトリを見つけます。
次に例を示します。
Identity_install_dir
\identity\oblix\lang\en-us\Pastel
Identity_install_dir
\identity\oblix\lang\fr-fr\
Pastel
ラッパー・スタイルシート: カスタム・ディレクトリには、別のディレクトリ内の実際のスタイルシートを指し示しているラッパー・スタイルシートが含まれます。コピー元としてClassic Styleを選択した場合、カスタム・ディレクトリは\style0ディレクトリの内容を複製します。
新しいカスタム・ディレクトリ内のラッパー・スタイルシートbasic.xslを開き、それに含まれているファイルを確認します。
この例では、次のようになります。
Identity_install_dir
\identity\oblix\lang\en-us\
Pastel\basic.xsl
<?xml version="1.0" ?> - <!-- Copyright (c) 1996-2005, Oracle Inc. All Rights Reserved. --> - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oblix="http://www.oblix.com/"> <xsl:include href="./style.xsl" /> <xsl:include href="../msgctlg.xsl" /> <xsl:include href="../../shared/basic.xsl" /> </xsl:stylesheet>
basic.xslラッパー・スタイルシートには、次の3つのファイルが含まれています。
カスタム・ディレクトリ内のstyle.xslファイル
(identity\oblix\lang\en-us内の)カスタム・ディレクトリから1ディレクトリ上にあるmsgctlg.xsl
identity\oblix\lang\shared内のbasic.xsl
\shared内のbasic.xslスタイルシートを見つけ、内容を確認します。
次に例を示します。
Identity_install_dir\identity\oblix\lang\shared\basic.xsl
<?xml version="1.0" ?> - <!-- Copyright (c) 1996-2002, Oblix Inc. All Rights Reserved. --> - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oblix="http://www.oblix.com/"> <xsl:include href="obstringutil.xsl" /> - <!-- xsl:output indent="no"/ --> <xsl:include href="font.xsl" /> <xsl:include href="title.xsl" /> ...
\sharedディレクトリ内のbasic.xslスタイルシートには、追加のファイル(font.xsl、title.xsl、obstringutil.xsl)が含まれます。また、属性とステータスを定義して表示情報を制御するためのテンプレートが提供されます。詳細は、「basic.xsl」を参照してください。
カスタマイズ・プロセスの間、\sharedディレクトリから選択したスタイルシートをカスタム・ディレクトリにコピーします。これにより、ラッパー・ファイルが対応するスタイルシートで上書きされます。その後は、カスタム・ディレクトリ内のスタイルシートを編集できます。
新しいカスタムXML文書: カスタム・ディレクトリ構造以外にも、新しいカスタム・スタイルをデフォルト・スタイルとして選択すると、Oracle Access Managerによって、作成したディレクトリの名前が付けられたXML文書(style0.xmlの複製)が作成されます。
新しいスタイルを追加したときに作成されたカスタムXML文書を見つけて開きます。
この例では、次のようになります。
Identity_install_dir\identity
\oblix\config\style\
Pastel
.xml
<?xml version="1.0" ?> - <ParamsCtlg xmlns="http://www.oblix.com" CtlgName="style0"> - <ValNameList ListName=""> <NameValPair ParamName="styleReady" Value="TRUE" /> </ValNameList> </ParamsCtlg>
この新しいファイルはstyle0.xmlとともに格納され、カスタム・スタイルのステータス、およびラッパー・ファイルのコピー元のスタイル・ディレクトリの場所を提供します。たとえば、カスタム・スタイル・ディレクトリの名前がPastelであり、Classic Styleからコピーした場合、Pastelをデフォルト・スタイルとして選択すると、Pastel.xmlファイルが作成されます。
このファイルを編集する必要はありません。元のstyle0.xmlは変更されずに残っています。また、.lckバージョンのPastel.xml.lckも存在しています。これはロック・ファイルです。新しいスタイルを追加したとき、これ以外の新しいファイルは作成されません。
更新済のstyles.xml: styles.xmlファイルは、スタイルの作成時に指定したディレクトリ名とスタイル名の両方を提供する新しいNameValPaiが含まれるように更新されます。
styles.xmlファイルを見つけて開き、新しいスタイル情報で更新されていることを確認します。
次に例を示します。
Identity_install_dir
\identity\oblix\config\style\styles.xml
<?xml version="1.0" encoding="ISO-8859-1" ?> - <ValNameList xmlns="http://www.oblix.com" ListName="styles.xml"> <NameValPair ParamName="style0" Value="Classic Style" /> <NameValPair ParamName="Pastel" Value="Pastel" /> </ValNameList>
この例では、デフォルトのClassic Styleと新しいカスタムPastelスタイルの両方が指定されています。このファイルを編集する必要はありません。
カスタム・ディレクトリ構造、新しいファイルおよび更新済ファイルを確認した後は、機能を選択してカスタマイズを開始できます。
カスタマイズ・プロセスにおける最初の手順は、カスタマイズする機能を選択することです。この例では、ユーザー・マネージャの特定のページのフォント色を赤に変更するのみで、その他は何も変更しないとします。
通常どおりにアイデンティティ・システムにログインします。
目的のページにナビゲートします。
この例では、次のようにクリックします。
「アイデンティティ・システム・コンソール」、「ユーザー・マネージャ」、「ID」の順にクリックします。
図2-6に示すようなページが表示されます。
スタイルをカスタマイズする際には、アイデンティティ・システム・アプリケーションの各ページに示される次の情報が役立ちます。
アプリケーション名: 画面の左上隅の領域のハイライトされたタブに、アプリケーション名のユーザー・マネージャが表示されます。
各アプリケーションの\binディレクトリに、機能を特定するのに必要な登録ファイルが含まれています。「登録ファイル」を参照してください。
ページ名: ページ名は、カスタマイズしてテキストのフォント色を赤色にする最初のページ(この例ではMy Profile)です。
登録ファイルのパス: 各ページのURLには、アプリケーション・ページへのパス(たとえば、identity\oblix\apps\userservcenter\bin\userservcenter.cgi)が含まれます。このパスを使用して、アイデンティティ・サーバー上の関連する登録ファイルを見つけることができます。
機能名: 各ページのURLには、登録ファイル内の機能に関連するスタイルシート名を検索するために使用可能なセグメント(この場合はprogram=view)も含まれます。
カスタマイズ中に役立つ必要な情報を記録します。
この例では、次のようになります。
アプリケーション: ユーザー・マネージャ
ページ: User Profile
登録ファイルのパス: Identity_install_dir
\identity\oblix\apps\userservcenter\bin\
機能: program=view
カスタマイズする機能を特定したら、カスタマイズにおける次のタスクは、関連するスタイルシートを\sharedディレクトリからカスタム・ディレクトリにコピーすることです。これにより、カスタム・ディレクトリ内のラッパー・ファイルが、カスタマイズ可能なスタイルシートのコピーで上書きされます。また、\shared内の元のスタイルシートは\style0内の元のデフォルト・ラッパーと同様に保持されます。
関連するスタイルシートを見つけてコピーするプロセス自体は、反復的なプロセスです。以降の手順で、次のスタイルシートを見つけてコピーします。
ベース・スタイルシート
ベース・スタイルシートに組み込まれているスタイルシート
アプリケーションの登録ファイル内のプログラムに対して指定されている特定の機能関連スタイルシート(この場合は、program=viewに関連付けられているスタイルシート)
機能関連スタイルシートに組み込まれているスタイルシート
最終的に、カスタム・ディレクトリには、アプリケーションの登録ファイルおよびoblixbasereg.xml内に指定されているスタイルシートを含め、すべてのスタイルシートが含まれます。スタイルシートを編集する必要がない場合でも、カスタム・ディレクトリにスタイルシートをコピーしておく必要があります。
重要: スタイルシートのコピーは、選択的な方法で行う必要のある反復的なプロセスです。\sharedから一度にすべてのスタイルシートをカスタム・ディレクトリにコピーしようとすると、エラーが発生します。 |
\sharedからベース・スタイルシートをカスタム・スタイル・ディレクトリにコピーして、デフォルト・ラッパーをカスタマイズ可能なスタイルシートで上書きします。
次に例を示します。
コピー元: Identity_install_dir
\identity\oblix\lang\en-us\shared\ basic.xsl
、font.xsl
、searchform.xsl
、navbar.xsl
、title.xsl
コピー先: Identity_install_dir
\identity\oblix\lang\en-us\
Pastel
\
これにより、\shared内の元のベース・スタイルシートは\style0内の元のデフォルト・ラッパーと同様に保持されます。
カスタム・スタイル・ディレクトリ内の各ベース・スタイルシートを開き、コピーする必要のある他のスタイルシートを指し示しているインクルード文、およびカスタマイズする必要のあるスタイル情報を見つけます。
この例については、表2-29を参照してください。
表2-29 ベース・スタイルシートのポインタおよびカスタマイズする項目
カスタム・ディレクトリ内のベース・スタイルシート | 関連スタイルシートへのポインタおよびカスタマイズする項目 |
---|---|
basic.xsl |
ローカル・カスタム・ディレクトリ内に必要な他のスタイルシートへの相対インクルード・ポインタが含まれます。 <xsl:include href="obstringutil.xsl" /> <xsl:include href="font.xsl" /> <xsl:include href="title.xsl" /> \sharedからカスタム・ディレクトリにコピーする必要のある追加のスタイルシートの名前を記録します。この場合は、obstringutil.xslです。 |
font.xsl |
他のファイルへのインクルード・ポインタは含まれません。 カスタマイズする色情報が含まれます。 <xsl:variable name="subHeadingColor">#006699... <xsl:variable name="contentTitleColor">#000000... <xsl:variable name="contentTextColor">#000000... |
searchform.xsl |
他のファイルへのインクルード・ポインタは含まれません。 カスタマイズする色情報は含まれません。カスタム・ディレクトリ内のこのスタイルシートを変更する必要はありません。 |
navbar.xsl |
他のファイルへのインクルード・ポインタは含まれません。 後でカスタマイズする可能性のある色情報は含まれません。 |
title.xsl |
他のファイルへのインクルード・ポインタは含まれません。 後でカスタマイズする可能性のある色情報は含まれません。カスタム・ディレクトリ内のこのスタイルシートを変更する必要はありません。 |
\sharedから、ベース・スタイルシートに組み込まれているスタイルシートをカスタム・ディレクトリにコピーします。
この例では、obstringutil.xslです。
コピー元: Identity_install_dir
\identity\oblix\lang\en-us\shared\ obstringutil.xsl
コピー先: Identity_install_dir
\identity\oblix\lang\en-us\Pastel\obstringutil.xsl
作業を追跡できるように、\sharedからカスタム・ディレクトリにコピーしたスタイルシートを記録します。
必要な登録ファイルを見つけます。
この例では、oblixbasereg.xmlとuserservcenterreg.xmlです。
Identity_install_dir
\identity\oblix\apps\common\bin\oblixbasereg.xml
Identity_install_dir
\identity\oblix\apps\userservcenter\bin\ userservcenterreg.xml
通常は、ある時点で、共通登録ファイルに組み込まれているスタイルシートが必要になります。ただし、この例では、oblixbasereg.xmlに組み込まれているスタイルシートは必要ありません。
この例では、userservcenterreg.xmlファイル内の機能関連スタイルシートを見つけるだけでかまいません。
アプリケーションの登録ファイルを開き、必要な機能関連スタイルシートを見つけます。
この例では、ObProgram name="view"を見つけます。
<?xml version="1.0" ?> - <ObProgramRegistry> - <ObApplication name="userservcenter"> - <ObProgram name="front"> <ObStyleSheet name="usc_profile.xsl" /> <ObSchema name="usc_front.xsd" /> </ObProgram> - <ObProgram name="commonNavbar"> <ObStyleSheet name="usc_profile.xsl" /> <ObSchema name="usc_front.xsd" /> </ObProgram> ... - <ObProgram name="view"> <ObStyleSheet name="usc_profile.xsl" /> <ObButton name="initiateDeactivateUser" /> - <!-- ObButton name="manageSubscriptions"/ --> <ObButton name="userreactivate" /> <ObButton name="wfTicketDelete" /> <ObButton name="userModify" /> <ObSchema name="usc_profile.xsd" /> </ObProgram> ...
登録ファイル内で、usc_profile.xslスタイルシートが、カスタマイズする機能(ObProgram name="view")に関連付けられていることがわかります。また、usc_profile.xslスタイルシートは他の多くの機能にも関連付けられています。
\sharedから機能関連スタイルシートusc_profile.xslをカスタム・スタイル・ディレクトリにコピーし、スタイルシート名を記録します。
この例では、次のようになります。
コピー元: Identity_install_dir
\identity\oblix\lang\en-us\shared\ usc_profile.xsl
コピー先: Identity_install_dir
\identity\oblix\lang\en-us\Pastel\ usc_profile.xsl
機能関連スタイルシートを開き、コピーする必要のある他のスタイルシートを指し示しているインクルード文を見つけて、カスタマイズする必要のある情報を記録します。
この例では、usc_profile.xslです。
表2-30 usc_profile.xslのポインタおよびカスタマイズする項目
カスタム・ディレクトリ内のusc_profile.xsl | 関連スタイルシートへのポインタおよびカスタマイズする項目 |
---|---|
usc_profile.xsl |
ユーザー・マネージャ用のこの主要なスタイルシートには、カスタム・ディレクトリにコピーする必要のあるスタイルシートが組み込まれています。 <xsl:include href="./basic.xsl" /> <xsl:include href="./selectorinfo.xsl" /> <xsl:include href="./usc_searchform.xsl" /> <xsl:include href="./usc_navbar.xsl" /> 注意: selectorinfo.xsl、usc_searchform.xslおよびusc_navbar.xslをコピーする必要があります。 また、カスタマイズする必要のあるオブジェクトへのポインタを記録します。 <object id="cenroll" classid= ... codebase="../../common/bin/xenroll.cab" /> および
<script src="../../common/bin/installCert.vbx" ...
|
関連スタイルシートをコピーするための手順を繰り返してから、変更する必要のあるスタイルシート名および詳細を記録します。
この例では、次のようになります。
コピー元:
Identity_install_dir
\identity\oblix\lang\en-us\shared\selectorinfo.xsl
Identity_install_dir
\identity\oblix\lang\en-us\shared\usc_searchform.xsl
Identity_install_dir
\identity\oblix\lang\en-us\shared\usc_navbar.xsl
コピー先:
Identity_install_dir
\identity\oblix\lang\en-us\Pastel\selectorinfo.xsl
Identity_install_dir
\identity\oblix\lang\en-us\Pastel\usc_searchform.xsl
Identity_install_dir
\identity\oblix\lang\en-us\Pastel\usc_navbar.xsl
これらのスタイルシートには、インクルード文、他のスタイルシート名、変更する必要のあるパラメータはいずれも含まれていません。
これで、この例での関連スタイルシートの収集、コピーおよび記録が完了しました。
関連するスタイルシートをコピーした後は、そのスタイルシートを編集する必要があります。表2-29に説明したように、この例でカスタマイズする必要のある情報は次のとおりです。
ベース・スタイルシートfont.xsl内に定義されているフォント色を赤に変更する必要があります。
usc_profile.xsl内に定義されているオブジェクトへのポインタを、相対パスから絶対パスに変更する必要があります。
フォント色のみが変更されるようにスタイルシートを編集する手順
テキスト・エディタで、カスタム・ディレクトリ内のfont.xslスタイルシートを開きます。
次に例を示します。
Identity_install_dir
\identity\oblix\lang\en-us\
Pastel
\font.xsl
すべての色がデフォルト色から赤(FF0000)に変更されるようにスタイルシートを編集してから、変更を保存します。
次に例を示します。
変更前:
... <xsl:variable name="pageHeaderColor">#006699</xsl:variable> <xsl:variable name="subHeadingColor">#006699</xsl:variable> <xsl:variable name="contentTitleColor">#000000</xsl:variable> <xsl:variable name="contentTextColor">#000000</xsl:variable> and others ...
すべてのデフォルト・フォント色を赤(#FF0000)に変更した後:
... <xsl:variable name="pageHeaderColor">#FF0000</xsl:variable> <xsl:variable name="subHeadingColor">#FF0000</xsl:variable> <xsl:variable name="contentTitleColor">#FF0000</xsl:variable> <xsl:variable name="contentTextColor">#FF0000</xsl:variable> and others ...
変更をこのファイルに記録します。
ここでアイデンティティ・サーバーを再起動しても、変更はまだ反映されません。これは、変更の適用先を指定する機能関連スタイルシートをまだカスタマイズしていないためです。
カスタム・ディレクトリ内のbasic.xslスタイルシートを次のようにして編集し、元のbasic.xml内に存在していた(がsharedフォルダからbasic.xslにコピーしたときに失われた)必要なインクルード文を追加します。
次のコードが含まれる行を見つけます。
<xsl:include href="obstringutil.xsl"/>
a)に示された行の前に、次の情報を追加します。
<xsl:include href="./style.xsl" /> <xsl:include href="../msgctlg.xsl" />
次に示すようにカスタム・ディレクトリ内のusc_profile.xslスタイルシートを編集してオブジェクトへの相対パスを変更してから、変更を保存します。
次に例を示します。
変更前の相対パス:
- <head> ...<object id="cenroll" classid="clsid:43F8F289-7A20-11D0-8F06-00C04FC295E1" codebase="../../common/bin/xenroll.cab" /> ... <script src="../../common/bin/installCert.vbx" language="VBScript" /> </head>
変更後の絶対パス:
- <head> ... <object id="cenroll" classid="clsid:43F8F289-7A20-11D0-8F06-00C04FC295E1" codebase="/identity/oblix/apps/common/bin/xenroll.cab" /> ... <script src="/identity/oblix/apps/common/bin/installCert.vbx" language="VBScript" /> </head>
これで、この例での特定の機能関連の変更は完了です。
新しいカスタム・スタイル・ディレクトリおよびファイルのファイル・システム・アクセス制御が、\style0の所有権および権限と一致するように設定されていることを確認します。
アイデンティティ・サーバーを再起動します。
ここでアイデンティティ・システムにログインして「ID」ページを表示すると、赤いフォント色が表示されます。ただし、WebPassによって提供されるイメージは、WebPassホスト上の対応するカスタム・スタイル・ディレクトリ内に挿入されるまで表示されません。
イメージおよびJavaScriptは、アイデンティティ・サーバーではなく、WebPassがインストールされているWebサーバーによって提供されます。スタイルがイメージを参照している場合、そのイメージはWebPassによって提供されます。イメージがWebPassファイル階層内に存在しない場合、イメージは壊れたリンクとして表示されます。これを回避するには、WebPass上にカスタム・スタイル・ディレクトリを作成し、すべてのイメージをこの構造に挿入する必要があります。新しいイメージを追加する場合も、デフォルトのイメージを使用する場合も同じです。
アイデンティティ・サーバーからカスタム・スタイル・ディレクトリをWebPassにコピーします。
次に例を示します。
コピー元: Identity_install_dir
\identity\oblix\lang\en-us\
Pastel
コピー先: Identity_install_dir
\identity\oblix\lang\en-us\
Pastel
注意: スタイルシートは、WebPassにはクライアント側の処理の目的でのみ挿入されます。WebPassでは、サーバー側の処理にスタイルシートは必要ありません。 |
WebPass上の\style0からすべてのイメージ・ファイルをWebPass上のカスタム・ディレクトリにコピーします。新しいイメージを追加する場合も、デフォルトのイメージを使用する場合も同じです。
次に例を示します。
イメージのコピー元: WebPass_install_dir
\identity\oblix\lang\en-us\style0
イメージのコピー先: WebPass_install_dir
\identity\oblix\lang\en-us\
Pastel
注意: この例では、新しいイメージは挿入されません。新しいカスタム・スタイルによってデフォルト・イメージがコールされるのみです。カスタム・イメージが挿入された場合、それらのイメージも同様にカスタム・ディレクトリにコピーしてください。 |
WebPassを再起動します。
これで、カスタマイズ済のスタイルをテストする準備が完了しました。
カスタマイズ済のスタイルをテストし、目的の結果にするために必要な変更を行う準備が完了しています。
テストの目的で、XSLProcessor
パラメータは、ページの生成時に使用するプロセッサを指定します。詳細は、「XSLProcessor」を参照してください。
注意: 開発とテストの能率を上げるために、XSLスタイルシート制御パラメータを実装することができます(「キャッシングの考慮事項」を参照)。スタイルシートのカスタマイズのオフラインでのテストが可能なXML編集環境を使用することもできます(第7章「便利なツール」を参照)。 |
目的の結果にならない場合は、「カスタマイズ問題に関するトラブルシューティング」の項目を確認してください。
通常どおりにアイデンティティ・システムにログインします。
カスタマイズしたページにナビゲートします。
次に例を示します。
「ユーザー・マネージャ」をクリックし、「ID」をクリックします。
図2-7に示すようにフォント色が赤で表示されていることを確認します。
スタイルに問題がないことがわかったら、このスタイルを他のOracle Access Managerシステムに送信できます。
アイデンティティ・サーバーからカスタム・スタイル・ディレクトリを他のすべてのアイデンティティ・サーバーにコピーします。
各アイデンティティ・サーバーを再起動します。
WebPassホストからカスタム・スタイル・ディレクトリを他のすべてのWebPassホストにコピーします。
各WebPassを再起動します。
予期しない結果が発生した場合は、次の項目を調べて、すべてのタスクが正常に完了されているか確認してください。
新しいスタイルを追加して、このスタイルをデフォルト・スタイルとして選択しましたか。
\sharedから次の関連スタイルシートを特定してカスタム・ディレクトリにコピーしましたか(アプリケーション登録ファイルおよび共通登録ファイルを参照)。
ベース・スタイルシート
ベース・スタイルシートに組み込まれているスタイルシート
アプリケーションの登録ファイル内に指定されている特定の機能関連スタイルシート
機能関連スタイルシートに組み込まれているスタイルシート
共通登録ファイル内の関連スタイルシート
カスタム・スタイル・ディレクトリ内のスタイルシートに適切な変更を行いましたか。
スタイルシートへの相対ポインタ
オブジェクトへの絶対ポインタに変更する必要のある相対ポインタ
その他のカスタマイズ詳細
WebPass上に複製のカスタム・スタイル・ディレクトリ構造を作成しましたか。
WebPass上のカスタム・スタイル・ディレクトリ構造にイメージをコピーしましたか。
注意: Oracle Access Managerは、これらのイメージに依存しています。これらのファイルはカスタム・ディレクトリにコピーすることをお薦めします。まれに、カスタム・イメージが表示されずにデフォルトのイメージが表示されることがあります。この場合は、デフォルトのイメージを変更する必要がある可能性があります。 |
アイデンティティ・サーバーおよびWebPassを再起動しましたか。
他の箇所でも説明したように、バージョン7.0以上を使用する場合は複数の言語が使用可能です。以前にスタイルシート内に存在していたメッセージは言語に依存するため、現在ではメッセージ・カタログ内の変数として個別に定義されています。新しいディレクトリ構造では、JavaScriptファイル、XSLおよびHTML用のすべてのメッセージ・カタログが統合されています。
言語固有のファイルはすべて、\lang\langTag内に配置されます。
言語固有でないオブジェクトはすべて、\lang\shared内に配置されます。
すべてのスタイルシートには、\lang\langTag\style0内に言語固有のラッパーがあります。この中に、\lang\shared内の言語中立バージョンの主要なスタイルシートが含まれています。この新しいラッパーによって、言語に依存しない主要スタイルシート機能と言語固有のメッセージが分離されています。
言語固有のメッセージは、次に説明するように、メッセージ・カタログ・ファイル内の変数を介して参照されます。
IDアプリケーションの表示名は、スタイルシートに格納されます。ローカリゼーションでは、組織がサポートする言語ごとにこれらの表示名を変換する必要があります。
たとえば、表示名User Profileは、次のファイルにXSL変数"MUserProfile"として格納されています。
Identity_install_dir
\identity\oblix\lang\en-us\msgctlg.xsl
ファイル
XSL変数は、Identity_install_dir
/identity/oblix/lang/shared
内のXSLスタイルシート(たとえば、usc_profile.xslなど)として格納されます。
表示名テキスト文字列を、XSL変数として個別のファイルに格納します。
スタイルシート内でこれらの変数を参照します。
スタイルシートが適切にコーディングされているかを確認するには、Internet Explorerでスタイルシートを開きます。ブラウザによって、コード内のエラーの行番号が示されます。