次の方法で共有


通知テンプレートの形式

Windows SharePoint Services 3.0 には、事前に定義された一連の通知テンプレートが用意されています。これらの通知テンプレートは、Alerttemplates.xml に格納されています。Alerttemplates.xml は、各リストの種類から通知メッセージを作成する際に使用する形式、コンテンツ、およびプロパティを定義します。開発者は、Alerttemplates.xml のコピーを変更し、カスタマイズした通知テンプレートを stsadm -o updatealerttemplates コマンドで読み込んで、通知をカスタマイズすることができます。

注意

Alerttemplates.xml を変更しないでください。変更すると、Service Pack のアップグレードまたはインストール時に機能が失われる場合があります。

事前定義された通知テンプレートの一覧は、「定義済みの通知テンプレート」を参照してください。

通知テンプレートのスキーマ

通知テンプレートは以下の形式です。

<AlertTemplates>
  <AlertTemplate Type="List" Default="True" Name ="Default Template">
  </AlertTemplate>
  <AlertTemplate Type="List" Name="SPAlertTemplateType.GenericList">
    <EventTypes IsVisible="True"/>
    <Format>
    </Format>
    <Properties>
    </Properties>
    <Filters>
      <FilterDefinition>
      </FilterDefinition>
    </Filters>
  </AlertTemplate>
</AlertTemplates>

表 1. 通知テンプレートの属性

属性

説明

Name

テンプレートの名前。テンプレート名の検索により、特定のテンプレートを簡単に検索できます。

Type

Type 属性は、List、Item、または Custom に設定できます。

Default

Default = "True" の場合、既定の通知テンプレートを設定します。

Filters

IsVisible = "True" の場合、通知の作成時にフィルタ フィールドが表示されます。

Filter Definitions

フィルタ (クエリ) を定義します。

Format

電子メール メッセージの形式は、Format 要素で定義されます。

Fields

どのフィールドを通知の電子メールに表示するかを指定します。

Filters 要素と Filter Definitions 要素

Filter では、"タスクの優先順位が変更された" などのイベント用の新しいトリガを作成できます。既存のフィルタを変更、または追加のフィルタを作成する場合は、該当するテンプレートの FilterDefinition 要素を変更します。 Collaborative Application Markup Language (CAML) を使用してフィルタ内にクエリ要素を定義します。

次のクエリは、イベントの日付、終了日付、または場所が変更になると通知イベントを作成します。

<FilterDefinition>
  <FriendlyName>$Resources:Alerts_4_filter;</FriendlyName>
  <ShortName>$Resources:Alerts_4_filter_shortname;</ShortName>
  <Query>
  <Or>
    <Or>
      <Neq><FieldRef name="EventDate/New"/>
        <FieldRef name="EventDate/Old"/>
      </Neq>
      <Neq>
        <FieldRef name="EndDate/New"/>
        <FieldRef name="EndDate/Old"/>
      </Neq>
    </Or>
      <Neq>
        <FieldRef name="Location/New"/>
        <FieldRef name="Location/Old"/>
      </Neq>
    </Or>
  </Query>
</FilterDefinition>

AlertTemplates.xml にリストされている、$Resources:Alerts_anything_filter_shortname などのリソース変数は、local_drive\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Resources の core.resx にあります。

注意

通知スキーマの Query 要素には、Where 要素が含まれません。

CAML クエリ スキーマの詳細については、「クエリ スキーマ」を参照してください。

Format 要素

通知テンプレートの Format 要素を使用して通知メッセージの外観を変更します。組み込みのスタイルを使用して通知メッセージの形式をカスタマイズすることもできます。

<Format>
  <Digest> - digest format
    <Subject>
    </Subject>
    <Header>
    </Header>
    <HeaderFieldsHeader>
    </HeaderFieldsHeader>
    <HeaderFields>
    </HeaderFields>
    <HeaderFieldsFooter>
    </HeaderFieldsFooter>
    <RowHeader>
    </RowHeader>
    <RowFields>
    </RowFields>
    <RowFooter>
    </RowFooter>
    <Footer>
    </Footer>
  </Digest>
  <Immediate>
    <Subject>
    </Subject>
    <Header>
    </Header>
    <Fields>
    </Fields>
    <Footer>
  </Footer>
  </Immediate>
</Format>

Row Header 要素

各行のヘッダー行は、ダイジェスト通知における各アイテム レベルの変更内容を参照します。

Subject 要素

電子メールの件名です。

Fields 要素

Fields 要素では、電子メール メッセージに表示するフィールドを指定します。例えば、Fields セクション内に <GetVar Name="NewValue#{Field}"> を指定することができます。他の例は、AlertTemplates.xml で参照できます。

CAML は、すべてのフィールドを調べ、テンプレートのこの部分を表示します。 フィールド自体は、<GetVar Name=”OldValue#{Field}” /> または <GetVar Name=”NewValue#{Field}” /> を使用して参照する必要があります。

電子メール メッセージに一部のフィールドを表示しないようにするには、DigestNotificationExcludedFields と ImmediateNotificationExcludedFields の両セクションに該当するフィールドを含めます。DigestNotificationExcludedFields と ImmediateNotificationExcludedFields を使用すると、即時通知やサマリ (ダイジェスト) 通知にさまざまなフィールドを自由に表示できます。

Properties 要素

Properties 要素では、電子メール メッセージに表示するリストからフィールドを含めたり除外したり、通知ハンドラを指定したりできます。以下の例は、即時通知とサマリ (ダイジェスト) 通知の両方からフィールドを除外する方法を示しています。

<Properties>
   <ImmediateNotificationExcludedFields>
      ID;Author;Editor;Modified_x0020_By;Created_x0020_By;
      _UIVersionString;ContentType;TaskGroup;IsCurrent;Attachments;
      NumComments;
   </ImmediateNotificationExcludedFields>
   <DigestNotificationExcludedFields>
      ID;Author;Editor;Modified_x0020_By;Created_x0020_By;
      _UIVersionString;ContentType;TaskGroup;IsCurrent;Attachments;
      NumComments;
   </DigestNotificationExcludedFields>
</Properties>

See Also

参照

IAlertNotifyHandler

概念

クエリ スキーマ

Windows SharePoint Services での通知