ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter PortalおよびOracle JDeveloperでのポータルの開発
11gリリース1 (11.1.1.8.3)
E49666-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

50 通知の統合

この章では、Portal Frameworkアプリケーションに通知を統合する方法について説明します。通知は、サービス・オブジェクトおよびアプリケーション・オブジェクトへのサブスクライブの手段を提供するものであり、これらのオブジェクトが変更されると、選択されている1つ以上のメッセージ・チャネルを通じて通知を受信します。

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

50.1 通知の概要

この項では、通知の概要を説明します。次のサブセクションが含まれます:

50.1.1 通知の理解

通知は、サブスクライブされているサービスおよびオブジェクトに関する通知を異なるメッセージ・チャネルを通じてトリガーする、自動的な手段を提供します。ユーザーがサブスクライブしているアプリケーション・サービスおよびオブジェクトが変更されると、メッセージがトリガーされます。たとえば、ユーザーがドキュメントにサブスクライブすると、別のユーザーがこのドキュメントを変更したときに通知を受信します。

メッセージ・チャネルには、使用できるメッセージ・サーバーやアプリケーション管理者による通知の構成方法に応じて、電話テキスト(SMS)、メールまたはワークリストが含まれます。たとえば、特定のドキュメントが変更されたときにメール・メッセージ、他のユーザーが特定のディスカッション・トピックに応答したときにテキスト・メッセージ、コネクションの招待を受けたときはワークリスト・アラートを受信できます。すべてのメッセージにはリンクが含まれており、ユーザーは該当の変更に移動できます。

参加しているサービスとオブジェクトには、ピープル・コネクション(コネクション、メッセージ・ボードおよびフィードバック)、ディスカッションおよびドキュメント(Wikiとブログを含む)があります。

表50-1に、通知をトリガーするアクティビティのタイプと、サブスクリプションが作成されるレベルを示します。

表50-1 通知をトリガーできるアクティビティ

アクティビティ レベル

ユーザーがコネクションの招待を送信する

アプリケーション

ユーザーがメッセージをメッセージ・ボードに投稿する

アプリケーション

ユーザーがメッセージ・ボードの投稿(メッセージ・ボード上に明示的に設定されているメッセージで、パブリッシャからアクティビティ・ストリームに追加されたものではない)をお気に入り登録する

アプリケーション

ユーザーがメッセージ・ボードの投稿(メッセージ・ボード上に明示的に設定されているメッセージで、パブリッシャからアクティビティ・ストリームに追加されたものではない)にコメントする

アプリケーション

ユーザーがフィードバックを投稿する

アプリケーション

ユーザーがディスカッション・トピックに応答する

オブジェクト

ユーザーがディスカッション・トピックにコメントする

オブジェクト

ユーザーがディスカッション・トピックを削除する

オブジェクト

ユーザーがドキュメントについてコメントする

オブジェクト

ユーザーがドキュメントをお気に入り登録する

オブジェクト

ユーザーがドキュメントを更新する

オブジェクト

ユーザーがドキュメントを削除する

オブジェクト

ユーザーがWikiドキュメントについてコメントする

オブジェクト

ユーザーがWikiドキュメントをお気に入り登録する

オブジェクト

ユーザーがWikiドキュメントを更新する

オブジェクト

ユーザーがWikiドキュメントを削除する

オブジェクト

ユーザーがブログ・エントリでコメントする

オブジェクト

ユーザーがブログ・エントリをお気に入り登録する

オブジェクト

ユーザーがブログ・エントリを更新する

オブジェクト

ユーザーがブログ・エントリを削除する

オブジェクト


通知は、User Messaging Service (UMS)やメール・サービスなど、WebCenterで使用可能なメッセージ配信プラットフォームを利用して、生成するメッセージを配信します。メール・サービスはデフォルトのメッセージ配信メカニズムを備えていますが、ワークリスト・サービスを通じて提供されるBPEL接続を使用すると、ユーザーにとってチャネルの選択肢が電話テキスト、メールおよびワークリストと広がります。

すべてのユーザーを対象とするアプリケーションレベルのサブスクリプションのデフォルトは、XML構成ファイル(notification-service-settings.xml)によって設定できます。このデフォルト・ファイルの独自バージョンを作成して使用すると、この目的でデフォルトで提供されている同じ名前のファイルが置き換えられます。

50.1.2 通知の要件

アプリケーションが通知サービスと連携できるためには、アプリケーションのadf-config.xmlファイル内で通知ネームスペースを指定する必要があります。詳細は、第50.2.1項「通知ネームスペースの追加」を参照してください。

サブスクリプション機能はこれをサポートするサービスに組み込まれており、追加の構成は必要はありません。

通知メッセージ機能は、構成されているメールまたはワークリスト接続の存在を利用して、通知メッセージの配信を可能にします。通知メッセージでは、ワークリスト・サービス用に構成されているBPELサーバーまたはメール・サービス用に構成されているメール・サーバーを使用するように、アプリケーションを明示的に構成する必要があります。詳細は、第50.2.2項「メール・サーバーへの通知接続の作成」および第50.2.3項「BPELサーバーへの通知接続の作成」を参照してください。

アプリケーションレベルのサブスクリプション・プリファレンスとして、すべてのユーザーを対象とするアプリケーション・デフォルトを設定するには、デフォルトのnotification-service-settings.xmlファイルの独自バージョンを作成する必要があります。詳細は、第50.2.4項「通知のアプリケーション・デフォルトの設定」を参照してください。

通知が正しく動作するためには、保護されたページにそのタスク・フローがあることが必要です。これは、サブスクライブしているアクションを追跡およびレポートするには、現在のユーザーが認証を通じて認識される必要があるためです。通知が含まれるページまたはアプリケーションが保護されていない場合、例外エラーが発生します。詳細は、第50.2.6項「通知のセキュリティの設定」を参照してください。

50.1.3 実行時の通知の処理

実行時に、ユーザーはUMSプリファレンスを通じて優先するメッセージ・チャネルを設定します。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portalの使用』のメッセージ・チャネルとフィルタの確立および管理に関する項を参照してください。


注意:

アプリケーションを設計する際、ユーザーがUMSプリファレンスにアクセスできるようにする必要があります。たとえば、リンクをUIに追加したり、リンクを含むワークリスト・タスク・フローをユーザーに示すことができます。


ユーザーは、通知タスク・フローのサブスクリプション・プリファレンスを通じてアプリケーションレベルのサブスクリプションを確立します。このタスク・フローで表示されるオプションは、タスク・フローがホーム・ポータル(図50-1)またはポータル(図50-2)のいずれに存在するかによって、若干異なります。

図50-1 サブスクリプション・プリファレンス・タスク・フロー - ホーム・ポータル

図50-1の説明が続きます
「図50-1 サブスクリプション・プリファレンス・タスク・フロー - ホーム・ポータル」の説明

図50-2 サブスクリプション・プリファレンス・タスク・フロー - ポータル

図50-2の説明が続きます
「図50-2 サブスクリプション・プリファレンス・タスク・フロー - ポータル」の説明

オブジェクトレベルのサブスクリプションは、オブジェクトに直接サブスクライブすることによって設定します。

ユーザーは、サブスクリプション・プリファレンス・タスク・フローを通じてアプリケーションレベルのサブスクリプションを管理し、通知タスク・フローのサブスクリプション・ビューアを通じてオブジェクトレベルのサブスクリプションを管理します(図50-3)。

図50-3 サブスクリプション・ビューア・タスク・フロー

図50-3の説明が続きます
「図50-3 サブスクリプション・ビューア・タスク・フロー」の説明


関連項目:

通知タスク・フローの詳細は、第50.2.5.1項「通知タスク・フロー」を参照してください。


50.2 通知の基本構成

通知は、メールまたはワークリスト・サービス接続を利用して、ユーザー通知のメッセージ・チャネルを提供します。メール・サーバーを使用する予定の場合、メール・サービス用のメール・サーバーへの接続が必要ですが、通知用の追加の構成は必要ありません。ワークリスト・サービスが使用するのと同じBPEL接続を通知で使用する予定の場合は、この構成をadf-config.xmlファイルに追加する必要があります。

この項では、これらの接続と構成の概要およびアプリケーション・ページに通知タスク・フローを追加するプロセスについて説明します。次のサブセクションが含まれます:

50.2.1 通知ネームスペースの追加

アプリケーションで通知ネームスペースを確立するには、次のコードをファイル先頭のadf-config要素に追加します(例50-1)。


ヒント:

adf-config.xmlファイルは、「アプリケーション・リソース」パネルで、「ディスクリプタ」の下のADF META-INFフォルダにあります。


例50-1 通知構成を認識するためのアプリケーションの構成

xmlns:notificationC="http://xmlns.oracle.com/webcenter/notification/config"

例(太字) (図50-3):

例50-2 adf-config要素内の通知構成

<?xml version="1.0" encoding="US-ASCII" ?>
<adf-config xmlns="http://xmlns.oracle.com/adf/config"
   xmlns:adf="http://xmlns.oracle.com/adf/config/properties"
   xmlns:sec="http://xmlns.oracle.com/adf/security/config"
   xmlns:wpsC="http://xmlns.oracle.com/webcenter/framework/service"
   xmlns:jndiC="http://xmlns.oracle.com/adf/jndi/config"
   xmlns:worklistC="http://xmlns.oracle.com/webcenter/worklist/config"
   xmlns:notificationC="http://xmlns.oracle.com/webcenter/notification/config"
   xmlns:mdsC="http://xmlns.oracle.com/adf/mds/config"
   xmlns:searchC="http://xmlns.oracle.com/webcenter/search/config"
   xmlns:relC="http://xmlns.oracle.com/webcenter/relationship/config"
   …

50.2.2 メール・サーバーへの通知接続の作成

ユーザーがメール・メッセージ・チャネルを選択できるようにするには、メール・サーバーへの接続を構成する必要があります(詳細は、第35.2.2項「メール用接続の設定」を参照)。接続が確立されたら、adf-config.xmlファイルに次のエントリを追加して、メール・サーバーと通知を関連付けます(例50-3)。

例50-3 adf-config.xml内でのメール・サーバーと通知の関連付け

<notificationC:adf-notification-config
      xmlns="http://xmlns.oracle.com/webcenter/notification/config">
   <ConnectionType>MAIL</ConnectionType>
   <ConnectionName>someMailConnection</ConnectionName>
</notificationC:adf-notification-config>

ここで、ConnectionNameは構成されたメール・サーバーの名前です。

例50-4はコード・サンプルで、前述のコード・サンプルが所定の位置にあります(太字)。

例50-4 adf-config.xml内の通知のメール接続

<?xml version="1.0" encoding="US-ASCII" ?>
<adf-config xmlns="http://xmlns.oracle.com/adf/config"
   xmlns:adf="http://xmlns.oracle.com/adf/config/properties"
   xmlns:sec="http://xmlns.oracle.com/adf/security/config"
   xmlns:wpsC="http://xmlns.oracle.com/webcenter/framework/service"
   xmlns:jndiC="http://xmlns.oracle.com/adf/jndi/config"
   xmlns:worklistC="http://xmlns.oracle.com/webcenter/worklist/config"
   xmlns:notificationC="http://xmlns.oracle.com/webcenter/notification/config"
   xmlns:mdsC="http://xmlns.oracle.com/adf/mds/config"
   xmlns:searchC="http://xmlns.oracle.com/webcenter/search/config"
   xmlns:relC="http://xmlns.oracle.com/webcenter/relationship/config"
   xmlns:collabC="http://xmlns.oracle.com/webcenter/collab/config"
   xmlns:listC="http://xmlns.oracle.com/webcenter/list/config"
   xmlns:rcs="http://xmlns.oracle.com/adf/rcs/adf-config"
   xmlns:rcv="http://xmlns.oracle.com/adf/rcs/viewer/adf-config"xmlns:tagC=
      "http://xmlns.oracle.com/webcenter/tagging/config"
   xmlns:doclibC="http://xmlns.oracle.com/webcenter/doclib/config">
<adf:adf-properties-child xmlns="http://xmlns.oracle.com/adf/config/properties">
   <adf-property name="adfAppUID" value="ps3stage2app-7762"/>
</adf:adf-properties-child>
<sec:adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config">
   <CredentialStoreContext
      credentialStoreClass="oracle.adf.share.security.providers.jps.
      CSFCredentialStore"
      credentialStoreLocation="../../src/META-INF/jps-config.xml"/>
   <sec:JaasSecurityContext
      initialContextFactoryClass="oracle.adf.share.security.
      JAASInitialContextFactory"
      jaasProviderClass="oracle.adf.share.security.providers.jps.
      JpsSecurityContext" authorizationEnforce="true"
authenticationRequire="true"/></sec:adf-security-child> <wpsC:adf-service-config> <wpsC:data-source jndi-name="java:/comp/env/jdbc/WebCenterDSDS"/> </wpsC:adf-service-config> <notificationC:adf-notification-config xmlns="http://xmlns.oracle.com/webcenter/notification/config"> <ConnectionType>MAIL</ConnectionType> <ConnectionName>someMailConnection</ConnectionName> </notificationC:adf-notification-config> <searchC:adf-search-config xmlns="http://xmlns.oracle.com/webcenter/search/config"> …

50.2.3 BPELサーバーへの通知接続の作成

ユーザーにメール、電話テキストまたはワークリストのメッセージ・チャネルを選択できるオプションを提供するには、BPELサーバーへの接続を構成する必要があります(詳細は、第41.3.1項「ワークリストの接続の設定」を参照)。通知は、ワークリスト・サービス用に指定されているBPELサーバーを利用して、生成する通知のメッセージ・チャネルを複数提供します。BPELサーバーへの接続が確立された後、BPELサーバーと通知を関連付けるため、次のエントリをadf-config.xmlファイルに追加します(例50-5)。

例50-5 メッセージングでBPELサーバーを使用するための通知の構成

<notificationC:adf-notification-config
      xmlns="http://xmlns.oracle.com/webcenter/notification/config">
   <ConnectionType>BPEL</ConnectionType>
   <ConnectionName>worklistConnection</ConnectionName>
   <SenderEmailAddress>example@company.com<SenderEmailAddress>
   <SenderSMSAddress>12345</SenderSMSAddress>
</notificationC:adf-notification-config>

ここで:

  • ConnectionNameは、ワークリスト・サービス用の接続を設定したときにBPELサーバーに対して指定した名前です。

  • SenderEMailAddressは、すべての通知メッセージの送信元メール・アドレスです。送信元メール・アドレスは、対応するドメインからメッセージを送信するように構成されている、少なくとも1つのドライバに一致する必要があります。

  • SenderSMSAddressは、すべての通知メッセージの送信元ドライバとしてユーザー・メッセージング・サーバー(UMS)が使用する、4-6桁の数字です。送信元SMSアドレスは、対応するドメインからメッセージを送信するように構成されている、少なくとも1つのドライバに一致する必要があります。

例50-6はコード・サンプルで、前述のコード・サンプルが所定の位置にあります(太字)。

例50-6 adf-config.xmlファイル内の通知エントリ

<?xml version="1.0" encoding="US-ASCII" ?>
<adf-config xmlns="http://xmlns.oracle.com/adf/config"
   xmlns:adf="http://xmlns.oracle.com/adf/config/properties"
   xmlns:sec="http://xmlns.oracle.com/adf/security/config"
   xmlns:wpsC="http://xmlns.oracle.com/webcenter/framework/service"
   xmlns:jndiC="http://xmlns.oracle.com/adf/jndi/config"
   xmlns:worklistC="http://xmlns.oracle.com/webcenter/worklist/config"
   xmlns:notificationC="http://xmlns.oracle.com/webcenter/notification/config"
   xmlns:mdsC="http://xmlns.oracle.com/adf/mds/config"
   xmlns:searchC="http://xmlns.oracle.com/webcenter/search/config"
   xmlns:relC="http://xmlns.oracle.com/webcenter/relationship/config"
   xmlns:collabC="http://xmlns.oracle.com/webcenter/collab/config"
   xmlns:listC="http://xmlns.oracle.com/webcenter/list/config"
   xmlns:rcs="http://xmlns.oracle.com/adf/rcs/adf-config"
   xmlns:rcv="http://xmlns.oracle.com/adf/rcs/viewer/adf-config"xmlns:tagC=
      "http://xmlns.oracle.com/webcenter/tagging/config"
   xmlns:doclibC="http://xmlns.oracle.com/webcenter/doclib/config">
<adf:adf-properties-child xmlns="http://xmlns.oracle.com/adf/config/properties">
   <adf-property name="adfAppUID" value="ps3stage2app-7762"/>
</adf:adf-properties-child>
<sec:adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config">
   <CredentialStoreContext
      credentialStoreClass="oracle.adf.share.security.providers.jps.
      CSFCredentialStore"
      credentialStoreLocation="../../src/META-INF/jps-config.xml"/>
   <sec:JaasSecurityContext
      initialContextFactoryClass="oracle.adf.share.security.
      JAASInitialContextFactory"
      jaasProviderClass="oracle.adf.share.security.providers.jps.
      JpsSecurityContext" authorizationEnforce="true"
authenticationRequire="true"/></sec:adf-security-child> <wpsC:adf-service-config> <wpsC:data-source jndi-name="java:/comp/env/jdbc/WebCenterDSDS"/> </wpsC:adf-service-config> <notificationC:adf-notification-config xmlns="http://xmlns.oracle.com/webcenter/notification/config"> <ConnectionType>BPEL</ConnectionType> <ConnectionName>worklistConnection</ConnectionName> <SenderEmailAddress>example@company.com<SenderEmailAddress> <SenderSMSAddress>12345</SenderSMSAddress> </notificationC:adf-notification-config> <searchC:adf-search-config xmlns="http://xmlns.oracle.com/webcenter/search/config"> …

50.2.4 通知のアプリケーション・デフォルトの設定

この項では、通知のすべてのユーザーが対象となる、アプリケーションレベルのデフォルトを設定するために使用するXMLファイルについて説明します。次のサブセクションが含まれます:

50.2.4.1 サブスクリプション・デフォルトについて

管理者レベルのサブスクリプション・プリファレンスは、作成するカスタムXMLファイルに設定し、これを使用することで、この目的のためにnotification-repository.jarでデフォルトで提供されるファイルを置き換えます(notification-service-settings.xml)。カスタムXMLファイル内の設定は、サブスクリプション・プリファレンス・タスク・フローを通じてユーザーが使用できる、アプリケーションレベルのサブスクリプション設定に似ています。

各設定により、次の属性が提供されます。

  • id - サービスIDを指定します。

    • oracle.webcenter.peopleconnections.connections、ピープル・コネクション・サービスのコネクション機能

    • oracle.webcenter.peopleconnections.wall、ピープル・コネクション・サービスのメッセージ・ボード機能

    • oracle.webcenter.peopleconnections.kudos、ピープル・コネクション・サービスのフィードバック機能

  • subscription-enabled - プリファレンス・オプションのデフォルト値を指定します(trueまたはfalse)。


    ヒント:

    subscription-enabled属性は、サブスクリプション機能全体を有効または無効にするのではなく、プリファレンス・オプションの初期状態のみを設定します。たとえば、subscription-enabled="true"の場合、サブスクリプション・プリファレンス・タスク・フローで、関連するサブスクリプション・オプションがデフォルトで選択されます。subscription-enabled="false"の場合は、タスク・フローで、関連するサブスクリプション・オプションの選択はデフォルトで解除されます。


  • end-user-configurable - ユーザーが設定済のデフォルトを変更することを許可または禁止します(trueまたはfalse)。

これらの属性が連携して、サブスクリプション・プリファレンス・タスク・フローの初期状態が決まります。

表50-2は、カスタムの管理者レベルのサブスクリプション設定が、サブスクリプション・プリファレンス・タスク・フローの外観に及ぼす影響を示しています。

表50-2 管理者デフォルトがサブスクリプション・プリファレンスに及ぼす影響

subscription-enabled脚注 1  end-user-configurable プリファレンスのオプション

True

True

通常のレンダリング、チェック・ボックスの選択

True

False

グレー表示、チェック・ボックスの選択

False

True

通常のレンダリング、チェック・ボックスの選択解除

False

False

非表示、チェック・ボックスの非表示


脚注 1 subscription-enabled属性は、サブスクリプション機能全体を有効または無効にするのではなく、サブスクリプションの初期状態のみを設定します。


ヒント:

大部分の通知において最も一般的なシナリオは、FalseTrue、つまり通常のレンダリング、チェック・ボックスの選択解除です。


表50-3は、アプリケーションレベルの通知をトリガーできるアクションの種類と、関連するサービスIDを示しています。

表50-3 通知をトリガーできるアプリケーションレベルのアクティビティ

アクティビティ 関連するサービスID

ユーザーがコネクションの招待を送信する

oracle.webcenter.peopleconnections.connections

ユーザーがメッセージをメッセージ・ボードに投稿する

oracle.webcenter.peopleconnections.wall

別のユーザーのメッセージ・ボードに行った投稿をユーザーがお気に入り登録する

oracle.webcenter.peopleconnections.wall

別のユーザーのメッセージ・ボードに行った投稿にユーザーがコメントする

oracle.webcenter.peopleconnections.wall

ユーザーがフィードバックを投稿する

oracle.webcenter.peopleconnections.kudos


50.2.4.2 通知のサブスクリプション・デフォルトの設定

アプリケーションレベルのサブスクリプション・プリファレンスのデフォルト値を設定するには:

  1. パスに/oracle/webcenter/notificationが含まれるディレクトリに移動し、フォルダcustomを作成します。


    ヒント:

    パスに/oracle/webcenter/notification/customが含まれているかぎり、ディレクトリ構造は任意のディレクトリで開始または終了できます。


  2. customフォルダまたは/oracle/webcenter/notification/custom/の下の任意のサブフォルダで、ファイルnotification-service-settings.xmlを作成します。

  3. XMLファイルに、アプリケーションレベルのすべてのサブスクリプション・オプションの値を入力します。

    例50-7は、アプリケーション全体のサブスクリプション・プリファレンス設定ファイルのサンプル・コンテンツと、必要な各オプションの例を示しています。

    例50-7 サブスクリプション設定のサンプルXMLファイル

    <notification-service_settings xmlns="http://xmlns.oracle.com/webcenter/notification">
     <subscription-settings>
      <service id="oracle.webcenter.peopleconnections.connections" subscription-enabled="true"
       end-user-configurable="false"/>
      <service id="oracle.webcenter.peopleconnections.wall" subscription-enabled="false"
       end-user-configurable="true"/>
      <service id="oracle.webcenter.peopleconnections.kudos" subscription-enabled="false"
       end-user-configurable="true"/>
     </subscription-settings>
    </notification-service_settings>
    

    注意:

    オプションが指定されない場合は、デフォルト値false/falseがサービスに割り当てられます。


  4. WLSTコマンドimportMetadataを実行し、ディレクトリのコンテンツをメタデータ・ストアにインポートします。


    関連項目:

    importMetadataコマンド(および他のWLSTコマンド)の詳細は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のimportMetadataに関する項を参照してください。


    例:

    wls: /wc_domain/serverConfig> importMetadata(application='webcenter',
     server='serverName', fromLocation='directoryPath', docs='/**')
    

    ここで:

    • applicationは、アプリケーションを識別する名前です

    • serverNameは、アプリケーションが実行されているサーバーの名前です

    • directoryPathは、oracle/webcenter/notification/custom/<any_sub_dir_after_this>/notification-service-settings.xmlが置かれているディレクトリ・パスです。

      たとえば、notification-service-settings.xmlのディレクトリ・パスが/scratch/mydir/oracle/webcenter/notification/customの場合は、directoryPathとして/scratch/mydirを入力します。

    • docsは、インポートされるコンテンツを識別します。この例の場合は、directoryPathで指定される場所の下にあるパスとファイルです。

表50-4は、サービスID oracle.webcenter.peopleconnections.connectionsにおける、設定の様々な組合せの影響を示しています。

表50-4 接続におけるサブスクリプション構成の影響

subscription-enabled end-user-configurable 影響

true

true

  • 別のユーザーがサブスクライブ・ユーザーにコネクションの招待を送信すると、そのサブスクライブ・ユーザーは通知メッセージを受信します。

  • ユーザーはこのデフォルトを変更できます。

true

false

  • 別のユーザーがサブスクライブ・ユーザーにコネクションの招待を送信すると、そのサブスクライブ・ユーザーは通知メッセージを受信します。

  • ユーザーはこのデフォルトを変更できません。脚注 1 

false

true

  • 別のユーザーがサブスクライブ・ユーザーにコネクションの招待を送信する際、そのサブスクライブ・ユーザーは通知メッセージを受信しません。

  • ユーザーはこのデフォルトを変更できます。

false

false

  • 別のユーザーがサブスクライブ・ユーザーにコネクションの招待を送信する際、そのサブスクライブ・ユーザーは通知メッセージを受信しません。

  • このデフォルト値を変更するためのオプションは非表示にされます。


脚注 1 これは初期設定のデフォルトです

表50-5は、サービスID oracle.webcenter.peopleconnections.wallにおける、設定の様々な組合せの影響を示しています。

表50-5 メッセージ・ボードにおけるサブスクリプション構成の影響

subscription-enabled end-user-configurable 影響

true

true

  • 別のユーザーがメッセージをメッセージ・ボードで投稿する際、メッセージ・ボードの投稿をお気に入り登録する際、またはメッセージ・ボードの投稿に対してコメントする際、そのサブスクライブ・ユーザーは通知メッセージを受信します。

  • ユーザーはこのデフォルトを変更できます。

true

false

  • 別のユーザーがメッセージをメッセージ・ボードで投稿する際、メッセージ・ボードの投稿をお気に入り登録する際、またはメッセージ・ボードの投稿に対してコメントする際、そのサブスクライブ・ユーザーは通知メッセージを受信します。

  • ユーザーはこのデフォルトを変更できません。

false

true

  • 別のユーザーがメッセージをメッセージ・ボードで投稿する際、メッセージ・ボードの投稿をお気に入り登録する際、またはメッセージ・ボードの投稿に対してコメントする際、そのサブスクライブ・ユーザーは通知メッセージを受信しません。

  • ユーザーはこのデフォルトを変更できます。

false

false

  • 別のユーザーがメッセージをメッセージ・ボードで投稿する際、メッセージ・ボードの投稿をお気に入り登録する際、またはメッセージ・ボードの投稿に対してコメントする際、そのサブスクライブ・ユーザーは通知メッセージを受信しません。

  • このデフォルト値を変更するためのオプションは非表示にされます。


表50-6は、サービスID oracle.webcenter.peopleconnections.kudosにおける、設定の様々な組合せの影響を示しています。

表50-6 フィードバックにおけるサブスクリプション構成の影響

subscription-enabled end-user-configurable 影響

true

true

  • 別のユーザーがサブスクライブ・ユーザーのフィードバックを投稿すると、そのサブスクライブ・ユーザーは通知メッセージを受信します。

  • ユーザーはこのデフォルトを変更できます。

true

false

  • 別のユーザーがサブスクライブ・ユーザーのフィードバックを投稿すると、そのサブスクライブ・ユーザーは通知メッセージを受信します。

  • ユーザーはこのデフォルトを変更できません。

false

true

  • 別のユーザーがサブスクライブ・ユーザーのフィードバックを投稿する際、そのサブスクライブ・ユーザーは通知メッセージを受信しません。

  • ユーザーはこのデフォルトを変更できます。

false

false

  • 別のユーザーがサブスクライブ・ユーザーのフィードバックを投稿する際、そのサブスクライブ・ユーザーは通知メッセージを受信しません。

  • このデフォルト値を変更するためのオプションは非表示にされます。


50.2.5 アプリケーションへの通知タスク・フローの追加

この項では、通知タスク・フローの概要を説明し、これをアプリケーション・ページに追加する方法について説明します。次のサブセクションが含まれます:

50.2.5.1 通知タスク・フロー

通知サービスは、ユーザー・サブスクリプションを管理する2つのタスク・フローを公開しています。

50.2.5.2 通知タスク・フローをページに追加する方法

通知タスク・フローをページに追加するには:

  1. 第4.2.1項「ツールとサービスを利用するようにアプリケーションを準備する方法」の手順に従い、セキュリティを実装しカスタマイズ可能なページをアプリケーションで作成します。

  2. タスク・フローを追加するページを開きます。

  3. リソース・パレットの「カタログ」ペインで、「WebCenter Portal - サービス・カタログ」を開き、「タスク・フロー」フォルダを開きます。

  4. ページ・リージョンにタスク・フローをドラッグし、ポップアップ・リストから「リージョン」を選択します。

  5. 「ADFライブラリ追加の確認」ダイアログで、「ライブラリの追加」をクリックして、コンポーネントに必要なすべてのライブラリを追加します。

  6. サブスクリプション・プリファレンスの場合のみ、必要に応じて、「タスク・フロー・バインディングの編集」ダイアログで、入力パラメータ・マップへのパスおよびタスク・フローの入力パラメータの値を指定し、「OK」をクリックします。


    関連項目:

    サブスクリプション・プリファレンス・タスク・フローの入力パラメータの詳細は、第50.2.5.3項「サブスクリプション・プリファレンス・タスク・フローの入力パラメータ」を参照してください。


    タスク・フローがページで表示されます。たとえば、「ソース」ビューに、例50-8に示されているコンテンツが表示されます。

    例50-8 サブスクリプション・プリファレンス・タスク・フローのソース・ビュー・コンテンツ

    <af:region value="#{bindings.SubscriptionPreferences1.regionModel}" id="r1"/>
    
  7. 「フォーム要素追加の確認」ダイアログで、「いいえ」をクリックして、タスク・フローのフォーム要素が折り返さないようにします。

  8. プロジェクトを保存し、ページをブラウザで実行します。

    ブラウザにタスク・フローが表示されます。このタスク・フローで表示されるオプションは、ホーム・ポータル(図50-7)またはポータル(図50-7)のいずれにタスク・フローを追加したかによって、若干異なります。

    図50-7 サブスクリプション・プリファレンス・タスク・フロー - ホーム・ポータル

    図50-7の説明が続きます
    「図50-7 サブスクリプション・プリファレンス・タスク・フロー - ホーム・ポータル」の説明

    図50-8 サブスクリプション・プリファレンス・タスク・フロー - ポータル

    図50-8の説明が続きます
    「図50-8 サブスクリプション・プリファレンス・タスク・フロー - ポータル」の説明

50.2.5.3 サブスクリプション・プリファレンス・タスク・フローの入力パラメータ

サブスクリプション・プリファレンス・タスク・フローの入力パラメータを使用すると、指定のタスク・フロー・インスタンスの動作を制御できます。表50-7は、このタスク・フローに関連する入力パラメータとその説明を示しています。

図50-7 サブスクリプション・プリファレンス・タスク・フローの入力パラメータ

入力パラメータ 説明

hideActions

タスク・フローへの「保存」ボタンおよび「リフレッシュ」アイコンの表示または非表示を切り替えます

  • ${true}: これらのコントロールを表示しない

  • ${false}: 表示する(デフォルト)

scopeName

サブスクリプション・プリファレンスが設定されるスコープの名前。


50.2.6 通知のセキュリティの設定

通知では、ユーザーの通知設定を保持し、サブスクライブされているサービスおよびオブジェクトでのユーザーのアクティビティを追跡するために、ユーザーのアイデンティティを理解している必要があります。そのためには、少なくともユーザーを認証するようにアプリケーションを構成して、パーソナライズとユーザー・プリファレンスを目的とする個別のアイデンティティを持たせる必要があります。

Portal Frameworkアプリケーションで基本的なセキュリティ・ソリューションを実装する方法の詳細は、第74.3項「ADFセキュリティの構成」を参照してください。Portal Frameworkアプリケーションに完全なセキュリティ・ソリューションを実装する方法の詳細は、第74章「WebCenter Portal Frameworkアプリケーションの保護」を参照してください。

ADFセキュリティをアプリケーション用に構成すると、jazn-data.xmlファイルを開いて、サンプル・ユーザーの権限を各タスク・フロー用に変更できます。ADFセキュリティ・ポリシー・エディタを開くには、「アプリケーション・リソース」パネルでファイルを見つけて、その名前をダブルクリックします。このビューで権限を構成することもできます。


注意:

通知のユーザー権限を正しく付与するには、デプロイメント後にユーザー権限を構成する必要があります。


50.3 通知の詳細情報

この項では、通知で使用できるAPIについて説明します。次のサブセクションが含まれます:

50.3.1 通知Java APIの使用

この項では、通知Java APIの概要を説明します。次のサブセクションが含まれます:


関連項目:

通知Java APIの詳細は、Oracle Fusion Middleware Oracle WebCenter Portal Java APIリファレンスを参照してください。


50.3.1.1 通知Java APIを使用するために必要な構成設定

通知Java APIを使用するには、adf-config.xmlファイルに次のエントリがある必要があります。

<namespace path="/oracle/webcenter/page/scopedMD"
   metadata-store-usage="WebCenterFileMetadataStore"/>
<namespace path="/pageDefs" metadata-store-usage="WebCenterFileMetadataStore"/>

adf-config.xmlにこれらのエントリがない場合は、任意のテキスト・エディタを使用してこれらを追加できます。

50.3.1.2 通知Java APIの概要

通知Java APIは、クラスoracle.webcenter.notificationにあります。クラス内では、SubscriptionManagerが、次のJava APIを使用してユーザー・サブスクリプションの作成および管理のインタフェースを提供します。

  • FilterOption - フィルタ基準を提供します。ユーザーのサブスクリプションを問い合せる際は、このクラスのインスタンスを使用します。

  • NotificationServiceFactory - 通知インタフェースに対応するインスタンスを作成および取得するファクトリ。通知APIへのエントリ・ポイントです。

  • SortOption - サブスクリプションをフェッチするソート属性を定義します。ユーザーのサブスクリプションを問い合せるには、SubscriptionManagerメソッドでこのクラスのインスタンスを使用します。

  • Subscription - ユーザーのサブスクリプションに関する情報を含みます。ユーザーのサブスクリプションは、SubscriptionManagerで公開されるメソッドを通じて作成されます。このクラスのインスタンスは、SubscriptionManagerで公開されるメソッドで返されます。

  • SubscriptionPreference - アプリケーションまたはスコープレベルのサブスクリプションをプリファレンスとして表し、対応するサービスのサブスクリプションの設定および削除を可能にします。


関連項目:

通知Java APIの詳細は、Oracle Fusion Middleware Oracle WebCenter Portal Java APIリファレンスを参照してください。


50.3.1.3 通知Java APIを使用するようにアプリケーションを設定する方法

通知Java APIを使用するには、JDeveloperアプリケーションにWebCenter Portal拡張機能が存在している必要があります。JDeveloperで、「ヘルプ」→「バージョン情報」メニューに進み、「拡張機能」タブをクリックします。図50-9に示されている「WebCenter Portal - 通知サービス」を探します。WebCenter Portal拡張機能の追加の詳細は、第2章「開発環境の設定」を参照してください。

図50-9 JDeveloper拡張機能

図50-9の説明が続きます
「図50-9 JDeveloperの拡張機能」の説明

WebCenter Portal拡張機能に通知が含まれていることを確認した後、通知ライブラリがない場合は、これをプロジェクトに追加する必要があります。

プロジェクトに通知ライブラリを追加するには:

  1. プロジェクトを右クリックし、「プロジェクト・プロパティ」を選択し、「ライブラリとクラスパス」を選択します。

  2. 「ライブラリの追加」をクリックし、「WebCenter通知サービス」ライブラリおよび「WebCenter通知サービス・ビュー」ライブラリを選択します(図50-10)。

  3. 「OK」をクリックします。

    図50-10 「プロジェクト・プロパティ」内の「ライブラリとクラスパス」

    図50-10の説明が続きます
    「図50-10 「プロジェクト・プロパティ」内の「ライブラリとクラスパス」」の説明

  4. 「OK」をクリックします。

50.3.2 通知データ・コントロールの使用

通知にはデータ・コントロールがあり、これを使用すると、サブスクリプション管理機能を独自に視覚化できます。この項では、通知サブスクリプション・データ・コントロールの概要を説明し、サポートされているメソッド、属性およびクラスについて説明します。


関連項目:

Portal Frameworkアプリケーションにおけるデータ・コントロールの使用の詳細は、第4.1.3項「WebCenter Portalのデータ・コントロールの使用」を参照してください。


この項には次のサブセクションが含まれます:

50.3.2.1 プロジェクトへのデータ・コントロールの追加

プロジェクトにデータ・コントロールを追加するには、「リソース・パレット」で右クリックし、ポップアップ・メニューから「プロジェクトに追加」を選択します。追加されると、アプリケーション・ナビゲータの「データ・コントロール」パネルで展開して、データ・コントロールのメソッドと属性を参照できます。

アプリケーション・ページにデータ・コントロールを追加するには、「データ・コントロール」パネルからページにデータ・コントロールをドラッグします。


関連項目:

Portal Frameworkアプリケーションにおけるデータ・コントロールの使用の詳細は、第4.1.3項「WebCenter Portalのデータ・コントロールの使用」を参照してください。


50.3.2.2 通知サブスクリプション・データ・コントロールの理解

通知サブスクリプション・データ・コントロールを使用すると、要件に不十分な場合にサブスクリプション・プリファレンスおよびサブスクリプション・ビューア・タスク・フローに相当するカスタムUIを作成できます。

データ・コントロールは、アプリケーションレベルのサブスクリプション・プリファレンスを追加する手段として使用できます。たとえば、アプリケーション内で独自のプリファレンス・メカニズムが開発されている場合、サブスクリプション・プリファレンス・タスク・フローを直接使用するのではなく、データ・コントロールを使用することで、既存のメカニズムにサブスクリプション・プリファレンスを追加できます。現在のユーザーのオブジェクトレベルのサブスクリプションがすべてリストされる、カスタムのサブスクリプション・ビューアUIも作成できます。

50.3.2.3 通知サブスクリプション・データ・コントロールのメソッドと属性

この項では、通知サブスクリプション・データ・コントロールで公開されるメソッドについて説明します。次のサブセクションが含まれます:

50.3.2.3.1 メソッド: getUserSubscriptionPreferences

このメソッドは、現在のユーザーのアプリケーションレベルのサブスクリプション・プリファレンスを返します。

入力パラメータ

なし

戻り値

SubscriptionPreferenceオブジェクトのコレクションを返します。SubscriptionPreferenceオブジェクトは、各サービスのユーザーのプリファレンスを表します。

50.3.2.3.2 メソッド: getScopeSubscriptionPreferences

このメソッドは、現在のユーザーのスコープレベルのサブスクリプション・プリファレンスを返します。

このメソッドは、主に、WebCenter Portalで役立ちます。Portal Frameworkアプリケーションの場合は、スコープは常にデフォルト・スコープ、つまり、アプリケーションであることが期待されます。デフォルト・スコープの場合、このメソッドはアプリケーションレベルのプリファレンスを返します。

入力パラメータ

入力パラメータscopeGuidには、Stringタイプの値を指定します。ユーザーのスコープレベルのプリファレンスが返されるスコープのGUIDを値により指定します。WebCenter Portalの場合、ここで参照されるスコープはポータルと同等です。

戻り値

SubscriptionPreferenceオブジェクトのコレクションを返します。各オブジェクトは、指定されたスコープ内での、各サービスに対する現在のユーザーのサブスクリプション・プリファレンスを表します。

50.3.2.3.3 メソッド: saveUserSubscriptionPreferences

アプリケーションでこのメソッドを使用すると、ユーザーのアプリケーションレベルのプリファレンスへの変更をコミットし、保存できます。たとえば、ユーザーが使用可能なすべてのサービスにサブスクライブしている場合、このメソッドをUI上の適切なコンポーネント(「適用」ボタンなど)にバインドすることによって、これらの変更をコミットできます。

入力パラメータ

なし

戻り値

なし

50.3.2.3.4 メソッド: saveScopeSubscriptionPreferences

アプリケーションでこのメソッドを使用すると、ユーザーのスコープレベルのプリファレンスへの変更をコミットし、保存できます。たとえば、ユーザーが指定のスコープ内で使用可能なすべてのサービスにサブスクライブしている場合、このメソッドをUI上の適切なコンポーネント(「適用」ボタンなど)にバインドすることによって、これらの変更をコミットできます。

入力パラメータ

入力パラメータscopeGUIDには、Stringタイプの値を指定します。値は、変更後のプリファレンスが保存されるスコープのGUIDを指定します。

戻り値

なし

50.3.2.3.5 メソッド: getSubscriptions

現在のユーザーのオブジェクトレベルのサブスクリプションのリストを返す、主要なメソッドです。このメソッドを使用して、ユーザーのオブジェクトレベルのサブスクリプションがすべて表示される、カスタムのサブスクリプション・ビューアUIを作成できます。

入力パラメータ

表50-8は、このメソッドでサポートされる入力パラメータとその説明を示しています。

表50-8 メソッドgetSubscriptionsでサポートされる入力パラメータ

入力パラメータ 説明

FilterOption

ユーザーのサブスクリプションの問合せ用のフィルタ基準が含まれるオブジェクト。FilterOptionでは、ポータル名(WebCenter Portalのみ)およびオブジェクト名に基づくフィルタ処理がサポートされます。

SortOption

サブスクリプションの問合せ用のソートまたは順序付けの条件が含まれるオブジェクト。オブジェクト名、スコープ名(WebCenter Portalのみ)またはサブスクリプションの作成日でのソートがサポートされます。

offset

この入力パラメータは整数を値として取ります。サブスクリプションの問合せ用のオフセット。これは、通常、ページ区切りが含まれる結果セットをフェッチするときに使用されます。

fetchSize

この入力パラメータは整数を値として取ります。1回のコールで返される最大行数。


戻り値

フィルタ基準およびソート・オプションで指定された順序の他の入力パラメータに一致する、Subscriptionオブジェクトのコレクションを返します。

50.3.2.3.6 メソッド: unsubscribe

特定のサブスクリプションのサブスクライブ解除または削除で使用されます。このメソッドは、通常、オブジェクトレベルのサブスクリプションが公開されるサブスクリプション・ビューアUIに、サブスクライブ解除のアクションを追加するときに使用されます。

アプリケーションレベルとポータルレベルまたはいずれかのレベルでの特定のサービスからのサブスクライブ解除は、SubscriptionPreference内に適切なフラグを設定し、それを前述の適切なsave*()メソッドで保存することによって実現できます。Unsubscribeメソッドは、サブスクリプション・ビューア機能で役立ちます。

入力パラメータ

表50-9は、このメソッドでサポートされる入力パラメータとその説明を示しています。

表50-9 メソッドUnsubscribeでサポートされる入力パラメータ

入力パラメータ 説明

scopeGuid

Stringタイプの値を指定します。ユーザーのスコープレベルのプリファレンスが返されるスコープのGUIDを値により指定します。WebCenter Portalの場合、ここで参照されるスコープはポータルと同等です。

serviceId

サブスクライブ解除されるサービスのID

有効なサービスIDには、次のものが含まれます。

  • oracle.webcenter.collab.forum

  • oracle.webcenter.doclib

objectId

サブスクライブ解除されるオブジェクトのGUID。


戻り値

なし

50.3.2.4 通知サブスクリプション・データ・コントロールのクラス

通知サブスクリプション・データ・コントロールは、戻り値として2つのクラスを公開しています。

50.3.2.4.1 SubscriptionPreference

クラスSubscriptionPreferenceは、アプリケーションまたはスコープレベルのサブスクリプションをプリファレンスとして表し、対応するサービス(データ・コントロール上でsaveコールが続く)のサブスクリプションの設定および削除を可能にします。

表50-10は、SubscriptionPreferenceクラスに関連するプロパティとその説明を示しています。

表50-10 SubscriptionPreferenceクラスに関連するプロパティ

プロパティ 説明

hintsText

通知を生成するサービス内ですべての適用可能アクティビティ(説明)を連結したものが含まれる文字列

UIに表示してユーザーのサブスクライブ先を示す場合に役立ちます。

serviceIcon

サービスのアイコン

serviceId

対応するサービスのID

serviceName

サービスの表示名

subscriptionEnabled

サブスクリプションが有効かどうかを指定するフラグ

この属性には、UI上での選択/選択解除の操作をサポートするセッターもあります。

userOverrideAllowed

ユーザーがデフォルト値をオーバーライドできるかどうかを指定するフラグ


50.3.2.4.2 Subscription

クラスSubscriptionは純粋に読取り専用であり、ポータルレベル(WebCenter Portalのみ)およびオブジェクトレベルのサブスクリプションを表します。

表50-11は、Subscriptionクラスに関連するプロパティとその説明を示しています。

表50-11 Subscriptionクラスに関連するプロパティ

プロパティ 説明

creationDate

このサブスクリプションが作成された日時

objectId

オブジェクトレベルのサブスクリプションを表す場合はオブジェクトのID、それ以外の場合はnull

objectName

オブジェクトレベルのサブスクリプションを表す場合はオブジェクトの名前、それ以外の場合はnull

objectType

このサブスクリプションがオブジェクトレベルのサブスクリプションを表す場合はオブジェクト・タイプ(対応するサービスで定義される)、それ以外の場合はnull

scopeGuid

スコープまたはポータルのGUID

scopeName

スコープまたはポータルの表示名

serviceId

このサブスクリプション・オブジェクトに対応するサービスのID

serviceName

サービスの名前

userId

このサブスクリプションを作成したユーザーのID