我对我在MOSS中集中日历的方法有些担忧。方案是企业有1个日历,通过受众群体定位过滤事件。在日历中转换受众群体定位是相当直接的,当客户希望在目标受众群体中使用默认值自动填充该事件时,我的担忧就出现了。
例如,如果商店经理发布活动,则目标受众只会是商店,同样如果区域经理发布活动,则仅适用于他/她所在地区的商店。我们的想法是,如果需要,从AD或甚至全局受众中提取默认组,以根据创建事件的人“默认”目标受众。
我猜我需要使用AudienceManager类和事件处理程序来完成这项工作。
我可以通过JQuery将目标受众设置为AD组吗? 我是否需要覆盖像ItemAdding这样的事件处理程序来检索该组?
在将目标受众与日历活动结合使用时,这似乎是一个非常常见的请求,但我花了很多时间试图找到示例并且做得很短。
答案 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
}
}