どのように私は、SharePointのカレンダーイベントのデフォルトの対象者を設定するのですか?
-
16-09-2019 - |
質問
私はMOSSでカレンダーを一元化するために取っているアプローチにはいくつかの懸念を持っています。シナリオはそこEnterpriseの1つのカレンダーで、イベントは観客がターゲットで濾過されていることです。それは私の関心は、クライアントが自動ターゲットオーディエンスのデフォルト値でそのイベントを取り込みたいときに来て、観客はカレンダーでの標的に向けるために、かなりまっすぐ進むのです。
店長がイベントを掲載されている場合、たとえば、ターゲットとするユーザーは、それが唯一の彼/彼女の地区の店舗に適用される同様の地区マネージャーのポストイベント場合は、店舗になります。アイデアは、必要に応じて、「デフォルト」に、ADあるいは世界中の視聴者からのイベントを作成している人に基づいて対象者を既定のグループを引っ張っています。
私は、私はこれを実現するために取得AudienceManagerクラスとイベントハンドラを使用する必要があります推測している。
私は、広告グループにはJQueryを経由して対象者を設定することはできますか? 私が行くとグループを取得するためにItemAddingのようなイベントハンドラをオーバーライドする必要がありますか?
カレンダーイベントでターゲットオーディエンスを利用する場合、それはかなり一般的な要求だろうようにこれはと思われるが、私はかなりの時間の少しの例を見つけようとして費やしてきたと短いが出ています。
解決
私の最高の推測では、両方のは、その方法では、あなたがSPCOntext.Currentに基づいて聴衆を設定し、同じメソッドSetAudienceを呼び出して、あなたは確かにItemAddingとItemUpdatingイベントをオーバーライドし、ItemEventReceiverを使用する必要があること(アイテムが編集された包み?)です。 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
}
}