كيفية إنشاء تنبيه ملخص يوميا لأي تغيير في موقع SharePoint

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

سؤال

حصلت مؤخرا على متطلبات شخص تلقي تنبيه ملخص يومي لأي تغيير داخل موقع SharePoint؛ كل موقع لديه مالك المسؤول عن المحتوى على موقعهم.

الطريقة الحالية لدينا شيء يعمل هو إعداد تنبيهات تلقائيا لكل قائمة / مكتبة داخل الموقع.

// Get the Lists on this Site
SPListCollection siteLists = currentSite.Lists;
foreach (SPList list in siteLists)
{
    if (!list.ToString().Equals("Master Page Gallery"))
    {
        if (list.ReadSecurity == 1) // user has read access to all items
        {
            // Create an Alert for this List
            Guid alertID = currentUser.Alerts.Add(list, SPEventType.All, SPAlertFrequency.Daily);

            // Set any additional properties
            SPAlert newAlert = currentUser.Alerts[alertID];
        }
    }
}

هذا يخلق مشكلتين:

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

س: كيف يمكنني إنشاء تنبيه ملخص يوميا لجميع التغييرات في الموقع؟

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

المحلول

أعتقد أن الحل الذي تبحث عنه متاح من خلال إطار التدقيق. التدقيق قوية للغاية في SP، لسوء الحظ، من السهل أن تغمره الإخراج.

المراجعة هي عقار متوفر على خصائص SPSITE و SPWEB و SPLIST و SpIitem.

اضبط إشارات التدقيق المحددة (باستخدام خصائص .Audit.AuditFlags) باستخدام هذه الخاصية لتناسب احتياجاتك (ستعتمد التفاصيل على كيفية تحديد "التغيير" ولكن أي شيء تقريبا يمكنك التفكير فيه متاح).

تفاصيل حول كائن Spaudit تتوفر على MSDN.

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

بشكل افتراضي، يقوم SP بإعداد بعض التقارير اللطيفة المتوفرة في مستوى مجموعة الموقع ([URL لجمع المواقع] / _ Layouts / Reporting.aspx؟ الفئة = التدقيق). هذه قد تلبي احتياجاتك.

الحل الأولي الخاص بك ذكر تنبيهات عبر البريد الإلكتروني للمستخدمين. بالنظر إلى أن معظم المستخدمين يرغبون في تركيز معلوماتهم في البريد الإلكتروني (على الرغم من أن الخليج الخاص بهم هو مكان رائع لوضع رابط للتقارير!) سيكون لديك المزيد من العمل للقيام به.

يمكنك سحب معلومات التدقيق المطلوبة من خلال نموذج الكائن باستخدام كائنات SpauditQuery و SpauditentryCollection. تكرارا، MSDN لديه بعض المعلومات حول كيفية استخدام هذه الكائنات.

أود أن أوصي بإعداد spjobdefifition مخصص يعمل في نهاية اليوم للبريد الإلكتروني للمستخدمين تقرير التدقيق لموقعهم. أندرو كونيل لديه شرح كبير كيفية إعداد وظيفة مخصصة على مدونته.

كي تختصر:

  • تمكين التدقيق ل Spweb المعني
  • قم بإنشاء تقرير باستخدام SpauditQuery و SpauditentryCollection لكل SPWEB
  • قم بإنشاء spjobdefinition يدير كل ليلة عبر البريد الإلكتروني التقرير إلى كل مالك Spweb

نصائح أخرى

هناك شيء يجب مراعاته قبل تمكين سياسة التدقيق على موقع، هو أداء النفقات العامة التي تضيفها.

أود أن أوصي بالحفاظ على البصمة بأقل قدر ممكن هنا!

يعني ذلك ما إذا كان نوع محتوى معين فقط أو قائمة معينة تريد هذه المعلومات من، تأكد من أن تمكين سياسة المعلومات فقط على هذه CT أو قوائم!

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

على مواقع كبيرة رأيت تدقيق أداء القمامة حقا!

كن على دراية ببعض التحذير هنا: على الرغم من أنه يمكنك تمكين التدقيق في القوائم (كما في مكتبات المستندات)، فإن الكثير من الأحداث (على سبيل المثال عرض الأحداث) لم يتم تسجيل دخول خصيصا للعناصر القائمة! لم يتم وصف هذا في أي مكان (في الواقع، لقد رأيت حتى تخصص Ted Pattison تدقيق مستوى العنصر في مقالة MSDN) ولكن لدي مباشرة من CSS وفريق المنتج لم يتم تنفيذ تدقيق مستوى البند في SP2007 بسبب مشكلات الأداء. بدلا من ذلك، يمكنك فقط الحصول على حدث قائمة في السجل تحديد القائمة التي تم لمسها.

يتم تتبع المستندات بشكل حد حسن، لكنني رأيت مشاكل في مراجعة الحسابات عرض الأحداث على صفحة النشر (والتي تعتبر في API مستندات وليس عنصر قائمة) اعتمادا على كيفية وضع التدقيق (على سبيل المثال، إذا تم تنفيذ سياسات التدقيق مع موروها CT's) لذلك هذا شيء يجب أن يدركه.

تحرير: فعل بعض الاختبارات حول هذا أمس وأسوأ من ذلك: في الواقع نشر الصفحات يكون فقط تتبع إذا قمت بتعيين سياسة تدقيق مستوى الموقع! إذا قمت بتعيين سياسة في قائمة أو نوع محتوى (أو حتى نوع المحتوى الذي يرث من نوع محتوى مع سياسة) سوف تحصل عليه رقم SPAudITITEMTYPE.Document أحداث المستوى على الإطلاق. اضبطه على موقع وستحصل على العديد من عمليات التدقيق! على سبيل المثال سوف يؤدي عرض الأحداث المشاهدة X2، ونفس الشيء مع التحديثات، لذلك ينتهي بك الأمر إلى تسجيل دخول كبير. بالتأكيد يبدو وكأنه خطأ لا يوجد شيء يتم تدقيقه عند وضع السياسات في القوائم و CT's ...

الرسالة الرئيسية هنا هي: حريص على ما تسجله، لأنه سيؤثر على اختبار أداء مواقعك التي تتوقع تسجيل الدخول بالفعل!

هث أندرس rask.

حسنا، إنها ليست حالة لا يوجد فيها تدقيق مستوى العنصر. يتم تنفيذ تدقيق مستوى العنصر ولكن عليك تشغيله للحصول على عنصر معين. إذا كان عنصر القائمة موجود، فيمكنك الحصول على مثيله وتشغيل المراجعة نفسها كما تفعل هذا للقوائم. المشكلة هي أن كيفية تشغيله عند إنشاء ListItem. ربما سير العمل يمكن أن تساعد؟

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