コンテンツ管理ガイド

     前  次    目次     
ここから内容

表示テンプレートの使用

テンプレートを表示すると、表示テンプレート JSP タグを使用した JSP 内で使用できるポータル コンテンツの標準ビューを作成できます。たとえば、ポータルには、ブックのリストを表示する場合、ブックのリストを表示する方法が決定される表示テンプレートを作成できます。または、従業員ディレクトリのピクチャーを表示する方法がコンフィグレーションされる表示テンプレートを作成できます。

Content Presenter ポートレットおよびシンジケーション フィードなどのコンテンツ管理機能は、ユーザにコンテンツを表示するために表示テンプレートを使用します。これらの機能を拡張するには、テンプレートをカスタマイズ、または新しいテンプレートを追加することができます。

この章では、以下のトピックについて説明します。

 


表示テンプレート JSP タグの使用

表示テンプレート JSP タグを使用して、ポータル内での表示テンプレートを呼び出します。表示テンプレートは、コンテンツの表示方法を指定するために作成された JSP です。表示テンプレートを作成した後、wlp-template-config.xml ファイル に登録します。表示テンプレートが正しく作成されて登録された後、表示テンプレート JSP タグを使用して JSP 内で使用できます。

WebLogic Portal では、2 つのタイプの表示テンプレート タグを提供します。

表示テンプレート JSP タグの詳細については、「コマースおよび対話管理 JSP タグの Javadoc」を参照してください。

表示テンプレート JSP タグを使用する前に、以下を実行する必要があります。

表示テンプレートの作成

表示テンプレートは、関連リソースを表示するために表示テンプレート JSP タグと共に使用される JSP ページです。この JSP には、必要な JSP 機能を組み込むことができます。リポジトリ コンテンツまたはその方のポータル コンテンツ を表示するには、JSP などの表示テンプレートを使用できます。

ヒント : ベストプラクティスとして、Web アプリケーションの同じディレクトリにすべての表示テンプレートを格納しておくと便利です。

ポータル内で 2 つのタイプの表示テンプレートを作成できます。各タイプは個別に登録して各 JSP タグに関連付けられます。

wlp-template-config.xml ファイルでは、表示テンプレートを登録するために使用される 2 つのルート要素があります。

ビューの使用

同じリソースには、複数の表示テンプレート JSP を作成できます。通常、コンテンツ表示テンプレートで同じコンテンツ タイプを表示するには、複数のビューを作成します。たとえば、サムネイル イメージを表示する JSP およびフルサイズ イメージを表示する他の JSP を作成できます。リソースに使用するデフォルト ビューを割り当てることもできます。各テンプレートは、wlp-template-config.xml ファイルのビューとして登録します。登録された各テンプレートには少なくとも 1 つビューが必要です。コード リスト 11-3 では、特定のビューを使用するコンテンツ表示テンプレート タグの例について説明します。

表示テンプレート内でのコンテンツ表示テンプレートの使用

JSP 内でのテンプレート JSP タグを組み込むことによって、他のテンプレート内でのテンプレートを再使用できます。この方法で表示テンプレートを再使用することで、更新の必要なコード量を削減できます。たとえば、Content Presenter テンプレートでは、Content Presenter ポートレット内でのコンテンツを表示するために表示テンプレートを使用して、可能であれば、同じコンテンツ表示テンプレートを再使用します。コンテンツ表示テンプレートには、コンテンツ ノードを検索するために必要なコードが含まれています。この場合、取得されたコンテンツ (新しいプロパティを含むなど) を変更するには、コンテンツ表示テンプレートのみを更新する必要があります。

ヒント : コンテンツ表示テンプレートは特定のコンテンツタイプに関連付けられます。

wlp-template-config.xml ファイルの作成

表示テンプレートを作成した後、それぞれのリソースで作成されたテンプレート (JSP ページ) に関連付けられたコンフィグレーション ファイルを作成する必要があります。たとえば、コンテンツ タイプで使用するビューを作成した場合、wlp-template-config.xml ファイルを使用してその関係を登録する必要があります。

Workshop for WebLogic を使用して、wlp-template-config.xml ファイルを作成するには、次の手順に従います。

  1. プロジェクト エクスプローラで、//<WebProject>/WEB-INF フォルダを右クリックし、[新規|その他] を選択します。
  2. [ウィザードを選択] ダイアログで、[ XML|XML] を選択し、[次へ] をクリックします。
  3. [XML ファイルの作成] ダイアログで、[XML スキーマ ファイルから XML ファイルの作成] を選択し、[次へ] をクリックします。
  4. [XML ファイル名] ダイアログで、新しいファイル名に wlp-template-config.xml を入力し、[次へ] をクリックします。このファイルは、Web プロジェクトの WEB-INF ディレクトリに配置されることを確認します。
  5. [XML スキーマ ファイルの選択] ダイアログで、[XML カタログの選択] を選択します。
  6. http://www.bea.com/ns/p13n/90/wlp-template-config.xml を選択し、[次へ] をクリックします。
  7. [ルート要素の選択] ダイアログで、省略可能な属性の作成および省略可能な要素の作成の場合はコンテンツ オプション チェック ボックスを選択します。図 11-1 を参照してください。
  8. 図 11-1 [XML ファイルの作成] ダイアログで選択されたコンテンツ オプション


    [XML ファイルの作成] ダイアログで選択されたコンテンツ オプション

  9. [終了] をクリックします。
  10. wlp-template-config.xmlファイルを作成した後、このファイルを右クリックして、[アプリケーションから開く|XML エディタ(またはその他のエディタ)] を選択してファイルを編集します。ファイルを編集する際に以下の例を参照として使用してください。
    • コード リスト 11-1 は、wlp-template-config.xml スキーマのコメント付きアウトラインです。
    • コード リスト 11-2 は、wlp-template-config.xml ファイルの例です。
    • コード リスト 11-1 wlp-template-config.xml
      <wlp-template-config> 
         <!-- コンテンツ リポジトリのタイプおよびテンプレートを説明します。 -->
         <content-repository>
            <!-- リポジトリの名前。(必須) --> 
            <name> </name>
            <!-- 必要に応じて、このテンプレート セットのネームスペースを定義するために使用します。-->
            <content-name-space>
               <!-- 開発者に対する説明であり、エンド ユーザに表示されません (省略可能) --> 
               <description> </description>
               <!-- このテンプレートに一致するリポジトリのみを使用して
               コンテンツを表示する場合 (省略可能) -->
               <default-template-uri> </default-template-uri>
               <!-- コンテンツ タイプを説明します --> 
               <content-resource>
                  <!-- エンド ユーザには表示されない説明 (省略可能) --> 
                  <description> </description>
                  <!-- コンテンツ タイプの名前。(必須) -->
                  <name> </name>
                  <!-- コンテンツ タイプが一致する場合のみ、このテンプレートを使用して
                  コンテンツが表示されます。JSP 場所への URI が含まれています。(省略可能) -->
                  <default-template-uri> </default-template-uri>
                  <!-- ビューを説明します (省略可能) --> 
                  <view>
                     <!-- ビューの名前。(必須)--> 
                     <name> </name>
                     <!-- エンド ユーザには表示されない説明 (省略可能)  --> 
                     <description> </description>
                     <!-- ビュー名が一致する場合のみ、このテンプレートを使用して
                     コンテンツが表示されます。JSP 場所への URI が含まれています。
                     (必須) -->
                     <uri> </uri>
                  </view>
               </content-resource>
            </content-name-space>
         </content-repository>
      <!-- コンテンツ リポジトリにリンクされていないテンプレートを説明します --!> 
         <template-group>
            <name></name>
            <!-- 省略可能。組織目的には、テンプレートにネームスペースを指定できます。
            Content Presenter のテンプレートを作成する場合、
            wlp-content-presenter-multiple または wlp-content-presenter-single を使用します。--!>
            <template-name-space>
               <name></name>
               <template>
                  <description> </description>
                  <!-- (必須) テンプレートの名前。この名前は、Content Presenter ポートレット内での
                  テンプレート カテゴリ名として表示します。            --!>
                  <name></name>
                  <!-- デフォルトのテンプレート URI を入力します。テンプレート定義には、
                  ビュー要素が含まれない場合、この要素は必要であり、または
                  テンプレートが Content Presenter に機能しない。--!>
                  <default-template-uri> </default-template-uri>
                  <!-- 必要に応じて、このテンプレートの [プレビュー] アイコンを指定します。  --!>
                  <default-template-preview-icon-uri>
                  </default-template-preview-icon-uri>
                  <view>
                     <name> </name>
                     <description> </description>
                     <uri> </uri>
                     <!--必要に応じて、このビューの [プレビュー] アイコンを指定します。 --!>
                     <preview-icon-url></preview-icon-url>
                  </view>
               </template>
            </template-name-space>
         </template-group>
      </wlp-template-config>

コード リスト 11-2 は、有効なwlp-template-config.xml ファイルの例を示します。

コード リスト 11-2 wlp-template-config.xml ドキュメントのサンプル
<wlp-template-config> 
   <content-repository>
      <name>MyRepo</name>
      <default-template-uri>/MyDefault.jsp </default-template-uri>
      <content-resource>
         <name>thumbnail</name>
         <view>
            <name>small</name>
            <uri>/smallview.jsp</uri>
         </view>
      </content-resource>
      <content-resource>
         <name>Product</name>
         <default-template-uri>/MyProductDisplay.jsp</default-template-uri>
         <view>
            <name>small</name>
            <uri>/product/smallview.jsp</uri>
         </view>
      </content-resource>
      <content-resource>
         <name>Camera </name>
         <default-template-uri>
            /MyCameraProductDisplay.jsp
         </default-template-uri>
         <view>
            <name>small</name>
            <uri>/product/camera/smallview.jsp</uri>
         </view>
      </content-resource>
   </content-repository>
</wlp-template-config>

JSP 内での <dt:displaycmtemplate> の使用

<dt:displaycmtemplate> は、コンテンツ リポジトリからコンテンツを表示します。コンテンツ表示テンプレートは、コンテンツ タイプに関連付けられ、複数のビューを設定できます。このタグとその属性の詳細については、「コマースと対話管理の JSP Tag Javadoc」を参照してください。

<dt:displaycmtemplate> の例

この例には、カメラを拡張し、製品を拡張する DigitalCamera のコンテンツ タイプを表示します。タグに対して、タイプの継承の利用に関する例については、「タイプ継承の使用の <dt:displaycmtemplate> の例」を参照してください。これに、次の 3 つの部分が含まれます。

ヒント : 定義済みの表示テンプレートを持たないすべてのコンテンツ リソースでは、使用するコンフィグレーション ファイル内でデフォルト表示を定義できます。これを行なうには、「*」を値に使ってコンテンツ リソースを定義します。たとえば、<name>*<name> と入力します。例については、「コード リスト 11-5」を参照してください。コンテンツ リポジトリの要素には「*」を <name> として使用することもできます。

コード リスト 11-3 は、定義したビューを使用する JSP タグの使用方法の例および <cm:getNode>でノードを指定する方法を示します。

コード リスト 11-3 <dt:displaycmtemplate> タグの使用方法
<cm:getNode path=”/WLP Repository/sampleFolder/sampleNode” id=”aNode”/>
<dt:displaycmtemplate repositoryName="MyRepo" resourceName="DigitalCamera" view="small"/> 

コード リスト 11-4 は、デフォルト ビューを使用する使用方法の例を示します。

コード リスト 11-4 <dt:displaycmtemplate> タグの使用方法
<dt:displaycmtemplate repositoryName="MyRepo" resourceName="Camera" view="small"/>

コード リスト 11-5 は、対応するコンフィグレーション ファイルを示します。

コード リスト 11-5 対応する wlp-template-config.xml
<wlp-template-config> 
   <content-repository>
   <name>MyRepo</name>
   <default-template-uri>/MyDefault.jsp </default-template-uri>
      <content-resource>
         <!-- 名前要素で * を使用することで、テンプレートが登録されていないコンテンツ
         リソースのデフォルト ビューを定義します。 --!>
         <name>*</name>
         <view>
            <name>small</name>
            <uri>/smallview.jsp</uri>
         </view>
      </content-resource>
      <content-resource>
         <name>Product</name>
         <default-template-uri>/MyProductDisplay.jsp</default-template-uri>
         <view>
            <name>small</name>
            <uri>/product/smallview.jsp</uri>
         </view>
      </content-resource>
      <content-resource>
         <name>Camera</name>
         <default-template-uri>
            /MyCameraProductDisplay.jsp
         </default-template-uri>
         <view>
            <name>small</name>
            <uri>/product/camera/smallview.jsp</uri>
         </view>
      </content-resource>
   </content-repository>
</wlp-template-config>
<!-- このようなコンフィグレーションで、「product/camera/smallview.jsp」の uri を
検索します。これは、デジタル カメラのコンテンツ タイプがカメラ コンテンツ タイプから継承される、
およびカメラ <content-resource> には小規模ビューがあるためです。 -->

タイプの継承を使用した <dt:displaycmtemplate> の例

この例には、カメラを拡張し、製品を拡張する DigitalCamera のコンテンツ タイプを表示します。タグは、利用するビューを検索する時タイプの継承を使用することに注意してください。継承タイプの詳細については、「コンテンツ タイプの継承の使用」を参照してください。

コード リスト 11-6 は、JSP タグの構文を示します。

コード リスト 11-6 <dt:displaycmtemplate> タグの使用方法
<dt:displaycmtemplate repositoryName="MyRepo" resourceName="DigitalCamera" view="full"/> 

コード リスト 11-7 は、対応するコンフィグレーション ファイルを示します。

コード リスト 11-7 対応する wlp-template-config.xml
<wlp-display-template> 
   <content-repository>
      <name>MyRepo</name>
      <default-template-uri>/MyDefault.jsp </default-template-uri>
      <content-resource>
         <name>Product</name>
         <default-template-uri>/MyProductDisplay.jsp</default-template-uri>
         <view>
            <name>small</name>
            <uri>/product/smallview.jsp</uri>
         </view>
         <view>
            <name>full</name>
            <uri>/product/fullview.jsp</uri>
         </view>
      </content-resource>
      <content-resource>
         <name>Camera</name>
         <default-template-uri>
            /MyCameraProductDisplay.jsp
         </default-template-uri>
         <view>
            <name>small</name>
            <uri>/product/camera/smallview.jsp</uri>
         </view>
      </content-resource>
   </content-repository>
</wlp-display-template>
<!-- このようなコンフィグレーションで、「product/fullview.jsp」の uri を見つかります。これは JSP タグであり、タイプの継承を利用することで、カメラは製品から継承することが分かるようになります。 -->

JSP 内の <dt:displaytemplate> タグの使用

非コンテンツ管理のポータル リソースを表示する場合、<dt:displaytemplate> タグを使用します。このタグとその属性の詳細については、「コマースおよび対話管理 JSP タグの Javadoc」を参照してください。

 


Content Presenter コンフィグレーション ウィザードのカスタマイズ

Content Presenter ポートレットは、ポータル内でのカスタマイズされたコンテンツを迅速に表示する方法を提供します。Content Presenter ポートレットと、十分な権利をもっている任意のポートレット ユーザが、ポートレットにどのコンテンツが表示するかを変更できます。Content Presenter ポートレットとコンフィグレーション手順の詳細については、『ポートレット開発ガイド』の「Content Presenter ポートレットの使用」を参照してください。

Content Presenter ポートレットのカスタム表示テンプレートを作成できます。Content Presenter 内のカスタム表示テンプレートを使用するには、そのテンプレートを wlp-template-config.xml ファイル内のコンテンツ表示用に特定して登録する必要があります。

たとえば、あるテンプレートを作成して個別のプレス リリースの表示を制御し、別のテンプレートを作成して複数のプレス リリースの一覧の表示を制御することができます。ポートレット ユーザは、プレス リリースの要約、プレス リリースのタイトルのみ、またはプレス リリースの社内ビューを表示するなどの別のビューを選択できます。

表示テンプレートの作成およびコンフィグレーションの詳細については、「表示テンプレート JSP タグの使用」を参照してください。

注意 : ユーザは Content Presenter ポートレットで表示したコンテンツを表示する認可がない場合、デフォルトの動作では、エラーを無視し、空のポートレットを表示します。テンプレートの設計者として、代わりにメッセージを表示したい場合、認可の例外を処理するテンプレートに必要なロジックを作成する必要があります。

Content Presenter のテンプレートの使用

コンテンツ表示テンプレートは Content Presenter に直接使用できません。

ただし、コンテンツ表示テンプレート内での Content Presenter テンプレートを使用できます。 表示テンプレート JSP 内でのコンテンツ表示テンプレートを呼び出して、コードは別のプレゼンテーション スタイル に再使用できます。

ヒント : Content Presenter ポートレットは実装中に<dt:displaytemplate> JSP タグで呼び出した汎用表示ポートレットを使用します。コンテンツ表示テンプレートは <dt:displaycmtemplate> JSP タグで呼び出します。したがって、それらは Content Presenter ポートレットで直接使用できません。

コンテンツ表示テンプレートの使用は省略可能であり、テンプレートのコンフィグレーションをより複雑にすることができます。 ただし、Content Presenter テンプレート内の コンテンツ表示テンプレートを再使用する場合、コンテンツ タイプの継承を利用できます。「タイプの継承を使用した <dt:displaycmtemplate> の例」を参照してください。

Content Presenter ウィザードの新しい表示テンプレートの作成

この節では、Content Presenter ポートレットで使用できる 2 つの新しいテンプレートの追加とコンフィグレーションの例について説明します。

まず、プレス リリース コンテンツ ノードとそのタイトルを検索するコンテンツ表示テンプレートが作成されます。次に、そのテンプレートは、別のタイプの丸記号付きのプレス リリース タイトルを維持する他の 2つ表示テンプレートから <dt:displaycmtemplate> タグを使用して呼び出します。最後に、wlp-template-config.xml ファイルを作成して Content Presenter ポートレットに使用する各テンプレートを登録します。

再使用のためのコンテンツ表示テンプレートの作成

必要に応じて、表示テンプレート内でのコンテンツ表示テンプレートを使用して、リポジトリからコンテンツを検索するコードを一元化することができます。この例では、プレス リリースのタイトルを検索するコンテンツ表示テンプレートが作成されます。Content Presenter に登録された表示テンプレート内でのコンテンツ表示テンプレートを再使用できます。このようにして、プレス リリース タイトルを表示する各表示テンプレートにおいてコードの複製を回避することができます。

コード リスト 11-8 は、表示テンプレートに再使用されるコンテンツ表示テンプレート JSP ファイルを示します。コンテンツを検索する <cm:getProperty> の使用を確認します。

コード リスト 11-8 pressReleaseTitleOnly.jsp と呼び出すサンプル コンテンツ表示テンプレート
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="http://www.bea.com/servers/portal/tags/content" prefix="cm"%>
<cm:getProperty name="title"/>


作成された各テンプレートは wlp-template-config.xml に登録する必要があります。Content Presenter ポートレットのために設計される表示テンプレートを再使用するために作成した コンテンツ表示ポートレットを登録する場合、wlp-content-presenter 値を付けて <content-name-space> 要素が含まれる必要があります。コード リスト 11-9 を参照してください。

コンテンツ表示テンプレートを登録する方法の詳細について、「Content Presenter ポートレットにテンプレートの登録」を参照してください。

注意 : 使用中の既存のコンテンツ表示テンプレートを上書きする場合、コンテンツ表示テンプレート ウィザードを使用できます。「コンテンツ表示テンプレート ウィザードの使用」を参照してください。
コード リスト 11-9 Content Presenter の表示テンプレート内に再使用されるコンテンツ表示テンプレートのためのサンプル wlp-template-config.xml ファイル。
...
<content-repository>
   <name>WLP Repository</name>
   <content-name-space>
      <name>wlp-content-presenter-multiple</name>
      <content-resource>
         <name>pressRelease</name>
         <default-template-uri>
            /templates/cm/pressReleaseDefault.jsp
         </default-template-uri>
         <view>
            <name>Press Release Title Only</name>
            <description>
               This retrieves on the title property of a pressRelease.
            </description>
            <uri>/templates/cm/pressReleaseTitleOnly.jsp</uri>
         </view>
      </content-resource>
   <content-name-space>
</content-repository>
...

Content Presenter ポートレットの表示テンプレートの作成

JSP によって許可されるすべての柔軟性を使用して表示テンプレートを設計できます。 この節のサンプルでは、プレス リリース タイトルのリストの前に異なる丸記号を追加する 2 つの異なった表示テンプレート (JSP) を提供します。

再使用のためのコンテンツ表示テンプレートの作成の説明に従って、pressReleaseTitleOnly コンテンツ表示テンプレートを呼び出しするには、これらの JSP 内での <dt:displaycmtemplate> を使用します。これにより、テンプレート コードを最小限に抑え、一般的なプレゼンテーション パターンを実行し、コンテンツ タイプの継承を活用できます。詳細については、「タイプの継承を使用した <dt:displaycmtemplate> の例」を参照してください。

コード リスト 11-10 は、プレス リリース タイトルのリストを追加するためにテキストの箇条書きを使用する例を示します。

コード リスト 11-10 pressReleaseListBulletText.jsp と呼ばれるテンプレート ビュー (テキストの箇条書きの使用)
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="http://www.bea.com/servers/portal/tags/dt" prefix="dt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib tagdir="/WEB-INF/tags/wlpapps/contentui/templates"
    prefix="templateTags"%>
<templateTags:getTemplateNodes var="nodes"/>
<c:forEach items="${nodes}" var="node">
    &bull;
    <dt:displaycmtemplate
    resourceName="${node.objectClass.name}"
    view="Press Release Title Only"
    ** This node is passed to the content display template.**
    node="${node}"/>
    <br/>
</c:forEach>

コード リスト 11-11 は、.gif イメージを使用するテンプレートの例を示します。

コード リスト 11-11 pressReleaseListBulletImage.jsp と呼ばれるテンプレート ビュー (*.gif の使用)
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="http://www.bea.com/servers/portal/tags/dt" prefix="dt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib tagdir="/WEB-INF/tags/wlpapps/contentui/templates "prefix="templateTags"%>
<templateTags:getTemplateNodes var="nodes"/>
<c:forEach items="${nodes}" var="node">
   <img src="bullet.gif"/>
   <dt:displaycmtemplate
      resourceName="${node.objectClass.name}"
      view="Press Release Title Only"
      node="${node}"/>
   <br/>
</c:forEach>

Content Presenter ポートレットのテンプレートの登録

wlp-template-config.xml ファイルを使用して、Content Presenter ポートレットのテンプレートを登録します。

Content Presenter ポートレットのテンプレートを登録する場合、必要な要素を入力して、テンプレートにアクセスできることを確認します。Content Presenter コンフィグレーション ウィザードのウィザードを使用する場合、これらの一部の要素の値がユーザに表示されます。たとえば、Content Presenter にテンプレートを使用するためには、適切なネームスペースをコンテンツ表示テンプレートおよび表示テンプレートの両方に使用する必要があります。

コード リスト 11-12 は、Content Presenter コンフィグレーション ウィザードに再使用されたコンフィグレーション要素のブランク例を示します。これらの必要な要素の詳細については、「表 11-1」を参照してください。

コード リスト 11-12 Content Presenter ウィザードに使用した要素を含む wlp-template-config.xml のブランク例
<template-group>
   <name>My Custom Template Category</name>
   <template-name-space>
      <name>wlp-content-presenter-multiple</name>
      <view>
...
   </template-name-space>
</template-group>
または
<template-group> 
   <name>My Custom Template Category</name>
   <template-name-space>
      <name>wlp-content-presenter-single</name>
      <view>
...
   </template-name-space>
</template-group>

表 11-1 では、Content Presenter では、コンテンツ表示ポートレットで使用される表示テンプレートをコンフィグレーションする特定のコンフィグレーション要素 を示します。コード リスト 11-13 この例に使用した新しいテンプレートをコンフィグレーションする場合にwlp-template-config.xml ファイルに表示される、これらの要素の例を示します。

注意 : wlp-template-config.xml の完全例の詳細については、「コード リスト 11-1 wlp-template-config.xml」を参照してください。

表 11-1 Content Presenter テンプレートの特定のコンフィグレーション要素
wlp-template-config.xml 要素
処理の内容 :
<template-group>
Content Presenter ポートレットのテンプレート グループを定義します。
テンプレート グループは Content Presenter コンフィグレーション ウィザードのポートレットにおいて「テンプレート カテゴリ」として表現されます。
<template-name-space> (<template-group> の子要素)
テンプレートまたはカテゴリのネームスペースを定義します。(Content Presenter ポートレットに見られるように) ネームスペースは必須で、テンプレートが既存の複数または単一のコンテンツ項目に使用できるかどうかを区別できます。
この要素の値によって、テンプレートまたはビューが Content Presenter コンフィグレーション ウィザードでの複数または単一の項目テンプレートの選択として表示されるかどうかが決定されます。
<name> (<template-name-space> の子要素)
テンプレートまたはビューは Content Presenter コンフィグレーション ウィザードでの複数または単一の項目テンプレートの選択として表示したら、この要素の値を決定しています。
この要素は以下のいずれかの値である必要があります。
  • wlp-content-presenter-multiple
    ユーザがウィザードに複数のコンテンツ項目を表示するオプションを選択すると、wlp-content-presenter-multiple ネームスペース内のすべてのテンプレートが表示されます。したがって、ネームスペースの下に配置したすべてのテンプレートは、複数のコンテンツ項目を処理するように記述する必要があります。
  • wlp-content-presenter-single
    wlp-content-presenter-single ネームスペースは、単一のコンテンツ項目を処理するテンプレート用に設計されています。
<default-template-uri>
このテンプレート カテゴリに使用されるデフォルト テンプレート JSP を定義します。このカテゴリではテンプレート ビューを使用すれば、この要素は省略できます。
このネームスペースに表示する テンプレートがない場合、<default-template-uri> 要素が必要です。

ヒント : テンプレート カテゴリに複数のビューを定義すると、コンテンツの整理に役立ち、Content Presenter コンフィグレーション ウィザードを簡単に使用できます。たとえば、<default-template-uri> を持つプレス リリースというテンプレート カテゴリを作成します。プレス リリースの概要、プレス リリースのタイトルのみ、プレス リリース 公開ビュー、プレス リリース社内ビューなど、プレス リリースを表示するためにいくつかの方法が必要になる場合があります。この場合、プレス リリース テンプレート カテゴリの下に複数のテンプレート ビューを作成することは良い方法です。ビューの詳細については、「ビューの使用」を参照してください。

コード リスト 11-13 は、前の手順で作成されたコンテンツ表示テンプレートを参照するサンプル wlp-template-config.xml ファイル (コード リスト 11-8 を参照してください。) および Content Presenter ポートレットで直接使用する両方の表示テンプレート (コード リスト 11-10 および コード リスト 11-11 を参照してください。) を示します。

注意 : この例では、Content Presenter 内で使用できないコンテンツ表示テンプレートも含まれています。表示テンプレートの使用の詳細については、「表示テンプレート JSP タグの使用」を参照してください。
コード リスト 11-13 新しいテンプレートを含む wlp-template-config.xml ファイル
<?xml version="1.0" encoding="UTF-8"?>
<wlp-template-config xmlns="http://www.bea.com/ns/p13n/90/wlp-template-config">
<content-repository>
   <name>WLP Repository</name>
   <!--以下の太字部分は、コンテンツ表示
   を使用するときにネームスペースされない Content Presenter テンプレートの例です。これは、
   Content Presenter テンプレートで使用することができます。-->
   <content-resource> 
      <name>Product</name>
      <default-template-uri>
         /MyProductDisplay.jsp
      </default-template-uri>
      <view>
         <name>small</name>
         <uri>/product/smallview.jsp</uri>
      </view>
      <view>
         <name>full</name>
         <uri>/product/fullview.jsp</uri>
      </view>
   </content-resource>
<!-- 以下の太字部分は、テンプレートに再使用する
コンテンツ表示テンプレートのネームスペースを使用するの
ベスト プラクティスの例を示します。-->
   <!-- この名前要素は、テンプレートのネームスペースを作成します。-->
   <content-name-space>
      <name>wlp-content-presenter-multiple</name>
      <content-resource>
         <name>pressRelease</name>
         <default-template-uri>
            /templates/cm/pressReleaseDefault.jsp
         </default-template-uri>
         <view>
            <name>Press Release Title Only</name>
            <description>
               This retrieves on the title property of a pressRelease.
            </description>
            <uri>/templates/cm/pressReleaseTitleOnly.jsp</uri>
         </view>
      </content-resource>
   </content-name-space>
</content-repository>
<!--以下の太字部分は、Content Presenter テンプレートで直接使用する
表示テンプレートの例を示します。これには、テンプレート グループ、
テンプレート ネームスペースが含まれて、このカテゴリに関連付けられた別のテンプレートのリスト
を表示するためにビュー要素も使用します。必要に応じて、ユーザがウィザードに正確なテンプレートを選択できるようにするデフォルト テンプレートと各ビューの両方の [プレビュー] アイコンが含みれます。

   <template-group>
      <name>Custom Template Category</name>
      <template-name-space>
         <name>wlp-content-presenter-multiple</name>
         <template>
            <description>
               プレス リリースを表示するデフォルト テンプレートです。
            </description>
            <name>Press Release List Template</name>
            <default-template-uri>
               /templates/pressReleaseList.jsp
            </default-template-uri>
            <default-template-preview-icon-uri>
               /templates/images/pressReleaseList.gif
            </default-template-preview-icon-uri>
            <view>
               <name>Press Release Bulleted List - Text</name>
               <description>
                  テキストの箇条書きでプレス リリースを表示します。
               </description>
               <uri>/templates/pressReleaseListBulletText.jsp</uri>
               <preview-icon-uri>
                  /templates/images/pressReleaseListBulletText.gif
               </preview-icon-uri>
            </view>
            <view>
               <name>Press Release Bulleted List - Image</name>
               <description>
                  イメージの箇条書きでプレス リリースを表示します。
               </description>
               <uri>/templates/pressReleaseListBulletImage.jsp</uri>
               <preview-icon-uri>
                  /templates/images/pressReleaseListBulletImage.gif
               </preview-icon-uri>
            </view>
         </template>
      </template-name-space>
   </template-group>
</wlp-template-config>

 


コンテンツ表示テンプレート ウィザードの使用

Workshop for WebLogic では、コンテンツ表示テンプレート ウィザードを使用して新しいコンテンツ表示テンプレートを作成できます。コンテンツ表示テンプレート ウィザードは、選択されたリポジトリとコンテンツ タイプに応じてテンプレートを登録する適切な JSP およびファイルを生成します。

コンテンツ表示テンプレートを作成した後、カスタマイズすることができます(例については、Workshop for WebLogic の JSP エディタを使用します)。表示テンプレートの名前を変更しないのであれば、登録済みとして残ります。

Workshop for WebLogic のコンテンツ表示テンプレート ウィザードでは、<dt:displaycmtemplate> タグを使用して、コンテンツ表示テンプレートを作成できます。

ヒント : コンフィグレーション ウィザードでは <dt:displaytemplate> タグを使用して作成されたテンプレートだけが表示されるため、コンテンツ表示テンプレート ウィザードを使用して作成されたテンプレートは、Content Presenter コンフィグレーション ウィザードには自動的に表示されません。コンテンツ表示テンプレート ウィザードを使用してテンプレートを作成する場合、Content Presenter コンフィグレーション ウィザードで表示するテンプレートは、Content Presenter コンフィグレーション ウィザードに作成された通常の表示テンプレート (<dt:displaytemplate>) から Workshop for WebLogic (<dt:displaycmtemplate>) に作成されたテンプレートを呼び出して作成できます。

Content Presenter の表示テンプレートの更新

コンテンツ表示テンプレートウィザードを使用して、Content Presenter の表示テンプレートで参照されるコンテンツ表示テンプレートを更新できます。前に登録したネームスペースとビューを選択すると、既存の Content Presenter の表示テンプレートを使用して作成されたコンテンツ表示テンプレートを呼び出すことができます。Content Presenter の表示テンプレートのコンフィグレーションの詳細については、「Content Presenter ウィザードの新しい表示テンプレートの作成」を参照してください。

Content Presenter の表示テンプレートが取得されたコンテンツ プロパティを変更または更新する場合は、コンテンツ表示テンプレート ウィザードで既存の表示を上書きできます。たとえば、wlp-default-list ビュー (WLP デフォルトのリスト) は、コンテンツ項目のプライマリ プロパティを表示します。wlp-default-list ビューを更新して追加のプロパティを表示する場合、コンテンツ表示テンプレート ウィザードを使用して、選択するコンテンツ タイプ プロパティのみを含む新しい JSP (wlp-default-list の同じビュー名を使用する) を作成できます。

コンテンツ表示テンプレートの作成

Workshop for WebLogic では、コンテンツ表示テンプレートを作成するには、以下の手順を実行します。

  1. まだ使用していない場合、ポータル パースペクティブを切り替えます。[ウィンドウ|パースペクティブを開く|その他|ポータル] を選択します。
  2. [ファイル|新規|その他] を選択します。
  3. [ウィザードの選択] ウィンドウで、[WebLogic Portal] ディレクトリを展開し、[コンテンツ表示テンプレート] を選択し、[次へ] をクリックします。
  4. [プロジェクトの選択] ウィンドウで、ポータル Web プロジェクトを強調表示し、[次へ] をクリックします。
  5. [コンテンツ プロパティ] ウィンドウで、[テンプレートで表示するコンテンツ プロパティ] を選択します。
  6. 注意 : ウィザードを使用してコンテンツ表示テンプレートを作成する場合、サーバーへのコンテンツ タイプおよびプロパティにアクセスできます。または、サーバーへのアクセス権がない場合は手動で入力できます。

    サーバーを実行する場合

    • コンテンツ タイプ フィールドからコンテンツ タイプを選択します。ドロップダウン メニューは、使用可能なすべてのコンテンツ タイプをリポジトリに表示します。
    • 対応するチェックボックスを選択してテンプレートに表示するコンテンツ プロパティを選択します。[すべて選択] もクリックできます。
    • 注意 : コンテンツ表示テンプレートウィザードは、ネストまたはリンクされたコンテンツ プロパティをサポートしていない。テンプレートにこれらのプロパティを使用する場合、コンテンツ表示テンプレート JSP を手動で編集する必要があります。
    • [次へ] をクリックします。
    • サーバーを実行しない場合

    • [プロパティの追加] をクリックして、各コンテンツ タイプ プロパティを表示するウィザードに追加します。プロパティの名前とデータ型を入力し、[OK] をクリックします。
    • また、すべてのノード プロパティの表示のチェックボックスを選択して、すべてのコンテンツ タイプ プロパティを取得できます。表示テンプレートは手動で編集し、プロパティを取得する方法 (プロパティを削除し、ソート順を変更するなど) を更新または変更できます。
    • コンテンツ タイプ プロパティを追加した後、[次へ] をクリックし、テンプレートの情報ページに進みます。
  7. テンプレートの情報ページでは、ドロップダウン メニューを使用して、リポジトリ名、ネームスペースおよびコンテンツ タイプを選択します。
    • Content Presenter コンフィグレーション ウィザードに使用するコンテンツ表示テンプレートを更新すると、wlp-content-presenter-multiple または wlp-content-presenter-single のネームスペースを指定する必要があります。「Content Presenter ポートレットのテンプレートの登録」およびこの節の最後にある「手順ヒント :」を参照してください。
    • また、アスタリスク (*) は、コンテンツ リポジトリまたはコンテンツ タイプ、およびすべてのコンテンツ リポジトリまたはコンテンツ タイプに一致するテンプレート用に使用できます。
  8. [表示情報] ウィンドウで、テンプレート ビュー名と情報を入力します。
    1. [ビュー名] フィールドでは、既存のビュー (現在の表示テンプレート コンフィグレーションから取り込まれます)を選択して、既存のコンフィグレーションを上書きします。また、新しい名前を入力して、新しいビューを作成できます。
    2. 表 11-2 では、Workshop for WebLogic で表示されるコンテンツ表示テンプレートのビューを示します。これらのテンプレートのビューは、追加の手順を実行しない限り、Content Presenter コンフィグレーション ウィザードで自動的に表示しません。

      表 11-2 Content Presenter のコンテンツ表示テンプレートのビュー
      表示
      処理の内容 :
      WLP デフォルト シンジケーション ビュー
      シンジケーション フィードのコンテンツ項目のすべてのプロパティを示します。詳細については、「シンジケート フィード JSP の作成」を参照してください。
      WLP デフォルト詳細
      コンテンツ項目のすべてのプロパティを示します。
      WLP デフォルト 1 つのプロパティ
      単一ノードおよび 1 つのプロパティを示します。
      WLP デフォルト リスト
      コンテンツ項目のプライマリ プロパティを示します。
      WLP Content Presenter ウィザードの項目詳細
      ウィザード内でのコンテンツ項目のすべてのプロパティを示します。

      注意 : Content Presenter テンプレートのビューにアクセスするように、Content Presenter ファセットを Web プロジェクトに追加する必要があります。Content Presenter ポートレットの詳細については、『ポートレット ガイド』を参照してください。
    3. また、[ビュー説明] フィールドにビューの説明を入力することを選択できます。
    4. アイコンをこのビューに関連付けることも選択できます。アイコンをビューに関連付けるとき、ユーザが Content Presenter コンフィグレーション ウィザード中に適切なテンプレート ビューを選択するためにアイコンを使用します。
    5. [次へ] をクリックします。
  9. [ビュー JSP] ページで、新しいテンプレートは Web プロジェクトでのロケーションに保存します。
    1. .jsp 拡張子を含めて、[ファイル名] フィールドに JSP を入力します。
    2. すでにファイルが存在する場合は、既存のリソースを上書きしますか。チェックボックスを選択しないと、ファイルは変更しません。
    3. [ウィザードを完了したら、JSP ファイルを開く] を選択します。JSP エディタに JSP をすぐに表示するには、チェック ボックスを選択します。
    4. [テンプレートに JSTL タグを使用するか] を選択します。アプリケーションでは、JSP タグ ライブラリ JavaServer Pages Standard Tag Library (JSTL) を使用すると、チェック ボックスを選択します。
  10. [終了] をクリックして、Workshop for WebLogic の JSP エディタに JSP ファイルを表示します。

テンプレートおよびビュー コンフィグレーション情報が wlp-template-config.xml ファイルに格納され、新しい JSP が作成されます。

ヒント : コンフィグレーション ウィザードは <dt:displaytemplate> タグで作成されたテンプレートのみを表示するため、Workshop for WebLogic のコンテンツ表示テンプレート ウィザードを使用して作成されたテンプレートは Content Presenter コンフィグレーション ウィザードでは自動的に表示されません。Workshop for WebLogic のコンテンツ表示テンプレート ウィザードを使用してテンプレートを作成する場合、Content Presenter コンフィグレーション ウィザードで表示するテンプレートは、Content Presenter コンフィグレーション ウィザードで作成された通常の表示テンプレート (<dt:displaytemplate>) から Workshop for WebLogic (<dt:displaycmtemplate>) に作成されたテンプレートを呼び出して作成できます。

  ページの先頭       前  次