この章では、HTMLスニペットとDynamic Converter、スニペットの使用方法およびポータルスタイルのWebサイト・サンプルについて説明します。
この章の内容は、次のとおりです。
旧バージョン(バージョン6.0以前)のDynamic ConverterとOracle WebCenter Content Serverでは、コンテンツ・アイテムをチェックインして動的にHTMLに変換し、単独でWebページとしてユーザーに表示することができました。ネイティブ・ビジネス・ドキュメントをWeb表示可能なバージョン(すべての人が参照可能)に変換することが目的の場合は、それで解決しました。しかし、大量のソース・コンテンツ・アイテムの情報を1つのWebページ上で組み合せる場合(あるドキュメントのマーケティング情報、別のドキュメントからのプレス・リリース、または顧客がフォームで入力したフィードバックなどが考えられます)は、そのようなドキュメントを手動で作成してWebページに変換する必要がありました。複数のコンテンツ・アイテムを組み合せて同一Webページに表示する方法は存在しませんでした。
現在のDynamic Converterではこの問題が解決され、その結果、情報が豊富で説得力があるWebページを作成してユーザーに公開できるようになりました。現行バージョンのテンプレートと新しいIdoc Script関数を使用すると、複数のコンテンツ・アイテムから、またはそれらのコンテンツ・アイテムの一部からでも、動的に変換した要素を抽出して、(HTMLスニペットを組み合せた)単一Webページとしてユーザーに表示できます。さらに、組み込むコンテンツ・アイテムごとに、特定のバージョン、テンプレートおよびレイアウト・ファイルを指定できます。
その結果、任意の数のソースから動的に生成されるコンテンツを描画する、ポータルスタイルのWebサイト(第34.2項を参照)が生成されます。
次の図は、動的に変換された4つのコンテンツの周囲にコンテンツ・サーバー環境(枠線とナビゲーション)が表示されている単純なポータルスタイルのWebページです。各コンテンツは、実際はコンテンツ・サーバーにチェックインされているドキュメントです。多数の要素が直接結合されていますが、ユーザーから見れば、シームレスな単一Webページです。
このようなページまたはHTMLコードのスニペットを組み合せた同様のページを作成するには、コンテンツ・アイテムを同一Webページに表示できるようにそれらの動的変換をカスタマイズする必要があります。それには、動的に変換されたHTMLファイルからTOP、HEADおよびBODYの各タグを除去するテンプレート・ファイルまたはレイアウト・ファイルを作成します(第34.3項のステップ1を参照)。
次に、新しいIdoc Script関数でコンテンツID、バージョン、テンプレートおよびレイアウトを指定してHTMLスニペットを呼び出します。これはすべて、次のIdoc Scriptタグで指定できます。
<$incDynamicConversion(Content ID, revisionselectionmethod, template, layout)$>
HTMLスニペットを組み合せて単一Webページを生成するには:
コンテンツ・アイテムからHTMLスニペットを作成します(第34.3.1項を参照)。
Idoc Scriptを使用してHTMLスニペットを呼び出し、ホスト・ページ(HCSTファイル)に組み込みます(第34.3.2項を参照)。
次のどちらかの方法で、コンテンツ・アイテムからHTMLスニペットを生成できます。
変換テンプレートをXML準拠にする
本体コンテンツのみのレイアウト・テンプレートを作成する
方法1: 変換テンプレートをXML準拠にする
テンプレートをXML準拠にすることで、Webページの先頭と末尾にある標準のHTMLタグ(<HTML>、<HEAD>、<BODY>など)を削除します。XML準拠のクラシックHTML変換テンプレートを作成するには:
「Dynamic Converterの管理」ページを開きます。
「テンプレートの編集」をクリックします。
「テンプレートの編集」ページで「テンプレート」テキスト・ボックスにテンプレートのコンテンツIDを入力するか、または「使用できるテンプレート」メニューからテンプレートを選択します。
「テンプレートの編集」をクリックします。
既存のクラシックHTML変換テンプレートを更新する以外に、HTMLスニペット専用に設計した新しいテンプレートを作成することもできます。
テンプレート・エディタで、「グローバル」をクリックします。
「グローバル」ダイアログで、「オプション」タブをクリックします。
XML準拠の出力の生成チェック・ボックスを選択して、この要素を有効にします。
「OK」をクリックし、「グローバル」ダイアログを閉じます。もう一度「OK」をクリックし、テンプレート・エディタを閉じます。
これで、変換テンプレートを使用してコンテンツ・アイテムから必要なHTMLコードを作成し、Idoc Script関数を使用して(第34.3.2項を参照)別のWebページに簡単に組み込むことができるようになります。
方法2: 本体コンテンツのみのレイアウト・テンプレートを作成する
Webページの先頭と末尾にある標準のHTMLタグ(<HTML>、<HEAD>、<BODY>など)を削除する以外に、変換済HTMLファイルにBODYタグのコンテンツのみを配置するレイアウト・テンプレートを指定する方法があります。それには、レイアウト・テンプレートに次のコード(トークンと呼ばれます)を単独で記述します。
<!-- TRANSIT - CUSTOMLAYOUT(BODY) -->
また、必要なコードが含まれているサンプル・レイアウト・テンプレートsnippet_layout.txtを使用することもできます(第32.4.2項を参照)。このファイルは、Oracle Technology Network(http://www.oracle.com/technetwork/indexes/samplecode/
)からダウンロードできます。
HTMLスニペットを生成するためにクラシックHTML変換テンプレートまたはレイアウト・テンプレートのどちらを作成する場合も、テンプレートをコンテンツ・アイテムに関連付ける必要はありません。Idoc Script関数で、使用する適切なテンプレートを指定できます(第34.3.2項を参照)。
コンテンツ・アイテムからHTMLスニペットを作成すると(第34.3.1項を参照)、別のWebページからそのコンテンツ・アイテムを参照できるようになります。それには、HCSTファイルで次のIdoc Script関数を使用します。
<$incDynamicConversion(Content ID, revisionselectionmethod, template, layout)$>
このIdoc Script関数は、コンテンツID、バージョン、テンプレートおよびレイアウト(レイアウト・テンプレート)を指定してコンテンツ・アイテムを参照します。たとえば、ドキュメント"Sales"の最新バージョンをクラシックHTML変換テンプレート"Business"とレイアウト・テンプレート"snippet_layout"を使用してWebページに組み込むには、次のコードを使用します。
<$incDynamicConversion("Sales","latest","Business","snippet_layout")$>
XML準拠のテンプレートを使用してコンテンツ・アイテムからHTMLコードのスニペットを作成した場合(「方法1: 変換テンプレートをXML準拠にする」を参照)、同じHTMLスニペット効果をもたらすレイアウト・テンプレートを指定する必要はありません。かわりに、<$incDynamicConversion("Sales","latest","Business","")$>のように、Idoc Script関数に空白パラメータを渡すことができます。
参考までに、"snippet_layout.txt"(第32.4.2項を参照)と呼ばれるサンプル・レイアウト・テンプレートは、Oracle Technology Network(http://www.oracle.com/technetwork/indexes/samplecode/
)からダウンロードできます。このサンプル・ファイルには、コンテンツ・サーバーに保存されている他のコンテンツ・アイテムから情報(HTMLスニペット)を描画する、ポータルスタイルのWebページの基本要素が含まれています。(結果は「ポータルスタイルのWebサイトのサンプル」とほぼ同じ外観になります)。
ファイルには、次の部分が含まれます。
コンテンツ・サーバーの枠線とナビゲーションを表示するヘッダーとフッターの情報
ポータル・ページのレイアウトを制御するためのHTML表(表の一番上のセルに2列、一番下に1列)
3つの異なるコンテンツを抽出してポータル・ページに組み込む3つのIdoc Script関数(それぞれバージョン、テンプレートおよびレイアウト・ファイルを参照)
このポータルWebページの例を起点として、ニーズに合わせてカスタマイズできます。
Dynamic Converterには、クラシックHTML変換テンプレートまたはレイアウト・テンプレートを参照することなく、ネイティブ・ドキュメントをHTMLスニペットに変換できるIdoc Script拡張機能が付属しています。この変換は、空白のクラシックHTML変換テンプレートを本体コンテンツのみが指定されているレイアウト・テンプレートと併用する場合と同じです。(ただし、この変換で使用される変換テンプレートまたはレイアウト・テンプレートは変更できません。)
次のIdoc Scriptコードを使用すると、この方法でネイティブ・ドキュメントを変更できます。
incInlineDynamicConversion(dDocName, Revision_Selection_Method)
ネイティブ・ドキュメントのコンテンツIDをリビジョンとともにカッコ内に配置します。たとえば、ネイティブ・ドキュメントのコンテンツIDが"SalesDoc"である場合、完全なIdoc Script構文は次のようになります。
<$incInlineDynamicConversion("SalesDoc", "Latest")$>
または
<$incInlineDynamicConversion("SalesDoc", "LatestReleased")$>
このタイプの変換は、ネイティブ・ドキュメントをHTMLスニペットに変換する場合に便利であり、コンテンツ・サーバーのクラシックHTML変換テンプレートまたはレイアウト・テンプレートを指定する必要はありません。
Dynamic Converterには、ドキュメントのコンテンツ・サーバー・メタデータを変換済ページで使用できるようにするIdoc Script拡張機能が付属しています。この要素を使用するには、変換テンプレートに次のコードを組み込みます。
dcLoadDocInfo()
このコードは、ドキュメント変換でのテンプレートの使用方法に応じて、レイアウト・テンプレート(第32章「クラシックHTML変換レイアウト・テンプレート」を参照)またはクラシックHTML変換テンプレート(第31章「HTML変換テンプレート」を参照)に追加できます。このコードは、Webページでドキュメント・メタデータを使用する部分の前に配置する必要があります。
最も簡単な解決策は、レイアウト・テンプレートの一番最初に配置することです。この方法により、Webページのどの部分でコンテンツ・サーバー・メタデータを使用する場合も、正常に動作します。また、このコードは、クラシックHTML変換テンプレートの任意のセクションに追加できます(詳細は、テンプレート・エディタ・ヘルプのWebページへのHTMLまたはスクリプト・コードの組込みに関する項を参照)。