18 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの作成
テンプレート、CSElementおよびSiteEntryはレンダリング・アセットです。これらのアセットは、コンテンツ・アセットをHTML、CSS、JSSにラップしてブラウザにレンダリングします。CSElementアセットはエレメントを表し、SiteEntryはページの名前を表し、Templateはエレメントとページ名の両方を表します。WebCenter Sitesは、これらのアセットを使用して、Webサイト・ページを生成します。
トピック:
テンプレートおよびCSElementのエレメントのコーディングを参照してください。
ノート:
Visitor Servicesで使用するテンプレートを作成する場合、Visitor Service Helperクラスを使用して、現在の訪問者のプロファイル情報を取得し、訪問者のCookieライフ・サイクルを管理できます。訪問者プロファイルのリンク付けおよびCookieの管理を参照してください。WebCenter Sitesでは、Visitor Servicesアプリケーションが正しく構成および実行されている場合にのみ、テンプレート開発者が(VisitorsクライアントAPIまたはWebCenter SitesラッパーAPI (クラス VisitorServiceHelper.java
)を使用して)、テンプレート・コードがVisitor Servicesをヒットするようにする必要があり、そうしないと、Content Serverエラーが発生する可能性があります。
18.1 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットについて
テンプレート・アセット、CSElementアセットおよびSiteEntryアセットを使用して、オンライン・サイトを開発するためのページレットおよびエレメントを作成します。これらのアセットは、WebCenter Sitesがページを生成するために使用するページ名およびエレメントを表します。CSElementアセットの作成時には、エレメントをコーディングします。SiteEntryアセットの作成時には、ページに名前を付けます。テンプレートの作成時には、エレメントのコーディングとページの名前付けの両方を行います。
次に、これらのアセット・タイプを効果的に使用する際に役立つ重要なポイントをいくつか示します。
-
テンプレート・アセットは、1つのアセット・タイプに適用されるのか、どのアセット・タイプにも適用されないのかに応じて、タイプ付きまたはタイプなしに分類されます。
-
SiteLauncherを使用している場合(サイトのレプリケートまたはテンプレート・アセットとCSElementアセットの共有を目的として)、WebCenter Sitesは、アセット、アセット・タイプ、属性名およびテンプレート名を間接的に参照するために、エレメント・ロジックが必要になります。そのため、WebCenter Sitesインタフェースには、「マップ」画面(たとえば、「マップの構成」)が導入されていて、APIには
render:lookup
タグが導入されています。「マップ」画面を使用して、各値に別名を割り当てます。別名をエレメント・ロジックでハードコード化し、
render:lookup
タグを使用して、実行時に別名から実際値を取得できます。 -
「キャッシュ規則」フィールドは、エラーを減らすために簡略化されています。テンプレートの開発者は、キャッシュ、未キャッシュ、または詳細を選択できます。「詳細」を選択すると、開発者は、WebCenter SitesとSatellite Serverに対して個別にキャッシュ規則を設定できるようになります。
-
テンプレートの作成プロセスを簡略化した方法でテンプレートを起動するために、
calltemplate
タグが新規に導入されました。 -
ページ基準フィールドは、「キャッシュ基準」と名前変更されました。これは予約パラメータc、cid、context、p、rendermode、site、sitepfx、ft_ssと、カスタム定義済パラメータを受け入れます。
キャッシュ基準の値は、
SiteCatalog
表のpagecriteria
列に格納されます(旧バージョンでは、SiteCatalog
表のresargs
列に格納されていました)。「キャッシュ基準」フィールドは、CKEditorの「その他のパラメータ」セクションを有効化する変数の保持にも使用され、その変数をユーザーがアセット・リンクを含めるダイアログ・ボックスと「アセット・リンクの追加」ダイアログ・ボックスで使用できるようにします。「その他のパラメータ」セクションには、カスタム・パラメータ(イメージ・ディメンションなど)をテンプレートに渡す方法が用意されています。その他のパラメータについては、「SiteEntryの構成」のステップ2を参照してください。『Oracle WebCenter Sitesの使用』を参照してください。
-
テンプレート・アセットとCSElementアセットの作成フォームはタブによって細分化されています。フィールドはタブ上で機能別に編成されています。
18.2 ページについて
WebCenter Sitesのコンテキストでは、オンライン・ページは複数のコンポーネントを表示可能な最終出力に構成したものです。この出力を作成することをレンダリングといいます。(出力またはレンダリングされるコンテンツをパブリック・サイトの訪問者が利用できるようにすることを、パブリッシュといいます。)
WebCenter Sitesでは、ページは、ページ名に関連付けられたコードを実行してレンダリングされます。ページの名前はブラウザからWebCenter Sitesに渡され、WebCenter Sitesはそのページ名に関連付けられたコードを起動します。コードは実際には名前付きファイルであり、エレメントと呼ばれるコードの個々のチャンクです。
エレメント内のコードはアセットを識別して、ページまたはページレットに表示するためにそのアセットをロードし、その他のページ名とエレメント名をWebCenter Sitesに渡します。WebCenter Sitesがエレメントを呼び出すと、そのエレメント内のすべてのコードが実行されます。他のエレメントへのコールがある場合は、次にそのエレメントが呼び出されます。さらに、結果(イメージ、記事、リンクセットなど、すべてのHTMLタグを含む)がHTMLコード(または、システムの構成によっては、他の出力フォーマット)にレンダリングされます。
Template、CSElementおよびSiteEntryの各アセットは、次のようにエレメントとページレットを表現します。
-
CSElementアセットはエレメントです。
-
SiteEntryアセットはページまたはページレットの名前です。
-
テンプレート・アセットは、エレメントおよび、アセットをレンダリングするページまたはページレットの両方になります。
次のトピックを参照してください。
18.2.1 エレメント、ページレットおよびキャッシュ
ページとページレットはキャッシュ可能です。これらには、キャッシュ済であるかどうか、またキャッシュ済の場合はその期間を判別するキャッシュ基準が設定されています。
エレメントには、キャッシュ基準は設定されていません。ページ名を経由することなく、コードからエレメントを名前で直接コールすると、その出力はエレメントの名前をコールしたページに表示され、そのページの一部としてキャッシュされます。
エレメントからの出力を、それをコールしたページからの出力とは別にキャッシュするには、その出力にページ名を指定し、出力をコールするときにはそのページ名を使用する必要があります。テンプレート・アセットのコードには、デフォルトによりページ名が割り当てられています。CSElementアセットに対してページ名を指定するには、SiteEntryアセットを作成し、それに対するCSElementアセットを選択します。
18.2.2 ページとエレメントのコール
WebCenter Sitesページを表示するには、そのページの名前が含まれているURLを指定します。WebCenter SitesのURLは次のようになります。
WebLogicおよびWebSphereの場合:
http://host:port/servlet_context_path/ContentServer?pagename=name_of_page
ここで:
-
host
は、WebCenter Sitesシステムをホストするサーバーの名前です -
port
は、Webサーバーのポート番号です。 -
servlet_context_path
は、アプリケーション・サーバーからWebCenter SitesのWebアプリケーションに渡されるパスです -
name_of_page
は、ページ名です。
この構文によって、ページの名前がContentServerサーブレットに渡され、そこでページがレンダリングされます。
たとえば、サイトのホーム・ページを表示するには、次のようにURLを入力します。
http://site-address/servlet/ContentServer?pagename= site-name/Page/Home
エレメントをコーディングするときには、サイトに表示するページレットとエレメントをプログラムでコールするタグを使用します。これらのタグは、ちょうどブラウザで入力したURLがページ名をContentServerサーブレットに渡すように、ページとエレメントの名前をContentServerサーブレットに渡します。
ページ名をコールするには、render:satellitepage (RENDER.SATELLITEPAGE)
タグを使用します。たとえば:
<render:satellitepage pagename="site-name/Page/Home" />
エレメントを名前で直接コールするには、render:callelement (RENDER.CALLELEMENT)
タグを使用します。たとえば:
<render:callelement elementname="site-name/Common/TextOnlyLink" />
テンプレートを名前でコールするには、render:calltemplate
タグを使用します。たとえば:
<render:calltemplate site='<%=ics.GetVar("site")%>' slotname="Head" tid='<%=ics.GetVar("tid")%>' c='<%=ics.GetVar("c")%>' cid='<%=ics.GetVar("cid")%>' tname='<%=ics.GetVar("HeadVar")%>'> <render:argument name="p" value='<%=ics.GetVar("p")%>' /> </render:calltemplate>
ノート:
Oracle WebCenter Sites Explorerを使用してSiteCatalog
エントリとElementCatalog
エントリを調査する場合、これらのエントリは、ページとページレットを視覚的に編成したフォルダおよびサブフォルダとして表示されます。
ただし、これらのエントリはデータベース表内の行にすぎません(実際の階層は存在しません)。そのため、コードでページ・エントリまたはエレメント・エントリをコールする場合は、常にフルネームを使用する必要があります。相対パスは使用できません。
テンプレート、CSElementおよびSiteEntryの各アセットは次のようにコールできます。
-
SiteEntryはページレットであるため、
render:satellitepage
タグを使用して、エレメント・コードの中からSiteEntryアセットをコールします。 -
CSElementはエレメントであるため、
render:callelement
タグを使用して、エレメント・コードの中からCSElementアセットをコールします。 -
テンプレートはエレメント名とページ名の両方であるため、前述のいずれかを使用できますが、通常、
render:calltemplate
タグはテンプレートに使用することを目的としています。これは、render:satellitepage
およびrender:callelement
の機能のみでなく、パラメータの検証など、その他の機能もカプセル化します。
18.2.3 ページとページレットの比較
次の表に、ページという語を含む様々な用語を示し、WebCenter Sites、WebCenter Sitesの各モジュール、およびその他の製品向け各種ドキュメントでの使用を踏まえて、それらの用語を定義します。
表18-1 ページとページレットの比較
用語 | 定義 |
---|---|
ページレット |
レンダリングされたページの一部としてブラウザに表示されるHTTPリクエストの結果。これには、エレメント・ファイルが関連付けられています。 ページレットは、WebCenter SitesおよびSatellite Serverのページ・キャッシュにキャッシュできます。 |
ページ |
ブラウザ・ウィンドウに表示されるHTTPリクエストの結果。ページは、ページ(ページレット)の複数の部分を1つの表示済またはレンダリング済の最終ページにコンパイルすることによって作成されます。これには、エレメント・ファイルが関連付けられています。 ページは、WebCenter SitesおよびSatellite Serverのページ・キャッシュにキャッシュできます。 |
ページ名 |
ページまたはページレットの完全な名前。たとえば: 開発者のサンプル/ホーム/レンダリングAPI/アセット・リーダー。 |
ページ・アセット |
ページ・アセットはページ名を表現しません。これは、コンテンツ用の論理コンテナを表現します。このコンテナをツリー構造に配置して、サイト・コンテンツのナビゲーションに対応できます。 ページ・アセットを作成し、それをサイト・ナビゲーション・ツリーに配置します(このツリーは、WebCenter Sitesインタフェースの左ペインの「サイト」タブにツリー構造で表示されます)。その他のコンテンツとサイト・デザイン・アセットをページ・アセットに関連付けた後で、パブリッシュします。 |
18.3 CSElementアセット、テンプレート・アセットおよびSiteEntryアセットの使用
テンプレート・アセットはページおよびページレットにコンテンツ・アセットをレンダリングし、CSElementアセットはコンテンツ・アセットを複数の場所で再利用したり、コンテンツ・アセットを複数のタイプのテンプレートからコールしたり、あるいはその両方を行います。CSElementからの出力を別個のページレットとしてキャッシュする必要があるときには、CSElementアセットの他にSiteEntryアセットも使用します。
Adminインタフェースに用意されているCSElementアセットまたはテンプレート・アセット・フォームを使用して、CSElementアセットおよびテンプレート・アセットを作成できます。
ノート:
テンプレート・アセットとCSElementのエレメントは、Oracle WebCenter Sites Explorerでコーディングできます。ただし、ほとんどが構成上の依存性とキャッシュへのアップデートを扱うため、この方法はお薦めできません。Oracle WebCenter Sites Explorerを優先的に使用する開発者は、テンプレート・アセットまたはCSElementアセットの有効性を確保するために、「Oracle WebCenter Sites Explorerの使用によるエレメント・ロジックの作成と編集」に記載するステップに従う必要があります。
ページ名とエレメントはアセットであるため、作成したコードとページ名をコンテンツの管理方法と同様に管理できます。つまり、ワークフロー、リビジョン追跡、承認およびプレビューが使用できるだけでなく、サーバーへのミラーリングのパブリッシュ方法を使用してコードとページ名を管理システムや配信システムに移動することもできます。
ノート:
リビジョン追跡: SiteCatalog表またはElementCatalog表でリビジョン追跡を直接有効にするために、Oracle WebCenter Sites Explorerツールのリビジョン追跡機能を絶対に使用しないでください。
サーバーへのミラーリング: テンプレートまたはCSElementが、テンプレート・アセットまたはCSElementアセットに関連付けられていないエレメントを参照する場合、これに該当するエレメントが自動的にパブリッシュの宛先にミラーリングされることはありません。CatalogMoverユーティリティを使用して、これらのエレメントを手動で移動する必要があります。そのため、CSElementによって折り返されないエレメントの使用はお薦めできません。
次のトピックを参照してください。
18.3.1 テンプレート・アセット
テンプレートは、他のアセットをページおよびページレットにレンダリングします。これにより、オンライン・サイトのルック・アンド・フィールが作成されます。同一タイプのアセットがすべて同じ方法で書式設定されるように、テンプレートの標準セット(CSElementアセットおよびSiteEntryアセットを除く)をアセット・タイプ別に作成します。
このプロセスにより、コンテンツ・プロバイダは、自身でコーディングすることを必要としたり、標準の承認済コードを変更できるようにするのではなく、コンテンツの書式設定コードを選択することによってコンテンツのプレビューを実行できます。
テンプレート・アセットを保存すると、 WebCenter Sitesは次の操作を行います。
-
アセットの行を
Template
表に作成します。 -
エレメント・エントリを
ElementCatalog
表に作成します。エントリの名前には、次の規則が適用されます。AssetTypeName/TemplateName
ここで:
-
AssetTypeName
は、テンプレート・アセットとエレメントによって書式設定されたアセット・タイプです。 -
TemplateName
は、テンプレートの名前です。
-
-
SiteCatalog表にページ・エントリを作成します。ページ・エントリの名前には、次の規則が適用されます。
SiteName/AssetTypeName/TemplateName
ここで:
-
SiteName
は、テンプレートが属するサイトの名前です。このサイトは、テンプレートの作成時に使用していたサイトです。WebCenter Sitesは、この名前をPublication表から取得します。(この製品の旧バージョンでは、サイトはパブリケーションと呼ばれていました。) -
AssetTypeName
は、テンプレート・アセットとエレメントによって書式設定されたアセット・タイプです。 -
TemplateName
は、テンプレートの名前です。
ノート:
WebCenter Sitesで作成されたページ・エントリの名前を変更しないでください。
-
-
テンプレート・アセットの操作をサポートするその他の表に行を新規作成します。この表の名前は
Template_
で始まります。 -
テンプレートをサイトに関連付けるために新しい行をAssetPublication表に作成します。
18.3.2 CSElementアセット
CSElementアセットの用途は次のとおりです。
-
アセットをレンダリングするためのコードではなく、複数か所以上で再使用したり、複数のタイプのテンプレートからコールするコード。たとえば、同じトップ・バナーを使用するテンプレートが6つあり、バナーのコード用にCSElementアセットを作成して、各テンプレートからエレメントをコールする必要があるとします。この場合、バナーの動作方法を変更するときに、1か所で変更するだけで済みます。
-
Oracle WebCenter Sites: Engageに対する推奨。動的リスト推奨を作成する場合、動的リストを作成するためにCSElementアセットを作成する必要があります。推奨アセットの理解を参照してください。これらのアセットは、コンテンツをレンダリングしませんが、ロジック処理のために存在します。
CSElementを保存すると、WebCenter Sitesは次の操作を行います。
-
アセットの行を
CSElement
表に作成します。 -
エレメントを「CSElement」フォームにコーディングした場合は、ElementCatalog表にエレメント・エントリを作成します。このエントリの名前には、フォームで「ElementCatalogエントリ名」フィールドに入力した名前が使用されます。
-
テンプレートをサイトに関連付けるために新しい行を
AssetPublication
表に作成します。
18.3.3 SiteEntryアセット
SiteEntryアセットの用途は次のとおりです。
-
CS-Designerツールを使用している場合は、SiteEntryアセットを使用してコード・スニペットを表現します。このインタフェースでコード・スニペットをページにドラッグ・アンド・ドロップする場合は、render:satellitepageタグを使用してページ・エントリに対するWebCenter Sitesのコールにドロップしていることになります。
-
CSElementアセット内でコードがレンダリングされると、そのコードはコールしたページに表示され、(そのページがキャッシュされる場合に)そのページの一部としてキャッシュされます。CSElementからの出力を別個のページレットとしてキャッシュして、それ専用のキャッシュ基準(タイムアウト値、ページ基準値など)を設定するには、コードでページ名を通してそのエレメントを起動する必要があります。その場合は、CSElementアセットを伴うSiteEntryアセットを作成します。
SiteEntryアセットを作成して保存するときに、それにCSElementアセットを関連付けます。このCSElementアセットのエレメントは、SiteEntryのページ・エントリに対するルート・エレメントになります。
SiteEntryアセットを保存すると、WebCenter Sitesは次の操作を行います。
-
アセットの行を
SiteEntry
表に作成します。 -
SiteCatalog
表にページ・エントリを作成します。ページ・エントリのルート・エレメントは、指定したCSElementアセットからのエレメントです。 -
SiteEntryアセットとCSElementアセット間の承認の依存性を追跡します。SiteEntryアセットとそのCSElementアセットは両方とも、SiteEntryアセットがパブリッシュ可能になる前に承認する必要があります。
ノート:
構成の依存性も追跡されます。SiteEntryはページ基準と、依存性情報が含まれているデフォルトの引数を定義します。CSElementは、CSElementコード・スタブに追加される
render:logdep
タグを使用して、SiteEntryアセットとCSElementアセットのIDをレンダリング・エンジンに記録します。
18.3.4 非アセット・エレメント
管理システム上でWebCenter Sitesインタフェースに対してカスタマイズをコーディングする場合は、そのカスタマイズを配信システムにパブリッシュする必要がないため、アセットではないエレメントを作成します。
たとえば、アクションまたは条件を実装するワークフロー・エレメントを作成する場合は、それをCSElementアセットとしては作成しません。かわりに、Oracle WebCenter Sites Explorerツールを使用して、エントリをElementCatalog表に手動で作成します。
配信システム上でワークフローまたはその他のカスタム・エレメントを作成する場合は、CatalogMoverユーティリティを使用して、そのエレメントを管理システム上のElementCatalogにコピーする必要があります。
ノート:
ミラー・エンジンを起動するコードを作成して、エレメントをミラーリングできます。このトピックは高度であり、このガイドの適用範囲を超えています。サポートが必要な場合は、Oracleサポート(www.oracle.com/support
)に問い合せるか、www.oracle.com/accessibility
にアクセスしてください。
18.4 テンプレート・アセットの作成
テンプレート・アセットは、他のアセットをレンダリングします。テンプレートは、特定のタイプのアセットに適用するように設計することも、タイプに関係なくどのアセットにも適用するように設計することもできます。
-
タイプ付きテンプレートでは、特定のタイプのアセットをレンダリングします。
-
タイプなしテンプレートでは、適用されるアセットのタイプを問いません。タイプなしテンプレートは一般に、ページのレイアウトを指定するために使用します。その後、ページではアセットをタイプ付きテンプレートによってレンダリングできます。
ノート:
テンプレートをタイプ付きまたはタイプなしに設定する唯一のフィールドは、「対象アセット・タイプ」フィールドです。テンプレートをタイプ付きまたはタイプなしに区別する目的は、開発者がページの構成を管理し、ページ・レイアウトに対応するテンプレートとアセット・レンダリングに対応するテンプレートを追跡しやすいようにするためです。
テンプレート・アセットを作成する前に、「テンプレート・アセットの作成を開始する前に」を完了して、テンプレート・プロパティ(テンプレート名など)の設定方法とテンプレートのエレメント・ロジックのコーディング方法を決定します。次に、「テンプレート・アセットの作成」に進み、Adminインタフェースを使用して次のステップを完了します。
-
(使用方法、ファイル・タイプ、およびロジックを指定する場合。)
-
(ページおよびページレットのキャッシュ・パラメータを指定する場合。)
-
(テンプレート共有とサイト・レプリケーションをサポートする場合。)
-
(テンプレートの「調査」フォームにテンプレートをグラフィックで表示する場合。)
「テンプレート」フォームに入力する情報は、テンプレートの保存時にデータベース表に書き込まれます。
ノート:
テンプレート・アセットをデータベース表に直接作成しないでください。直接作成すると複数の表への書込みが必要になり、その結果、依存性の追跡が不正確になる可能性があります。かわりに、「テンプレート」フォームと、この項に示した手順を使用してテンプレート・アセットを作成します。テンプレートのエレメント・ロジック(タイプ付きテンプレートの場合)のコーディングについては、「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。
この項には次のトピックが含まれます:
18.4.1 テンプレート・アセットの作成を開始する前に
テンプレート・アセットの作成を開始する前に、次の点を決定してください。
-
TemplateName
(テンプレート・アセットの名前。「名前」画面の「名前」フィールドの値です。「テンプレート・アセットの名前付けと記述」を参照してください)。 -
テンプレート・アセットがタイプ付きまたはタイプなしのいずれであるか。
-
テンプレート・アセットを共有するかどうか、また使用中のサイトをレプリケートするかどうか。これらの考慮事項により、テンプレートのエレメント・ロジックのコーディング方法を決定します。
-
テンプレートのエレメント・ロジックのコーディングを、「テンプレート」フォームではなくOracle WebCenter Sites Explorerで実行するかどうか。Oracle WebCenter Sites Explorerでのコーディングは慣習化されていますが、「Oracle WebCenter Sites Explorerの使用によるエレメント・ロジックの作成と編集」で概説している理由によりお薦めできません。
18.4.1.1 テンプレート・アセットの名前付け
-
テンプレート・アセットが保存されると、その名前は変更できなくなります。
-
WebCenter Sitesにより、テンプレート名はSiteNameに追加されます(タイプ付きテンプレートの場合は、AssetTypeNameにも追加されます)。テンプレート名は、SiteNameおよび
AssetTypeName
に関連して意味のあるものにする必要があります。WebCenter Sitesのネーミング規則をオーバーライドしないでください。WebCenter Sitesにより作成された名前は変更しないでください。次の表に、TemplateName
を使用する規則を示します。AssetTypeName
はタイプ付きテンプレートにのみ使用し、「名前」画面でのテンプレートの「対象アセット・タイプ」フィールドの値を表します(「テンプレート・アセットの名前付けと記述」を参照)。SiteName
は、テンプレートが属するサイト(テンプレートの作成時に使用しているサイト)の名前です。WebCenter Sitesは、SiteName
をPublication表から取得します。(この製品の旧バージョンでは、サイトはパブリケーションと呼ばれていました。)表18-2 TemplateNameを使用するネーミング規則
テンプレート ネーミング規則 説明 タイプ付き
AssetTypeName/TemplateName
タイプ付きテンプレートのルート・エレメントの名前。
この値は、「Rootelement」フィールドに書き込まれます。この値は、変更しないでください。デフォルト値が変更されると、デフォルト値を予想しているタグ(たとえば、
style
属性がelement
に設定されているrender:calltemplate
タグなど)が失敗します。ノート: ネーミング規則により、ルート・エレメントの名前は一意にする必要があります。複数のテンプレート・アセットが同じルート・エレメントを指さないようにする必要があります。ただし、2つのSiteEntryアセットが同じエレメントを指すように設定できます(たとえば、コール・シナリオに応じて、異なるデフォルト引数または異なるキャッシュ基準を指定したい場合)。
タイプ付き
AssetTypeName/TemplateName.
xml_or_jsp_or_html
タイプ付きテンプレートのエレメント・ファイルへのパス。
この値は、ファイル・タイプを選択したときに、
「エレメントのストレージ・パス/ファイル名」
に書き込まれます。タイプ付き
SiteName/AssetTypeName/TemplateName
テンプレートがタイプ付きの場合にレンダリングされるページの名前。
この値は、「SiteCatalog Pagename」フィールドに書き込まれます。
タイプなし
/TemplateName
タイプなしテンプレートのルート・エレメントの名前。
この値は、「Rootelement」フィールドに書き込まれます。この値は、変更しないでください。デフォルト値が変更されると、デフォルト値を予想しているタグ(たとえば、
style
属性がelement
に設定されているrender:calltemplate
タグなど)が失敗します。ノート: このテンプレートは任意のアセット・タイプに適用できるため、
AssetTypeName
は省略されています。スラッシュは、テンプレートをタイプなしとして識別するために付けられます。この表の1行目のノートを参照してください。タイプなし
Typeless
/TemplateName
.xml_ or_jsp_or_html
タイプなしテンプレートのエレメント・ファイルへのパス。
この値は、ファイル・タイプを選択したときに、「エレメントのストレージ・パス/ファイル名」に書き込まれます。
タイプなし
SiteName/TemplateName
テンプレートがタイプなしの場合にレンダリングされるページの名前。
この値は、「SiteCatalog Pagename」フィールドに書き込まれます。
ノート: このテンプレートは任意のアセット・タイプに適用できるため、
AssetTypeName/
は省略されています。
18.4.1.2 タイプ付きまたはタイプなしとしてのテンプレートの指定
テンプレート・アセットを作成する前に、それをタイプ付きまたはタイプなしのいずれにするかを決定します。テンプレートが保存されると、そのタイプ付きまたはタイプなしのステータスは変更できなくなります。
18.4.1.3 テンプレート共有とサイト・レプリケーション
テンプレートを作成する前に、テンプレートおよび使用中のサイトの使用方法を決定します。この決定によって、テンプレートのエレメント・ロジックをコーディングする方法が決まります(「テンプレートのエレメントの構成」)。
テンプレート・アセットを共有したり、現在のサイトをレプリケート可能にするには、テンプレートのエレメント・ロジックがアセット、アセット・タイプ、属性名またはテンプレート名を直接参照していないことを確認してください。かわりに、それらを間接的に参照する必要があります。「マップ」画面(「マップの構成」)を使用して、各値に別名(キー)を割り当ててから、その別名をテンプレート内でハードコード化します。render:lookup
タグを使用して、実行時に別名から実際値を取得します。
render:lookup
タグは、実行中にマップを参照してキーを検索し、エレメント・ロジックで使用するアセット固有の情報を返します。この動的検索によってテンプレート・アセット(エレメント・ロジックのみではありません)は、安全なレプリケーションとテンプレートの共有を有効にしながら、アセット・データを直接参照できます。
たとえば、テンプレートの名前がFSIILayout
であり、このテンプレートが含まれているサイトにFSII
というサイト接頭辞が割り当てられているとします。新しいサイトの接頭辞がNew
になるようにサイトがレプリケートされ、FSIILayout
テンプレートがコピーされると、テンプレートのコピーにはNewLayout
という名前が付けられます。NewLayoutテンプレートをハードコード化された名前(FSIILayout
)で参照すると、その参照はテンプレートの実行時に失敗します。かわりに、テンプレート名が検索されます。
<%-- Look up the name of the layout template --%> <render:lookup site='<%=ics.GetVar("site")%>' varname="LayoutVar" key="Layout" tid='<%=ics.GetVar("tid")%>'/> <%-- Look up the name of the wrapper page's site entry. Note we want the asset name only, so we must specify the match filter. --%> <render:lookup site='<%=ics.GetVar("site")%>' varname="WrapperVar" key="Wrapper" tid='<%=ics.GetVar("tid")%>' match=":x"/>
エレメント・ロジックをコーディングするには、そのデザインと、参照するマップを明確に理解する必要があります。次の内容を決定する必要があります。
-
作成するキーと各キーに割り当てる名前。
-
検索の対象となるアセット情報のタイプ:
-
テンプレート名
-
アセット・タイプ
-
アセット(タイプ:名前)
-
アセット(タイプ:ID)
-
-
各キーの値。
-
マップが適用されるサイト。
render:lookup
タグの使用方法に関する追加情報は、『Oracle WebCenter Sitesリファレンス・タグ・リファレンス』を参照してください。
18.4.2 テンプレート・アセットの作成
特定のアセット・タイプまたは任意のアセット・タイプのテンプレート・アセットを作成できます。
ノート:
テンプレート・アセットの作成手順を開始する前に、「テンプレート・アセットの作成を開始する前に」を確認してください。
テンプレート・アセットを作成するには、次のタスクを実行する必要があります。
18.4.2.2 テンプレート・アセットの名前付けと記述
「名前」画面は、タイプ付きまたはタイプなしとしてのテンプレートの識別、カテゴリへのテンプレートの割当て、テンプレートに渡される可能性のある引数の指定、検索ルーチンへのテンプレートの配置に使用できるキーワードの名前付けに使用します。
テンプレート・アセットが保存されると、「名前」画面で指定するフィールド値(適切な引数を除く)が、次の手順に示すように、Template表に書き込まれます。
ノート:
テンプレートの作成中はいつでもテンプレートを保存できます。WebCenter Sitesにより、テンプレートの「調査」フォームが表示されます。「テンプレート」フォームに戻るには、「編集」リンクをクリックします。
「名前」画面で、次のステップの説明に従ってフィールドに値を入力します。
-
(必須)。「名前」フィールドに、説明的なテンプレートの名前を入力します。この名前は、テンプレートと、そのテンプレートでレンダリングするアセットのタイプに固有なものにします。テンプレートの機能または目的を反映する名前を選択することをお薦めします。「テンプレート・アセットの作成を開始する前に」のガイドラインを参照してください
有効なエントリ
-
最大64個の英数字(先頭は文字にする必要があります)
-
アンダースコア(_)
-
ハイフン(-)
-
空白(テンプレートのSiteCatalogページ名で使用されるときに、アンダースコアに変換されます)
-
-
「説明」フィールドに、テンプレートの簡単な説明を入力します。最大128文字まで使用できます。
-
ノートが必要なソースからテンプレートを派生している場合は、「ソース」フィールドのドロップダウン・リストからオプションを選択します。
-
テンプレート・アセットを特定のカテゴリに配置する場合は、「カテゴリ」フィールドのドロップダウン・リストからオプションを選択します。
-
(必須)。「対象アセット・タイプ」フィールドで、テンプレートをタイプ付きまたはタイプなしとして特定します。
-
タイプなしテンプレートを作成している場合(たとえば、タイプ付きテンプレートにディスパッチする場合)は、「各種アセット・タイプに適用可能」を選択して、ステップ7に進みます。
-
タイプ付きテンプレート(特定のタイプのアセットをレンダリングするもの)を作成している場合は、アセット・タイプを選択します。たとえば、記事アセットをレンダリングするためにテンプレートを作成している場合は、ドロップダウン・リストから「記事」を選択します。
-
-
(タイプ付きテンプレートに必須)。「サブタイプに適用」フィールドのメニューから、適切なサブタイプを選択します。
ノート:
タイプ付きテンプレートは、直前のフィールド(「対象アセット・タイプ」)で選択したアセット・タイプに含まれる特定のサブタイプにのみ使用することをお薦めします。
-
「適切な引数」フィールドで、次の手順を実行します。
-
テンプレートに渡される可能性のある引数を入力して、「引数の追加」をクリックします。
-
表示されたフィールドで、次の手順を実行します。
-
引数がオプションか、または必須かを指定します。
-
引数の説明を提供します(作成する引数の目的を把握しやすいようにするため)。
-
引数に対して適切な値(説明を含む)を指定します。
-
(「引数の追加」ボタンと「適切な値の追加」ボタンをクリックすることで、必要な数の引数と適切な値を指定できます。)
-
-
「キーワード」フィールドに、将来このテンプレートを検索するときに「詳細検索」フォームで検索基準として使用できるようにするキーワードを入力します。
-
「続行」をクリックして、「エレメント」画面を開きます。
ノート:
テンプレート・アセットを保存するように選択した場合は、WebCenter Sitesによって次の2つのフィールドが追加されます。
-
「ステータス」フィールド: このフィールドには、テンプレート・アセットの編集ステータス(「作成済」、「編集済」など)が事前に移入されています。このフィールドでは、テンプレート・アセットがワークフローに関連付けられているかどうかに関係なく、テンプレート・アセットで最後に実行された操作が特定されます。
-
「ID」フィールド: このフィールドには、WebCenter Sitesが生成する一意の数値が事前に移入されていて、テンプレート・アセットにIDとして割り当てられます。(「ID」フィールドはtid変数に相当します。)
-
18.4.2.3 テンプレートのエレメントの構成
「エレメント」画面は、テンプレートのエレメントの作成、エレメント・ファイル・タイプ(XML、JSP、またはHTML)の定義、エレメント・ロジックの提供、およびエレメントの名前付けに使用します。たとえば:
-
「テンプレート・エレメントの作成」フィールドには、エレメント・ロジック用に選択可能なファイル・タイプXML、JSP、HTMLが表示され、このフィールドは、「エレメント・ロジック」フィールドに標準スタブ・コード(作成するすべてのエレメントに含める必要がある)をシードする際に使用します。
「テンプレート・エレメントの作成」フィールドを使用して、たとえば.jspファイルを作成すると、WebCenter Sitesは、デフォルトでJSPの
taglib
文とRENDER.LOGDEP
タグを「エレメント・ロジック」フィールドに追加して、このテンプレート・アセットとこのエレメントからレンダリングされるページ間の構成の依存性のログをWebCenter Sitesで記録できるようにします。その他のファイル・タイプの場合は、WebCenter Sitesによって、それぞれのファイル・タイプに固有のコードが追加されます。独自のコードを「エレメント・ロジック」フィールドに追加します。「依存性について」を参照してください。エレメント・ロジックのコーディングについては、「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。
-
「エレメントのストレージ・パス/ファイル名」フィールドでは、エレメント・ロジックを保持するファイルの名前を付けて、そのファイルへのパスを指定します。
テンプレート・アセットが保存されると、「エレメント」画面のフィールド値は、ElementCatalog
表の(エレメントを表す)行に書き込まれます。
ノート:
既存エレメントの選択について
次のステップでは、テンプレート・アセットのエレメントを新規作成しているものとします。ただし、旧リリースのWebCenter Sitesからアセットを移行していて、既存エレメントを再使用する場合は、WebCenter Sitesで既存エレメントを検出し、このテンプレート・アセットと関連付けられるようにするために、エレメントを正確に識別する必要があります。
既存のエレメントを選択するには、次を実行します。
-
「ElementCatalogの説明」フィールドに、エレメントの説明を入力します。
-
「エレメントのストレージ・パス/ファイル名」フィールドに、表18-2のネーミング規則に従った値を入力します。
-
「エレメント・パラメータ」フィールドで、エレメントに渡される可能性のある変数または引数を指定します。「テンプレートのエレメントの構成」のステップ7を参照してください。
-
テンプレート・アセットを保存し、再度開きます。
WebCenter Sitesは、指定されたエレメントの存在をチェックします。
エレメントに適切な名前が付けられていると、WebCenter Sitesはエレメントを認識して、そのコードを「エレメント・ロジック」フィールドに表示します。
指定されたエレメントが存在しない場合(または、名前が不適切な場合)は、WebCenter Sitesでは何も行われません。テンプレート・アセットを調査または編集するときに、フォームにルート・エレメントがありませんというメッセージがWebCenter Sitesに表示されます。エレメントをコーディングして適切な名前を付けると、WebCenter Sitesでただちに検出され、テンプレートに関連付けられます。
「エレメント」画面で、このステップの説明に従ってフィールドに入力します。
-
「使用」フィールドで、この表をガイドラインに使用して、このテンプレートの所定の用途を指定します。
表18-3 使用オプション
使用オプション 説明 使用は未指定
HTMLを生成するテンプレートを指定します。テンプレートが「本文」テンプレート(この表の2行目を参照)であるか、または「URL」テンプレート(この表の3行目を参照)であるかは不明になります。
エレメントをHTMLページ内で使用
HTMLページの
<BODY>...</BODY>
タグ内で使用するテンプレートを指定します。このオプションにより、テンプレートは「本文」テンプレートと見なされます。エレメントをレイアウトとして使用
完全なHTMLページを生成し、Webモードでのアセットのレンダリングに使用される、レイアウト・テンプレートを指定します。
エレメントでHTMLページ全体を定義し、外部でこれをコール可能
完全なHTMLページを生成し、URLで使用可能なテンプレートを指定します。このオプションにより、テンプレートは「URL」テンプレートと見なされます。
エレメントを未加工のデータとしてストリーミング
HTML以外の不明タグの未加工のバイナリ・データを生成するテンプレートを指定します。
-
「呼び出されたテンプレート」フィールドで、このテンプレートがコールするテンプレートを選択します(存在する場合)。
-
「テンプレート・エレメントの作成」フィールドで、次のいずれかを実行します。
-
.xmlファイルを作成する場合は、「XML」をクリックします。貼り付けられるコードは
OpenMarket\Xcelerate\AssetType\Template\modelXML.xml
エレメントから派生し、カスタム・デフォルト・ロジックを使用するように変更できます。 -
.jspファイルを作成する場合は、「JSP」をクリックします。貼り付けられるコードは
OpenMarket\Xcelerate\AssetType\Template\modelJSP.xml
エレメントから派生し、カスタム・デフォルト・ロジックを使用するように変更できます。 -
.htmlファイルを作成する場合は、「HTML」をクリックします。貼り付けられるコードは
OpenMarket\Xcelerate\AssetType\Template\modelHTML.xml
エレメントから派生し、カスタム・デフォルト・ロジックを使用するように変更できます。
WebCenter Sitesによって次のフィールドが移入されます。
-
ヘッダーとその他の自動生成コードを持つ「エレメント・ロジック」フィールド。
たとえば、「JSP」ボタンをクリックすると、WebCenter SitesのJSPタグ・ライブラリごとのタグ・ライブラリ・ディレクティブがWebCenter Sitesによって入力されます。また、WebCenter Sitesにより、テンプレート・アセットと、そのテンプレートによってレンダリングされるページまたはページレット間の構成の依存性をマークするために、
RENDER.LOGDEP
(render:logdep
)タグが設定されます。 -
「エレメントのストレージ・パス/ファイル名」フィールド。このフィールドの値は変更しないでください。
このフィールドには、エレメント・ファイルへのパスが先行するエレメント・ファイル名が表示されます。ネーミング規則は、表18-2に記載されています。
テンプレート・アセットを保存すると、「エレメントのストレージ・パス/ファイル名」フィールドの値は、
ElementCatalog
表のurl列のエレメントを表す行に書き込まれます。
-
-
「Rootelement」フィールドには、表18-2に示す値が事前に移入されています。このフィールドの値は変更しないでください。デフォルト値が変更されると、デフォルト値を予想しているタグ(たとえば、
style
属性がelement
に設定されているrender:calltemplate
タグなど)が失敗します。 -
(オプション)。「ElementCatalogの説明」フィールドに、エレメントの説明を入力します。テンプレート・アセットを保存すると、このフィールドの情報はElementCatalog表のエレメント・エントリに対するdescription列に書き込まれます。
-
(必須)。「エレメント・ロジック」フィールドに、エレメントをコーディングします。2つの
cs:ftcs
タグの間にすべてのコードを入力します。JSPを使用している場合は、使用中のタグ・ライブラリを記述する
taglib
ディレクティブからコメントを削除します。テンプレートおよびCSElementのエレメントのコーディングを参照してください。ノート:
テンプレート共有またはレプリケート可能サイトの確保
テンプレート・アセットを共有したり、現在のサイトをレプリケート可能にするには、テンプレートのエレメント・ロジックがアセット、アセット・タイプ、属性名またはテンプレート名を直接参照していないことを確認してください。かわりに、「テンプレート共有とサイト・レプリケーション」で説明するように、render:lookupタグと所定のキーを使用します。「マップの構成」では、同じキーを、エレメント・ロジックで使用するためにアクセスする必要のあるアセット情報にマップすることになります。
テンプレートのコール
テンプレートは常に
render:calltemplate
タグでコールするようにし、render:callelement
タグまたはrender:satellitepage
は絶対に使用しないでください。 -
「エレメント・パラメータ」フィールドと「追加エレメント・パラメータ」フィールドは、エレメントに渡される可能性のある変数または引数を入力するために使用します(それらの変数や引数がサイト・デザインで必要になる場合)。
-
「エレメント・パラメータ」フィールドは、ElementCatalogのresdetails1列に相当します。テンプレートを保存すると、WebCenter Sitesにより、テンプレートID (
tid
)がこのフィールド(つまり、resdetails1
列)に書き込まれます。 -
「追加エレメント・パラメータ」フィールドは、
ElementCatalog
のresdetails2列に相当します。WebCenter Sitesでは、このフィールドは空白のままになります。
サイト・デザインにより、テンプレート・エレメントで
tid
に加えて変数も使用する必要がある場合は、その変数を前述のフィールドのいずれか1つに入力します。これは、name=value
のペアとして入力します。複数の引数は、アンパサンド(&)文字で区切ります。たとえば:MyArgument=value1&YourArgument=value2
各フィールドは255個までの文字をサポートします。
変数の使用の詳細は、「タグ・テクノロジを使用したWebサイト開発」を参照してください。
-
-
「続行」をクリックして、「SiteEntry」画面を開きます。
18.4.2.4 SiteEntryの構成
「SiteEntry」画面は、このテンプレート・アセットによってレンダリングされるページのキャッシングおよびページレット・パラメータの指定に使用します。
テンプレート・アセットが保存されると、「SiteEntry」画面で指定したフィールド値が、次の手順に示すように、SiteCatalog
表に書き込まれます。
「SiteEntry」画面(次の図を参照)で、次のステップの説明に従ってフィールドに入力します。
-
「キャッシュ基準」フィールドで、次の手順を実行します。
-
WebCenter Sitesでは、次の予約変数がキャッシュ基準として指定されています。
c,cid,context,p,rendermode,site,sitepfx,ft_ss
ノート:
予約されたキャッシュ基準変数は、削除しないでください。予約変数の詳細は、「タグ・テクノロジを使用したWebサイト開発」を参照してください。
-
独自の変数をキャッシュ基準として含める必要がある場合は(たとえば、
foo
)、その変数を既存のリストに追加します。たとえば:c,cid,context,foo,p,rendermode,site,sitepfx,ft_ss
ノート:
「キャッシュ基準」フィールドでは、「SiteCatalog Pagename」と組み合せてページレットを一意に定義する変数を指定します。変数は、キャッシュされたページの識別に使用されます。つまり、変数はページのキャッシュ・キーで使用されることになります。
キャッシュ基準として指定された変数のみが、キャッシュされたページのキャッシュ・キーを作成するためにキャッシング・システムで使用されます。したがって、サイト・デザインにより、予約変数に加えてページ・レベルの変数を使用する必要がある場合は、このステップで示すように、必ずこれらの変数をキャッシュ基準変数として指定してください。
-
-
CKEditorの「追加のパラメータ」セクションを使用可能にする場合は、次のステップを実行します。
-
テンプレートの「キャッシュ基準」に追加した「追加のパラメータ」を、テンプレートの「適切な引数」セクションに移動します。
-
パラメータを「適切な引数」セクションに移動すると、そのパラメータには接頭辞
fp:
を付ける必要がなくなるため、パラメータ名は接頭辞なしで使用します。たとえば、
fp:imageHeight
を使用するのではなく、単にimageHeight
を使用します。 -
これらのパラメータは、そのパラメータを含むテンプレートで使用できるようになり、
<ics:getvar name="imageHeight"/>
などの標準的な方法で取得できるようになります。
「その他のパラメータ」セクションには、イメージ・ディメンションなどのカスタム・パラメータをテンプレートに渡す方法が用意されています。このようなその他のパラメータは、「アセット・リンクを含める」および「アセット・リンクの追加」の各ダイアログ・ボックスで使用できるようになります。パラメータ名(この例では、
imageHeight
とimageWidth
)は、「名前」メニューのオプションとして、CKEditorの「その他のパラメータ」セクションに表示されます。「値」フィールドでは、選択したパラメータの値をユーザーが指定できます。テンプレート・アセットが保存されると、キャッシュ基準の変数が
SiteCatalog
表のpagecriteria
列に書き込まれます。 -
-
(オプション)。「アクセス制御リスト」フィールドは、
SiteCatalog
表のacl
列に相当します。特定の訪問者のみがこのページをリクエストできるようにするには、ページを表示するために訪問者が必要とするACLを選択します。 -
「Rootelement」フィールドには、表18-2に示す値が事前に移入されています。
-
「キャッシュ規則」フィールドは、
SiteCatalog
表のcscacheinfo
列およびsscacheinfo
列に相当します。次のいずれかの操作を行います。-
このテンプレートのエレメントでレンダリングするページレットをキャッシュする必要がある場合は、「キャッシュ済」を選択します。ページレットは、永久にキャッシュ済に設定されます。キャッシュは、CacheManagerのアクティブなキャッシュ管理ロジックによってフラッシュされます。このオプションにより、WebCenter SitesとSatellite Server双方のキャッシュ条件が設定されます。
-
このテンプレートのエレメントでレンダリングするページレットのキャッシングをオフにするには、「未キャッシュ」を選択します。このオプションにより、WebCenter SitesとSatellite Server双方のキャッシュ条件が設定されます。
-
「詳細」を選択して、WebCenter SitesとSatellite Serverに対して個別にキャッシュ規則を設定します。「詳細」を選択すると、WebCenter Sitesのキャッシュ用と、Satellite Serverキャッシュ用の2つの追加フィールドが表示されます。
ノート:
CacheManagerは、WebCenter SitesおよびSatellite Serverの両方でキャッシュされたページのライフサイクルを管理するように作成されています。これは、永久的にキャッシュされるように設定されたページで使用できます。キャッシュがSatellite Serverで失効する前にWebCenter Sitesで失効した場合、CacheManagerはキャッシュを適切にフラッシュできなくなり、無効なページがキャッシュから使用される場合があります。上級ユーザーのみが、これらの設定を手動で構成することをお薦めします。
ページ・キャッシュ設定の詳細は、「ページのデザインとキャッシングの理解」を参照してください。
-
-
「SiteCatalog Pagename」フィールド。このフィールドの値は変更しないでください。このページには、ページ・エントリの名前が事前に移入されています。ページのネーミング規則は、表18-2に記載されています。
-
「ページレット・パラメータ」セクションでは、テンプレートが実行されるたびにテンプレートに渡されるページレット・パラメータ(名前と値のペア)を入力できます。「ページレット・パラメータ」セクションでは、合計510文字をサポートしています。
ノート:
「ページレット・パラメータ」セクションには、次のデフォルトのページレット・パラメータ(ステップ1で指定されている予約変数)が事前に移入されています。これらの値は次のとおりです。
site, sitepfx, rendermode
デフォルトのパラメータ値は、テンプレートがコールされたときに明示的に指定された場合は、上書きされます。
-
このステップでページレット・パラメータを指定する場合は、必ずその名前をキャッシュ基準の変数としてリストに追加します(ステップ1を参照)。
-
独自のキャッシュ基準の変数を(ステップ1で)指定した場合、その変数は、「ページ・パラメータ」セクションのリストに表示されます。これらのパラメータに対して値を指定しない場合、パラメータはWebCenter Sitesによって無視されます。
-
このページ・エントリの許可されたHTTPメソッドを制御する場合、名前
methods
およびカンマ区切りのHTTPメソッドを使用した値を含むページレット・パラメータを追加します。たとえば、methods=GET,OPTIONS
です。
テンプレート・アセットが保存されると、ページレット・パラメータとして指定した名前と値のペアは、
SiteCatalog
表のresargs1
列またはresargs2
列のいずれかに書き込まれます。書込み先の列は重要ではないため、自動的に管理されます。(各列では、最大255文字をサポートしています。) -
-
「続行」をクリックして、「サムネイル」画面を開きます。
-
「続行」をクリックして、「マップ」画面を開きます。
ノート:
テンプレート・アセットの作成が完了してテンプレート・アセットを保存した後で、「サムネイル」画面に戻ります。
18.4.2.5 マップの構成
マッピングの目的は、サイト・レプリケーションとテンプレート・アセットの共有を有効にすることです。
ノート:
レプリケート不能のサイトを設計している場合は、このステップをスキップしてください。
「マップ」フォームを使用して、次の操作を行います。
-
テンプレートのエレメント・ロジックの
render:lookup
タグにある各キーを、エレメント・ロジックで使用される値にマップします。 -
各キーの値を、エレメント・ロジックで使用する必要のある情報(アセット、アセット・タイプ、属性名、またはテンプレート名)にマップします。
テンプレート・アセットが保存されると、マップはTemplate_Map
表に書き込まれます。
「マップ」フォームで、このステップの説明に従って各フィールドに値を入力します。
18.4.2.6 (オプション)サムネイルの作成
サムネイルはグラフィック表示されるため、テンプレート・ユーザーがテンプレート・アセットでページをレイアウトしたり、コンテンツをレンダリングする方法を決定する際に役立ちます。作成したサムネイルは、テンプレートの「調査」フォームに表示されます。
テンプレート・アセットが保存されると、サムネイル・ファイルの名前がTemplate_Thumb
表のurlthumbnail
列に書き込まれます。
サムネイルを作成するには、次のステップを実行します。
-
テンプレート・アセットをプレビューします。
-
プレビューをイメージ・ファイルとして取得して、ファイル・システムに保存します。
-
「テンプレート」フォームを開いて、画面上部の「サムネイル」をクリックします。
テンプレートの「サムネイル」フォームが開きます(次の図を参照)。
-
「サムネイル・イメージ」フィールドに、ステップ2で作成したイメージ・ファイルへのパスを入力(または参照)します。
-
サムネイルを「調査」フォームに表示するには:
-
イメージを「サムネイル」画面で操作するには:
-
「調査」フォームの上部にスクロールして、「編集」リンクをクリックします。
-
「テンプレート」フォームの上部で、「サムネイル」をクリックします。
-
-
サムネイル上でコピー、送信、その他の操作を実行するには、サムネイルを右クリックしてオプションを選択します。
-
サムネイルを削除するには、「サムネイル・イメージを削除しますか。」を選択して、「変更の保存」をクリックします。
WebCenter Sitesにより、テンプレートの「調査」フォームが表示されます。
18.4.2.7 テンプレートの調査
テンプレート・アセットの作成を終了して、「保存」をクリックすると、WebCenter Sitesは次の操作を行います。
-
データベース表に書き込みます。
-
Template表にテンプレート・エントリを作成します。
-
AssetTypeName/TemplateName
ネーミング規則を使用して、ElementCatalog
表にエレメント・エントリを作成します。エレメントが(Oracle WebCenter Sites Explorerではなく)テンプレート・フォームにコーディングされた場合は、WebCenter Sitesによってエレメント・ファイルも作成されます。 -
テンプレートが属するサイトの名前を判断し、
SiteName/AssetTypeName/TemplateName
ネーミング規則を使用してSiteCatalog
表にページ・エントリを作成します。 -
新しい
SiteCatalog
ページ・エントリのルート・エレメントの名前をElementCatalog
エントリの名前に設定します。 -
サムネイル・エントリを
Template_Thumb
表に作成します。 -
マップ・エントリを
Template_Map
表に作成します。
-
-
「調査」フォームを表示します(このフォームには、次の種類の情報が表示されます)。
-
「名前」画面の情報(すべてのタイプのアセットに関するアセット名、説明、ステータス、ソース、IDなどの標準的な概要情報)。
-
「エレメント」画面の情報(ルート・エレメント、エレメント・ロジック、エレメント・ファイルへのパス、および
tid
)。 -
「SiteEntry」画面の情報(SiteCatalogページ名、ページレット・パラメータ、キャッシュ基準、およびこのページを表示する権限を持つユーザーのACL)。
-
「サムネイル」画面の情報(サムネイル・イメージが選択されている場合はそのイメージ)。
-
「マップ」画面の情報(サイトがレプリケート可能、またはテンプレートが共有可能である場合は、キー-値-アセット情報のマップ)。
-
テンプレート・アセットを共有している場合、「調査」フォームには、このテンプレート・アセットに対する
SiteCatalog
の追加ページ・エントリがすべて一覧表示されます(テンプレートを共有するサイトごとに1つのページ・エントリが存在します)。
-
18.5 CSElementアセットの作成
CSElementアセットの作成時には、アセットの作成、アセットに対するエレメントのコーディング、およびキー-値-アセット情報マップ(テンプレート・アセットのマップと同様)の構成という3つの操作を行います。
CSElementアセットを作成するには、まず、「CSElementの作成を開始する前に」」を完了して、CSElementの保存後には変更できない(または、変更してはいけない) CSElementプロパティの設定方法と、CSElementのエレメント・ロジックのコーディング方法を決定する必要があります。次に、「テンプレート・アセットの作成」に進み、Adminインタフェースを使用して次のステップを完了します。
-
(ファイル・タイプおよびロジックを指定する場合。)
-
(CSElement共有とサイト・レプリケーションをサポートする場合。)
-
(CSElementをSiteEntryアセットのルート・エレメントとして使用する場合。「SiteEntryアセットの作成」を参照。)
「CSElement」フォームに入力する情報は、次の手順で示すように、CSElementアセットの保存時にデータベース表に書き込まれます。
ノート:
CSElementアセットをデータベース表に直接作成しないでください。直接作成すると複数の表への書込みが必要になり、その結果、依存性の追跡が不正確になる可能性があります。そのかわりに、「CSElement」フォームと、この項に示した手順を使用して、CSElementアセットを作成します。CSElementロジックのコーディングについては、「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。
トピック:
18.5.1 CSElementの作成を開始する前に
CSElementアセットの作成を開始する前に、次のいつくかの点を決定してください。
-
CSElementアセットの名前。
-
CSElementを共有可能にするかどうか、またサイトのレプリケートを可能にするかどうか。これらの考慮事項により、CSElementのエレメント・ロジックのコーディング方法を決定します。
-
CSElementのエレメント・ロジックのコーディングを、「CSElement」フォームではなくOracle WebCenter Sites Explorerで実行するかどうか。この方法は、「Oracle WebCenter Sites Explorerの使用によるエレメント・ロジックの作成と編集」で概説している理由によりお薦めできません。
18.5.1.1 CSElementの名前付け
-
CSElementアセットが保存されると、その名前は変更できなくなります。
-
CSElementロジック・ファイルは、CSElementの名前を採用します(次のファイル拡張子が続きます)。
CSElementName.xml_or_jsp_or_html
CSElementロジック・ファイルの名前は変更しないでください。
18.5.1.2 CSElement共有とサイト・レプリケーション
CSElementを作成する前に、CSElementの共有と使用中のサイトのレプリケートが必要かどうかを決定します。必要な場合、CSElementロジックは同じ方法でコーディングされます。共有とレプリケーションが必要でない場合は、キー-値のマッピングを省略してください(「マップの構成」を参照)。
CSElement共有とサイト・レプリケーションをサポートするエレメント・ロジックのコーディングの詳細は、「テンプレート共有とサイト・レプリケーション」を参照してください。この情報は、例外なくCSElementアセットに適用できます。
18.5.2 CSElementアセットの作成
CSElementアセットはWebCenter Sitesインタフェースで作成できます。
ノート:
この項の手順を開始する前に、「CSElementの作成を開始する前に」を参照して、CSElementアセットの作成についての情報を確認してください。
18.5.2.2 CSElementアセットの名前付けと記述
「名前」画面は、CSElementに関するメタデータの定義に使用します。このメタデータにより、開発者はCSElementの動作と、CSElementが機能の実行に使用する引数を識別できます。
ノート:
CSElementの作成中はいつでもCSElementを保存できます。WebCenter Sitesにより、CSElementの「調査」フォームが表示されます。「CSElement」フォームに戻るには、「編集」リンクをクリックします。
CSElementの名前付けと説明を行うには、「名前」画面で、次のステップの説明に従ってフィールドに入力します。
-
(必須)。「名前」フィールドに、CSElementアセットの説明的な一意の名前を入力します。CSElementの動作を説明する名前を使用するのが最適です。
有効なエントリ
-
最大64個の英数字(先頭は文字にする必要があります)
-
アンダースコア(_)
-
ハイフン(-)
-
空白(テンプレートのSiteCatalogページ名で使用されるときに、アンダースコアに変換されます)
ノート:
CSElementアセットの名前は、SiteEntryアセットの作成を開始する前にのガイドラインを使用して決定してください。
-
-
「説明」フィールドに、CSElementアセットの簡単な説明を入力します。128個までの文字を入力できます。
-
「適切な引数」フィールドで、次の手順を実行します。
-
CSElementに渡される可能性のある引数を入力して、「引数の追加」をクリックします。
-
表示されたフィールドで、次の手順を実行します。
-
引数がオプションか、または必須かを指定します。
-
引数の説明を提供します(作成する引数の目的を把握しやすいようにするため)。
-
引数に対して適切な値(説明を含む)を指定します。
-
(「引数の追加」ボタンと「適切な値の追加」ボタンをクリックすることで、必要な数の引数と適切な値を指定できます。)
-
-
「続行」をクリックして、「エレメント」画面を開きます。
18.5.2.3 エレメントの構成
「エレメント」フォーム(図18-9)は、CSElementのエレメントの作成、エレメント・ファイル・タイプ(XML、JSP、またはHTML)の定義、エレメント・ロジックの提供、およびエレメントの名前付けに使用します。たとえば:
-
「エレメントの作成」フィールドには、エレメント・ロジック用に選択可能なファイル・タイプXML、JSP、HTMLが表示されま、このフィールドは、「エレメント・ロジック」フィールドに標準スタブ・コード(作成するすべてのエレメントに含める必要がある)をシードする際に使用します。
-
「エレメントの作成」フィールドを使用して、たとえば.jspファイルを作成すると、WebCenter Sitesは、デフォルトでJSPの
taglib
文とrender.logdep
タグを「エレメント・ロジック」フィールドに追加して、このCSElementアセットと、このエレメントからレンダリングされるページ間の構成の依存性をログ記録できるようにします。その他のファイル・タイプの場合は、WebCenter Sitesによって、それぞれのファイル・タイプに固有のコードが追加されます。独自のコードを「エレメント・ロジック」フィールドに追加します。依存性の詳細は、「依存性について」を参照してください。エレメント・ロジックのコーディングについては、「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。
-
「エレメントのストレージ・パス/ファイル名」フィールドでは、エレメント・ロジックを保持するファイルの名前を付けて、そのファイルへのパスを指定します。
CSElementが保存されると、「エレメント」画面のフィールド値は、ElementCatalog
表の(エレメントを表す)行に書き込まれます。
ノート:
既存エレメントの選択について
次のステップでは、CSElementアセットのエレメントを新規作成しているものとします。ただし、旧リリースのWebCenter Sitesからアセットを移行していて、既存エレメントを再使用する場合は、WebCenter Sitesで既存エレメントを検出し、このCSElementアセットと関連付けられるようにするために、エレメントを正確に識別する必要があります。
既存のエレメントを選択するには:
-
(オプション)。「ElementCatalogの説明」フィールドに、エレメントの説明を入力します。
-
「エレメントのストレージ・パス/ファイル名」フィールドに、「CSElementの名前付け」の規則に従った値を入力します。
-
サイト・デザインで必要な場合は、各エレメント・パラメータ・フィールドに適切な引数を入力します。このステップについては、ステップ5を参照してください。
-
CSElementアセットを保存し、再度開きます。
WebCenter Sitesは、正しい名前のエレメントの存在をチェックします。
エレメントに適切な名前が付けられていると、WebCenter Sitesはエレメントを認識して、そのコードを「エレメント・ロジック」フィールドに表示します。
指定されたエレメントが存在しない場合(または、名前が不適切な場合)は、WebCenter Sitesでは何も行われません。CSElementアセットを調査または編集するときに、フォームにルート・エレメントがありませんというメッセージがWebCenter Sitesによって表示されます。エレメントをコーディングして適切な名前を付けると、WebCenter Sitesでただちに検出され、CSElementアセットに関連付けられます。
新しいエレメントを構成するには、「エレメント」フォームで、次のステップの説明に従って各フィールドに値を入力します。
18.5.2.4 マップの構成
マッピングの目的は、サイト・レプリケーションとCSElementアセットの共有を有効化することです。マッピングの基本コンセプトは、テンプレート・アセットの場合とまったく同じです。これについては、「テンプレート共有とサイト・レプリケーション」で説明しています。
ノート:
レプリケート不能のサイト、または共有されないCSElementアセットを設計している場合は、この項をスキップしてください。
「マップ」フォームを使用して、次の操作を行います。
-
エレメント・ロジックの
render:lookup
タグにある各キーを、エレメント・ロジックで使用する必要のある値にマップします。 -
各キーの値を、エレメント・ロジックで使用する必要のある情報(アセット、アセット・タイプ、属性名、またはテンプレート名)にマップします。
CSElementアセットが保存されると、マップがCSElement_Map
表に書き込まれます。
「マップ」フォームで、このステップの説明に従って各フィールドに値を入力します。
18.5.2.5 CSElementの保存と調査
CSElementアセットの作成が完了したら、「保存」をクリックします。
-
WebCenter Sitesにより、データベース表に書き込まれます。
-
CSElementアセットの行を
CSElement
表に作成します(この行には、前述のステップで指定したCSElementの名前と説明が入力されます)。 -
「エレメント」画面で指定した値を使用して、エレメント・エントリを
ElementCatalog
表に作成します。-
「Rootelement」フィールドの値は、エレメント・ファイルの適切なフォルダへの配置に使用します。
-
「エレメントのストレージ・パス/ファイル名」フィールドの値はurl列に書き込まれます。
-
eid
変数の値は、resdetails1
列のCSElementアセットのIDに設定されます。
-
-
-
このエレメントをコールする任意のページレットのページキャッシュをフラッシュします。
-
「調査」フォーム(図18-12)を表示します。このフォームには、次の種類の情報が表示されます。
-
「名前」画面の情報(すべてのタイプのアセットに関するアセット名、説明、ステータス、IDなどの標準的な概要情報)。
-
「エレメント」画面の情報(ルート・エレメント、エレメント・ロジック、エレメント・ファイルへのパス、およびエレメントのeid)。
-
「マップ」画面の情報(サイトがレプリケート可能、またはテンプレートが共有可能である場合は、キー-値-アセット情報のマップ)。
-
「引数を使用したプレビュー」ボタンをクリックすると、SiteEntryアセットによってレンダリングされたページをプレビューできます。
-
18.6 SiteEntryアセットの作成
SiteEntryアセットを作成するときには、アセットとページ・エントリの両方をSiteCatalog表に作成します。SiteEntryフォームの最初の部分のフィールドでは、ページ・エントリをアセットとして定義します。その他のフィールドでは、WebCenter Sitesページとしてのページ・エントリに関する情報を指定し、この情報はSiteCatalog表に書き込まれます。
SiteEntryアセットを作成するには、最初に「CSElementの作成を開始する前に」を完了して、そのアセットのルート・エレメントを作成し、SiteEntryプロパティ(SiteEntry名など)の設定方法を決定する必要があります。次に、「SiteEntryアセットの作成」に進み、Adminインタフェースを使用して次のステップを完了します。
「SiteEntry」フォームに入力する情報は、次の手順で示すように、CSElementアセットの保存時にデータベース表に書き込まれます。
ノート:
SiteEntryアセットをデータベース表に直接作成しないでください。直接作成すると複数の表への書込みが必要になり、その結果、依存性の追跡が不正確になる可能性があります。そのかわりに、「SiteEntry」フォームと、この項に示した手順を使用して、SiteEntryアセットを作成します。
この項には次のトピックが含まれます:
18.6.1 SiteEntryアセットの作成を開始する前に
SiteEntryアセットの作成を開始する前に、次のステップを実行してください。
-
ページ・エントリのルート・エレメントを次のように作成します。
-
CSElementアセットを作成します。手順は、「CSElementアセットの作成」を参照してください。
(ルート・エレメントは、どのページ・エントリにも必要です。ルート・エレメントは、SiteEntryアセットに対して選択するCSElementのエレメントです。)
-
CSElementを使用可能にします。手順は、「ブックマークへのCSElementの追加」を参照してください。
(SiteEntryアセットに対してCSElementを指定するには、WebCenter Sitesのツリー内にある「ブックマーク」タブからCSElementを選択するか、現在のセッションでCSElementを作成した場合は「履歴」タブからCSElementを選択します)。
-
-
SiteEntryアセットの名前を決定します。同じ名前がページに割り当てられます。SiteEntryアセットを保存した後は、SiteEntry名とページ名を変更できません。
18.6.2 SiteEntryアセットの作成
SiteEntry
アセットはWebCenter Sitesインタフェースで作成できます。
SiteEntry
アセットを作成するには、次のタスクを実行します。
ノート:
この項の手順を開始する前に、「SiteEntryアセットの作成を開始する前に」を参照して、SiteEntryアセットの作成についての情報を確認してください。
18.6.2.2 SiteEntryアセットの作成
「SiteEntry」フォームで、このステップの説明に従って各フィールドに値を入力します。
-
(必須)。「名前」フィールドに、SiteEntryアセットの説明的な名前を入力します。ページの目的を説明する名前を使用するのが最適です。
有効なエントリ
-
最大64個の英数字(先頭は文字にする必要があります)
-
アンダースコア(_)
-
ハイフン(-)
-
空白(テンプレートの
SiteCatalog
ページ名で使用されるときに、アンダースコアに変換されます)。
-
-
「説明」フィールドに、SiteEntryアセットの簡単な説明を入力します。128個までの文字を入力できます。
-
(必須)。「Pagename」フィールドをクリックすると、ページ・エントリの名前とページ・エントリへのパス(たとえば:
FSIICommon/SideNav/ProductView
)が自動的に移入されます。このフィールドの値は変更しないでください。ノート:
このフィールドの値はページ・エントリの名前です(これは、SiteEntryの保存時に
SiteCatalog
表に格納されます)。このSiteEntryアセット(RENDER.SATELLITEPAGE
)をコールするコードを作成する場合は、この名前を使用することをお薦めします。 -
SiteCatalog
表にある既存のページ・エントリの行を使用するには、既存のSiteCatalogエントリにマッピングするオプションを選択します。 -
(必須)。「Rootelement」フィールドで、ツリーから適切なCSElementアセットを選択して、「選択したアイテムの追加」をクリックします。
ノート:
追加できるCSElementは1つのみです。
-
「ラッパー・ページ」フィールドでオプションの1つを選択して、作成中のアセットがラッパー・ページであるかどうかを指定します。「いいえ」オプションを選択すると、「ページレットのみ」フィールドが表示されます。
-
「ページレットのみ」フィールドが表示された場合は、オプションの1つを選択して、作成中のアセットがページレットであるかどうかを指定します。
-
「ページレット・パラメータ」セクションでは、ページまたはページレットが実行されるたびにページまたはページレットに渡されるページレット・パラメータ(名前と値のペア)を入力します。「ページレット・パラメータ」セクションでは、合計510文字をサポートしています。
ノート:
次のことに注意してください。
-
「ページレット・パラメータ」セクションには、デフォルトのパラメータ
site、seid、sitepfx、rendermode
(デフォルトでは、「キャッシュ基準」フィールド(次のステップ)で指定される予約変数)が、それらの値を含めて事前に移入されていますデフォルト値は、ページまたはページレットがコールされたときに明示的に指定された場合は、上書きされます。
-
このステップでページレット・パラメータを指定する場合は、次のステップで必ずその名前をキャッシュ基準変数として一覧表示してください。
-
このページ・エントリの許可されたHTTPメソッドを制御する場合、名前
methods
およびカンマ区切りのHTTPメソッドを使用した値を含むページレット・パラメータを追加します。たとえば、methods=GET,OPTIONS
です。
SiteEntryアセットが保存されると、ページレット・パラメータとして指定した名前と値のペアは、
SiteCatalog
表のresargs1
列またはresargs2
列のいずれかに書き込まれます。書込み先の列は重要ではないため、自動的に管理されます。(各列では、最大255文字をサポートしています。) -
-
「キャッシュ基準」フィールドで、次の手順を実行します。
-
WebCenter Sitesでは、次の予約変数がキャッシュ基準として指定されています。
rendermode,seid,site,sitepfx,ft_ss
ノート:
予約されたキャッシュ基準変数は、削除しないでください。
-
-
独自の変数をキャッシュ基準として含める必要がある場合は(たとえば、foo)、その変数を既存のリストに追加します。たとえば
foo,rendermode,seid,site,sitepfx,ft_ss
ノート:
「キャッシュ基準」フィールドでは、「Pagename」と組み合せてページレットを一意に定義する変数を指定します。変数は、キャッシュされたページの識別に使用されます。つまり、変数はページのキャッシュ・キーで使用されることになります。
キャッシュ基準として指定された変数のみが、キャッシュされたページのキャッシュ・キーを作成するためにキャッシング・システムで使用されます。したがって、サイト・デザインにより、予約変数に加えてページ・レベルの変数を使用する必要がある場合は、このステップで示すように、必ずこれらの変数をキャッシュ基準変数として指定してください。
SiteEntryアセットが保存されると、キャッシュ基準の変数とその値が
SiteCatalog
表のpagecriteria
列に書き込まれます。 -
「キャッシュ規則」フィールドは、
SiteCatalog
表のcscacheinfo
列およびsscacheinfo
列に相当します。次のいずれかの操作を行います。-
このSiteEntryのCSElementでレンダリングするページレットをキャッシュする必要がある場合は、「キャッシュ済」を選択します。ページレットは、永久にキャッシュ済に設定されます。キャッシュは、CacheManagerのアクティブなキャッシュ管理ロジックによってフラッシュされます。このオプションにより、WebCenter SitesとSatellite Server双方のキャッシュ条件が設定されます。
-
このSiteEntryのCSElementでレンダリングするページレットのキャッシングをオフにするには、「未キャッシュ」を選択します。このオプションにより、WebCenter SitesとSatellite Server双方のキャッシュ条件が設定されます。
-
「詳細」を選択して、WebCenter SitesとSatellite Serverに対して個別にキャッシュ規則を設定します。「詳細」を選択すると、WebCenter Sitesのキャッシュ用と、Satellite Serverキャッシュ用の2つの追加フィールドが表示されます。
ノート:
CacheManagerは、WebCenter SitesおよびSatellite Serverの両方でキャッシュされたページのライフサイクルを管理するように作成されています。これは、永久的にキャッシュされるように設定されたページで使用できます。キャッシュがSatellite Serverで失効する前にWebCenter Sitesで失効した場合、CacheManagerはキャッシュを適切にフラッシュできなくなり、無効なページがキャッシュから使用される場合があります。上級ユーザーのみが、これらの設定を手動で構成することをお薦めします。
-
-
「アクセス制御リスト」フィールドは、
SiteCatalog
表のacl
列に相当し、特定の訪問者のみがこのページをリクエストできるようにする場合は、ページを表示するために訪問者が必要とするACLを入力します。
18.6.2.3 SiteEntryアセットの保存と調査
SiteEntryアセットの作成が完了したら、「保存」をクリックします。WebCenter Sitesで次の処理が行われます。
-
データベース表に書き込みます。
-
SiteEntryアセットに対する行を
SiteCatalog
表に作成します。この行には、前述のステップで指定した値が入力されます。
-
-
「調査」フォームを表示します。このフォームには、次の情報が表示されます。
-
標準の概要情報(アセット名、説明、ステータス、ID)と、前述のステップで指定したページ・エントリ基準。
-
「引数を使用したプレビュー」ボタンをクリックすると、SiteEntryアセットによってレンダリングされたページをプレビューできます。
-
18.7 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの管理
テンプレート・アセット、CSElementアセットおよびSiteEntryアセットをプレビュー、編集および削除できます。複数のサイトを開発している場合には、これらのアセットを他のサイトと共有すると、開発時間を節約できます。
次のトピックを参照してください。
18.7.1 デフォルトの承認テンプレートの指定(静的パブリッシュのみ)
ディスクへのエクスポートのパブリッシュ方法を使用するパブリッシュの宛先に対してアセットが承認されると、承認システムはアセットに割り当てられたテンプレートを調査して、その依存性を判別します。
複数のテンプレート(アセットと同じタイプのテキスト専用バージョン、概要バージョン、フル・バージョンなど)を使用してアセットをレンダリングするようにオンライン・サイトを設計する場合は、すべてのテンプレートの承認依存性を代表するセットが含まれているテンプレートを作成し、そのテンプレートをアセット・タイプに対するデフォルトの承認テンプレートとして指定する必要があります。
ディスクへのエクスポート用の承認テンプレートを参照してください。
- 「一般的な管理」ツリーで、「管理」ノードを開き、「パブリッシュ」→「宛先」→「静的」を選択します。
- 静的宛先の名前で、「デフォルトのテンプレートの設定」を選択します。
- 「デフォルト・テンプレート」フォームで、「編集」をクリックします。
- 編集フォームで、アセット・タイプ別にデフォルト・テンプレートを選択します。アセット・タイプのいずれかにサブタイプ機能を使用している場合、そのアセット・タイプのサブタイプ別にデフォルトの承認テンプレートを指定できます。
- 作業の終了後に、「保存」をクリックします。
18.7.2 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの編集
Template
、CSElement
、およびSiteEntry
の各アセットを作成すると、SiteCatalog表またはElementCatalog表(あるいは両方)にもエントリが作成されます。これらのエントリの名前はアセットの名前に基づいており、テンプレート・アセットの場合はアセット・タイプと、テンプレートが属するサイトに基づいています。このようなネーミング依存性があるため、Template
、CSElement
、またはSiteEntry
の各アセットの編集時には次の制約が適用されます。
-
Template
、CSElement
またはSiteEntry
の各アセットを保存した後で名前を変更することはできません。 -
Template
アセットの場合は、テンプレート・アセットの保存後、「アセット・タイプ」フィールドで選択したアセット・タイプは変更できません。 -
Template
アセットまたはCSElement
アセットの場合、ルート・エレメントの名前は変更できません。 -
SiteEntry
アセットの場合、ページ・エントリの名前は変更できません。注意:
Template
を指す1つ以上のサイト・エントリを手動で(Oracle WebCenter Sites Explorerを使用して)作成し、そのTemplate
をAdminインタフェースを通して編集した場合、手動で作成されたサイト・エントリは自動的に削除されます。
アセット編集の基本的な手順は、『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』のスタート・メニューを使用したアセット・タイプへのアクセスの管理に関する項を参照してください。
18.7.3 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの共有
CSElement、テンプレートまたはSiteEntryの各アセットを共有すると、WebCenter Sitesにより、アセットを共有するサイトごとに1つの行がAssetPublication
表に作成されます。
さらに、テンプレート・アセットのみを対象として、WebCenter Sitesは次の操作を行います。
-
アセットを共有するサイトごとに、SiteCatalogページ・エントリを新規作成します。ページ・エントリの名前にサイトの名前が使用されます。新規作成されたすべてのページ・エントリは、同じルート・エレメント、テンプレート・エレメントを指します。
ノート:
これらのページ・エントリのルート・エレメントを変更しないでください。共有テンプレートのページ・エレメントはすべて、同じルート・エレメントを指す必要があります。
-
このルート・エレメントを共有する共有テンプレートのその他のすべてのページ・エントリを、「調査」フォームに一覧表示します。
アセットの共有の基本的な手順は、『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』のブログ・アセットの共有に関する項を参照してください。
ノート:
テンプレートとCSElementを共有可能にするには、それぞれのエレメント・ロジックをアセット・タイプ名、属性名、テンプレート名またはIDでハードコード化しないようにしてください。かわりに、render:lookup
タグを使用して、render:lookup
タグが参照できるマップが作成されているキーをハードコード化して、エレメント・ロジックでの使用にアセット情報を検索できるようにします。
18.7.4 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの削除
WebCenter Sitesでは、別のアセットで使用中のアセットを削除することはできません。ただし、テンプレートまたはCSElementが他のテンプレートまたはCSElementエレメントのコードによって参照されるかどうかはチェックされません。
テンプレート・アセットまたはSiteEntryアセットを削除する前に、そのアセットのページ・エントリに対するページ・コールをすべてエレメントから削除する必要があります。CSElementアセットを削除する前に、そのアセットのルート・エレメントに対するエレメント・コールをすべて他のエレメントから削除する必要があります。
アセットを削除すると、WebCenter Sitesでは次の操作が実行されます。
-
Template表、CSElement表、またはSiteEntry表(アセット・タイプによって異なる)のアセットのname列の値を、そのオブジェクトIDに変更します。
-
Template表のアセットの
status
列の値を、voidを示すVOに変更します。 -
テンプレートの場合、SiteCatalog表のすべてのエントリ(テンプレートが共有されている場合は、テンプレートの共有対象となるサイトの数のページ・エントリが存在する)と、そのテンプレートに対するElementCatalog表エントリを削除します。
-
CSElementの場合、アセットに対する
ElementCatalog
表エントリを削除します。
『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』の索引データの削除に関する項を参照してください。
18.7.5 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットのプレビュー
テンプレート、CSElementおよびSiteEntryの各アセットは他のアセットを書式設定するためのロジックとコードを提供するため、これらのタイプのアセットは、コンテンツ・アセットのプレビューとは別の方法でプレビューします。
18.7.5.1 テンプレートとプレビュー
テンプレートをプレビューするには、アセットをプレビューし、アセットのレンダリングに使用するテンプレートを選択します。WebCenter Sitesはテンプレート内のコードを起動し、アセットをコンテンツとして使用してページをレンダリングします。
18.7.5.2 CSElementアセットとSiteEntryアセットおよびプレビュー
CSElement
アセットとSiteEntry
アセットは直接プレビューします。コールされるエレメントに自己完結型コンテキストが含まれている場合、バナーでは変数や引数が期待されません。単に、「プレビュー」アイコンをクリックできます。ただし、レンダリングされたエレメントの結果が渡される値によって異なる場合には、アセットをプレビューするために、その値をCSElement
フォームまたはSiteEntry
フォームで設定する必要があります。
たとえば、FiscalNews/Query/ShowHotTopics
という名前のCSElement
アセットは、p
変数の値を期待します。値を受け取らなかった場合、p
の値のデフォルト値はHome
ページ・アセットのオブジェクトIDになります。Home
ページ以外のページ・アセットに対してこのCSElement
をプレビューするには、そのCSElement
アセットに対して、「新規」フォームまたは「編集」フォームの引数フィールドを使用してページ・アセットのIDをp
変数の値として渡す必要があります。
CSElement
アセットまたはSiteEntry
アセットをプレビューする際に引数値を指定するには:
- アセットを検索し、「調査」アイコン(文字「i」)をクリックして調査します。
- 「調査」フォームの下までスクロールします。「引数を使用したプレビュー」の横の「プレビュー」をクリックします。
- 引数の値を入力します。各フィールドをダブルクリックして、ドロップダウン・リストから選択する方法で値を選択することもできます。
- 「プレビュー」をクリックします。
- この
SiteEntry
アセットによりレンダリングされたページのプレビューのために表示されるリンクをクリックします。
18.8 Oracle WebCenter Sites Explorerの使用によるエレメント・ロジックの作成と編集
エレメント・ロジックをOracle WebCenter Sites Explorerから直接作成および編集しないことをお薦めします。ただし、どうしてもそうする必要がある場合は、テンプレート・アセットおよびCSElementアセットの有効性を確保してください。
このトピックの情報をノートにとって、指示に従ってください。
ノート:
WebCenter Sitesインタフェース(「テンプレート」フォームまたは「CSElement」フォーム)でテンプレート(CSElement)アセットを作成および保存すると、Oracle WebCenter Sites Explorerの使用時には実行されない、いくつかの重要なステップが実行されます。
-
このインタフェースでは、構成の依存性を設定するスタブ・コードをエレメントにシードし、JSPを使用している場合は、適切なタグ・ライブラリ・ディレクティブにエレメントをドロップします。構成の依存性については、「依存性について」で説明します。
-
WebCenter Sitesインタフェースでテンプレート(CSElement)を保存すると、次の操作が行われます。
-
アセットが変更されたという情報を承認システムが受信するため、アセットの承認ステータスが変更可能になります。
-
最も重要なこととして、CacheManagerサーブレットがキャッシュを更新できます(つまり、WebCenter SitesキャッシュおよびSatellite Serverキャッシュからページとページレットをフラッシュできます)。
-
Oracle WebCenter Sites ExplorerでCSElementアセットを使用するように指定した場合は、eid変数の値を変更したり、誤って削除しないようにしてください。
WebCenter Sitesインタフェースを使用する実際的な理由は、(テンプレート共有およびサイト・レプリケーションをサポートするために)特にアセット情報をマップしている場合に、WebCenter SitesとOracle WebCenter Sites Explorer間での切替えを回避するためです。マッピングはWebCenter Sitesインタフェース(「テンプレート」フォームの「マップ」画面、および「CSElement」フォームの「マップ」画面)のみでサポートされています。
この項には次のトピックが含まれます:
18.8.1 テンプレートとCSElementの作成
Oracle WebCenter Sites Explorerによるエレメント・ロジックのコーディングを優先させる場合は、次のステップを実行します。
- 「テンプレート」フォーム(または「CSElement」フォーム)を使用してテンプレート(またはCSElement)アセットの作成を開始します。「「テンプレート」フォームを開く」(または「「CSElement」フォームを開く」)から始めて、順番に手順を実行します。
- 「テンプレートのエレメントの構成」(または、「エレメントの構成」)で、エレメント・タイプ(JSP、XMLまたはHTML)を選択します。自動生成されたエレメント・ロジックは変更しないでください。また、tid変数の値を変更したり、誤って削除しないようにしてください。
- 選択したフォームを使用して、終了するまで続行します。マップする必要のあるキーとアセット値が判明している場合は、それらを「マップ」フォームに追加します(「マップの構成」)。同じステップがCSElementアセットにも適用できます)。
- アセットを保存します。
- Oracle WebCenter Sites Explorerを開き、エレメントを編集します。変更を保存します。
- 最後のステップでは、「テンプレート」フォーム(または「CSElement」フォーム)でアセットを再度保存します。フォームでデータを変更する必要はありませんが、再度保存する必要があります。こうすることで、機能が迂回されなくなります。