如何在Sharepoint中的日历事件上设置默认目标受众?

时间:2009-08-14 16:36:30

标签: sharepoint moss event-handling target-audience

我对我在MOSS中集中日历的方法有些担忧。方案是企业有1个日历,通过受众群体定位过滤事件。在日历中转换受众群体定位是相当直接的,当客户希望在目标受众群体中使用默认值自动填充该事件时,我的担忧就出现了。

例如,如果商店经理发布活动,则目标受众只会是商店,同样如果区域经理发布活动,则仅适用于他/她所在地区的商店。我们的想法是,如果需要,从AD或甚至全局受众中提取默认组,以根据创建事件的人“默认”目标受众。

我猜我需要使用AudienceManager类和事件处理程序来完成这项工作。

我可以通过JQuery将目标受众设置为AD组吗? 我是否需要覆盖像ItemAdding这样的事件处理程序来检索该组?

在将目标受众与日历活动结合使用时,这似乎是一个非常常见的请求,但我花了很多时间试图找到示例并且做得很短。

1 个答案:

答案 0 :(得分:0)

我最好的猜测是你确实应该使用ItemEventReceiver,覆盖ItemAdding和ItemUpdating事件(包括项目被编辑?),两者都调用相同的SetAudience方法,在该方法中你可以根据SPCOntext.Current设置受众。 Web.CurrentUser及其所在的组,或者您创建的某些自定义权限级别

不完整的代码:

protected override ItemAdding(properties)
{
  SetAudience(properties.ListItem)
}

protected override ItemUpdating(properties)
{
  SetAudience(properties.ListItem)
}

private void SetAudience(SPListItem item)
{
  // get current user's groups
  // check if user is a member of store managers / district managers group
  // get all audiences below this user (i.e. all stores in district or single store
  // add relevant audiences to item
}

}