プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebCenter Sitesでの開発
12c (12.2.1.1)
E77292-01
目次へ移動
目次

前
次

18 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの作成

この章では、CSElementアセット・タイプ、テンプレート・アセット・タイプおよびSiteEntryアセット・タイプと、それらの作成方法について説明します。

この章の内容は次のとおりです。

テンプレートおよびCSElementのコーディングについては、「テンプレートおよび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アセットについて

アセット・タイプにより、オンライン・サイトを構築するページレットとエレメントが提供されます。これらは、ページ名とエレメントおよび、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を参照してください。詳細は、『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 ページとページレットの比較

表18-1に、ページという語を含む様々な用語を示し、WebCenter SitesWebCenter Sitesの各モジュール、およびその他の製品向け各種ドキュメントでの使用を踏まえて、それらの用語を定義します。

表18-1 ページとページレットの比較

用語 定義

ページレット

レンダリングされたページの一部としてブラウザに表示されるHTTPリクエストの結果。これには、エレメント・ファイルが関連付けられています。

ページレットは、WebCenter SitesおよびSatellite Serverのページ・キャッシュにキャッシュできます。

ページ

ブラウザ・ウィンドウに表示されるHTTPリクエストの結果。ページは、ページ(ページレット)の複数の部分を1つの表示済またはレンダリング済の最終ページにコンパイルすることによって作成されます。これには、エレメント・ファイルが関連付けられています。

ページは、WebCenter SitesおよびSatellite Serverのページ・キャッシュにキャッシュできます。

ページ名

ページまたはページレットの完全な名前。例: 開発者のサンプル/ホーム/レンダリングAPI/アセット・リーダー。

ページ・アセット

ページ・アセットはページ名を表現しません。これは、コンテンツ用の論理コンテナを表現します。このコンテナをツリー構造に配置して、サイト・コンテンツのナビゲーションに対応できます。

ページ・アセットを作成し、それをサイト・ナビゲーション・ツリーに配置します(このツリーは、WebCenter Sitesインタフェースの左ペインの「サイト」タブにツリー構造で表示されます)。その他のコンテンツとサイト・デザイン・アセットをページ・アセットに関連付けた後で、パブリッシュします。

18.3 CSElementアセット、テンプレート・アセットおよびSiteEntryアセットの使用

前述したように、CSElementアセットはエレメント、SiteEntryアセットはページ名、そしてテンプレート・アセットはその両方を含みます。

ページ名とエレメントはアセットであるため、作成したコードとページ名をコンテンツの管理方法と同様に管理できます。つまり、ワークフロー、リビジョン追跡、承認およびプレビューが使用できるだけでなく、サーバーへのミラーリングのパブリッシュ方法を使用してコードとページ名を管理システムや配信システムに移動することもできます。

注意:

リビジョン追跡: SiteCatalog表またはElementCatalog表でリビジョン追跡を直接有効にするために、Oracle WebCenter Sites Explorerツールのリビジョン追跡機能を絶対に使用しないでください。

サーバーへのミラーリング: テンプレートまたはCSElementが、テンプレート・アセットまたはCSElementアセットに関連付けられていないエレメントを参照する場合、これに該当するエレメントが自動的にパブリッシュの宛先にミラーリングされることはありません。CatalogMoverユーティリティを使用して、これらのエレメントを手動で移動する必要があります。そのため、CSElementによって折り返されないエレメントの使用はお薦めできません。

CSElementアセットまたはテンプレート・アセットを作成するときには、エレメントを作成します。エレメントは、アセット・フォーム(作成中のアセットのタイプに応じて、「テンプレート」または「CSElement」)を使用することでコーディングできます。

注意:

テンプレート・アセットとCSElementのエレメントは、Oracle WebCenter Sites Explorerでコーディングできます。ただし、ほとんどが構成上の依存性とキャッシュへのアップデートを扱うため、この方法はお薦めできません。Oracle WebCenter Sites Explorerを優先的に使用する開発者は、テンプレート・アセットまたはCSElementアセットの有効性を確保するために、「Oracle WebCenter Sites Explorerの使用によるエレメント・ロジックの作成と編集」に記載する手順に従う必要があります。

この項には次のトピックが含まれます:

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により作成された名前は変更しないでください。表18-2に、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.1 「テンプレート」フォームを開く

  1. Adminインタフェースを開きます。
  2. ボタン・バーで、「新規」をクリックします。
  3. アセット・タイプのリストで、「新規テンプレート」を選択します。

    注意:

    「新規テンプレート」オプションを表示するには、サイトに対してテンプレート・アセット・タイプを有効化し、その「スタート・メニュー」アイテムを作成する必要があります。

  4. 図18-1に示すように、「テンプレート」フォームが開きます。「テンプレート・アセットの名前付けと記述」に進みます。

    注意:

    「テンプレート」フォームではなく、「割当て先の選択」画面が表示された場合は、作成しようとしているテンプレート・アセットがワークフローに関連付けられていることを意味します。「ユーザー」列から名前を選択して、「割当て先の設定」をクリックします。「テンプレート・アセットの名前付けと記述」に進みます。

    図18-1 「新規テンプレート名」フォーム

    図18-1の説明が続きます
    「図18-1 「新規テンプレート名」フォーム」の説明

18.4.2.2 テンプレート・アセットの名前付けと記述

「名前」画面は、タイプ付きまたはタイプなしとしてのテンプレートの識別、カテゴリへのテンプレートの割当て、テンプレートに渡される可能性のある引数の指定、検索ルーチンへのテンプレートの配置に使用できるキーワードの名前付けに使用します。

テンプレート・アセットが保存されると、「名前」画面で指定するフィールド値(適切な引数を除く)が、次の手順に示すように、Template表に書き込まれます。

注意:

テンプレートの作成中はいつでもテンプレートを保存できます。WebCenter Sitesにより、テンプレートの「調査」フォームが表示されます。「テンプレート」フォームに戻るには、「編集」リンクをクリックします。

「名前」画面で、次の手順の説明に従ってフィールドに値を入力します。

  1. (必須)。「名前」フィールドに、説明的なテンプレートの名前を入力します。この名前は、テンプレートと、そのテンプレートでレンダリングするアセットのタイプに固有なものにします。テンプレートの機能または目的を反映する名前を選択することをお薦めします。

    有効なエントリ

    • 最大64個の英数字(先頭は文字にする必要があります)

    • アンダースコア(_)

    • ハイフン(-)

    • 空白(テンプレートのSiteCatalogページ名で使用されるときに、アンダースコアに変換されます)

    注意:

    テンプレート・アセットの名前は、「テンプレート・アセットの作成を開始する前に」のガイドラインを使用して決定してください。

  2. 「説明」フィールドに、テンプレートの簡単な説明を入力します。最大128文字まで使用できます。

  3. 注記が必要なソースからテンプレートを派生している場合は、「ソース」フィールドのドロップダウン・リストからオプションを選択します。

  4. テンプレート・アセットを特定のカテゴリに配置する場合は、「カテゴリ」フィールドのドロップダウン・リストからオプションを選択します。

  5. (必須)。「対象アセット・タイプ」フィールドで、テンプレートをタイプ付きまたはタイプなしとして特定します。

    • タイプなしテンプレートを作成している場合(たとえば、タイプ付きテンプレートにディスパッチする場合)は、「各種アセット・タイプに適用可能」を選択して、手順7に進みます。

    • タイプ付きテンプレート(特定のタイプのアセットをレンダリングするもの)を作成している場合は、アセット・タイプを選択します。たとえば、記事アセットをレンダリングするためにテンプレートを作成している場合は、ドロップダウン・リストから「記事」を選択します。

  6. (タイプ付きテンプレートに必須)。「サブタイプに適用」フィールドのメニューから、適切なサブタイプを選択します。

    注意:

    タイプ付きテンプレートは、直前のフィールド(「対象アセット・タイプ」)で選択したアセット・タイプに含まれる特定のサブタイプにのみ使用することをお薦めします。

  7. 「適切な引数」フィールドで、次の手順を実行します。

    1. テンプレートに渡される可能性のある引数を入力して、「引数の追加」をクリックします。

    2. 表示されたフィールドで、次の手順を実行します。

      • 引数がオプションか、または必須かを指定します。

      • 引数の説明を提供します(作成する引数の目的を把握しやすいようにするため)。

      • 引数に対して適切な値(説明を含む)を指定します。

    (「引数の追加」ボタンと「適切な値の追加」ボタンをクリックすることで、必要な数の引数と適切な値を指定できます。)

  8. 「キーワード」フィールドに、将来このテンプレートを検索するときに「詳細検索」フォームで検索基準として使用できるようにするキーワードを入力します。アセットの検索の詳細は、『Oracle WebCenter Sitesの管理』を参照してください。

  9. 「続行」をクリックして、「エレメント」画面を開きます。

    注意:

    テンプレート・アセットを保存するように選択した場合は、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で既存エレメントを検出し、このテンプレート・アセットと関連付けられるようにするために、エレメントを正確に識別する必要があります。

既存のエレメントを選択するには、次を実行します。

  1. 「ElementCatalogの説明」フィールドに、エレメントの説明を入力します。

  2. 「エレメントのストレージ・パス/ファイル名」フィールドに、表18-2のネーミング規則に従った値を入力します。

  3. 「エレメント・パラメータ」フィールドで、エレメントに渡される可能性のある変数または引数を指定します。詳細は、「テンプレートのエレメントの構成」の手順7を参照してください。

  4. テンプレート・アセットを保存し、再度開きます。

    WebCenter Sitesは、指定されたエレメントの存在をチェックします。

    エレメントに適切な名前が付けられていると、WebCenter Sitesはエレメントを認識して、そのコードを「エレメント・ロジック」フィールドに表示します。

    指定されたエレメントが存在しない場合(または、名前が不適切な場合)は、WebCenter Sitesでは何も行われません。テンプレート・アセットを調査または編集するときに、フォームにルート・エレメントがありませんというメッセージがWebCenter Sitesに表示されます。エレメントをコーディングして適切な名前を付けると、WebCenter Sitesでただちに検出され、テンプレートに関連付けられます。

図18-2に示すように、「エレメント」画面で、この手順の説明に従って各フィールドに値を入力します。

図18-2 テンプレート・エレメント・フォーム

図18-2の説明が続きます
「図18-2 テンプレート・エレメント・フォーム」の説明
  1. 「使用」フィールドで、表18-3をガイドラインとして使用して、このテンプレートの用途を指定します。

    表18-3 使用オプション

    使用オプション 説明

    使用は未指定

    HTMLを生成するテンプレートを指定します。テンプレートが「本文」テンプレート(この表の2行目を参照)であるか、または「URL」テンプレート(この表の3行目を参照)であるかは不明になります。

    エレメントをHTMLページ内で使用

    HTMLページの<BODY>...</BODY>タグ内で使用するテンプレートを指定します。このオプションにより、テンプレートは「本文」テンプレートと見なされます。

    エレメントをレイアウトとして使用

    完全なHTMLページを生成し、Webモードでのアセットのレンダリングに使用される、レイアウト・テンプレートを指定します。

    エレメントでHTMLページ全体を定義し、外部でこれをコール可能

    完全なHTMLページを生成し、URLで使用可能なテンプレートを指定します。このオプションにより、テンプレートは「URL」テンプレートと見なされます。

    エレメントを未加工のデータとしてストリーミング

    HTML以外の不明タグの未加工のバイナリ・データを生成するテンプレートを指定します。

  2. 「呼び出されたテンプレート」フィールドで、このテンプレートがコールするテンプレートを選択します(存在する場合)。

  3. 「テンプレート・エレメントの作成」フィールドで、次のいずれかを実行します。

    • .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列のエレメントを表す行に書き込まれます。

  4. 「Rootelement」フィールドには、表18-2に示す値が事前に移入されています。このフィールドの値は変更しないでください。デフォルト値が変更されると、デフォルト値を予想しているタグ(たとえば、style属性がelementに設定されているrender:calltemplateタグなど)が失敗します。

  5. (オプション)。「ElementCatalogの説明」フィールドに、エレメントの説明を入力します。テンプレート・アセットを保存すると、このフィールドの情報はElementCatalog表のエレメント・エントリに対するdescription列に書き込まれます。

  6. (必須)。「エレメント・ロジック」フィールドに、エレメントをコーディングします。2つのcs:ftcsタグの間にすべてのコードを入力します。

    JSPを使用している場合は、使用中のタグ・ライブラリを記述するtaglibディレクティブからコメントを削除します。

    この手順については、「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。

    注意:

    テンプレート共有またはレプリケート可能サイトの確保

    テンプレート・アセットを共有したり、現在のサイトをレプリケート可能にするには、テンプレートのエレメント・ロジックがアセット、アセット・タイプ、属性名またはテンプレート名を直接参照していないことを確認してください。かわりに、「テンプレート共有とサイト・レプリケーション」で説明するように、render:lookupタグと所定のキーを使用します。「マップの構成」では、同じキーを、エレメント・ロジックで使用するためにアクセスする必要のあるアセット情報にマップすることになります。

    テンプレートのコール

    テンプレートは常にrender:calltemplateタグでコールするようにし、render:callelementタグまたはrender:satellitepageは絶対に使用しないでください。

  7. 「エレメント・パラメータ」フィールドと「追加エレメント・パラメータ」フィールドは、エレメントに渡される可能性のある変数または引数を入力するために使用します(それらの変数や引数がサイト・デザインで必要になる場合)。

    • 「エレメント・パラメータ」フィールドは、ElementCatalogのresdetails1列に相当します。テンプレートを保存すると、WebCenter Sitesにより、テンプレートID (tid)がこのフィールド(つまり、resdetails1列)に書き込まれます。

    • 「追加エレメント・パラメータ」フィールドは、ElementCatalogのresdetails2列に相当します。WebCenter Sitesでは、このフィールドは空白のままになります。

    サイト・デザインにより、テンプレート・エレメントでtidに加えて変数も使用する必要がある場合は、その変数を前述のフィールドのいずれか1つに入力します。これは、name=valueのペアとして入力します。複数の引数は、アンパサンド(&)文字で区切ります。例:

    MyArgument=value1&YourArgument=value2
    

    各フィールドは255個までの文字をサポートします。

    変数の使用の詳細は、「タグ・テクノロジを使用したWebサイト開発」を参照してください。

  8. 「続行」をクリックして、「SiteEntry」画面を開きます。

18.4.2.4 SiteEntryの構成

「SiteEntry」画面は、このテンプレート・アセットによってレンダリングされるページのキャッシングおよびページレット・パラメータの指定に使用します。

テンプレート・アセットが保存されると、「SiteEntry」画面で指定したフィールド値が、次の手順に示すように、SiteCatalog表に書き込まれます。

図18-3に示すように、「SiteEntry」画面で、次の手順の説明に従って各フィールドに値を入力します。

図18-3 テンプレート・サイト・エントリ・フォーム

図18-3の説明が続きます
「図18-3 テンプレート・サイト・エントリ・フォーム」の説明
  1. 「キャッシュ基準」フィールドで、次の手順を実行します。

    1. WebCenter Sitesでは、次の予約変数がキャッシュ基準として指定されています。

      c,cid,context,p,rendermode,site,sitepfx,ft_ss

      注意:

      予約されたキャッシュ基準変数は、削除しないでください。予約変数の詳細は、「タグ・テクノロジを使用したWebサイト開発」を参照してください。

    2. 独自の変数をキャッシュ基準として含める必要がある場合は(たとえば、foo)、その変数を既存のリストに追加します。例:

      c,cid,context,foo,p,rendermode,site,sitepfx,ft_ss

      注意:

      「キャッシュ基準」フィールドでは、「SiteCatalog Pagename」と組み合せてページレットを一意に定義する変数を指定します。変数は、キャッシュされたページの識別に使用されます。つまり、変数はページのキャッシュ・キーで使用されることになります。

      キャッシュ基準として指定された変数のみが、キャッシュされたページのキャッシュ・キーを作成するためにキャッシング・システムで使用されます。したがって、サイト・デザインにより、予約変数に加えてページ・レベルの変数を使用する必要がある場合は、この手順で示すように、必ずこれらの変数をキャッシュ基準変数として指定してください。

  2. CKEditorの「追加のパラメータ」セクションを使用可能にする場合は、次の手順を実行します。

    1. テンプレートの「キャッシュ基準」に追加した「追加のパラメータ」を、テンプレートの「適切な引数」セクションに移動します。

    2. パラメータを「適切な引数」セクションに移動すると、そのパラメータには接頭辞fp:を付ける必要がなくなるため、パラメータ名は接頭辞なしで使用します。

      たとえば、fp:imageHeightを使用するのではなく、単にimageHeightを使用します。

    3. これらのパラメータは、そのパラメータを含むテンプレートで使用できるようになり、<ics:getvar name="imageHeight"/>などの標準的な方法で取得できるようになります。

    「その他のパラメータ」セクションには、イメージ・ディメンションなどのカスタム・パラメータをテンプレートに渡す方法が用意されています。このようなその他のパラメータは、「アセット・リンクを含める」および「アセット・リンクの追加」の各ダイアログ・ボックスで使用できるようになります。パラメータ名(この例では、imageHeightimageWidth)は、「名前」メニューのオプションとして、CKEditorの「その他のパラメータ」セクションに表示されます。「値」フィールドでは、選択したパラメータの値をユーザーが指定できます。その他のパラメータの詳細は、『Oracle WebCenter Sitesの使用』を参照してください。

    テンプレート・アセットが保存されると、キャッシュ基準の変数がSiteCatalog表のpagecriteria列に書き込まれます。

  3. (オプション)。「アクセス制御リスト」フィールドは、SiteCatalog表のacl列に相当します。特定の訪問者のみがこのページをリクエストできるようにするには、ページを表示するために訪問者が必要とするACLを選択します。ACLの詳細は、「管理システムのユーザーの管理」を参照してください。

  4. 「Rootelement」フィールドには、表18-2に示す値が事前に移入されています。

  5. 「キャッシュ規則」フィールドは、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はキャッシュを適切にフラッシュできなくなり、無効なページがキャッシュから使用される場合があります。上級ユーザーのみが、これらの設定を手動で構成することをお薦めします。

    ページ・キャッシュ設定の詳細は、「ページのデザインとキャッシングの理解」を参照してください。

ページ・キャッシュ設定の詳細は、「ページのデザインとキャッシングの理解」を参照してください。

  1. 「SiteCatalog Pagename」フィールド。このフィールドの値は変更しないでください。このページには、ページ・エントリの名前が事前に移入されています。ページのネーミング規則は、表18-2に記載されています。

  2. 「ページレット・パラメータ」セクションでは、テンプレートが実行されるたびにテンプレートに渡されるページレット・パラメータ(名前と値のペア)を入力できます。「ページレット・パラメータ」セクションでは、合計510文字をサポートしています。

    注意:

    「ページレット・パラメータ」セクションには、次のデフォルトのページレット・パラメータ(手順1で指定されている予約変数)が事前に移入されています。これらの値は次のとおりです。

    site, sitepfx, rendermode

    デフォルトのパラメータ値は、テンプレートがコールされたときに明示的に指定された場合は、上書きされます。

    • この手順でページレット・パラメータを指定する場合は、必ずその名前をキャッシュ基準の変数としてリストに追加します(手順1を参照)。

    • 独自のキャッシュ基準の変数を(手順1で)指定した場合、その変数は、「ページ・パラメータ」セクションのリストに表示されます。これらのパラメータに対して値を指定しない場合、パラメータはWebCenter Sitesによって無視されます。

    • このページ・エントリの許可されたHTTPメソッドを制御する場合、名前methodsおよびカンマ区切りのHTTPメソッドを使用した値を含むページレット・パラメータを追加します。たとえば、methods=GET,OPTIONSです。

    テンプレート・アセットが保存されると、ページレット・パラメータとして指定した名前と値のペアは、SiteCatalog表のresargs1列またはresargs2列のいずれかに書き込まれます。書込み先の列は重要ではないため、自動的に管理されます。(各列では、最大255文字をサポートしています。)

  3. 「続行」をクリックして、「サムネイル」画面を開きます。

  4. 「続行」をクリックして、「マップ」画面を開きます。

    注意:

    テンプレート・アセットの作成が完了してテンプレート・アセットを保存した後で、「サムネイル」画面に戻ります。

18.4.2.5 マップの構成

マッピングの目的は、「テンプレート共有とサイト・レプリケーション」で説明するように、サイト・レプリケーションとテンプレート・アセットの共有を有効化することです。

注意:

レプリケート不能のサイトを設計している場合は、この手順をスキップしてください。

「マップ」フォームを使用して、次の操作を行います。

  • テンプレートのエレメント・ロジックのrender:lookupタグにある各キーを、エレメント・ロジックで使用される値にマップします。

  • 各キーの値を、エレメント・ロジックで使用する必要のある情報(アセット、アセット・タイプ、属性名、またはテンプレート名)にマップします。

テンプレート・アセットが保存されると、マップはTemplate_Map表に書き込まれます。

「マップ」フォームで、この手順の説明に従って各フィールドに値を入力します。

  1. 「キー」フィールドは、エレメント・ロジックが検索する値を表しています。エレメント・ロジックのrender:lookupタグで指定したキーを入力します。
  2. 「タイプ」フィールドでは、アクセス対象のアセット情報のタイプを特定します。次のいずれかのオプションを選択します。
    • テンプレート名: テンプレート名をキー値にマップします(この値は、次の手順で「値」フィールドに指定します)。アクセスされる情報は、次の手順で指定する値に一致するテンプレート名です。例として、図18-4を参照してください。

    • アセット・タイプ: アセット・タイプをキー値にマップします。アクセス対象の情報はアセット・タイプであり、次の手順で指定する値と同等です。

    • アセット(タイプ: 名前): 属性タイプ:名前をキー値にマップします。アクセス対象の情報は、そのタイプと名前が次の手順で指定する値と一致するアセットです。

    • アセット(タイプ: ID): 属性のタイプ:IDをキー値にマップします。アクセス対象の情報は、そのタイプと名前が次の手順で指定する値と一致するアセットです。

      図18-4 テンプレート・アセット: サンプル・マップ

      図18-4の説明が続きます
      「図18-4 テンプレート・アセット: サンプル・マップ」の説明
  3. 「値」フィールドに、キーの値を入力します。この値は、テンプレート実行時にエレメント・ロジックにより検索されます。
  4. 「サイトID」フィールドで、マッピングを適用するサイトの名前を選択します。
  5. キーを追加するには、「さらに追加」をクリックして、この項の手順を繰り返します。
  6. テンプレートの作成が完了したら、テンプレートを保存します(「変更の保存」をクリックします)。

    WebCenter Sitesにより、テンプレートの「調査」フォームが表示されます。

  7. テンプレートのサムネイルを作成するには、「(オプション)サムネイルの作成」に進みます。それ以外の場合は、「テンプレートの調査」までスキップします。

18.4.2.6 (オプション)サムネイルの作成

サムネイルはグラフィック表示されるため、テンプレート・ユーザーがテンプレート・アセットでページをレイアウトしたり、コンテンツをレンダリングする方法を決定する際に役立ちます。作成したサムネイルは、テンプレートの「調査」フォームに表示されます。

テンプレート・アセットが保存されると、サムネイル・ファイルの名前がTemplate_Thumb表のurlthumbnail列に書き込まれます。

サムネイルを作成するには、次の手順を実行します。

  1. テンプレート・アセットをプレビューします。手順は、「CSElementアセットとSiteEntryアセットおよびプレビュー」を参照してください。

  2. プレビューをイメージ・ファイルとして取得して、ファイル・システムに保存します。

  3. 「テンプレート」フォームを開いて、画面上部の「サムネイル」をクリックします。

    テンプレート・サムネイル・フォームが開きます(図18-5を参照)。

  4. 「サムネイル・イメージ」フィールドに、手順2で作成したイメージ・ファイルへのパスを入力(または参照)します。

    図18-5 テンプレート・サムネイル・フォーム

    図18-5の説明が続きます
    「図18-5 テンプレート・サムネイル・フォーム」の説明
  5. サムネイルを「調査」フォームに表示するには、次の手順を実行します。

    1. テンプレートを保存します(「保存」アイコンをクリックします)。

      WebCenter Sitesによってイメージ・ファイルがWebCenter Sitesデータベースにアップロードされ、テンプレートの「調査」フォームが表示されます。

    2. 「調査」フォームで、「サムネイル・イメージ」セクションが現れるまで下へスクロールします。表示されたイメージが大きすぎたり小さすぎる場合は、ソース・ファイルでイメージをサイズ変更して、手順45を再実行します。

  6. イメージを「サムネイル」画面で操作するには、次の手順を実行します。

    1. 「調査」フォームの上部にスクロールして、「編集」リンクをクリックします。

    2. 「テンプレート」フォームの上部で、「サムネイル」をクリックします。

  7. サムネイル上でコピー、送信、その他の操作を実行するには、サムネイルを右クリックしてオプションを選択します。

  8. サムネイルを削除するには、「サムネイル・イメージを削除しますか。」を選択して、「変更の保存」をクリックします。

    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-6 エレメント・パラメータが表示された「調査」フォーム

図18-6の説明が続きます
「図18-6 エレメント・パラメータが表示された「調査」フォーム」の説明

図18-7 サイト・エントリとマップが表示された「調査」フォーム

図18-7の説明が続きます
「図18-7 サイト・エントリとマップが表示された「調査」フォーム」の説明

18.5 CSElementアセットの作成

CSElementアセットの作成時には、アセットの作成、アセットに対するエレメントのコーディング、およびキー-値-アセット情報マップ(テンプレート・アセットのマップと同様)の構成という3つの操作を行います。

CSElementアセットを作成するには、まず、「CSElementの作成を開始する前に」」を完了して、CSElementの保存後には変更できない(または、変更してはいけない) CSElementプロパティの設定方法と、CSElementのエレメント・ロジックのコーディング方法を決定する必要があります。次に、「テンプレート・アセットの作成」に進み、Adminインタフェースを使用して次の手順を完了します。

「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.1 「CSElement」フォームを開く

  1. Adminインタフェースを開きます。
  2. ボタン・バーで、「新規」をクリックします。
  3. アセット・タイプのリストで、「新規CSElement」を選択します。

    「CSElement」フォームが開きます。

    注意:

    新規CSElementオプションを表示するには、サイトに対してCSElementアセット・タイプを有効化し、その「スタート・メニュー」アイテムを作成する必要があります。

  4. 「テンプレート・アセットの名前付けと記述」に進みます。

    注意:

    「CSElement」フォームではなく、「割当て先の選択」画面が表示された場合は、作成しようとしているCSElementアセットがワークフローに関連付けられていることを意味します。「ユーザー」列から名前を選択して、「割当て先の設定」をクリックします。「テンプレート・アセットの名前付けと記述」に進みます。

18.5.2.2 CSElementアセットの名前付けと記述

「名前」画面は、CSElementに関するメタデータの定義に使用します。このメタデータにより、開発者はCSElementの動作と、CSElementが機能の実行に使用する引数を識別できます。

注意:

CSElementの作成中はいつでもCSElementを保存できます。WebCenter Sitesにより、CSElementの「調査」フォームが表示されます。「CSElement」フォームに戻るには、「編集」リンクをクリックします。

CSElementに名前を付けて記述するには、「名前」画面(図18-8を参照)で、次の手順の説明に従って各フィールドに値を入力します。

図18-8 CSElement名フォーム

図18-8の説明が続きます
「図18-8 CSElement名フォーム」の説明
  1. (必須)。「名前」フィールドに、CSElementアセットの説明的な一意の名前を入力します。CSElementの動作を説明する名前を使用するのが最適です。

    有効なエントリ

    • 最大64個の英数字(先頭は文字にする必要があります)

    • アンダースコア(_)

    • ハイフン(-)

    • 空白(テンプレートのSiteCatalogページ名で使用されるときに、アンダースコアに変換されます)

    注意:

    CSElementアセットの名前は、「SiteEntryアセットの作成を開始する前に」のガイドラインを使用して決定してください。

  2. 「説明」フィールドに、CSElementアセットの簡単な説明を入力します。128個までの文字を入力できます。

  3. 「適切な引数」フィールドで、次の手順を実行します。

    1. CSElementに渡される可能性のある引数を入力して、「引数の追加」をクリックします。

    2. 表示されたフィールドで、次の手順を実行します。

      • 引数がオプションか、または必須かを指定します。

      • 引数の説明を提供します(作成する引数の目的を把握しやすいようにするため)。

      • 引数に対して適切な値(説明を含む)を指定します。

    (「引数の追加」ボタンと「適切な値の追加」ボタンをクリックすることで、必要な数の引数と適切な値を指定できます。)

  4. 「続行」をクリックして、「エレメント」画面を開きます。

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-9 CSElementエレメント・フォーム

図18-9の説明が続きます
「図18-9 CSElementエレメント・フォーム」の説明
  1. 「エレメントを作成しますか。」フィールドで、次のいずれかを実行します。
    • .xmlファイルを作成する場合は、「XML」をクリックします。貼り付けられるコードはOpenMarket\Xcelerate\AssetType\CSElement\modelXML.xmlエレメントから派生し、カスタム・デフォルト・ロジックを使用するように変更できます。

    • .jspファイルを作成する場合は、「JSP」をクリックします。貼り付けられるコードはOpenMarket\Xcelerate\AssetType\CSElement\modelJSP.xmlエレメントから派生し、カスタム・デフォルト・ロジックを使用するように変更できます。

    • .htmlファイルを作成する場合は、「HTML」をクリックします。貼り付けられるコードはOpenMarket\Xcelerate\AssetType\CSElement\modelHTML.xmlエレメントから派生し、カスタム・デフォルト・ロジックを使用するように変更できます。

    WebCenter Sitesによって次のフィールドが移入されます。

    • 「エレメントのストレージ・パス/ファイル名」フィールド。このフィールドの値は変更しないでください。

      このフィールドには、エレメント・ファイルへのパスが先行するエレメント・ファイル名が表示されます。デフォルトでは、このファイルはCSElementアセットの名前(手順1で入力したもの)を採用し、その後に次のファイル拡張子が続きます。

      CSElementName.xml_or_jsp_or_html

      CSElementアセットを保存すると、このフィールドの値がElementCatalog表のurl列のエレメントを表す行に書き込まれます。

    • ヘッダーとその他の情報を持つ「エレメント・ロジック」フィールド。

      たとえば、「JSP」ボタンをクリックすると、共通する複数のWebCenter SitesのJSPタグ・ライブラリ(asset、siteplan、render)に対して1つのタグ・ライブラリ・ディレクティブがWebCenter Sitesで設定されます。また、WebCenter Sitesは、cs:ftcsの開始タグと終了タグも設定し、CSElementアセットと、エレメントによりレンダリングされるページまたはページレット間の構成の依存性をマークするために、RENDER.LOGDEP (render:logdep)タグを設定します。

  2. 「Rootelement」フィールドには、エレメント・ファイルの名前((CSElementName.xml_or_jsp_or_html))が事前移入されています。このフィールドの値は変更しないでください。

    ルート・エレメントは、この名前でElementCatalog表にリストされます。このエレメント(RENDER.CALLELEMENT)をコールするコードを作成する場合は、この名前を使用してください。これは、デフォルトでは、CSElementアセットの名前を使用しています。

  3. (オプション)。「ElementCatalogの説明」フィールドに、エレメントの説明を入力します。

    CSElementアセットを保存すると、このフィールドの情報はElementCatalog表のエレメント・エントリに対するdescription列に書き込まれます。

  4. (必須)。「エレメント・ロジック」フィールドに、エレメントをコーディングします。cs:ftcs終了タグの前に、すべてのコードを入力する必要があります。

    JSPを使用している場合は、使用中のタグ・ファミリを記述するtaglibディレクティブからコメントを削除します。

    この手順については、「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。

    注意:

    テンプレート共有またはレプリケート可能サイトの確保: CSElementを共有したり、現在のサイトをレプリケート可能にするには、CSElementのエレメント・ロジックがアセット、アセット・タイプ、属性名またはテンプレート名を直接参照しないようにしてください。かわりに、「テンプレート共有とサイト・レプリケーション」で説明するように、render:lookupタグと所定のキーを使用します。「マップの構成」では、キーを、エレメント・ロジックで使用するためにアクセスする必要のあるアセット情報にマップすることになります。

    テンプレートのコール: テンプレートは常にrender:calltemplateタグでコールするようにしてください。render:callelementタグまたはrender:satellitepageは絶対に使用しないでください。

  5. (オプション)。「エレメント・パラメータ」フィールドと「追加エレメント・パラメータ」フィールドは、エレメントに渡される可能性のある変数または引数を入力するために使用します(それらの変数や引数がサイト・デザインで必要になる場合)。
    • 「エレメント・パラメータ」フィールド。このフィールドには、WebCenter SitesによりCSElementアセットの一意のIDとして生成されたCSElement ID (eid)がWebCenter Sitesにより移入されています。この値を変更または削除しないでください

      このフィールドは、ElementCatalog表のresdetails1列に相当します。CSElementを保存すると、WebCenter Sitesにより、CSElementを表す行のresdetails1列にCSElement IDが書き込まれます。

    • 「追加エレメント・パラメータ」フィールド。WebCenter Sitesでは、このフィールドは空白のままになります。

      このフィールドは、ElementCatalog表のresdetails2列に相当します。

    サイト・デザインにより、eidに加えて変数を使用する必要がある場合は、その変数を前述のフィールドのいずれか1つに入力します。これは、name=valueのペアとして入力します。複数の引数は、アンパサンド(&)文字で区切ります。例:

    MyArgument=value1&YourArgument=value2
    

    各フィールドは255個までの文字をサポートします。

    WebCenter Sites変数の詳細は、「タグ・テクノロジを使用したWebサイト開発」を参照してください。

  6. 「続行」をクリックして、「マップ」画面を開きます。

18.5.2.4 マップの構成

マッピングの目的は、サイト・レプリケーションとCSElementアセットの共有を有効化することです。マッピングの基本コンセプトは、テンプレート・アセットの場合とまったく同じです。これについては、「テンプレート共有とサイト・レプリケーション」で説明しています。

注意:

レプリケート不能のサイト、または共有されないCSElementアセットを設計している場合は、この項をスキップしてください。

「マップ」フォームを使用して、次の操作を行います。

  • エレメント・ロジックのrender:lookupタグにある各キーを、エレメント・ロジックで使用する必要のある値にマップします。

  • 各キーの値を、エレメント・ロジックで使用する必要のある情報(アセット、アセット・タイプ、属性名、またはテンプレート名)にマップします。

CSElementアセットが保存されると、マップがCSElement_Map表に書き込まれます。

「マップ」フォーム(図18-10)で、この手順の説明に従って各フィールドに値を入力します。

図18-10 CSElementマップ・フォーム

図18-10の説明が続きます
「図18-10 CSElementマップ・フォーム」の説明
  1. 「キー」フィールドは、エレメント・ロジックが検索する値を表します。このフィールドに、エレメント・ロジックのrender:lookupタグで指定したキーを入力します。
  2. 「タイプ」フィールドでは、アクセス対象のアセット情報のタイプを特定します。次のいずれかのオプションを選択します。
    • テンプレート名: テンプレート名をキー値にマップします(この値は、次の手順で「値」フィールドに指定します)。アクセスされる情報は、次の手順で指定する値に一致するテンプレート名です。(例として、図18-11を参照してください。)

    • アセット・タイプ: アセット・タイプをキー値にマップします。アクセス対象の情報はアセット・タイプであり、次の手順で指定する値と同等です。

    • アセット(タイプ: 名前): 属性タイプ:名前をキー値にマップします。アクセス対象の情報は、そのタイプと名前が次の手順で指定する値と一致するアセットです。

    • アセット(タイプ: ID): 属性のタイプ:IDをキー値にマップします。アクセス対象の情報は、そのタイプと名前が次の手順で指定する値と一致するアセットです。

      図18-11 CSElementアセット: サンプル・マップ

      図18-11の説明が続きます
      「図18-11 CSElementアセット: サンプル・マップ」の説明
  3. 「値」フィールドに、キーの値を入力します。この値は、CSElementアセットの起動時にエレメント・ロジックにより検索されます。
  4. 「サイトID」フィールドで、マッピングを適用するサイトの名前を選択します。
  5. キーを追加するには、「さらに追加」をクリックして、この項の手順を繰り返します。

18.5.2.5 CSElementの保存と調査

CSElementアセットの作成が完了したら、「保存」をクリックします。

  • WebCenter Sitesにより、データベース表に書き込まれます。

    • CSElementアセットの行をCSElement表に作成します(この行には、前述の手順で指定したCSElementの名前と説明が入力されます)。

    • 「エレメント」画面で指定した値を使用して、エレメント・エントリをElementCatalog表に作成します。

      • 「Rootelement」フィールドの値は、エレメント・ファイルの適切なフォルダへの配置に使用します。

      • 「エレメントのストレージ・パス/ファイル名」フィールドの値はurl列に書き込まれます。

      • eid変数の値は、resdetails1列のCSElementアセットのIDに設定されます。

  • このエレメントをコールする任意のページレットのページキャッシュをフラッシュします。

  • 「調査」フォーム(図18-12)を表示します。このフォームには、次の種類の情報が表示されます。

    • 「名前」画面の情報(すべてのタイプのアセットに関するアセット名、説明、ステータス、IDなどの標準的な概要情報)。

    • 「エレメント」画面の情報(ルート・エレメント、エレメント・ロジック、エレメント・ファイルへのパス、およびエレメントのeid)。

    • 「マップ」画面の情報(サイトがレプリケート可能、またはテンプレートが共有可能である場合は、キー-値-アセット情報のマップ)。

    • 「引数を使用したプレビュー」ボタンをクリックすると、SiteEntryアセットによってレンダリングされたページをプレビューできます。

18.5.2.6 ブックマークへのCSElement追加

注意:

CSElementを使用してSiteEntryアセットを作成する場合は、この項の手順を実行してください。この手順では、CSElementをブックマークに追加することで、そのCSElementをWebCenter Sitesのツリーで選択できるようにします。

このセッションでSiteEntryアセットを作成する予定ではなくても、CSElementをブックマークに追加しておくと、検索が容易になります。

CSElementをブックマークに追加するには、次を実行します。

  1. 作成したCSElementアセット上で検索を実行します。
  2. 結果リストで、右側の列にあるチェック・ボックスを選択して、CSElementを「ブックマーク」に追加します。

    このCSElementは、WebCenter Sitesのツリーの「ブックマーク」タブに一覧表示され、このタブでは、そのCSElementはSiteEntryアセットに対して選択可能なオプションになります。

  3. SiteEntryアセットを作成します。手順は、「SiteEntryアセットの作成」を参照してください。

    図18-12 CSElementアセット: サンプル「調査」フォーム

    図18-12の説明が続きます
    「図18-12 CSElementアセット: サンプル「調査」フォーム」の説明

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アセットの作成を開始する前に、次の手順を実行してください。

  1. ページ・エントリのルート・エレメントを次のように作成します。

    1. CSElementアセットを作成します。手順は、「CSElementアセットの作成」を参照してください。

      (ルート・エレメントは、どのページ・エントリにも必要です。ルート・エレメントは、SiteEntryアセットに対して選択するCSElementのエレメントです。)

    2. CSElementを使用可能にします。手順は、「ブックマークへのCSElementの追加」を参照してください。

      (SiteEntryアセットに対してCSElementを指定するには、WebCenter Sitesのツリー内にある「ブックマーク」タブからCSElementを選択するか、現在のセッションでCSElementを作成した場合は「履歴」タブからCSElementを選択します)。

  2. SiteEntryアセットの名前を決定します。同じ名前がページに割り当てられます。SiteEntryアセットを保存した後は、SiteEntry名とページ名を変更できません。

18.6.2 SiteEntryアセットの作成

SiteEntryアセットはWebCenter Sitesインタフェースで作成できます。

SiteEntryアセットを作成するには、次のタスクを実行します。

注意:

この項の手順を開始する前に、「SiteEntryアセットの作成を開始する前に」を参照して、SiteEntryアセットの作成についての情報を確認してください。

18.6.2.1 「SiteEntry」フォームを開く

  1. Adminインタフェースを開きます。
  2. ボタン・バーで、「新規」をクリックします。
  3. アセット・タイプのリストで、「新規SiteEntry」を選択します。

    「SiteEntry」フォームが開きます。

    注意:

    新規SiteEntryオプションを表示するには、サイトに対してSiteEntryアセット・タイプを有効化し、その「スタート・メニュー」アイテムを作成する必要があります。

  4. 「SiteEntryアセットの作成」に進みます。

    注意:

    「SiteEntry」フォームではなく、「割当て先の選択」画面が表示された場合は、作成しようとしているSiteEntryがワークフローに関連付けられていることを意味します。「ユーザー」列から名前を選択して、「割当て先の設定」をクリックします。「SiteEntryアセットの作成」に進みます。

18.6.2.2 SiteEntryアセットの作成

「SiteEntry」フォームで、この手順の説明に従って各フィールドに値を入力します。

  1. (必須)。「名前」フィールドに、SiteEntryアセットの説明的な名前を入力します。ページの目的を説明する名前を使用するのが最適です。

    有効なエントリ

    • 最大64個の英数字(先頭は文字にする必要があります)

    • アンダースコア(_)

    • ハイフン(-)

    • 空白(テンプレートのSiteCatalogページ名で使用されるときに、アンダースコアに変換されます)。

  2. 「説明」フィールドに、SiteEntryアセットの簡単な説明を入力します。128個までの文字を入力できます。

  3. (必須)。「Pagename」フィールドをクリックすると、ページ・エントリの名前とページ・エントリへのパス(例: FSIICommon/SideNav/ProductView)が自動的に移入されます。このフィールドの値は変更しないでください。

    注意:

    このフィールドの値はページ・エントリの名前です(これは、SiteEntryの保存時にSiteCatalog表に格納されます)。このSiteEntryアセット(RENDER.SATELLITEPAGE)をコールするコードを作成する場合は、この名前を使用することをお薦めします。

  4. SiteCatalog表にある既存のページ・エントリの行を使用するには、既存のSiteCatalogエントリにマッピングするオプションを選択します。

  5. (必須)。「Rootelement」フィールドで、ツリーから適切なCSElementアセットを選択して、「選択したアイテムの追加」をクリックします。

    注意:

    追加できるCSElementは1つのみです。

  6. 「ラッパー・ページ」フィールドでオプションの1つを選択して、作成中のアセットがラッパー・ページであるかどうかを指定します。「いいえ」オプションを選択すると、「ページレットのみ」フィールドが表示されます。

  7. 「ページレットのみ」フィールドが表示された場合は、オプションの1つを選択して、作成中のアセットがページレットであるかどうかを指定します。

  8. 「ページレット・パラメータ」セクションでは、ページまたはページレットが実行されるたびにページまたはページレットに渡されるページレット・パラメータ(名前と値のペア)を入力します。「ページレット・パラメータ」セクションでは、合計510文字をサポートしています。

    注意:

    次のことに注意してください。

    • 「ページレット・パラメータ」セクションには、デフォルトのパラメータsite、seid、sitepfx、rendermode (デフォルトでは、「キャッシュ基準」フィールド(次の手順)で指定される予約変数)が、それらの値を含めて事前に移入されています

      デフォルト値は、ページまたはページレットがコールされたときに明示的に指定された場合は、上書きされます。

    • この手順でページレット・パラメータを指定する場合は、次の手順で必ずその名前をキャッシュ基準変数として一覧表示してください。

    • このページ・エントリの許可されたHTTPメソッドを制御する場合、名前methodsおよびカンマ区切りのHTTPメソッドを使用した値を含むページレット・パラメータを追加します。たとえば、methods=GET,OPTIONSです。

    SiteEntryアセットが保存されると、ページレット・パラメータとして指定した名前と値のペアは、SiteCatalog表のresargs1列またはresargs2列のいずれかに書き込まれます。書込み先の列は重要ではないため、自動的に管理されます。(各列では、最大255文字をサポートしています。)

  9. 「キャッシュ基準」フィールドで、次の手順を実行します。

    1. WebCenter Sitesでは、次の予約変数がキャッシュ基準として指定されています。

      rendermode,seid,site,sitepfx,ft_ss

    注意:

    予約されたキャッシュ基準変数は、削除しないでください。予約変数の詳細は、「タグ・テクノロジを使用したWebサイト開発」を参照してください。

  10. 独自の変数をキャッシュ基準として含める必要がある場合は(たとえば、foo)、その変数を既存のリストに追加します。例

    foo,rendermode,seid,site,sitepfx,ft_ss

    注意:

    「キャッシュ基準」フィールドでは、「Pagename」と組み合せてページレットを一意に定義する変数を指定します。変数は、キャッシュされたページの識別に使用されます。つまり、変数はページのキャッシュ・キーで使用されることになります。

    キャッシュ基準として指定された変数のみが、キャッシュされたページのキャッシュ・キーを作成するためにキャッシング・システムで使用されます。したがって、サイト・デザインにより、予約変数に加えてページ・レベルの変数を使用する必要がある場合は、この手順で示すように、必ずこれらの変数をキャッシュ基準変数として指定してください。

    SiteEntryアセットが保存されると、キャッシュ基準の変数とその値がSiteCatalog表のpagecriteria列に書き込まれます。

  11. 「キャッシュ規則」フィールドは、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はキャッシュを適切にフラッシュできなくなり、無効なページがキャッシュから使用される場合があります。上級ユーザーのみが、これらの設定を手動で構成することをお薦めします。

    ページ・キャッシュ設定の詳細は、「ページのデザインとキャッシングの理解」を参照してください。

  12. 「アクセス制御リスト」フィールドは、SiteCatalog表のacl列に相当し、特定の訪問者のみがこのページをリクエストできるようにする場合は、ページを表示するために訪問者が必要とするACLを入力します。ACLの詳細は、「管理システムのユーザーの管理」を参照してください。

18.6.2.3 SiteEntryアセットの保存と調査

SiteEntryアセットの作成が完了したら、「保存」をクリックします。WebCenter Sitesで次の処理が行われます。

  • データベース表に書き込みます。

    • SiteEntryアセットに対する行をSiteCatalog表に作成します。この行には、前述の手順で指定した値が入力されます。

  • 「調査」フォームを表示します。このフォームには、次の情報が表示されます。

    • 標準の概要情報(アセット名、説明、ステータス、ID)と、前述の手順で指定したページ・エントリ基準。

    • 「引数を使用したプレビュー」ボタンをクリックすると、SiteEntryアセットによってレンダリングされたページをプレビューできます。

18.7 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの管理

この項では、テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの使用に関する追加手順について説明します。

この項には次のトピックが含まれます:

18.7.1 デフォルトの承認テンプレートの指定(静的パブリッシュのみ)

ディスクへのエクスポートのパブリッシュ方法を使用するパブリッシュの宛先に対してアセットが承認されると、承認システムはアセットに割り当てられたテンプレートを調査して、その依存性を判別します。

複数のテンプレート(アセットと同じタイプのテキスト専用バージョン、概要バージョン、フル・バージョンなど)を使用してアセットをレンダリングするようにオンライン・サイトを設計する場合は、すべてのテンプレートの承認依存性を代表するセットが含まれているテンプレートを作成し、そのテンプレートをアセット・タイプに対するデフォルトの承認テンプレートとして指定する必要があります。

承認テンプレートの詳細は、「ディスクへのエクスポート用の承認テンプレート」を参照してください。

テンプレートがデフォルトの承認テンプレートであると指定するには::
  1. 「一般的な管理」ツリーで、「管理」ノードを開き、「パブリッシュ」「宛先」「静的」を選択します。
  2. 静的宛先の名前で、「デフォルトのテンプレートの設定」を選択します。
  3. 「デフォルト・テンプレート」フォームで、「編集」をクリックします。
  4. 編集フォームで、アセット・タイプ別にデフォルト・テンプレートを選択します。アセット・タイプのいずれかにサブタイプ機能を使用している場合、そのアセット・タイプのサブタイプ別にデフォルトの承認テンプレートを指定できます。サブタイプの詳細は、「ベーシック・アセット・タイプの作成」「(オプション)サブタイプの追加」を参照してください。
  5. 作業の終了後に、「保存」をクリックします。

18.7.2 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの編集

TemplateCSElement、およびSiteEntryの各アセットを作成すると、SiteCatalog表またはElementCatalog表(あるいは両方)にもエントリが作成されます。これらのエントリの名前はアセットの名前に基づいており、テンプレート・アセットの場合はアセット・タイプと、テンプレートが属するサイトに基づいています。このようなネーミング依存性があるため、TemplateCSElement、またはSiteEntryの各アセットの編集時には次の制約が適用されます。

  • TemplateCSElementまたはSiteEntryの各アセットを保存した後で名前を変更することはできません。

  • Templateアセットの場合は、テンプレート・アセットの保存後、「アセット・タイプ」フィールドで選択したアセット・タイプは変更できません。

  • TemplateアセットまたはCSElementアセットの場合、ルート・エレメントの名前は変更できません。

  • SiteEntryアセットの場合、ページ・エントリの名前は変更できません。

    注意:

    Templateを指す1つ以上のサイト・エントリを手動で(Oracle WebCenter Sites Explorerを使用して)作成し、そのTemplateAdminインタフェースを通して編集した場合、手動で作成されたサイト・エントリは自動的に削除されます。

アセットの編集の基本的な手順は、『Oracle WebCenter Sitesの管理』を参照してください。

18.7.3 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの共有

CSElement、テンプレートまたはSiteEntryの各アセットを共有すると、WebCenter Sitesにより、アセットを共有するサイトごとに1つの行がAssetPublication表に作成されます。

さらに、テンプレート・アセットのみを対象として、WebCenter Sitesは次の操作を行います。

  • アセットを共有するサイトごとに、SiteCatalogページ・エントリを新規作成します。ページ・エントリの名前にサイトの名前が使用されます。新規作成されたすべてのページ・エントリは、同じルート・エレメント、テンプレート・エレメントを指します。

    注意:

    これらのページ・エントリのルート・エレメントを変更しないでください。共有テンプレートのページ・エレメントはすべて、同じルート・エレメントを指す必要があります。

  • このルート・エレメントを共有する共有テンプレートのその他のすべてのページ・エントリを、「調査」フォームに一覧表示します。

アセットの共有の基本的な手順は、『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 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アセットをプレビューする際に引数値を指定する手順:

  1. アセットを検索し、「調査」アイコン(文字「i」)をクリックして調査します。
  2. 「調査」フォームの下までスクロールします。「引数を使用したプレビュー」の横の「プレビュー」をクリックします。
  3. 引数の値を入力します。各フィールドをダブルクリックして、ドロップダウン・リストから選択する方法で値を選択することもできます。
  4. 「プレビュー」をクリックします。
  5. この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 SitesOracle WebCenter Sites Explorer間での切替えを回避するためです。マッピングはWebCenter Sitesインタフェース(「テンプレート」フォームの「マップ」画面、および「CSElement」フォームの「マップ」画面)のみでサポートされています。

この項には次のトピックが含まれます:

18.8.1 テンプレートとCSElementの作成

Oracle WebCenter Sites Explorerによるエレメント・ロジックのコーディングを優先させる場合は、次の手順を実行します。

  1. 「テンプレート」フォーム(または「CSElement」フォーム)を使用してテンプレート(またはCSElement)アセットの作成を開始します。「「テンプレート」フォームを開く」(または「「CSElement」フォームを開く」)から始めて、順番に手順を実行します。
  2. 「テンプレートのエレメントの構成」(または、「エレメントの構成」)で、エレメント・タイプ(JSP、XMLまたはHTML)を選択します。自動生成されたエレメント・ロジックは変更しないでください。また、tid変数の値を変更したり、誤って削除しないようにしてください。
  3. 選択したフォームを使用して、終了するまで続行します。マップする必要のあるキーとアセット値が判明している場合は、それらを「マップ」フォームに追加します(「マップの構成」)。同じ手順がCSElementアセットにも適用できます)。
  4. アセットを保存します。
  5. Oracle WebCenter Sites Explorerを開き、エレメントを編集します。変更を保存します。
  6. 最後の手順では、「テンプレート」フォーム(または「CSElement」フォーム)でアセットを再度保存します。フォームでデータを変更する必要はありませんが、再度保存する必要があります。こうすることで、機能が迂回されなくなります。

18.8.2 テンプレートとCSElementの編集

Oracle WebCenter Sites Explorerツールでエレメントのロジックを編集する場合は、常にテンプレート(またはCSElement)をWebCenter Sitesインタフェースで開いて保存します(これは、(1)アセットが変更されたことを承認システムが認識し、アセットの承認ステータスを変更できるようにするため、および(2) CacheManagerサーブレットがキャッシュを更新できるようにするためです)。