إعداد تقرير عن عضوية المجموعة؟

  • نحن نستخدم Discourse لمنظمة تطوعية قائمة على الأعضاء، وأود معرفة ما إذا كانت هناك طريقة سريعة للحصول على تقرير عن عضوية المجموعات.
  • لدينا حاليًا حوالي 60 مستخدمًا و20 مجموعة، حيث نستخدم Discourse لمساعدتنا في إدارة منظمتنا، خاصة في الحالات التي تظهر فيها قصور البريد الإلكتروني في مناقشات المجموعات.

أجد أن بعض جوانب التفاعل مع صلاحيات Discourse مقيدة بعض الشيء أحيانًا. أنا قادم من خلفية إدارة الأنظمة في مجال تقنية المعلومات، لذا فأنا معتاد على القدرة على تداخل المجموعات في أنظمة مثل Active Directory، لكنني آمل ألا أكون أقوم بإسقاط الكثير من هذا المفهوم على Discourse، لأنها بالتأكيد أشياء مختلفة جدًا.

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

  • ما هو المنطق وراء وجود الآلية التي تسبب هذا الخطأ؟
  • أنا أفهم أنك لا ترغب في أن تكون الفئة الفرعية قابلة للوصول عندما لا تكون الفئة الأصلية قابلة للوصول (هذا مقبول في محرك شبكة مشترك، لكنه لا معنى له في Discourse).
  • لكن هل يمكنك تغييره إلى تنبيه يفيد بأن المجموعة المعنية غير قابلة للوصول من قبل الفئة الأصلية، وأنه عند المتابعة مع هذا التغيير، سيتم إضافتها مع الحد الأدنى من الصلاحيات المطلوبة (أو مستوى قابل للاختيار)؟
3 إعجابات

قد يكون هناك استعلام في مستكشف البيانات يمكنه إظهار هذه المعلومات لك؟ قائمة بكل مجموعة والأعضاء في كل مجموعة؟ هل هذا ما تبحث عنه؟

إعجابَين (2)

@michebs ربما هناك شيء يمكنك المساعدة به؟

إعجابَين (2)

إذا كانت هذه المعلومات هي ما تحتاجه، فإن هذه الاستعلامات يمكن أن تساعدك.

قائمة أسماء المجموعات
SELECT 
    g.name group_name,
    user_count
FROM groups g 
ORDER BY g.name ASC
قائمة المجموعات والأعضاء
-- [params]
-- string :group_name

SELECT 
    g.name group_name,
    u.username user_name,	
    gu.owner group_owner
FROM group_users gu 
LEFT JOIN groups g ON gu.group_id = g.id
LEFT JOIN users u ON gu.user_id = u.id
WHERE user_id > 0
    AND g.name LIKE '%'||:group_name||'%'
ORDER BY g.name ASC, gu.owner DESC
قائمة جميع المجموعات والأعضاء
SELECT 
    g.name group_name,
    u.username user_name,	
    gu.owner group_owner
FROM group_users gu 
LEFT JOIN groups g ON gu.group_id = g.id
LEFT JOIN users u ON gu.user_id = u.id
WHERE user_id > 0
ORDER BY g.name ASC, gu.owner DESC
5 إعجابات

شكرًا لك @codinghorror @michebs.

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

يبدو من مظهره أنه يشبه إلى حد ما استعلامات SQL و Influx.

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

إنه إضافة. راجع Discourse Data Explorer

إنه SQL.

3 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.