معرفة عدد المراقبين

أعتقد أنني أثرت هذا الموضوع منذ وقت طويل عندما بدأت في اختبار المنصة لأول مرة.
هل سيكون هناك يوم ما طريقة لمعرفة عدد الأشخاص الذين يشتركون (يتابعون) موضوعًا معينًا؟

يُطلب مني هذه المعلومات بشكل متكرر هذه الأيام.

إعجابَين (2)

يبدو أن هذا غير مرجح أن يُضاف كخيار مرئي لغير المشرفين.

إن حرية المستخدمين الأفراد في اختيار كيفية استهلاكهم للمنتدى أمر بالغ الأهمية، ومن المرجح أن يؤدي منح اعتبار خاص لمراقبة موضوع ما بجعل الرقم مرئيًا للجميع إلى خلق أنماط سلوكية سيئة. (متلازمة “الرقم يرتفع” قوية جدًا.)

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

3 إعجابات

لا نود أبدًا أن يحدث هذا لغير المسؤولين. سأجرب ذلك مع المصمم الألماني.

إعجابَين (2)

هل تمت إضافة هذه الميزة إلى تقارير Discourse من قبل؟

هل كان هناك أي تحديثات لهذا؟

مرحباً توم،

لم تتم إضافة هذا كتقرير افتراضي لـ DE. ومع ذلك، وجدت موضوعًا يوفر استعلام DE أساسيًا لسحب هذه المعلومات، ربما يكون ذلك مفيدًا:

إعجابَين (2)

مرحباً مارك،

شكراً لك. إذن، من هذا يبدو أنني لا أستطيع أداء هذه الوظيفة على مستوى الموضوع. هل هذا صحيح؟

توم،

لا، يمكنك الحصول على هذه المعلومات على مستوى الموضوع عن طريق استبدال “topic” بـ “category” كالتالي:

SELECT
  COUNT(topic_id)
FROM
  topic_users
WHERE
  notification_level = 3

مرة أخرى، هذا استعلام أساسي جدًا يعيد العدد الإجمالي للمراقبين من… في هذه الحالة… جميع المواضيع. إذا كنت ترغب في تحديد موضوع معين، يمكنك الإضافة إلى جملة WHERE، على سبيل المثال:

WHERE
  notification_level = 3
  AND topic_id = 29
8 إعجابات

هذا رائع!

شكرا لك!

إعجاب واحد (1)

هذا مفيد جدًا، شكرًا @MarkDoerr. قمت بتعديل الاستعلام للإبلاغ عن مستويات الإشعارات الأربعة كلها في مرة واحدة، ولاستقبال مصفوفة من topic_ids إذا لزم الأمر.
جدول الإخراج الشبكي الكامل ليس جميلًا ولكنه يحتوي على كل المعلومات التي أحتاجها.

تعديل: فور نشر التعليق، أظهر لي Discourse بلطف ستة روابط لطرق أخرى لحل هذه المشكلة! استمر في الاستعلام!

SELECT 
  topic_id,
  notification_level,
  COUNT(CASE WHEN notification_level = 0 THEN topic_id END) AS Muted_0,
  COUNT(CASE WHEN notification_level = 1 THEN topic_id END) AS Normal_1,
  COUNT(CASE WHEN notification_level = 2 THEN topic_id END) AS Tracking_2,
  COUNT(CASE WHEN notification_level = 3 THEN topic_id END) AS Watching_3
FROM 
  topic_users 
WHERE 
  topic_id IN (9831, 9572, 9424, 7567) -- أضف معرفات المواضيع الخاصة بك هنا
GROUP BY
  topic_id, notification_level
إعجاب واحد (1)