ヘッダーをスキップ
Oracle® Fusion Middleware WebCenter Sites開発者ガイド
11gリリース1 (11.1.1.8.0)
E49681-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

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

CSElement、TemplateおよびSiteEntryの各アセット・タイプにより、オンライン・サイトを構築するページレットとエレメントが提供されます。これらは、ページ名とエレメントおよび、WebCenter Sitesでページの生成に使用するコンポーネントを表現するアセットです。

CSElementアセットの作成時には、エレメントをコーディングします。SiteEntryアセットの作成時には、ページに名前を付けます。テンプレートの作成時には、エレメントのコーディングとページの名前付けの両方を行います。

この章ではこの3つのアセット・タイプについて説明し、その作成方法に関する情報を提供します。テンプレートとCSElementのコーディングに関する追加情報は、第28章「テンプレートおよびCSElementのエレメントのコーディング」に記載されています。

この章には次の項が含まれます。

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

この章では、テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの作成手順を示します。

23.2 ページ、ページレットおよびエレメント

WebCenter Sitesのコンテキストでは、オンライン・ページは複数のコンポーネントを表示可能な最終出力に構成したものです。この出力を作成することをレンダリングといいます。(出力またはレンダリングされるコンテンツをパブリック・サイトの訪問者が利用できるようにすることを、パブリッシュといいます。)

WebCenter Sitesでは、ページは、ページ名に関連付けられたコードを実行してレンダリングされます。ページの名前はブラウザからWebCenter Sitesに渡され、WebCenter Sitesはそのページ名に関連付けられたコードを起動します。コードは実際には名前付きファイルであり、エレメントと呼ばれるコードの個々のチャンクです。

エレメント内のコードはアセットを識別し、ページまたはページレットに表示するためにそのアセットをロードします。また、その他のページ名とエレメント名をWebCenter Sitesに渡します。WebCenter Sitesがエレメントを呼び出すと、そのエレメント内のすべてのコードが実行されます。他のエレメントへのコールがある場合は、次にそのエレメントが呼び出されます。さらに、結果(イメージ、記事、リンクセットなど、すべてのHTMLタグを含む)がHTMLコード(または、システムの構成によっては、他の出力フォーマット)にレンダリングされます。

Template、CSElementおよびSiteEntryの各アセットは、次のようにエレメントとページレットを表現します。

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

23.2.1 エレメント、ページレットおよびキャッシュ

ページとページレットはキャッシュ可能です。これらには、キャッシュ済であるかどうか、またキャッシュ済の場合はその期間を判別するキャッシュ基準が設定されています。

エレメントには、キャッシュ基準は設定されていません。ページ名を経由することなく、コードからエレメントを名前で直接コールすると、その出力はエレメントの名前をコールしたページに表示され、そのページの一部としてキャッシュされます。

エレメントからの出力を、それをコールしたページからの出力とは別にキャッシュする場合は、その出力にページ名を指定し、出力をコールするときにはそのページ名を使用する必要があります。テンプレート・アセットのコードには、デフォルトによりページ名が割り当てられています。CSElementアセットに対してページ名を指定するには、SiteEntryアセットを作成し、それに対するCSElementアセットを選択します。

23.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サーブレットに渡され、そこでページがレンダリングされます。

たとえば、Burlington Financialサンプル・サイトのホームページを表示するには、次のように入力します。

http://127.0.0.1:7001/servlet/ContentServer?pagename=
BurlingtonFinancial/Page/Home

エレメントをコーディングするときには、サイトに表示するページレットとエレメントをプログラムでコールするタグを使用します。これらのタグは、ちょうどブラウザで入力したURLがページ名をContentServerサーブレットに渡すように、ページとエレメントの名前をContentServerサーブレットに渡します。

ページ名をコールするには、render:satellitepage (RENDER.SATELLITEPAGE)タグを使用します。例:

<render:satellitepage pagename="BurlingtonFinancial/Page/Home" />

エレメントを名前で直接コールするには、render:callelement (RENDER.CALLELEMENT)タグを使用します。例:

<render:callelement elementname="BurlingtonFinancial/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>

注意:

Sites Explorerを使用してSiteCatalogエントリとElementCatalogエントリを調査する場合、これらのエントリは、ページとページレットを視覚的に編成したフォルダおよびサブフォルダとして表示されます。

ただし、これらのエントリはデータベース表内の行にすぎません(実際の階層は存在しません)。そのため、コードでページ・エントリまたはエレメント・エントリをコールする場合は、常にフルネームを使用する必要があります。相対パスは使用できません。


コードによってテンプレート、CSElementおよびSiteEntryの各アセットをコールする方法は、次のとおりです。

  • SiteEntryはページレットであるため、render:satellitepageタグを使用して、エレメント・コードの中からSiteEntryアセットをコールします。

  • CSElementはエレメントであるため、render:callelementタグを使用して、エレメント・コードの中からCSElementアセットをコールします。

  • テンプレートはエレメント名とページ名の両方であるため、前述のいずれかを使用できます。ただし、通常、render:calltemplateタグはテンプレートに使用することを目的としています。これは、render:satellitepageおよびrender:calleelementの機能のみでなく、パラメータの検証など、その他の機能もカプセル化します。

23.2.3 ページとページレットの比較

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

用語 定義

ページレット

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

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

ページ

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

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

ページ名

ページまたはページレットの完全な名前。例: BurlingtonFinancial/Article/Full。

ページ・アセット

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

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


23.3 CSElementアセット、テンプレート・アセットおよびSiteEntryアセット

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

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


注意:

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

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


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


注意:

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


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

23.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表に作成します。

23.3.2 CSElementアセット

CSElementアセットの用途は次のとおりです。

  • アセットをレンダリングするためのコードではなく、1か所以上で再使用したり、1つ以上のタイプのテンプレートからコールするコード。たとえば、同じトップ・バナーを使用するテンプレートが6つあり、バナーのコード用にCSElementアセットを作成して、各テンプレートからエレメントをコールする必要があるとします。この場合、バナーの動作方法を変更するときに、1か所で変更するだけで済みます。

  • Engageに対する推奨。動的リスト推奨を作成する場合、動的リストを作成するためにCSElementアセットを作成する必要があります。詳細は、第39章「推奨アセット」を参照してください。これらのアセットはコンテンツをレンダリングしませんが、ロジック処理のために存在します。

CSElementを保存すると、WebCenter Sitesは次の操作を行います。

  • アセットの行をCSElement表に作成します。

  • エレメントを「CSElement」フォームにコーディングした場合は、ElementCatalog表にエレメント・エントリを作成します。このエントリの名前には、フォームで「ElementCatalogエントリ名」フィールドに入力した名前が使用されます。

  • テンプレートをサイトに関連付けるために新しい行をAssetPublication表に作成します。

23.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をレンダリング・エンジンに記録します。


23.3.4 非アセット・エレメントとは

管理システム上でWebCenter Sitesインタフェースに対してカスタマイズをコーディングする場合は、そのカスタマイズを配信システムにパブリッシュする必要がないため、アセットではないエレメントを作成します。

たとえば、アクションまたは条件を実装するワークフロー・エレメントを作成する場合は、それをCSElementアセットとしては作成しません。かわりに、Sites Explorerツールを使用してエントリをElementCatalog表に手動で作成します。

配信システム上でワークフローまたはその他のカスタム・エレメントを作成する場合は、CatalogMoverユーティリティを使用して、そのエレメントを管理システム上のElementCatalogにコピーする必要があります。


注意:

ミラー・エンジンを起動するコードを作成して、エレメントをミラーリングできます。このトピックは高度であり、このガイドの適用範囲を超えています。サポートが必要な場合は、Oracleサポート(www.oracle.com/support)にお問い合せください。聴覚に障害のある方は、www.oracle.com/accessibilityにアクセスしてください。


23.4 テンプレート・アセットの作成

テンプレートはアセットをレンダリングします。テンプレート・アセットを作成する場合は、次のいずれかとして作成します。

テンプレート・アセットを作成する前に、第23.4.1項「前提条件」を完了して、テンプレート・プロパティ(テンプレート名など)の設定方法とテンプレートのエレメント・ロジックのコーディング方法を決定します。その後で、WebCenter Sitesインタフェースを使用して次の手順を実行します。

「テンプレート」フォームに入力する情報は、テンプレートの保存時にデータベース表に書き込まれます。


注意:

テンプレート・アセットをデータベース表に直接作成しないでください。直接作成すると複数の表への書込みが必要になり、その結果、依存性の追跡が不正確になる可能性があります。かわりに、「テンプレート」フォームと、この項に示した手順を使用してテンプレート・アセットを作成します。テンプレートのエレメント・ロジック(タイプ付きテンプレートの場合)のコーディングについては、第28章「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。


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

23.4.1 前提条件

テンプレート・アセットの作成を開始する前に、次の点を決定してください。

  • TemplateName(テンプレート・アセットの名前。「名前」画面の「名前」フィールドの値です。「テンプレート・アセットの名前付けと記述を行うには」を参照してください)。

  • テンプレート・アセットがタイプ付きまたはタイプなしのいずれであるか。

  • テンプレート・アセットを共有するかどうか、また使用中のサイトをレプリケートするかどうか。これらの考慮事項により、テンプレートのエレメント・ロジックのコーディング方法を決定します。

  • テンプレートのエレメント・ロジックのコーディングを、「テンプレート」フォームではなくSite Explorerで実行するかどうか。Sites Explorerでのコーディングは慣習化されていますが、第23.8項「Oracle WebCenter Sites Explorerの使用によるエレメント・ロジックの作成と編集」で概説している理由によりお薦めできません。

23.4.1.1 テンプレート・アセットの名前付け

  • テンプレート・アセットが保存されると、その名前は変更できなくなります。

  • WebCenter Sitesにより、テンプレート名はSiteNameに追加されます(タイプ付きテンプレートの場合は、AssetTypeNameにも追加されます)。テンプレート名は、SiteNameおよびAssetTypeNameに関連して意味のあるものにする必要があります。WebCenter Sitesのネーミング規則をオーバーライドしないでください。WebCenter Sitesにより作成された名前は変更しないでください。表23-1に、TemplateNameを使用する規則を示します。

    AssetTypeNameはタイプ付きテンプレートにのみ使用し、「名前」画面でのテンプレートの「対象アセット・タイプ」フィールドの値を表します(「テンプレート・アセットの名前付けと記述を行うには」を参照)。SiteNameは、テンプレートが属するサイト(テンプレートの作成時に使用しているサイト)の名前です。WebCenter Sitesは、SiteNameをPublication表から取得します。(この製品の旧バージョンでは、サイトはパブリケーションと呼ばれていました。)

    表23-1 TemplateNameを使用するネーミング規則

    テンプレート ネーミング規則 説明

    タイプ付き

    AssetTypeName/TemplateName

    タイプ付きテンプレートのルート・エレメントの名前。

    この値は、手順4「Rootelement」フィールドに書き込まれます。この値は、変更しないでください。デフォルト値が変更されると、デフォルト値を予想しているタグ(たとえば、style属性がelementに設定されているrender:calltemplateタグなど)が失敗します。

    注意: ネーミング規則により、ルート・エレメントの名前は一意にする必要があります。複数のテンプレート・アセットが同じルート・エレメントを指さないようにする必要があります。ただし、2つのSiteEntryアセットが同じエレメントを指すように設定できます(たとえば、コール・シナリオに応じて、異なるデフォルト引数または異なるキャッシュ基準を指定したい場合)。

    なし

    AssetTypeName/TemplateName.xml_or_jsp_or_html

    タイプ付きテンプレートのエレメント・ファイルへのパス。

    この値は、手順3でファイル・タイプを選択したときに、「エレメントのストレージ・パス/ファイル名」に書き込まれます。

    なし

    SiteName/AssetTypeName/TemplateName

    テンプレートがタイプ付きの場合にレンダリングされるページの名前。

    この値は、第23.4.2.4項「手順4: SiteEntryの構成」「SiteCatalog Pagename」フィールドに書き込まれます。

    タイプなし

    /TemplateName

    タイプなしテンプレートのルート・エレメントの名前。

    この値は、手順4「Rootelement」フィールドに書き込まれます。この値は、変更しないでください。デフォルト値が変更されると、デフォルト値を予想しているタグ(たとえば、style属性がelementに設定されているrender:calltemplateタグなど)が失敗します。

    注意: このテンプレートは任意のアセット・タイプに適用できるため、AssetTypeNameは省略されています。スラッシュは、テンプレートをタイプなしとして識別するために付けられます。この表の1行目の注意を参照してください。

    なし

    Typeless/TemplateName.xml_
    or_jsp_or_html

    タイプなしテンプレートのエレメント・ファイルへのパス。

    この値は、手順3でファイル・タイプを選択したときに、「エレメントのストレージ・パス/ファイル名」に書き込まれます。

    なし

    SiteName/TemplateName

    テンプレートがタイプなしの場合にレンダリングされるページの名前。

    この値は、第23.4.2.4項「手順4: SiteEntryの構成」「SiteCatalog Pagename」フィールドに書き込まれます。

    注意: このテンプレートは任意のアセット・タイプに適用できるため、AssetTypeName/は省略されています。

    タイプ付き

    AssetTypeName/TemplateName

    タイプ付きテンプレートのルート・エレメントの名前。

    この値は、手順4「Rootelement」フィールドに書き込まれます。この値は、変更しないでください。デフォルト値が変更されると、デフォルト値を予想しているタグ(たとえば、style属性がelementに設定されているrender:calltemplateタグなど)が失敗します。

    注意: ネーミング規則により、ルート・エレメントの名前は一意にする必要があります。複数のテンプレート・アセットが同じルート・エレメントを指さないようにする必要があります。ただし、2つのSiteEntryアセットが同じエレメントを指すように設定できます(たとえば、コール・シナリオに応じて、異なるデフォルト引数または異なるキャッシュ基準を指定したい場合)。

    なし

    AssetTypeName/TemplateName.xml_or_jsp_or_html

    タイプ付きテンプレートのエレメント・ファイルへのパス。

    この値は、手順3でファイル・タイプを選択したときに、「エレメントのストレージ・パス/ファイル名」に書き込まれます。


23.4.1.2 タイプ付きまたはタイプなしとしてのテンプレートの指定

テンプレート・アセットを作成する前に、それをタイプ付きまたはタイプなしのいずれにするかを決定します。テンプレートが保存されると、そのタイプ付きまたはタイプなしのステータスは変更できなくなります。

23.4.1.3 テンプレート共有とサイト・レプリケーション

テンプレートを作成する前に、テンプレートおよび使用中のサイトの使用方法を決定します。この決定によって、テンプレートのエレメント・ロジックをコーディングする方法が決まります(第23.4.2.3項「手順3: テンプレートのエレメントの構成」)。

テンプレート・アセットを共有したり、現在のサイトをレプリケート可能にする場合は、テンプレートのエレメント・ロジックがアセット、アセット・タイプ、属性名またはテンプレート名を直接参照していないことを確認してください。かわりに、それらを間接的に参照する必要があります。「マップ」画面(第23.4.2.5項「手順5: マップの構成」)を使用して、各値に別名(キー)を割り当ててから、その別名をテンプレート内でハードコード化します。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 Fusion Middleware WebCenter Sitesタグ・リファレンスを参照してください。

23.4.2 テンプレート・アセットの作成手順

この項では、WebCenter Sitesインタフェースを使用したテンプレート・アセットの作成方法を示します。


注意:

この項の手順を開始する前に、第23.4.1項「前提条件」を参照して、テンプレート・アセットの作成についての情報を確認してください。


23.4.2.1 手順1: 「テンプレート」フォームを開く

  1. Adminインタフェースを開きます。

  2. ボタン・バーで、「新規」をクリックします。

  3. アセット・タイプのリストで、「新規テンプレート」を選択します。


    注意:

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


  4. 「テンプレート」フォームが表示されます。第23.4.2.2項「手順2: テンプレート・アセットの名前付けと記述」に進みます。


    注意:

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


23.4.2.2 手順2: テンプレート・アセットの名前付けと記述

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

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


注意:

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


テンプレート・アセットの名前付けと記述を行うには

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

n_temp_name_small.pngの説明が続きます
図n_temp_name_small.pngの説明

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

    有効なエントリ:

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

    • アンダースコア(_)

    • ハイフン(-)

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


      注意:

      テンプレート・アセットの名前は、第23.4.1項「前提条件」のガイドラインを使用して決定してください。


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

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

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

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

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

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

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


    注意:

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


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

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

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

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

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

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

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

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

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


    注意:

    テンプレート・アセットを保存するように選択した場合は、次の2つのフィールドが追加されます。

    • 「ステータス」フィールド: このフィールドには、テンプレート・アセットの編集ステータス(「作成済」、「編集済」など)が事前に移入されています。このフィールドでは、テンプレート・アセットがワークフローに関連付けられているかどうかに関係なく、テンプレート・アセットで最後に実行された操作が特定されます。

    • 「ID」フィールド: このフィールドには、WebCenter Sitesが生成する一意の数値が事前に移入されていて、テンプレート・アセットにIDとして割り当てられます。(「ID」フィールドはtid変数に相当します。)


23.4.2.3 手順3: テンプレートのエレメントの構成

「エレメント」画面は、テンプレートのエレメントの作成、エレメント・ファイル・タイプ(XML、JSP、またはHTML)の定義、エレメント・ロジックの提供、およびエレメントの名前付けに使用します。例:

  • 「$Template$エレメントを作成しますか。」フィールドにはエレメント・ロジック用に選択可能なファイル・タイプXML、JSP、HTMLが表示されます。このフィールドは、「エレメント・ロジック」フィールドに標準スタブ・コード(作成するすべてのエレメントに含める必要がある)をシードする際に使用します。

    テンプレート・エレメントの作成フィールドを使用して、たとえば.jspファイルを作成すると、WebCenter Sitesは、デフォルトでJSPのtaglib文とRENDER.LOGDEPタグを「エレメント・ロジック」フィールドに追加して、このテンプレート・アセットとこのエレメントからレンダリングされるページ間の構成の依存性のログ記録できるようにします。その他のファイル・タイプの場合は、それぞれのファイル・タイプに固有のコードが追加されます。独自のコードを「エレメント・ロジック」フィールドに追加します。

    依存性の詳細は、第28.1項「依存性について」を参照してください。エレメント・ロジックのコーディングについては、第28章「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。

  • 「エレメントのストレージ・パス/ファイル名」フィールドでは、エレメント・ロジックを保持するファイルの名前を付けて、そのファイルへのパスを指定します。

テンプレート・アセットが保存されると、「エレメント」画面のフィールド値は、次の手順で示すように、ElementCatalog表の(エレメントを表す)行に書き込まれます。


注意:

既存エレメントの選択

次の手順では、テンプレート・アセットのエレメントを新規作成しているものとします。ただし、旧リリースのWebCenter Sitesからアセットを移行していて、既存エレメントを再使用する場合は、WebCenter Sitesで既存エレメントを検出し、このテンプレート・アセットと関連付けられるようにするために、エレメントを正確に識別する必要があります。

既存のエレメントを選択するには:

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

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

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

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

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

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

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


新しいエレメントを構成するには:

「エレメント」画面で、この項の説明に従って各フィールドに値を入力します。

n_elementscreen_small.pngの説明が続きます
図n_elementscreen_small.pngの説明

  1. 「使用」フィールドで、次の表をガイドラインとして使用して、このテンプレートの用途を指定します。

    使用オプション 説明

    使用は未指定

    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エレメントから派生し、カスタム・デフォルト・ロジックを使用するように変更できます。

    次のフィールドが移入されます。

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

      たとえば、「JSP」ボタンをクリックすると、WebCenter SitesのJSPタグ・ライブラリごとのタグ・ライブラリ・ディレクティブが入力されます。また、WebCenter Sitesにより、テンプレート・アセットと、そのテンプレートによってレンダリングされるページまたはページレット間の構成の依存性をマークするために、RENDER.LOGDEP (render:logdep)タグが設定されます。

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

      このフィールドには、エレメント・ファイルへのパスが先行するエレメント・ファイル名が表示されます。ネーミング規則は、表23-1に記載されています。

      テンプレート・アセットを保存すると、「エレメントのストレージ・パス/ファイル名」フィールドの値は、ElementCatalog表のurl列のエレメントを表す行に書き込まれます。

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

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

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

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

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


    注意:

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

    テンプレートのコール
    テンプレートは常に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個までの文字をサポートします。

    変数の使用方法の詳細は、第4章「Oracle WebCenter Sitesを使用したプログラミング」を参照してください。

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

23.4.2.4 手順4: SiteEntryの構成

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

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

SiteEntryを構成するには:

  1. 「SiteEntry」画面で、この項の説明に従って各フィールドに値を入力します。

    l_siteentry_small.pngの説明が続きます
    図l_siteentry_small.pngの説明

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

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

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

      注意:

      予約されたキャッシュ基準変数は、削除しないでください。予約変数の詳細は、第4章「Oracle WebCenter Sitesを使用したプログラミング」を参照してください。


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

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

      注意:

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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


    注意:

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

    site, sitepfx, rendermode
    

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

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

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


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

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

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


    注意:

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


23.4.2.5 手順5: マップの構成

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


注意:

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


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

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

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

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

マップを構成するには:

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

e_template_map_small.pngの説明が続きます
図e_template_map_small.pngの説明

  1. 「キー」フィールドは、エレメント・ロジックが検索する値を表しています。エレメント・ロジックのrender:lookupタグで指定したキーを入力します。

  2. 「タイプ」フィールドでは、アクセス対象のアセット情報のタイプを特定します。次のいずれかのオプションを選択します。

    • テンプレート名: テンプレート名をキー値にマップします(この値は、次の手順で「値」フィールドに指定します)。アクセスされる情報は、次の手順で指定する値に一致するテンプレート名です。例は、図23-1を参照してください。

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

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

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

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

      図23-1の説明が続きます
      「図23-1 テンプレート・アセット: サンプル・マップ」の説明

  3. 「値」フィールドに、キーの値を入力します。この値は、テンプレート実行時にエレメント・ロジックにより検索されます。

  4. 「サイトID」フィールドで、マッピングを適用するサイトの名前を選択します。

  5. キーを追加するには、「さらに追加」をクリックして、この項の手順を繰り返します。

  6. テンプレートの作成が完了したら、テンプレートを保存します(「変更の保存」をクリックします)。

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

  7. テンプレートのサムネイルを作成する場合は、第23.4.2.6項「手順6: (オプション)サムネイルの作成」に進みます。それ以外の場合は、第23.4.2.7項「手順7: テンプレートの調査」に進みます。

23.4.2.6 手順6: (オプション)サムネイルの作成

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

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

サムネイルを作成するには

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

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

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

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

    n_temp_thumb_small.pngの説明が続きます
    図n_temp_thumb_small.pngの説明

  5. サムネイルを「調査」フォームに表示するには、次の手順を実行します。

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

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

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

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

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

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

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

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

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

23.4.2.7 手順7: テンプレートの調査

テンプレート・アセットの作成を終了して、「保存」をクリックすると、WebCenter Sitesは次の操作を行います。

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

    • Template表にテンプレート・エントリを作成します。


    • AssetTypeName/TemplateNameネーミング規則を使用して、ElementCatalog表にエレメント・エントリを作成します。エレメントが(Sites Explorerではなく)テンプレート・フォームにコーディングされた場合は、エレメント・ファイルも作成されます。

    • テンプレートが属するサイトの名前を判断し、SiteName/AssetTypeName/TemplateNameネーミング規則を使用してSiteCatalog表にページ・エントリを作成します。

    • 新しいSiteCatalogページ・エントリのルート・エレメントの名前をElementCatalogエントリの名前に設定します。

    • サムネイル・エントリをTemplate_Thumb表に作成します。

    • マップ・エントリをTemplate_Map表に作成します。

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

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

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

    • 「SiteEntry」画面の情報(SiteCatalogページ名、ページレット・パラメータ、キャッシュ基準、およびこのページを表示する権限を持つユーザーのACL)。

    • 「サムネイル」画面の情報(サムネイル・イメージが選択されている場合はそのイメージ)。

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

    • テンプレート・アセットを共有している場合、「調査」フォームには、このテンプレート・アセットに対するSiteCatalogの追加ページ・エントリがすべて一覧表示されます(テンプレートを共有するサイトごとに1つのページ・エントリが存在します)。

図23-2 テンプレート・アセット: サンプル「調査」フォーム

図23-2の説明が続きます
「図23-2 テンプレート・アセット: サンプル「調査」フォーム」の説明

n_inspect02_small.pngの説明が続きます
図n_inspect02_small.pngの説明

n_inspect03_small.pngの説明が続きます
図n_inspect03_small.pngの説明

23.5 CSElementアセットの作成

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

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

「CSElement」フォームに入力する情報は、次の手順で示すように、CSElementアセットの保存時にデータベース表に書き込まれます。


注意:

CSElementアセットをデータベース表に直接作成しないでください。直接作成すると複数の表への書込みが必要になり、その結果、依存性の追跡が不正確になる可能性があります。そのかわりに、「CSElement」フォームと、この項に示した手順を使用して、CSElementアセットを作成します。CSElementロジックのコーディングについては、第28章「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。


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

23.5.1 前提条件

CSElementアセットの作成を開始する前に、次のいつくかの点を決定してください。

  • CSElementアセットの名前。

  • CSElementを共有可能にするかどうか、またサイトのレプリケートを可能にするかどうか。これらの考慮事項により、CSElementのエレメント・ロジックのコーディング方法を決定します。

  • CSElementのエレメント・ロジックのコーディングを、「CSElement」フォームではなくSite Explorerで実行するかどうか。この方法は、第23.8項「Oracle WebCenter Sites Explorerの使用によるエレメント・ロジックの作成と編集」で概説している理由によりお薦めできません。

23.5.1.1 CSElementの名前付け

  • CSElementアセットが保存されると、その名前は変更できなくなります。

  • CSElementロジック・ファイルは、CSElementの名前を採用します(次のファイル拡張子が続きます)。

    CSElementName.xml_or_jsp_or_html
    

    CSElementロジック・ファイルの名前は変更しないでください。

23.5.1.2 CSElement共有とサイト・レプリケーション

CSElementを作成する前に、CSElementの共有と使用中のサイトのレプリケートが必要かどうかを決定します。必要な場合、CSElementロジックは同じ方法でコーディングされます。共有とレプリケーションが必要でない場合は、キー-値のマッピングを省略してください(第23.5.2.4項「手順4: マップの構成」を参照)。

CSElement共有とサイト・レプリケーションをサポートするエレメント・ロジックのコーディングの詳細は、第23.4.1.3項「テンプレート共有とサイト・レプリケーション」を参照してください。この情報は、例外なくCSElementアセットに適用できます。

23.5.2 CSElementアセットの作成手順

この項では、WebCenter Sitesインタフェースを使用したCSElementアセットの作成方法を示します。


注意:

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


23.5.2.1 手順1: 「CSElement」フォームを開く

  1. 管理者としてWebCenter Sitesにログインします。

  2. 作業場所とするサイトを選択します。

  3. Adminインタフェースを選択します。

  4. ボタン・バーで、「新規」をクリックします。

  5. アセット・タイプのリストで、「新規CSElement」を選択します。


    注意:

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


  6. 「CSElement」フォームが表示されます。第23.5.2.2項「手順2: CSElementアセットの名前付けと記述」に進みます。


    注意:

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


23.5.2.2 手順2: CSElementアセットの名前付けと記述

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


注意:

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


CSElementの名前付けと記述を行うには:

  1. 「名前」画面で、この項の説明に従って各フィールドに値を入力します。

    l_cse_name_small.pngの説明が続きます
    図l_cse_name_small.pngの説明

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

    有効なエントリ:

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

    • アンダースコア(_)

    • ハイフン(-)

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


注意:

CSElementアセットの名前は、第23.6.1項「前提条件」のガイドラインを使用して決定してください。


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

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

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

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

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

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

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

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

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

23.5.2.3 手順3: エレメントの構成

「エレメント」画面(手順1)は、CSElementのエレメントの作成、エレメント・ファイル・タイプ(XML、JSP、またはHTML)の定義、エレメント・ロジックの提供、およびエレメントの名前付けに使用します。例:

  • 「エレメントの作成」フィールドにはエレメント・ロジック用に選択可能なファイル・タイプのXML、JSP、またはHTMLが表示されます。このフィールドは、「エレメント・ロジック」フィールドに標準スタブ・コード(作成するすべてのエレメントに含める必要がある)をシードする際に使用します。

  • 「エレメントの作成」フィールドを使用して、たとえば.jspファイルを作成すると、WebCenter Sitesは、デフォルトでJSPのtaglib文とrender.logdepタグを「エレメント・ロジック」フィールドに追加して、このCSElementアセットと、このエレメントからレンダリングされるページ間の構成の依存性をログ記録できるようにします。その他のファイル・タイプの場合は、それぞれのファイル・タイプに固有のコードが追加されます。独自のコードを「エレメント・ロジック」フィールドに追加します。

    依存性の詳細は、第28.1項「依存性について」を参照してください。エレメント・ロジックのコーディングについては、第28章「テンプレートおよびCSElementのエレメントのコーディング」を参照してください。

  • 「エレメントのストレージ・パス/ファイル名」フィールドでは、エレメント・ロジックを保持するファイルの名前を付けて、そのファイルへのパスを指定します。

CSElementアセットが保存されると、「エレメント」画面のフィールド値は、次の手順で示すように、ElementCatalog表の(エレメントを表す)行に書き込まれます。


注意:

既存エレメントの選択

次の手順では、CSElementアセットのエレメントを新規作成しているものとします。ただし、旧リリースのWebCenter Sitesからアセットを移行していて、既存エレメントを再使用する場合は、WebCenter Sitesで既存エレメントを検出し、このCSElementアセットと関連付けられるようにするために、エレメントを正確に識別する必要があります。

既存のエレメントを選択するには:

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

  • 「エレメントのストレージ・パス/ファイル名」フィールドに、第23.5.1.1項「CSElementの名前付け」の規則に従った値を入力します。

  • サイト・デザインで必要な場合は、各エレメント・パラメータ・フィールドに適切な引数を入力します。この手順については、手順1を参照してください。

  • CSElementアセットを保存し、再度開きます。

WebCenter Sitesは、正しい名前のエレメントの存在をチェックします。

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

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


新しいエレメントを構成するには:

  1. 「エレメント」画面で、この項の説明に従って各フィールドに値を入力します。

    l_cse_element_small.pngの説明が続きます
    図l_cse_element_small.pngの説明

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

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

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

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

    次のフィールドが移入されます。

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

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

      CSElementName.xml_or_jsp_or_html

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

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

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

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

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

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

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

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

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

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


    注意:

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

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


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

    • 「エレメント・パラメータ」フィールド。このフィールドには、WebCenter SitesによりCSElementアセットの一意のIDとして生成されたCSElement ID (eid)が移入されています。この値を変更または削除しないでください

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

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

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

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

    MyArgument=value1&YourArgument=value2 
    

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

    WebCenter Sitesの変数と、その範囲および優先順位の詳細は、第4章「Oracle WebCenter Sitesを使用したプログラミング」を参照してください。

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

23.5.2.4 手順4: マップの構成

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


注意:

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


「マップ」画面を使用して、次の操作を行います。

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

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

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

マップを構成するには:

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

    l_cse_map_small.pngの説明が続きます
    図l_cse_map_small.pngの説明

  2. 「キー」フィールドは、エレメント・ロジックが検索する値を表します。このフィールドに、エレメント・ロジックのrender:lookupタグで指定したキーを入力します。

  3. 「タイプ」フィールドでは、アクセス対象のアセット情報のタイプを特定します。次のいずれかのオプションを選択します。

    • テンプレート名: テンプレート名をキー値にマップします(この値は、次の手順で「値」フィールドに指定します)。アクセスされる情報は、次の手順で指定する値に一致するテンプレート名です。(例は、図23-1を参照してください。)

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

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

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

      図23-3 CSElementアセット: サンプル・マップ

      図23-3の説明が続きます
      「図23-3 CSElementアセット: サンプル・マップ」の説明

  4. 「値」フィールドに、キーの値を入力します。この値は、CSElementアセットの起動時にエレメント・ロジックにより検索されます。

  5. 「サイトID」フィールドで、マッピングを適用するサイトの名前を選択します。

  6. キーを追加するには、「さらに追加」をクリックして、この項の手順を繰り返します。

23.5.2.5 手順5: CSElementの保存と調査

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

WebCenter Sitesでは、次の操作が実行されます。

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

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

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

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

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

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

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

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

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

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

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

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

23.5.2.6 手順6: ブックマークへのCSElementの追加


注意:

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

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


CSElementをブックマークに追加するには:

  1. 作成したCSElementアセット上で検索を実行します。

  2. 結果リストで、右側の列にあるチェック・ボックスを選択して、CSElementを「ブックマーク」に追加します。

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

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

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

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

23.6 SiteEntryアセットの作成

SiteEntryアセットを作成するときには、アセットとページ・エントリの両方をSiteCatalog表に作成します。SiteEntryフォームの最初の部分のフィールドでは、ページ・エントリをアセットとして定義します。その他のフィールドでは、WebCenter Sitesページとしてのページ・エントリに関する情報を指定します。この情報はSiteCatalog表に書き込まれます。

SiteEntryアセットを作成するには、最初に第23.5.1項「前提条件」を完了して、そのアセットのルート・エレメントを作成し、SiteEntryプロパティ(SiteEntry名など)の設定方法を決定する必要があります。その後で、WebCenter Sitesインタフェースを使用して次の手順を実行します。

「SiteEntry」フォームに入力する情報は、次の手順で示すように、CSElementアセットの保存時にデータベース表に書き込まれます。


注意:

SiteEntryアセットをデータベース表に直接作成しないでください。直接作成すると複数の表への書込みが必要になり、その結果、依存性の追跡が不正確になる可能性があります。そのかわりに、「SiteEntry」フォームと、この項に示した手順を使用して、SiteEntryアセットを作成します。


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

23.6.1 前提条件

SiteEntryアセットの作成を開始する前に、次の手順を実行してください。

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

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

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

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

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

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

23.6.2 SiteEntryアセットの作成手順

この項では、WebCenter Sitesインタフェースを使用したSiteEntryアセットの作成方法を示します。


注意:

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


23.6.2.1 手順1: 「SiteEntry」フォームを開く

  1. 管理者としてWebCenter Sitesにログインします。

  2. 作業場所とするサイトを選択します。

  3. Adminインタフェースを選択します。

  4. ボタン・バーで、「新規」をクリックします。

  5. アセット・タイプのリストで、「新規SiteEntry」を選択します。


    注意:

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


  6. 「SiteEntry」フォームが表示されます。第23.5.2.2項「手順2: CSElementアセットの名前付けと記述」に進みます。


    注意:

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


23.6.2.2 手順2: SiteEntryアセットの作成

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

    e_siteentry_small.pngの説明が続きます
    図e_siteentry_small.pngの説明

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

    有効なエントリ:

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

    • アンダースコア(_)

    • ハイフン(-)

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

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

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


    注意:

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


  5. SiteCatalog表にある既存のページ・エントリの行を使用する場合は、「このページ名の既存のSiteCatalogエントリにマッピングします。」チェック・ボックスを選択します。

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


    注意:

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


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

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

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


    注意:

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

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

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


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

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

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

      rendermode,seid,site,sitepfx,ft_ss
      

    注意:

    予約されたキャッシュ基準変数は、削除しないでください。予約変数の詳細は、第4章「Oracle WebCenter Sitesを使用したプログラミング」を参照してください。


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

    foo,rendermode,seid,site,sitepfx,ft_ss
    

    注意:

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

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


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

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

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


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

23.6.2.3 手順3: SiteEntryアセットの保存と調査

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

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

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

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

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

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

      図23-5 アセットの調査

      図23-5の説明が続きます
      「図23-5 アセットの調査」の説明

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

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

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

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

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

承認テンプレートの詳細は、第28.1.1.3項「ディスクへのエクスポート用の承認テンプレート」を参照してください。デフォルトの承認テンプレートとして使用できるテンプレートの例については、Fullという記事アセットのBurlington Financialテンプレートを参照してください。

テンプレートがデフォルトの承認テンプレートであると指定するには:

  1. 「管理」タブで、「パブリッシュ」「宛先」「静的」の順に選択します。

  2. 静的宛先の名前で、「デフォルトのテンプレートの設定」を選択します。

  3. 「デフォルト・テンプレート」フォームで、「編集」をクリックします。

  4. 編集フォームで、アセット・タイプ別にデフォルト・テンプレートを選択します。アセット・タイプのいずれかにサブタイプ機能を使用している場合、そのアセット・タイプのサブタイプ別にデフォルトの承認テンプレートを指定できます。サブタイプの詳細は、第15.2.10項「手順8: (オプション)サブタイプの構成」を参照してください。

  5. 終了したら、「保存」をクリックします。

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

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

  • テンプレート、CSElementまたはSiteEntryの各アセットを保存した後で名前を変更することはできません。

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

  • テンプレートとCSElementの場合、ルート・エレメントの名前は変更できません。

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


    注意:

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


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

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

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

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

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


    注意:

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


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

アセットの基本的な共有手順は、『Oracle Fusion Middleware WebCenter Sites管理者ガイド』を参照してください。


注意:

テンプレートとCSElementを共有可能にするには、それぞれのエレメント・ロジックをアセット・タイプ名、属性名、テンプレート名またはIDでハードコード化しないようにしてください。かわりに、render:lookupタグを使用して、render:lookupタグが参照できるマップが作成されているキーをハードコード化して、エレメント・ロジックでの使用にアセット情報を検索できるようにします。


23.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 WebCenter Sites管理者ガイド』を参照してください。

23.7.5 テンプレート・アセット、CSElementアセットおよびSiteEntryアセットのプレビュー

テンプレート、CSElementおよびSiteEntryの各アセットは他のアセットを書式設定するためのロジックとコードを提供するため、これらのタイプのアセットは、コンテンツ・アセットのプレビューとは別の方法でプレビューします。

23.7.5.1 テンプレートとプレビュー

テンプレートをプレビューするには、アセットをプレビューし、アセットのレンダリングに使用するテンプレートを選択します。WebCenter Sitesはテンプレート内のコードを起動し、アセットをコンテンツとして使用してページをレンダリングします。

23.7.5.2 CSElementアセットとSiteEntryアセットおよびプレビュー

CSElementアセットとSiteEntryアセットは直接プレビューします。コールされるエレメントに自己完結型コンテキストが含まれている場合、バナーでは変数や引数が期待されません。単に、「プレビュー」アイコンをクリックできます。ただし、レンダリングされたエレメントの結果が渡される値によって異なる場合には、アセットをプレビューするために、その値を「CSElement」フォームまたは「SiteEntry」フォームで設定する必要があります。

たとえば、BurlingtonFinancial/Query/ShowHotTopicsという名前のBurlington Financial CSElementアセットは、p変数の値を期待します。値を受け取らなかった場合、pの値のデフォルト値はHomeページ・アセットのオブジェクトIDになります。Homeページ以外のページ・アセットに対してこのCSElementをプレビューする場合は、そのCSElementアセットに対して、「新規」フォームまたは「編集」フォームの引数フィールドを使用してページ・アセットのIDをp変数の値として渡す必要があります。

CSElementアセットまたはSiteEntryアセットをプレビューする際に引数値を指定するには:

  1. アセットを検索して、それを調査します(文字「i」のアイコンをクリックします)。

  2. 「調査」フォームの下までスクロールします。「引数を使用したプレビュー」の横の「プレビュー」をクリックします。CSElementアセットに対して次のフォームが表示されます。

    l_preview_small.pngの説明が続きます
    図l_preview_small.pngの説明

  3. 引数の値を入力します。各フィールドをダブルクリックして、ドロップダウン・リストから選択する方法で値を選択することもできます。

  4. 「プレビュー」をクリックします。

  5. このSiteEntryアセットによりレンダリングされたページのプレビューのために表示されるリンクをクリックします。

23.8 Oracle WebCenter Sites Explorerの使用によるエレメント・ロジックの作成と編集


注意:

エレメント・ロジックをSites Explorerから直接作成または編集することはお薦めできません。ただし、直接実行する方が優先される場合は、テンプレート・アセットおよびCSElementアセットの有効性を確認する必要があります。この項の情報をメモして、その中に含まれている指示に従ってください。


WebCenter Sitesインタフェース(「テンプレート」フォームまたは「CSElement」フォーム)でテンプレート(CSElement)アセットを作成および保存すると、Sites Explorerの使用時には実行されない、いくつかの重要な手順が実行されます。

Sites ExplorerでCSElementアセットを使用するように指定した場合は、eid変数の値を変更したり、誤って削除しないようにしてください。

WebCenter Sitesインタフェースを使用する実際的な理由は、(テンプレート共有およびサイト・レプリケーションをサポートするために)特にアセット情報をマップしている場合に、WebCenter SitesとSites Explorer間での切替えを回避するためです。マッピングはWebCenter Sitesインタフェース(「テンプレート」フォームの「マップ」画面、および「CSElement」フォームの「マップ」画面)のみでサポートされています。

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

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

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

  1. 「テンプレート」フォーム(または「CSElement」フォーム)を使用してテンプレート(またはCSElement)アセットの作成を開始します。第23.4.2.1項「手順1: 「テンプレート」フォームを開く」(または第23.5.2.1項「手順1: 「CSElement」フォームを開く」)から始めて、順番に手順を実行します。

  2. 第23.4.2.3項「手順3: テンプレートのエレメントの構成」(または第23.5.2.3項「手順3: エレメントの構成」)で、エレメント・タイプ(JSP、XML、またはHTML)を選択します。自動生成されたエレメント・ロジックは変更しないでください。また、tid変数の値を変更したり、誤って削除しないようにしてください。

  3. 選択したフォームを使用して、終了するまで続行します。マップする必要のあるキーとアセット値が判明している場合は、それらを「マップ」フォームに追加します(第23.4.2.5項「手順5: マップの構成」)。同じ手順がCSElementアセットにも適用できます)。

  4. アセットを保存します。

  5. Sites Explorerを開いて、エレメントを編集します。変更を保存します。

  6. 最後の手順では、「テンプレート」フォーム(または「CSElement」フォーム)でアセットを再度保存します。フォームでデータを変更する必要はありませんが、再度保存する必要があります。こうすることで、機能が迂回されなくなります。

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

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