كيف يمكنني تعيين جمهور مستهدف افتراضي في حدث تقويم في SharePoint؟

StackOverflow https://stackoverflow.com/questions/1278883

سؤال

لدي بعض المخاوف بنهج أخذه لتقويم تقويم في الطحلب. السيناريو هو أن هناك تقويم واحد للمؤسسة والفعاليات يتم تصفيةها عبر استهداف الجمهور. يتطلع إلى حد ما إلى حد ما لتحويل الجمهور الذي يستهدفه في التقويم، ويأتي قلقي عندما يريد العميل ملء هذا الحدث بقيمة افتراضية في الجماهير المستهدفة.

على سبيل المثال، إذا كان مدير المتجر يقوم بنشر الحدث، فسيكون الجمهور المستهدف هو المتجر، وبالمثل إذا كان مدير المقاطعة ينشر حدثا، فسوف ينطبق إلا على المتاجر في منطقته. تتمثل الفكرة في سحب مجموعة افتراضية من AD أو حتى الجماهير العالمية إذا لزم الأمر، إلى "الافتراضي" الجمهور المستهدف بناء على من يقوم بإنشاء الحدث.

أعتقد أنني سأحتاج إلى استخدام فئة Audiencemanager ومعالج حدث للحصول على هذا المنجز.

هل يمكنني ضبط الجمهور المستهدف عبر مسج إلى مجموعة إعلانية؟ هل أحتاج إلى تجاوز معالج حدث مثل ItemAdding للذهاب واسترداد المجموعة؟

يبدو أن هذا سيكون طلبا شائعا جدا عند الاستفادة من الجماهير المستهدفة من خلال حدث تقويم لكنني قضيت الكثير من الوقت في محاولة للعثور على أمثلة وتوصل إلى أقصر.

هل كانت مفيدة؟

المحلول

أفضل تخمين هو أنه يجب عليك بالفعل استخدام ItemeVentreceiveriVeriver في الواقع، وتجاوز الحدث ItemAdding و Itemupdating (Incase تم تحرير العنصر؟)، كلاهما يدعو نفس الأسلوب Setaudience، في هذه الطريقة تقوم بتعيين الجمهور بناء على spcontext.current.web.web.web.web.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
}

}

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top