0

我对在 MOSS 中集中日历的方法有些担心。场景是企业有 1 个日历,事件通过受众定位进行过滤。在日历中打开受众定位是相当直接的,当客户希望使用 Target Audiences 中的默认值自动填充该事件时,我会担心。

例如,如果商店经理发布事件,则目标受众将只是商店,同样,如果区域经理发布事件,则它仅适用于他/她所在地区的商店。这个想法是从 AD 甚至全球受众中提取一个默认组(如果需要),以根据谁创建事件来“默认”目标受众。

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

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

在将 Target Audiences 与日历事件结合使用时,这似乎是一个非常常见的请求,但我花了相当多的时间试图找到示例,但结果不足。

4

1 回答 1

0

我最好的猜测是,您确实应该使用 ItemEventReceiver,覆盖 ItemAdding 和 ItemUpdating 事件(以防项目被编辑?),两者都调用相同的方法 SetAudience,在该方法中,您基于 SPPContext.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
}

}

于 2009-08-14T22:52:51.877 回答