Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Sharepoint中设置日历事件的默认目标受众?_Sharepoint_Moss_Event Handling_Target Audience - Fatal编程技术网

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

如何在Sharepoint中设置日历事件的默认目标受众?,sharepoint,moss,event-handling,target-audience,Sharepoint,Moss,Event Handling,Target Audience,我对在MOSS中集中日历的方法有些担心。该场景是,企业有1个日历,事件通过受众目标筛选。在日历中打开受众目标非常简单,当客户端希望在目标受众中使用默认值自动填充该事件时,我会担心 例如,如果门店经理发布活动,目标受众将仅为门店,同样,如果地区经理发布活动,则仅适用于其所在地区的门店。这个想法是从广告甚至全球观众(如果需要)中拉一个默认组,根据谁在创建活动来“默认”目标观众 我想我需要使用AudienceManager类和事件处理程序来完成这项工作 我可以通过JQuery将目标受众设置为广告组吗?

我对在MOSS中集中日历的方法有些担心。该场景是,企业有1个日历,事件通过受众目标筛选。在日历中打开受众目标非常简单,当客户端希望在目标受众中使用默认值自动填充该事件时,我会担心

例如,如果门店经理发布活动,目标受众将仅为门店,同样,如果地区经理发布活动,则仅适用于其所在地区的门店。这个想法是从广告甚至全球观众(如果需要)中拉一个默认组,根据谁在创建活动来“默认”目标观众

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

我可以通过JQuery将目标受众设置为广告组吗? 我是否需要重写ItemAdding之类的事件处理程序才能转到并检索组


这似乎是一个非常常见的要求,当利用目标受众与日历事件,但我花了相当多的时间试图找到例子,并已短

我的最佳猜测是,您确实应该使用ItemEventReceiver,覆盖ItemAdding和ItemUpdate事件(如果项目被编辑?),两者都调用相同的方法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
}
}