コンテンツ管理ガイド

     前  次    目次     
ここから内容

シンジケート フィードの使用

シンジケート フィードは Web フィードとも呼ばれ、コンテンツが頻繁に更新されるユーザを提供します。シンジケート フィードでは、コンテンツをサード パーティ フィード リーダーに公開できます。たとえば、公開の準備が整うすべてのコンテンツが含まれるシンジケート フィードを読み込むローカルマシン上で、コンテンツ出版社はフィードリーダーをコンフィグレーションできます。シンジケート フィードにサブスクライブし、フィード リーダーまたはアグリゲータを使用することにより、ユーザーはコンテンツの変更に関する最新の情報を得ることができます。

WebLogic Portal では、変更できるシンジケーション プロデューサ サーブレットおよび複数の事前にコンフィグレーションされているシンジケート フィードを提供します。独自のクラス フィードも作成可能です。事前にコンフィグレーションされているシンジケート フィードは、RSS フィード技術と互換性で、多くの RSS リーダーを読み込できる URL フォーマットで構成されます。RSS 2.0 仕様に準拠している必要があります。

注意 : Internet Explorer 6 では、シンジケート フィードがサポートされていません。

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

 


事前にコンフィグレーションされているシンジケート フィードの使用と変更

コンフィグレーション済みのシンジケート フィードには、表示テンプレート JSP を使用して、コンテンツを選択し表示するための基本的なサンプルが含まれます。これらの JSP は、コンテンツの作成日時、作成者およびコンテンツ ノードの名前などの一般的なメタデータを表示します。これらは、単純なフォーマットで情報を表示する汎用表示ポートレットです。

ヒント : 基本的なコンフィグレーション済みのシンジケート フィードは独自のカスタム シンジケート フィードの開発の起点として使用します。

シンジケート フィードの URL フォーマット

コード リスト 12-1 は、シンジケート フィードの URL フォーマットを示します。

コード リスト 12-1 シンジケート フィードの URL フォーマット
http://<Administration Console Host Machine Name>: <Administration Console Port
default is 7001)>/<WebApp>/SyndicationProducer?feedName=<feedName>
&syndicationStyleName=<styleName>

表 12-1 は、WebLogic Portal で提供されている 3 つの事前にコンフィグレーションされているシンジケート フィードの URL を示します。

表 12-1 事前にコンフィグレーションされているシンジケート フィード
フィード名前
[説明]
シンジケート フィード URL
最新コンテンツ
リポジトリに追加された最新ファイルを示します。
http://<hostname>:7001/<WebApp>/SyndicationProducer?feedName=LatestContent&syndicationStyleName=rss
承認が必要です。
公開前に承認を必要とするドキュメントを示します。
http://<hostname>:7001/<WebApp>/SyndicationProducer?feedName=NeedToApprove&syndicationStyleName=rss
ディレクトリ コンテンツ
ディレクトリの先頭に存在した最新ファイルと共に、特定のディレクトリ内のファイルを示します。
http://<hostname>:7001/<WebApp>/SyndicationProducer?feedName=DirectoryContents&syndicationStyleName=rss

URL を使用して、検索結果の変更

特定のフィードに関する検索結果を変更する場合、URL を変更することができます。URL を変更して、シンジケーション プロデューサ サーブレットに渡したパラメータを設定するシンジケーション コンフィグレーション ファイルを変更しないでシンジケーション プロデューサ サーブレットにパラメータを渡すことができます。たとえば、シンジケート フィードおよびリーダー タイプに表示された記事数を変更するには、アンパサンド間で searchMaxResults パラメータを追加し、syndicationStyleName の値を atom に変更します。作成された URL は以下のようになります。

http://www.bea.com:7001/myWebApp/SyndicationProducer?feedName=LatestContent&searchMaxResults=5&syndicationStyleName=atom

URL はコード リスト 12-1 のフォーマットに従います。表 12-2 は、使用可能なパラメータを示します。アンパサンドを使って各パラメータを区切ります。

注意 : URL に設定されないすべてのパラメータは、シンジケーション コンフィグレーション (wlp-syndication-config) ファイルに設定する必要があります。 または、望ましくない結果や失敗を発生する可能性があります。たとえば、searchMaxResults パラメータを任意の場所に設定しない場合、シンジケート フィードは数百のエントリを表示できます。

wlp-syndication-config.xml ファイルの詳細については、「シンジケーション コンフィグレーション ファイルの変更」を参照してください。

URL の変更は、開発時に特に役立ちます。URL を使用して、シンジケーション プロデューサ サーブレットに渡されるパラメータを決定とテストすることができます。シンジケーション コンフィグレーション ファイルを変更するためにアプリケーションの再デプロイが必要ですので、かかる時間を短縮できます。適切なパラメータを確立した後、wlp-syndication-config.xml ファイルを編集し、再デプロイできます。

URL によって渡されたパラメータは、シンジケーション コンフィグレーション ファイルから渡されたパラメータよりも優先されます。シンジケーション プロデューサ サーブレットでは、次のように優先順位を設定します。

  1. URL クエリ パラメータ
  2. wlp-syndication-config.xml のシンジケーション フィードの設定
  3. wlp-syndication-config.xml のシンジケーション スタイルの設定

事前にコンフィグレーションされているシンジケート フィードの変更

以下のファイルを変更することで、事前にコンフィグレーションされているシンジケート フィードを変更できます。

シンジケート フィード JSP について

WebLogic Portal では、4 つの事前にコンフィグレーションされている JSP が含まれています。 最初の 3 つの JSP はコンテンツ項目のリストを生成し、4 つ目はコンテンツ自体を生成します。図 12-1 および 図 12-2 を参照してください。

図 12-2 rss_detailed_view.jspによって表示される記事自体を示します。

図 12-2 rss_detailed_view.jsp で表示される記事

rss_detailed_view.jsp で表示される記事

事前にコンフィグレーションされているシンジケート フィードの変更

Workshop for WebLogic での事前にコンフィグレーションされているシンジケート フィード JSP を [マージ済みプロジェクト] ビューから変更するために、RSS JSP ファイルを myPortalWebProject フォルダから Web プロジェクトにコピーします。Workshop for WebLogic の使用方法の詳細については、『ポータル開発ガイド』の「ポータル開発環境の設定」にある「マージ済みプロジェクト ビューの使用」を参照してください。

コンテンツの取得

コンテンツ管理では、2 つのタイプのリポジトリの公開とバージョン管理を行います。公開済みリポジトリのノードは、1 つのバージョンの情報のみを提供します。シンジケート フィードのユーザはコンテンツ ノードを更新するたびにこの情報を表示します。バージョンのリポジトリのノードは、検索と管理できる複数のバージョンを提供します。ライブラリ サービスが有効になっている場合、コンテンツをリポジトリにチェックインするたびにコンテンツが自動的にバージョン管理され、コンテンツの新しいコピーが保存されます。一般には、公開する前、マネージからコンテンツを承認するワークフローにバージョンのリポジトリを使用します。ライブラリ サービスの詳細については、「バージョン管理の使用」を参照してください。

公開済みリポジトリから情報の取得

シンジケーション コンフィグレーション ファイル (wlp-syndication-config.xml) の検索タイプは pubmeta に設定して、公開済みリポジトリにノードを呼び出すことができます。

<search-type>pubmeta</search-type> 

シンジケーション プロデューサ サーブレットは、JSP スクリプトレット内のコンテンツ ノードからデータを取得するために JSP を呼び出す場合、JSP スクリプトレット内の node のリクエスト属性は null に設定しない。

if(request.getAttribute("node") != null){ 

コード リスト 12-4 は、全体の wlp-syndication-config.xml ファイルを示します。コード リスト 12-2 は、サンプル JSP ファイル (rss_item.jsp) を示します。

バージョンのリポジトリから情報の取得

シンジケーション コンフィグレーション ファイル (wlp-syndication-config.xml) の検索タイプを vermeta に設定して、バージョン ノードを呼び出すことができます。

<search-type>vermeta</search-type>

シンジケーション プロデューサ サーブレットは、バージョン ノードからデータを取得するために JSP を呼び出す場合、JSP スクリプトレット内の version のリクエスト属性は null に設定しない。

else if (request.getAttribute("version") != null){ 

コード リスト 12-4 は、全体の wlp-syndication-config.xml ファイルを示します。コード リスト 12-2 は、サンプル JSP ファイル (rss_item.jsp) を示します。

サンプル JSP

以下のサンプル JSP では、シンジケーション フィードを表示するためのロジックが含まれます。シンジケーション プロデューサ サーブレットでは、コンテンツ クエリを使用して、コンテンツ管理からデータを取得します。JSP では、コンテンツ クエリから返される結果が表示されます。

コード リスト 12-2 Item—rss_item.jsp 用のサンプル シンジケート フィード JSP
<%@page contentType="text/html;charset=UTF-8" language="java"%>
<%@ page import="com.bea.content.Node" %>
<%@ page import="com.bea.content.ContentContext" %>
<%@ page import="com.bea.content.virtual.version.Version" %>
<%@ page import="com.bea.content.federated.ContentManagerFactory"%>
<%@ page import="com.bea.content.federated.INodeManager"%>
<%

String path = request.getRequestURL().toString();
path = path.substring(0, path.indexOf(request.getContextPath()));
request.setAttribute("rootURL", path+"/"+ request.getContextPath());

   if(request.getAttribute("node") != null){
      Node node = (Node)request.getAttribute("node");
      if(node != null){
      String nodePath = node.getPath();
      request.setAttribute("parameters", request.getAttribute("rootURL") +
         "/ShowProperty?nodePath="+nodePath);
      request.setAttribute("path", request.getAttribute("rootURL") +
         "/ShowProperty?nodePath="+nodePath);
      request.setAttribute("title", node.getName());
   }
   else{
      request.setAttribute("parameters", "#");
      request.setAttribute("path", "Node could not be found from path");
      request.setAttribute("title", "Null Node Exception");
   }
}
else if (request.getAttribute("version") != null){
      Version version = (Version)request.getAttribute("version");
      if(version != null){
         INodeManager nodeMgr = ContentManagerFactory.getNodeManager();
         Node node = nodeMgr.getNodeByUUID(new ContentContext(),
            version.getNodeId());
         if(node != null){
            String nodePath = node.getPath();
            request.setAttribute("parameters", request.getAttribute("rootURL") +
               "/ShowProperty/"+nodePath+"||versionId="+version.getVersionName());
            request.setAttribute("path", request.getAttribute("rootURL") +
               "/ShowProperty/"+nodePath+"||versionId="+version.getVersionName());
            request.setAttribute("title", node.getName());
         }
         else{
            request.setAttribute("parameters", "#");
            request.setAttribute("path", "Node could not be found from path");
            request.setAttribute("title", "Null Node Exception");
      }
      else{
         request.setAttribute("fullURL", "Version attribute was null");
         request.setAttribute("title", "Null Version");
         request.setAttribute("description", "Null Node");
      }
}
%>
<item>
   <title>${title}</title>
   <link>${fullURL}</link>
   <description>${description}</description>
</item>
項目の内容の表示

前述のように、JSP はリポジトリからデータを選択し、表示します。コード リスト 12-2 の最後には、シンジケート リストの各項目を表示する次の HTML を示します。

<item>
   <title>${title}</title>
   link>${fullURL}</link>
   <description>${description}</description>
</item>

コード リスト 12-3 に示すように、rss_detailed_view.jsp には、リスト内の項目の内容を表示する HTML が含まれます。

コード リスト 12-3 Article—rss_detailed_view.jsp 用のサンプル シンジケート フィード JSP
...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>View Details: ${title}</title>
<style>
   body {background-color:#FFFFFF; font-family:arial, sans-serif;
      font-size: 1em; color:#000000;}
   p td {font-family:arial, sans-serif; font-size: 100%; color:#000000;}
   h1 {font-size:120%; border-bottom: 1px solid #CCCCCC;}
   .notetext {font-size:80%; width: 50%; padding:10px; border: 1px solid
   #FFCC33; background-color: #FFFFCC}
</style>
</head>
<body>
   <h1>View Details: ${title}</h1>
   <div class="notetext">このビューでは、選択されたフィード項目の
      便利なプロパティを表示し、表示テンプレートでフォーマットすることができます。デフォルトでは
      、少数のシステム プロパティが表示されます。</div>
   <p>Location in Repository: ${nodePath}</p>
   <p>Created on: ${createdDate}</p>
   <p>Created by: ${createdBy}</p>
   <p>Primary Property Details: <a href="${parameters}">View Binary</a></p>
</body>
</html>

シンジケーション コンフィグレーション ファイルの変更

シンジケーション コンフィグレーション ファイルでは、シンジケーション プロデューサ サーブレットに渡されるパラメータを設定し、シンジケーション フィード JSP が使用した表示テンプレートを変更できるネームスペースにマップします。

マージ済みプロジェクト ビュー から Workshop for WebLogic 内の事前にコンフィグレーションされているシンジケート フィードを変更するには、WEB-INF\wlp-syndication-config.xml ファイルを Web プロジェクトにコピーして、ファイルを編集します。Workshop for WebLogic の使用方法の詳細については、「マージ済みプロジェクト ビューの操作」を参照してください。

コード リスト 12-4 事前にコンフィグレーションされているシンジケート フィードのシンジケーション コンフィグレーション ファイル (wlp-syndication-config.xml) を示します。

コード リスト 12-4 サンプル シンジケーション コンフィグレーション ファイル (wlp-syndication-config.xml)
<?xml version="1.0"?>
<wlp-syndication-config xmlns="http://www.bea.com/ns/content/102/wlp-syndication-config">
   <syndication-feed>
      <name>LatestContent</name>
      <search-query>cm_nodeName like '*'</search-query>
      <search-type>pubmeta</search-type>
      <search-max-results>20</search-max-results>
      <search-sort-order>cm_createdDate desc</search-sort-order>
   </syndication-feed>
   <syndication-feed>
      <name>NeedToApprove</name>
      <search-query>cm_lifeCycleStatus = 3 &amp;&amp; cm_assignedToUser =
         requestProperty('DefaultRequestPropertySet', 'Remote
         User')</search-query>
      <search-type>vermeta</search-type>
   </syndication-feed>
   <syndication-feed>
      <name>DirectoryContents</name>
      <search-query>cm_path like '/WLP Repository/*'</search-query>
      <search-type>pubmeta</search-type>
      <search-max-results>20</search-max-results>
      <search-sort-order>cm_createdDate desc</search-sort-order>
   </syndication-feed>
   <syndication-style>
      <name>rss</name>
      <name-space>bea-rss</name-space>
      <channel-group-name>ContentRepoRSS</channel-group-name>
      <channel-template>RSSChannel</channel-template>
      <channel-header-view>channelHeader</channel-header-view>
      <channel-footer-view>channelFooter</channel-footer-view>
   </syndication-style>
   <syndication-item-style>
      <name>rss_detailed_view</name>
      <name-space>bea-rss</name-space>
      <item-view>detailedView</item-view>
   </syndication-item-style>
</wlp-syndication-config>
検索のタイプ

コード リスト 12-4 に示すように、<syndication-feed> 要素に 2 つの検索タイプがあります。

これらの検索タイプは、シンジケーション プロデューサ サーブレットを公開 (pubmeta) または バージョン管理 (vermeta) のリポジトリからクエリ データに送ります。デフォルトの検索タイプは、pubmeta です。

検索タイプによって、ノード または バージョンの検索プロパティはシンジケート フィード JSP (コード リスト 12-2) に設定します。具体的には、ノードまたはバージョンは null に設定しない。

vermeta 検索タイプは、ワークフローで頻繁に使用されます。この検索タイプは、ライブラリ サービスを有効にするリポジトリなど、管理対象リポジトリに使用できます。詳細については、「ライブラリ サービスを使用する場合の WLP リポジトリ コンテンツの操作」を参照してください。

シンジケーション コンフィグレーション オプション

事前にコンフィグレーションされているシンジケート フィードのシンジケーション コンフィグレーション ファイルでは、オプション数を提供します。たとえば、結果の手順は、降順から昇順へ変更できます。使用できるパラメータ は、コード リスト 12-6 に示す XML スキーマに基づきます。以下のオプションを利用できます。

表 12-2 シンジケーション プロデューサ サーブレットに渡される使用できるパラメータ
パラメータ
説明
コンテンツ クエリ – このパラメータを使用して、シンジケート フィードに表示される情報を検索できます。
feedName
wlp-syndication-config.xml に保存された RSS フィードの名前。
syndicationStyleName
使用する RSS、Atom などフォーマットの名前。wlp-syndication-config.xml に保存。
searchQuery
コンテンツ検索式
searchType
実行する検索タイプ。
  • pubmeta – 公開済みメタデータ検索 (デフォルト)
  • vermeta – バージョンのメタデータ検索
searchSortOrder
検索結果のソート順。
searchMaxResults
検索から戻る結果の最大数。
nameSpace
wlp-template-config.xml 内での <content-name-space> および <template-name-space> の両方のコンテンツ テンプレートをルックアップするために使用されるコンテンツ テンプレート ネームスペース。これを指定しない場合、デフォルトは bea-rss
RSS チャネルに関係するパラメータ – このパラメータを使用して、RSS チャネル ヘッダを作成するためにコンテンツ テンプレートを検索できます。
channelGroupName
コンテンツ テンプレート グループ名
channelTemplate
コンテンツ テンプレート名
channelView
コンテンツ テンプレート名を表示。
RSS 項目に関係するパラメータ – このパラメータを使用して、各 RSS 項目を作成するためにコンテンツ テンプレートを検索できます。
itemResourceName
コンテンツ テンプレート リソース名。
itemRepositoryName
コンテンツ テンプレート リポジトリ名。
itemView
コンテンツ テンプレート ビュー名。

表示テンプレートの選択

wlp-syndication-config.xml ファイルでは、wlp-template-config.xml ファイル内の表示テンプレート JSP にマップするエントリが含まれます。たとえば、wlp-syndication-config.xml ファイル (コード リスト 12-4) では、syndication-style 要素は、wlp-template-config.xml ファイル (コード リスト 12-5) 内の対応する要素 (および JSP) を参照します。

wlp-syndication-config.xml ファイルの場合

<syndication-style>
   <name>rss</name>
   <name-space>bea-rss</name-space>
   <channel-group-name>ContentRepoRSS</channel-group-name>
   <channel-template>RSSChannel</channel-template>
   <channel-header-view>channelHeader</channel-header-view>
   <channel-footer-view>channelFooter</channel-footer-view>
</syndication-style>

wlp-template-config.xml ファイルの場合

<view> 
   <name>channelHeader</name>
   <uri>/rss/rss_header.jsp</uri>

</view>

この設計により、wlp-template-config.xml ファイルに変更を加えて、独自 JSP を参照できます。たとえば、ヘッダ JSP を参照して、URI は、/rss/rss_header.jsp から /atom/atom_header.jsp に 変更できます。

マージ済みプロジェクト ビューから Workshop for WebLogic 内の事前にコンフィグレーションされている表示テンプレート コンフィグレーション ファイル を変更するには、WEB-INF\wlp-template-config.xml ファイルを Web プロジェクトにコピーして、ファイルを編集します。Workshop for WebLogic の使用方法の詳細については、「マージ済みプロジェクト ビューの操作」を参照してください。

コード リスト 12-5 表示テンプレート コンフィグレーション ファイル (wlp-template-config.xml) のサンプル
<?xml version="1.0" ?> 
<wlp-template-config xmlns="http://www.bea.com/ns/p13n/90/wlp-template-config">
<content-repository>
   <name>*</name>
   <default-template-uri>/rss/rss_item.jsp</default-template-uri>
   <content-name-space>
      <name>bea-rss</name>
      <content-resource>
         <name>*</name>
         <default-template-uri>/rss/rss_item.jsp</default-template-uri>
         <view>
            <name>detailedView</name>
            <uri>/rss/rss_detailed_view.jsp</uri>
         </view>
      </content-resource>
   </content-name-space>
</content-repository>
   <template-group>
      <name>ContentRepoRSS</name>
      <template-name-space>
         <name>bea-rss</name>
         <template>
            <name>RSSChannel</name>
            <default-template-uri>/rss/rss_header.jsp</default-template-uri>
            <view>
               <name>channelHeader</name>
               <uri>/rss/rss_header.jsp</uri>
            </view>
            <view>
               <name>channelFooter</name>
               <uri>/rss/rss_footer.jsp</uri>
            </view>
         </template>
      </template-name-space>
   </template-group>
</wlp-template-config>

 


カスタム シンジケート フィードの作成

シンジケート フィード を組織にカスタマイズするような場合です。たとえば、ユーザに表示したい記事と作成者の名前などコンテンツ リポジトリ中にデータのさまざまな部分を表示する JSP を開発する必要があります。また、情報は、ポータルのルック アンド フィールと一致しているフォーマットで表示することができます。いずれかの事前にコンフィグレーションされているシンジケート フィードは、開始点として使用でき、または、最初から構築します。

ヒント : シンジケート フィードの操作方法を理解するには、事前にコンフィグレーションされているシンジケート フィードの使用と変更を必ず読んでください。

別のリーダーに対応している Atom などのシンジケート フィードを作成できます。開発プロセスを高速化するために、同じコンテンツ クエリを使用して、データベースから情報を取得し、このコンテンツを別のリーダーに対して異なる XML 形式で表示することができます。

コンテンツ リポジトリは、仮想コンテンツ リポジトリを使用して WebLogic Portal に接続されるので、リポジトリが仮想コンテンツ リポジトリへの接続であれば、JSP 表示テンプレートでは、データがいずれかのコンテンツ リポジトリに表示されます。詳細については、「はじめに」を参照してください。

シンジケート フィード JSP の作成

シンジケート フィード JSP では、シンジケーション フィードを表示するためのロジックが含まれます。

一般的に、次の 4 つの JSP を作成する必要があります。

JSP を作成するための Workshop for WebLogic の使用に関する詳細については、「チュートリアル : JSP タグの操作」を参照してください。

表示テンプレート (JSP) を開発した後、表示テンプレート コンフィグレーション ファイル (wlp-template-config.xml) を使用して、それらをネームスペースにマップします。表示テンプレートは、その後、シンジケーション コンフィグレーション ファイル (wlp-syndication-config.xml) から参照されます。

シンジケート フィード JSP は表示テンプレートにマップします。

ネームスペースに表示テンプレートをマップするには、wlp-template-config.xml ファイルを作成します。表示テンプレートは、その後、シンジケーション コンフィグレーション ファイル (wlp-syndication-config.xml) から参照されます。この動作方法の詳細については、「表示テンプレートの選択」を参照してください。

wlp-template-config.xml ファイルの作成の詳細については、「wlp-template-config.xml ファイルの作成」を参照してください。XML ファイル作成のページでは、この方法でテンプレート コンフィグレーション ファイルを作成すると、[最初から XML ファイルの作成] を選択します。

図 12-3 XML ファイルの作成

XML ファイルの作成

表示テンプレートの詳細については、「表示テンプレートの使用」を参照してください。

シンジケーション コンフィグレーション ファイルの作成

シンジケーション コンフィグレーション ファイルでは、シンジケーション プロデューサ サーブレットに渡されるパラメータを設定し、シンジケーション フィード JSP が使用した表示テンプレートを選択できるネームスペースにマップします。詳細については、「表示テンプレートの選択」を参照してください。

コード リスト 12-6 は、wlp-syndication-config.xml の XML スキーマを示します。wlp-syndication-config.xml ファイルをコンフィグレーションするときに使用できる有効な属性およびタグを含みます。

コード リスト 12-6 シンジケーション コンフィグレーション ファイルのスキーマ
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.bea.com/ns/content/102/wlp-syndication-config"
elementFormDefault="qualified" attributeFormDefault="unqualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:complexType name="syndication-styleType">
   <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="name-space" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="channel-group-name" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="channel-template" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="channel-header-view" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="channel-footer-view" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="item-resource-name" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="item-repository-name" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="item-view" type="xs:string" minOccurs="0"
         nillable="true"/>
   </xs:sequence>
</xs:complexType>
<xs:complexType name="syndication-configType">
   <xs:sequence>
      <xs:element name="syndication-feed" maxOccurs="unbounded"
         type="wlp:syndication-storeType" minOccurs="0" nillable="true"
         xmlns:wlp="http://www.bea.com/ns/content/102
         /wlp-syndication-config"/>
      <xs:element name="syndication-style" maxOccurs="unbounded"
         type="wlp:syndication-styleType" minOccurs="0" nillable="true"
         xmlns:wlp="http://www.bea.com/ns/content/102/
         wlp-syndication-config"/>
      <xs:element name="syndication-item-style" maxOccurs="unbounded"
         type="wlp:syndication-item-styleType" minOccurs="0" nillable="true"
         xmlns:wlp="http://www.bea.com/ns/content/102/
         wlp-syndication-config"/>
   </xs:sequence>
</xs:complexType>
<xs:complexType name="syndication-storeType">
   <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="search-query" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="search-type" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="search-max-results" type="xs:int" minOccurs="0"
         nillable="true"/>
      <xs:element name="search-sort-order" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="name-space" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="channel-group-name" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="channel-template" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="channel-footer-view" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="channel-header-view" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="item-resource-name" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="item-repository-name" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="item-view" type="xs:string" minOccurs="0"
         nillable="true"/>
   </xs:sequence>
</xs:complexType>
<xs:complexType name="syndication-item-styleType">
   <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0" nillable="true"/>
      <xs:element name="name-space" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="item-resource-name" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="item-repository-name" type="xs:string" minOccurs="0"
         nillable="true"/>
      <xs:element name="item-view" type="xs:string" minOccurs="0"
         nillable="true"/>
   </xs:sequence>
</xs:complexType>
<xs:element name="wlp-syndication-config" type="wlp:syndication-configType"
   xmlns:wlp="http://www.bea.com/ns/content/102/wlp-syndication-config"/>
</xs:schema>

 


シンジケート フィードのセキュリティ

通常、WebLogic Portal Administration Console で訪問者資格をコンフィグレーションすることで、ポータル リソースへの訪問者アクセスを制御できます。ただし、正しい URL を知っている悪意のあるユーザがシンジケート フィードに直接アクセスできます。シンジケート フィードを保護する目的があれば、Java EE セキュリティを使用する必要があります。具体的には、web.xml デプロイメント記述子を使用して、シンジケーション プロデューサ サーブレットへのアクセスを保護します。

次の例では、web.xml デプロイメント記述子はすべての HTTP GET または POST リクエストを/SecureFeedProducer/* 形式で URL から制限しています。これらの記述子では、管理者、ポータル システム管理者または AppTester があるユーザのみが許可されます。

コード リスト 12-7 セキュリティ デプロイメント記述子
<security-constraint>
   <web-resource-collection>
      <web-resource-name>Secure Syndication</web-resource-name>
      <description>The Secure Rss Feeds</description>
      <url-pattern>/SecureFeedProducer/*</url-pattern>
      <http-method>GET</http-method>
      <http-method>POST</http-method>
   </web-resource-collection>
   <auth-constraint>
      <description>Administrators</description>
      <role-name>Administrators</role-name>
      <role-name>PortalSystemAdministrator</role-name>
      <role-name>AppTesters</role-name>
   </auth-constraint>
   <user-data-constraint>
      <transport-guarantee>NONE</transport-guarantee>
   </user-data-constraint>
</security-constraint>

セキュリティ デプロイメント記述子の詳細については、『WebLogic Server のために Web アプリケーション、サーブレットおよび JSP の開発』の「web.xml デプロイメント記述子要素」を参照してください。


  ページの先頭       前  次