14 URLのマッピング
この章の内容は次のとおりです。
14.1 WebUrlMapPluginコンポーネント
WebCenter Contentでは、ビルトインのWebサーバーを持つOracle WebLogic Serverを使用して、Webブラウザを通してページをフィルタ処理します。ユーザー・リクエストは、Oracle WebLogic Serverユーザー・ストアまたはその他の構成済ユーザー・ストアにより認証され、コンテンツ・サーバー・インスタンスと通信します。
WebUrlMapPluginコンポーネントを使用すると、短縮形のURLを、マッピング用の置換スクリプトを使用して、他のURLにマップでき、これによって、長いURLを短縮形にマップすることもできます。WebUrlMapPluginコンポーネントは、デフォルトではコンテンツ・サーバー・インスタンスによりインストール(有効化)されます。
14.2 スクリプト構成
作成できる短縮形のURLでは、一般に次のフォーマットを使用します。
http://myhostexample.com/prefix/suffix
実際のマッピング・プロセスは、ホスト名の部分に続くURLの部分に基づきます。短縮形のURLを解決するため、コンテンツ・サーバー・インスタンスでは、接頭辞を定義済のWebUrlMapPluginエントリのリストのものと比較します。一致するものがある場合、コンテンツ・サーバー・インスタンスでは、一致する接頭辞に対応するマップ・スクリプトを使用して、該当するドキュメントまたはコンテンツ・サーバー・ページを表示します。接尾辞の詳細は、「参照用にサポートされている変数」を参照してください。
「Web URLマップ」画面を使用してURLマッピング・エントリを構成するには、接頭辞を確定し、対応するマップを定義する必要があります。
接頭辞
マッピング・エントリの接頭辞の部分は、特定の形のURLを識別するために使用する任意の短縮形です。たとえば、短縮形のURLでドキュメントの動的変換が返されるようにする場合、idc
を自分の接頭辞として使用できます(たとえば、dynamic converterの短縮形)。
コンテンツ・サーバー・インスタンスでは、接頭辞テストの実行前に、受信したURLから最初のスラッシュが削除されるため、接頭辞を作成する際には、先頭にスラッシュ(/)文字を入力しないでください。
注意:
URLマップの接頭辞の最後には、スラッシュ(/)を含めてください。そうしないと、マッピングが適用されるURLが増えて、標準的なコンテンツ・サーバーの操作の妨げになる可能性があります。
マップ
マッピング・エントリのマップの部分は、コンテンツ・サーバー・インスタンスで短縮形のURLを解決するために使用されるIdocスクリプト・コードです。マップの部分では、置換タグ(<!--$variable-->
)を使用できます。例:
<!--$cgipath--> <!--$internetuser--> <!--$suffix-->
これらの置換タグは、URLの該当するパラメータを参照する変数です。
単純なif構造体もサポートされています。たとえば、次のスクリプト・セグメントは、値が存在し、空でないかどうかを確認するためのテストを実行します。
<!--$if myconfigvar-->something<!--$endif-->
14.3 参照用にサポートされている変数
URLマッピング・エントリのマップ部分では、参照用の次の標準変数が使用されます。
-
CGIパス
これは、Oracle WebLogic Server Webサーバー・フィルタの構成済コンテンツ・サーバー・インスタンスの現在のCGIパスです。Webサーバー・フィルタは、このコンテンツ・サーバー・インスタンスのための通信とセキュリティの両方を提供するように構成されます。典型的な例は、
/idcm1/idcplg
です。 -
suffixパラメータ
接尾辞変数(
<!--$suffix-->
)の値は、URLで先行するマッピング接頭辞の後に続き、疑問符(?)の前にある部分から導出されます。接尾辞の先頭にあるスラッシュ(/)は、この変数に代入される前に削除されます。たとえば、次のURLでは、dc
がマッピング接頭辞で、後に接尾辞が続きます。http://myhostexample.com/dc/mydocumentname
スラッシュを削除した後、
mydocumentname
が、マッピング・エントリのマップ部分で置換タグとして使用される接尾辞変数の値として使用されます。また、接尾辞変数には、CGIパラメータは含まれません。したがって、次のURLでは、mydocumentname
がそのまま接尾辞変数の値として使用されています。http://myhostexample.com/dc/mydocumentname?a=1
接頭辞と接尾辞の間をスラッシュで強制的に区切るには、接頭辞の短縮形の最後にスラッシュを追加します。
-
任意のプラグイン変数
たとえば、現在ログインしているユーザーのユーザーIDと置換するために、構造体
<!--$internetuser-->
を使用できます。 -
任意のCGIパラメータ
14.5 マッピングの例
14.5.1 情報更新フォーム
既存のコンテンツ・アイテムに情報更新フォームを生成するために、短縮形のURLを作成できるようにするWeb URLマッピング・スクリプトを定義できます。ユーザーが特定のドキュメントに任意の識別変数を入力できるように、マッピング・スクリプトを作成できます。たとえば、次のフォーマットのURLがあるとします。
http://myhostexample.com/u/mydoc_parameter
このURLは、次のURLにマップできます。
http://myhostexample.com/idcm1//idcplg?IdcService=GET_UPDATE_FORM&dDocName=mydocumentname
URLをマップするには、「Web URLマップ」画面を使用して、次のWeb URLマップ・エントリを定義します。
-
接頭辞:
u/
-
マップ:
<!--$cgipath-->?IdcService=GET_UPDATE_FORM<!--$suffix-->&myparam=<!--$myparam-->
14.5.2 動的変換
このURLマッピング例を機能させるには、Dynamic Converterをインストールする必要があります。『Oracle WebCenter Contentのマネージメント』のDynamic Converterに関する項を参照してください。
ドキュメントの様々な動的変換に短縮形のURLを作成できるようにするWeb URLマッピング・スクリプトを定義できます。たとえば、次のフォーマットのURLがあるとします。
http://myexamplename.com/dc/mydocumentname
このURLは、次のURLにマップできます。
http://myhostexample.com/idcm1/idcplg?IdcService=GET_DYNAMIC_CONVERSION&dDocName=mydocumentname&RevisionSelectionMethod=LatestReleased
URLをマップするには、「Web URLマップ」画面を使用して、次のWeb URLマップ・エントリを定義します。
-
接頭辞:
dc/
-
マップ:
<!--$cgipath-->?IdcService=GET_DYNAMIC_CONVERSION&dDocName=<!--$suffix-->&RevisionSelectionMethod=LatestReleased
14.5.3 CGIパラメータ
CGIパラメータを直接参照することもできます。たとえば、次のフォーマットのURLがあるとします。
http://myhostexample.com/dcp/mydocumentname?myparam=myvalue
このURLは、次のURLにマップできます。
http://myhostexample.com/idcm1/idcplg?IdcService=GET_DYNAMIC_CONVERSION&dDocName=mydocumentname&RevisionSelectionMethod=LatestReleased&myparam=myvalue
URLをマップするには、「Web URLマップ」画面を使用して、次のWeb URLマップ・エントリを定義します。
-
接頭辞:
dcp/
-
マップ:
<!--$cgipath-->?IdcService=GET_DYNAMIC_CONVERSION&dDocName=<!--$suffix-->&RevisionSelectionMethod=LatestReleased&myparam=<!--$myparam-->