通知ハンドラーを実装する
最終更新日: 2010年3月8日
適用対象: SharePoint Foundation 2010
IAlertNotifyHandler インターフェイスに OnNotification 関数を実装することにより、通知イベントを取得することができます。
IAlertUpdateHandler に PreUpdate 関数と PostUpdate 関数を実装することにより、通知の作成イベントおよび修正イベントを取得することができます。
重要 |
---|
通知ハンドラーは、ユーザーが電子メール通知を購読している場合にのみ実行されます。ユーザーが SMS 通知を選択している場合は実行されません。 |
通知ハンドラーを実装する
通知ハンドラーを実装するには、以下の手順を実行します。
通知ハンドラーを実装するには
クラスを作成し、IAlertNotifyHandler インターフェイスと IAlertUpdateHandler インターフェイスを実装します。
アセンブリをグローバル アセンブリ キャッシュに登録します。
通知テンプレートの Properties 要素を次の形式で使用して、通知テンプレートをハンドラーに接続します。
<Properties> <NotificationHandlerAssembly> Handler assembly strong name </NotificationHandlerAssembly> <NotificationHandlerClassName> Fully qualified class name </NotificationHandlerClassName> <NotificationHandlerProperties> Other option properties you want to pass </NotificationHandlerProperties> <UpdateHandlerAssembly> Assembly </UpdateHandlerAssembly> <UpdateHandlerClassName> Class name </UpdateHandlerClassName> <UpdateHandlerProperties> Other properties </UpdateHandlerProperties> </Properties>
通知テンプレートは、AlertTemplates.xml および AlertTemplates_SMS.xml に格納されています。これらのテンプレートで、各リストの種類から通知メッセージを作成するときに使用される形式、コンテンツ、およびプロパティを定義します。開発者は、これらの一方または両方のファイルのコピーを変更し、カスタマイズした通知テンプレートを stsadm -o updatealerttemplates コマンドで読み込むことにより、通知をカスタマイズできます。
注意
AlertTemplates.xml または AlertTemplates_SMS.xml を変更しないでください。これらのファイルはサービス パックのインストール時に上書きされることがあります。変更を行う場合は、一方または両方のファイルのコピーを作成し、そのコピーを編集します。編集後に stsadm -o updatealerttemplates コマンドを呼び出して、元のテンプレートの内容を変更内容で置き換えます。変更内容は SharePoint Foundation 構成データベースに格納されます。詳細については、「通知の概要」および「通知テンプレートのスキーマ」を参照してください。
重要 |
---|
ある SPAlertTemplateType.* テンプレートで Format 要素以外の部分を変更した場合は、対応する SPSmsAlertTemplateType.* テンプレートにも同じ変更を行う必要があります。 |
イベントの取得
通知がトリガーされたときにイベントを取得するには、IAlertNotifyHandler を実装します。通知がトリガーされると、IAlertNotifyHandler.OnNotification が呼び出されます。SPAlertHandlerParams オブジェクトが関数に渡されます。次に、SendEmail などの電子メール送信メソッド、または SendMessage(String) などの SMS メッセージ送信メソッドを使用してメッセージを送信します。
プロパティの変更や新しいプロパティの設定を行えるように、新しい通知の作成時または更新時にイベントを取得するには、IAlertNotifyHandler インターフェイスを実装します。通知の変更がデータベースにコミットされる前に PreUpdate が呼び出され、この変更がコミットされた後に PostUpdate が呼び出されます。
注意
IAlertNotifyHandler を実装する際は、SPAlertCollection にアクセスしないようにするか、SPAlert オブジェクトを変更するようにします。また、SPAlert プロパティが null であるかどうかについて、アクセスする前に必ずテストするようにします。