自定义警报SharePoint 2010(KB 948321)

时间:2012-09-13 09:57:25

标签: c# sharepoint sharepoint-2010 alert

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

此时我还没有成功获得警报。我想知道这个指南也适用于SharePoint 2010.因为在文章的按钮上明确指出:

适用

  • Microsoft Office SharePoint Server 2007
  • 用于搜索的Microsoft Office SharePoint Server 2007(企业版)
  • 用于搜索的Microsoft Office SharePoint Server 2007(标准版)

任何人都可以启发我吗?

亲切的问候 Oxillery

1 个答案:

答案 0 :(得分:3)

我在2010年工作。

新的提醒模板。

a.Original在这里找到:

    \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>
    

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

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

  • 自定义提醒:

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

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

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

      • 将正常电子邮件发送至内部电子邮件

      • 将缩减的电子邮件发送到外部地址

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

      • 正则表达式替换(保持内容数据不被发送)

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

让所有提醒都使用外部模板

  • 现有警报:

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

    • 未来提醒:

      • Site.allwebs.lists将附加的alerttemplates翻转为其.ext对应项
    • 未来网站及其未来名单

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

<强>管家

a。在功能激活期间

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

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

    • 在功能停用期间

      • 将所有列表和提醒翻转回各自的开箱即用提醒模板