1

我一直在尝试使用以下准则为 SharePoint 2010 创建自定义警报:http: //support.microsoft.com/kb/948321/en-us

在这一点上,我还没有成功地让警报起作用。我想知道本指南也适用于 SharePoint 2010。因为在文章的按钮处明确指出:

适用于

  • 微软办公室 SharePoint Server 2007
  • 用于搜索的 Microsoft Office SharePoint Server 2007(企业版)
  • 用于搜索的 Microsoft Office SharePoint Server 2007(标准版)

任何人都可以启发我吗?

亲切的问候 Oxillery

4

1 回答 1

3

我让它在 2010 年工作。

一个新的警报模板。

a. 原件可在此处找到:

    \14\TEMPLATE\XML\alerttemplates.xml

b.在这个文件中可以找到自定义模板,其中包含原始定义和自定义定义。

CCPersonalAlertTemplates.xml

c.用 stsadm 加载它们

    stsadm.exe -o updatealerttemplates -url "http://Beefy.com/Sites/my_name" -filename " \CCPersonalAlertTemplates.xml"

d.每个开箱即用的解决方案都有一个匹配的自定义模板。

  • 自定义模板的名称末尾有一个 .ext。

  • 自定义功能也像这样调用自定义 NotificationHandlerAssembly:

     <Properties>
     <NotificationHandlerAssembly>Shared.CCPersonalEmail, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5694e116d3fc8c0c</NotificationHandlerAssembly>
     <NotificationHandlerClassName>Shared.CCPersonalEmail.CCPersonalClass
     </NotificationHandlerClassName> 
     <NotificationHandlerProperties />
     </Properties>
    

自定义通知处理程序程序集

a.IAlertNotifyHandler 实现 OnNotification 方法 - 尝试发送自定义警报(如果失败则发送正常警报。)

  • 自定义警报:

    • 从用户信息列表中获取 PersonalEmail 字段数据

    • 如果个人电子邮件为空,它只会发送正常警报

    • 如果填充了个人电子邮件

      • 将普通电子邮件发送到内部电子邮件

      • 将精简后的电子邮件发送到外部地址

      • 替换http://为外部地址http://extranet-

      • 正则表达式替换(阻止发送内容数据)

        <td class=\"formlabel\">.*<td class=\"altvb\">&nbsp;</td>

使所有警报都使用外部模板

  • 现有警报:

    • Site.allwebs.alerts 被翻转为与附加 .ext 相同的模板名称

    • 未来警报:

      • Site.allwebs.lists 将附加的警报模板翻转到其 .ext 对应项
    • 未来的网络及其未来列表

      • SPListEventReceiver ListAdded() 事件翻转网站集中创建的所有列表上的模板

家政

a.在功能激活期间

  • 在 rootweb 的用户信息列表上创建一个 PersonalEmail 字段(这成为内容,因此在停用时不会被删除)

  • 将所有列表和警报翻转到自定义警报模板。

    • 在功能停用期间

      • 将所有列表和警报翻转回各自的开箱即用警报模板
于 2012-10-12T23:59:56.697 回答