Oracle® Fusion Middleware Oracle WebCenter Portal開発者ガイド 11g リリース1 (11.1.1.7.0) B72084-02 |
|
前 |
次 |
通知は、サービス・オブジェクトおよびアプリケーション・オブジェクトへのサブスクライブの手段を提供するものであり、これらのオブジェクトが変更されると、選択されている1つ以上のメッセージ・チャネルを通じて通知を受信します。この章では、Frameworkアプリケーションに通知を統合する方法について説明します。次の項が含まれます:
この項では、通知の概要を説明します。次のサブセクションが含まれます:
通知は、サブスクライブされているサービスおよびオブジェクトに関する通知を異なるメッセージ・チャネルを通じてトリガーする、自動的な手段を提供します。ユーザーがサブスクライブしているアプリケーション・サービスおよびオブジェクトが変更されると、メッセージがトリガーされます。たとえば、ユーザーがドキュメントにサブスクライブすると、別のユーザーがこのドキュメントを変更したときに通知を受信します。
メッセージ・チャネルには、使用できるメッセージ・サーバーやアプリケーション管理者による通知の構成方法に応じて、電話テキスト(SMS)、メールまたはワークリストが含まれます。たとえば、特定のドキュメントが変更されたときにメール・メッセージ、他のユーザーが特定のディスカッション・トピックに応答したときにテキスト・メッセージ、コネクションの招待を受けたときはワークリスト・アラートを受信できます。すべてのメッセージにはリンクが含まれており、ユーザーは該当の変更に移動できます。
参加しているサービスとオブジェクトには、ピープル・コネクション(コネクション、メッセージ・ボードおよびフィードバック)、ディスカッションおよびドキュメント(Wikiとブログを含む)があります。
表48-1に、通知をトリガーするアクティビティのタイプと、サブスクリプションが作成されるレベルを示します。
表48-1 通知をトリガーできるアクティビティ
アクティビティ | レベル |
---|---|
ユーザーがコネクションの招待を送信する |
アプリケーション |
ユーザーがメッセージをメッセージ・ボードに投稿する |
アプリケーション |
ユーザーがメッセージ・ボードの投稿(メッセージ・ボード上に明示的に設定されているメッセージで、パブリッシャからアクティビティ・ストリームに追加されたものではない)をお気に入り登録する |
アプリケーション |
ユーザーがメッセージ・ボードの投稿(メッセージ・ボード上に明示的に設定されているメッセージで、パブリッシャからアクティビティ・ストリームに追加されたものではない)にコメントする |
アプリケーション |
ユーザーがフィードバックを投稿する |
アプリケーション |
ユーザーがディスカッション・トピックに応答する |
オブジェクト |
ユーザーがディスカッション・トピックにコメントする |
オブジェクト |
ユーザーがディスカッション・トピックを削除する |
オブジェクト |
ユーザーがドキュメントについてコメントする |
オブジェクト |
ユーザーがドキュメントをお気に入り登録する |
オブジェクト |
ユーザーがドキュメントを更新する |
オブジェクト |
ユーザーがドキュメントを削除する |
オブジェクト |
ユーザーがWikiドキュメントについてコメントする |
オブジェクト |
ユーザーがWikiドキュメントをお気に入り登録する |
オブジェクト |
ユーザーがWikiドキュメントを更新する |
オブジェクト |
ユーザーがWikiドキュメントを削除する |
オブジェクト |
ユーザーがブログ・エントリでコメントする |
オブジェクト |
ユーザーがブログ・エントリをお気に入り登録する |
オブジェクト |
ユーザーがブログ・エントリを更新する |
オブジェクト |
ユーザーがブログ・エントリを削除する |
オブジェクト |
通知は、User Messaging Service (UMS)やメール・サービスなど、WebCenterで使用可能なメッセージ配信プラットフォームを利用して、生成するメッセージを配信します。メール・サービスはデフォルトのメッセージ配信メカニズムを備えていますが、ワークリスト・サービスを通じて提供されるBPEL接続を使用すると、ユーザーにとってチャネルの選択肢が電話テキスト、メールおよびワークリストと広がります。
すべてのユーザーを対象とするアプリケーションレベルのサブスクリプションのデフォルトは、XML構成ファイル(notification-service-settings.xml
)によって設定できます。このデフォルト・ファイルの独自バージョンを作成して使用すると、この目的でデフォルトで提供されている同じ名前のファイルが置き換えられます。
アプリケーションが通知サービスと連携できるためには、アプリケーションのadf-config.xml
ファイル内で通知ネームスペースを指定する必要があります。詳細は、第48.2.1項「通知ネームスペースの追加」を参照してください。
サブスクリプション機能はこれをサポートするサービスに組み込まれており、追加の構成は必要はありません。
通知メッセージ機能は、構成されているメールまたはワークリスト接続の存在を利用して、通知メッセージの配信を可能にします。通知メッセージでは、ワークリスト・サービス用に構成されているBPELサーバーまたはメール・サービス用に構成されているメール・サーバーを使用するように、アプリケーションを明示的に構成する必要があります。詳細は、第48.2.2項「メール・サーバーへの通知接続の作成」および第48.2.3項「BPELサーバーへの通知接続の作成」を参照してください。
アプリケーションレベルのサブスクリプション・プリファレンスとして、すべてのユーザーを対象とするアプリケーション・デフォルトを設定するには、デフォルトのnotification-service-settings.xml
ファイルの独自バージョンを作成する必要があります。詳細は、第48.2.4項「通知のアプリケーション・デフォルトの設定」を参照してください。
通知が正しく動作するためには、保護されたページにそのタスク・フローがあることが必要です。これは、サブスクライブしているアクションを追跡およびレポートするには、現在のユーザーが認証を通じて認識される必要があるためです。通知が含まれるページまたはアプリケーションが保護されていない場合、例外エラーが発生します。詳細は、第48.2.6項「通知のセキュリティの設定」を参照してください。
実行時に、ユーザーはUMSプリファレンスを通じて優先するメッセージ・チャネルを設定します。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のメッセージ・チャネルとフィルタの確立および管理に関する項を参照してください。
注意: アプリケーションを設計する際、ユーザーがUMSプリファレンスにアクセスできるようにする必要があります。たとえば、リンクをUIに追加したり、リンクを含むワークリスト・タスク・フローをユーザーに示すことができます。 |
ユーザーは、通知タスク・フローのサブスクリプション・プリファレンスを通じてアプリケーションレベルのサブスクリプションを確立します(図48-1)。
オブジェクトレベルのサブスクリプションは、オブジェクトに直接サブスクライブすることによって設定します。
ユーザーは、サブスクリプション・プリファレンス・タスク・フローを通じてアプリケーションレベルのサブスクリプションを管理し、通知タスク・フローのサブスクリプション・ビューアを通じてオブジェクトレベルのサブスクリプションを管理します(図48-2)。
通知は、メールまたはワークリスト・サービス接続を利用して、ユーザー通知のメッセージ・チャネルを提供します。メール・サーバーを使用する予定の場合、メール・サービス用のメール・サーバーへの接続が必要ですが、通知用の追加の構成は必要ありません。ワークリスト・サービスが使用するのと同じBPEL接続を通知で使用する予定の場合は、この構成をadf-config.xml
ファイルに追加する必要があります。
この項では、これらの接続と構成の概要およびアプリケーション・ページに通知タスク・フローを追加するプロセスについて説明します。次のサブセクションが含まれます:
アプリケーションで通知ネームスペースを確立するには、次のコードをファイル先頭のadf-config
要素に追加します(例48-1)。
ヒント:
|
例48-1 通知構成を認識するためのアプリケーションの構成
xmlns:notificationC="http://xmlns.oracle.com/webcenter/notification/config"
例(太字) (図48-2):
例48-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"
…
ユーザーがメール・メッセージ・チャネルを選択できるためには、メール・サーバーへの接続を構成する必要があります(詳細は、第35.2.2項「メール・サービス用接続の設定」を参照)。接続が確立されたら、adf-config.xml
ファイルに次のエントリを追加して、メール・サーバーと通知を関連付けます(例48-3)。
例48-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
は構成されたメール・サーバーの名前です。
例48-4はコード・サンプルで、前述のコード・サンプルが所定の位置にあります(太字)。
例48-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"> …
ユーザーにメール、電話テキストまたはワークリストのメッセージ・チャネルを選択できるオプションを提供するには、BPELサーバーへの接続を構成する必要があります(詳細は、第50.3.1項「ワークリスト・サービスの接続の設定」を参照)。通知は、ワークリスト・サービス用に指定されているBPELサーバーを利用して、生成する通知のメッセージ・チャネルを複数提供します。BPELサーバーへの接続が確立された後、BPELサーバーと通知を関連付けるため、次のエントリをadf-config.xml
ファイルに追加します(例48-5)。
例48-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つのドライバに一致する必要があります。
例48-6はコード・サンプルで、前述のコード・サンプルが所定の位置にあります(太字)。
例48-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"> …
この項では、通知のすべてのユーザーが対象となる、アプリケーションレベルのデフォルトを設定するために使用するXMLファイルについて説明します。次のサブセクションが含まれます:
管理者レベルのサブスクリプション・プリファレンスは、作成するカスタム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
)。
ヒント:
|
end-user-configurable
- ユーザーが設定済のデフォルトを変更することを許可または禁止します(true
またはfalse
)。
これらの属性が連携して、サブスクリプション・プリファレンス・タスク・フローの初期状態が決まります。
表48-2は、カスタムの管理者レベルのサブスクリプション設定が、サブスクリプション・プリファレンス・タスク・フローの外観に及ぼす影響を示しています。
表48-2 管理者デフォルトがサブスクリプション・プリファレンスに及ぼす影響
subscription-enabled脚注 1 | end-user-configurable | プリファレンスのオプション |
---|---|---|
True |
True |
通常のレンダリング、チェック・ボックスの選択 |
True |
False |
グレー表示、チェック・ボックスの選択 |
False |
True |
通常のレンダリング、チェック・ボックスの選択解除 |
False |
False |
非表示、チェック・ボックスの非表示 |
脚注 1 subscription-enabled
属性は、サブスクリプション機能全体を有効または無効にするのではなく、サブスクリプションの初期状態のみを設定します。
ヒント: 大部分の通知において最も一般的なシナリオは、 |
表48-3は、アプリケーションレベルの通知をトリガーできるアクションの種類と、関連するサービスIDを示しています。
表48-3 通知をトリガーできるアプリケーションレベルのアクティビティ
アクティビティ | 関連するサービスID |
---|---|
ユーザーがコネクションの招待を送信する |
|
ユーザーがメッセージをメッセージ・ボードに投稿する |
|
別のユーザーのメッセージ・ボードに行った投稿をユーザーがお気に入り登録する |
|
別のユーザーのメッセージ・ボードに行った投稿にユーザーがコメントする |
|
ユーザーがフィードバックを投稿する |
|
アプリケーションレベルのサブスクリプション・プリファレンスのデフォルト値を設定するには:
パスに/oracle/webcenter/notification
が含まれるディレクトリに移動し、フォルダcustom
を作成します。
ヒント: パスに |
custom
フォルダまたは/oracle/webcenter/notification/custom/
の下の任意のサブフォルダで、ファイルnotification-service-settings.xml
を作成します。
XMLファイルに、アプリケーションレベルのすべてのサブスクリプション・オプションの値を入力します。
例48-7は、アプリケーション全体のサブスクリプション・プリファレンス設定ファイルのサンプル・コンテンツと、必要な各オプションの例を示しています。
例48-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>
注意: オプションが指定されない場合は、デフォルト値 |
WLSTコマンド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
で指定される場所の下にあるパスとファイルです。
表48-4にサービスID oracle.webcenter.peopleconnections.connections
の設定の様々な組合せを示します。
表48-4 接続におけるサブスクリプション構成の影響
subscription-enabled | end-user-configurable | 影響 |
---|---|---|
true |
true |
|
true |
false |
|
false |
true |
|
false |
false |
|
脚注 1 これは初期設定のデフォルトです
表48-5は、サービスID oracle.webcenter.peopleconnections.wall
における、設定の様々な組合せの影響を示しています。
表48-5 メッセージ・ボードにおけるサブスクリプション構成の影響
subscription-enabled | end-user-configurable | 影響 |
---|---|---|
true |
true |
|
true |
false |
|
false |
true |
|
false |
false |
|
表48-6は、サービスID oracle.webcenter.peopleconnections.kudos
における、設定の様々な組合せの影響を示しています。
表48-6 フィードバックにおけるサブスクリプション構成の影響
subscription-enabled | end-user-configurable | 影響 |
---|---|---|
true |
true |
|
true |
false |
|
false |
true |
|
false |
false |
|
この項では、通知タスク・フローの概要を説明し、これをアプリケーション・ページに追加する方法について説明します。次のサブセクションが含まれます:
第7.2.1項「サービスを利用するようにアプリケーションを準備する方法」の手順に従い、セキュリティを実装しカスタマイズ可能ページをアプリケーションで作成します。
タスク・フローを追加するページを開きます。
リソース・パレットの「カタログ」ペインで、「WebCenter Portal - サービス・カタログ」を開き、「タスク・フロー」フォルダを開きます。
ページ・リージョンにタスク・フローをドラッグし、ポップアップ・リストから「リージョン」を選択します。
「ADFライブラリ追加の確認」ダイアログで、「ライブラリの追加」をクリックして、コンポーネントに必要なすべてのライブラリを追加します。
サブスクリプション・プリファレンスの場合のみ、必要に応じて、「タスク・フロー・バインディングの編集」ダイアログで、入力パラメータ・マップへのパスおよびタスク・フローの入力パラメータの値を指定し、「OK」をクリックします。
タスク・フローがページで表示されます。たとえば、「ソース」ビューに、例48-8に示されているコンテンツが表示されます。
「フォーム要素追加の確認」ダイアログで、「いいえ」をクリックして、タスク・フローのフォーム要素が折り返さないようにします。
プロジェクトを保存し、ページをブラウザで実行します。
ブラウザにタスク・フローが表示されます(図48-5)。
サブスクリプション・プリファレンス・タスク・フローの入力パラメータを使用すると、指定のタスク・フロー・インスタンスの動作を制御できます。表48-7は、このタスク・フローに関連する入力パラメータとその説明を示しています。
通知では、ユーザーの通知設定を保持し、サブスクライブされているサービスおよびオブジェクトでのユーザーのアクティビティを追跡するために、ユーザーのアイデンティティを理解している必要があります。そのためには、少なくともユーザーを認証するようにアプリケーションを構成して、パーソナライズとユーザー・プリファレンスを目的とする個別のアイデンティティを持たせる必要があります。
Frameworkアプリケーションで基本的なセキュリティ・ソリューションを実装する方法の詳細は、第68.3項「ADFセキュリティの構成」を参照してください。Frameworkアプリケーションに完全なセキュリティ・ソリューションを実装する方法の詳細は、第68章「WebCenter Portal: Frameworkアプリケーションの保護」を参照してください。
ADFセキュリティをアプリケーション用に構成すると、jazn-data.xml
ファイルを開いて、サンプル・ユーザーの権限を各タスク・フロー用に変更できます。ADFセキュリティ・ポリシー・エディタを開くには、「アプリケーション・リソース」パネルでファイルを見つけて、その名前をダブルクリックします。このビューで権限を構成することもできます。
注意: 通知のユーザー権限を正しく付与するには、デプロイメント後にユーザー権限を構成する必要があります。 |
この項では、通知で使用できるAPIについて説明します。次のサブセクションが含まれます:
この項では、通知Java APIの概要を説明します。次のサブセクションが含まれます:
関連項目: 通知Java APIの詳細は、Oracle Fusion Middleware Oracle WebCenter Portal 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
にこれらのエントリがない場合は、任意のテキスト・エディタを使用してこれらを追加できます。
通知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リファレンスを参照してください。 |
通知Java APIを使用するには、JDeveloperアプリケーションにWebCenter Portal拡張機能が存在している必要があります。JDeveloperで、「ヘルプ」→「バージョン情報」メニューに進み、「拡張機能」タブをクリックします。図48-6に示されているサービスを探します。WebCenter Portal拡張機能の追加の詳細は、第3章「開発環境の準備」を参照してください。
WebCenter Portal拡張機能に通知が含まれていることを確認した後、通知ライブラリがない場合は、これをプロジェクトに追加する必要があります。
プロジェクトに通知ライブラリを追加するには:
プロジェクトを右クリックし、「プロジェクト・プロパティ」を選択し、「ライブラリとクラスパス」を選択します。
「ライブラリの追加」をクリックし、「WebCenter通知サービス」ライブラリおよび「WebCenter通知サービス・ビュー」ライブラリを選択します(図48-7)。
「OK」をクリックします。
「OK」をクリックします。
通知にはデータ・コントロールがあり、これを使用すると、サブスクリプション管理機能を独自に視覚化できます。この項では、通知サブスクリプション・データ・コントロールの概要を説明し、サポートされているメソッド、属性およびクラスについて説明します。
この項には次のサブセクションが含まれます:
プロジェクトにデータ・コントロールを追加するには、「リソース・パレット」で右クリックし、ポップアップ・メニューから「プロジェクトに追加」を選択します。追加されると、アプリケーション・ナビゲータの「データ・コントロール」パネルで展開して、データ・コントロールのメソッドと属性を参照できます。
アプリケーション・ページにデータ・コントロールを追加するには、「データ・コントロール」パネルからページにデータ・コントロールをドラッグします。
通知サブスクリプション・データ・コントロールを使用すると、要件に不十分な場合にサブスクリプション・プリファレンスおよびサブスクリプション・ビューア・タスク・フローに相当するカスタムUIを作成できます。
データ・コントロールは、アプリケーションレベルのサブスクリプション・プリファレンスを追加する手段として使用できます。たとえば、アプリケーション内で独自のプリファレンス・メカニズムが開発されている場合、サブスクリプション・プリファレンス・タスク・フローを直接使用するのではなく、データ・コントロールを使用することで、既存のメカニズムにサブスクリプション・プリファレンスを追加できます。また、現在のユーザーのオブジェクトレベルのサブスクリプションがすべてリストされる、カスタムのサブスクリプション・ビューアUIを作成できます。
この項では、通知サブスクリプション・データ・コントロールで公開されるメソッドについて説明します。次のサブセクションが含まれます:
このメソッドは、現在のユーザーのアプリケーションレベルのサブスクリプション・プリファレンスを返します。
入力パラメータ
なし
戻り値
SubscriptionPreference
オブジェクトのコレクションを返します。SubscriptionPreference
オブジェクトは、各サービスのユーザーのプリファレンスを表します。
このメソッドは、現在のユーザーのスコープレベルのサブスクリプション・プリファレンスを返します。
このメソッドは、主に、Spacesアプリケーションで役立ちます。Frameworkアプリケーションの場合は、スコープは常にデフォルト・スコープ、つまり、アプリケーションであることが期待されます。デフォルト・スコープの場合、このメソッドはアプリケーションレベルのプリファレンスを返します。
入力パラメータ
入力パラメータscopeGuid
には、String
タイプの値を指定します。ユーザーのスコープレベルのプリファレンスが返されるスコープのGUIDを値により指定します。Spacesアプリケーションの場合、ここで参照されるスコープはspaceと同等です。
戻り値
SubscriptionPreference
オブジェクトのコレクションを返します。各オブジェクトは、指定されたスコープ内での、各サービスに対する現在のユーザーのサブスクリプション・プリファレンスを表します。
アプリケーションでこのメソッドを使用すると、ユーザーのアプリケーションレベルのプリファレンスへの変更をコミットし、保存できます。たとえば、ユーザーが使用可能なすべてのサービスにサブスクライブしている場合、このメソッドをUI上の適切なコンポーネント(「適用」ボタンなど)にバインドすることによって、これらの変更をコミットできます。
入力パラメータ
なし
戻り値
なし
アプリケーションでこのメソッドを使用すると、ユーザーのスコープレベルのプリファレンスへの変更をコミットし、保存できます。たとえば、ユーザーが指定のスコープ内で使用可能なすべてのサービスにサブスクライブしている場合、このメソッドをUI上の適切なコンポーネント(「適用」ボタンなど)にバインドすることによって、これらの変更をコミットできます。
入力パラメータ
入力パラメータscopeGUID
には、String
タイプの値を指定します。値は、変更後のプリファレンスが保存されるスコープのGUIDを指定します。
戻り値
なし
現在のユーザーのオブジェクトレベルのサブスクリプションのリストを返す、主要なメソッドです。このメソッドを使用して、ユーザーのオブジェクトレベルのサブスクリプションがすべて表示される、カスタムのサブスクリプション・ビューアUIを作成できます。
入力パラメータ
表48-8は、このメソッドでサポートされる入力パラメータとその説明を示しています。
表48-8 メソッドgetSubscriptionsでサポートされる入力パラメータ
入力パラメータ | 説明 |
---|---|
|
ユーザーのサブスクリプションの問合せ用のフィルタ基準が含まれるオブジェクト。 |
|
サブスクリプションの問合せ用のソートまたは順序付けの条件が含まれるオブジェクト。オブジェクト名、スコープ名(Spacesのみ)またはサブスクリプションの作成日でのソートがサポートされます。 |
|
この入力パラメータは整数を値として取ります。サブスクリプションの問合せ用のオフセット。これは、通常、ページ区切りが含まれる結果セットをフェッチするときに使用されます。 |
|
この入力パラメータは整数を値として取ります。1回のコールで返される最大行数。 |
戻り値
フィルタ基準およびソート・オプションで指定された順序の他の入力パラメータに一致する、Subscription
オブジェクトのコレクションを返します。
特定のサブスクリプションのサブスクライブ解除または削除で使用されます。このメソッドは、通常、オブジェクトレベルのサブスクリプションが公開されるサブスクリプション・ビューアUIに、サブスクライブ解除のアクションを追加するときに使用されます。
アプリケーションレベルとスペースレベルまたはいずれかのレベルでの特定のサービスからのサブスクライブ解除は、SubscriptionPreference
内に適切なフラグを設定し、それを前述の適切なsave*()
メソッドで保存することによって実現できます。Unsubscribe
メソッドは、サブスクリプション・ビューア機能で役立ちます。
入力パラメータ
表48-9は、このメソッドでサポートされる入力パラメータとその説明を示しています。
表48-9 メソッドUnsubscribeでサポートされる入力パラメータ
入力パラメータ | 説明 |
---|---|
|
|
|
サブスクライブ解除されるサービスのID 有効なサービスIDには、次のものが含まれます。
|
|
サブスクライブ解除されるオブジェクトのGUID。 |
戻り値
なし
通知サブスクリプション・データ・コントロールは、戻り値として2つのクラスを公開しています。
クラスSubscriptionPreference
は、アプリケーションまたはスコープレベルのサブスクリプションをプリファレンスとして表し、対応するサービス(データ・コントロール上でsaveコールが続く)のサブスクリプションの設定および設定解除を可能にします。
表48-10は、SubscriptionPreference
クラスに関連するプロパティとその説明を示しています。
表48-10 SubscriptionPreferenceクラスに関連するプロパティ
プロパティ | 説明 |
---|---|
|
通知を生成するサービス内ですべての適用可能アクティビティ(説明)を連結したものが含まれる文字列 UIに表示してユーザーのサブスクライブ先を示す場合に役立ちます。 |
|
サービスのアイコン |
|
対応するサービスのID |
|
サービスの表示名 |
|
サブスクリプションが有効かどうかを指定するフラグ この属性には、UI上での選択/選択解除の操作をサポートするセッターもあります。 |
|
ユーザーがデフォルト値を上書きできるかどうかを指定するフラグ |
クラスSubscription
は純粋に読取り専用であり、スペースレベル(Spacesのみ)およびオブジェクトレベルのサブスクリプションを表します。
表48-11は、Subscriptionクラスに関連するプロパティとその説明を示しています。
表48-11 Subscriptionクラスに関連するプロパティ
プロパティ | 説明 |
---|---|
|
このサブスクリプションが作成された日時 |
|
オブジェクトレベルのサブスクリプションを表す場合はオブジェクトのID、それ以外の場合は |
|
オブジェクトレベルのサブスクリプションを表す場合はオブジェクトの名前、それ以外の場合は |
|
このサブスクリプションがオブジェクトレベルのサブスクリプションを表す場合はオブジェクト・タイプ(対応するサービスで定義される)、それ以外の場合は |
|
スコープまたはスペースのGUID。 |
|
スコープまたはスペースの表示名。 |
|
このサブスクリプション・オブジェクトに対応するサービスのID。 |
|
サービスの名前。 |
|