كيف تعمل رؤية المجموعات التلقائية؟

أنا مرتبك قليلاً بشأن كيفية عمل رؤية المجموعات التلقائية. في هذه المرحلة، أتحدث فقط عن دليل /groups.
إليك ما أراه في تثبيت حديث نسبيًا للإصدار 2.7.0.beta4:

  • إذا نظر مستخدم لديه صلاحيات المسؤول أو المراقب إلى /groups، فإنه يرى جميع المجموعات التلقائية الثمانية (admins، moderators، staff، trust_level_[0-4]).
  • إذا نظر مستخدم ليس مسؤولًا ولا مراقبًا (بغض النظر عن مستوى الثقة) إلى /groups، فإنه يرى مجموعة moderators فقط.

ولكن، جميع هذه المجموعات لها نفس إعدادات الرؤية الافتراضية:

  • من يمكنه رؤية هذه المجموعة؟ المستخدمون المسجلون
  • من يمكنه رؤية أعضاء هذه المجموعة؟ الجميع

هل هذا هو السلوك المتوقع؟ أم أن هناك خطأ ما في معالجة معاملات الرؤية لهذه المجموعات؟

5 إعجابات

هناك تعليق في الكود يوضح ما يحدث: “إخفاء المجموعات التلقائية عن جميع غير الموظفين لتبسيط الصفحة.” يحدث هذا هنا: discourse/app/controllers/groups_controller.rb at main · discourse/discourse · GitHub.

ما يفعله الكود هو تجاوز إعدادات رؤية المجموعة للمجموعات التلقائية عند عرض صفحة المجموعات من قبل مستخدمين غير موظفين. ستُعرض مجموعة المشرفين فقط.

غير مرتبط بالمشكلة، ولكن عندما حاولت إنشاء معاينة (onebox) لرابط GitHub الذي نشرته أعلاه، تم عرض الكود في المعاينة دون أي تنسيق:

3 إعجابات

حسنًا، هذا يفسر الأمر. وأنا متأكد من أن الكود كُتب بأفضل النوايا، ولكنه معطل للأسباب التالية:

  1. ربما أريد أن تكون المجموعات التلقائية الأخرى (بخلاف المشرفين) مرئية.
  2. واجهة الإدارة للمجموعات التلقائية تسمح لي بتعيين رؤية المجموعات التلقائية غير المشرفين، ولكن هذا الإعداد يتم تجاهله.

سيكون من السهل جدًا حذف كتلة الكود هذه (والخطأ المطبعي اللطيف الذي نجا من السنوات الست الماضية).

الشيء الصعب، إذا اعتقد المرء أنه ضروري، سيكون تغيير إعداد الرؤية الحالي للمجموعات التلقائية إلى “مالكي المجموعة” حتى لا تظهر هذه المجموعات عن طريق الخطأ لجميع التثبيتات التي اعتادت على إجبارها على أن تكون غير مرئية. لا أعرف ما إذا كان لدى Discourse آلية ما لإجراء مثل هذه التغييرات أثناء الترقية — ولكن هذا هو نوع الشيء الذي يحتاج المرء إليه أثناء تغييرات المخطط، لذلك يجب أن يكون هناك شيء ما.

أيضًا: هذا السلوك “دعنا نخفي المجموعات التلقائية في كتالوج المجموعات على الرغم من إعداد الرؤية” سيء لأنه يحجب الجوانب * الأخرى * من visibility_level التي لا تزال ذات مغزى. على سبيل المثال:

  • يجرب المسؤول X إعدادات الرؤية ويدرك أن المستخدمين غير الموظفين لا يمكنهم رؤية trust_level_0 في كتالوج المجموعات بغض النظر عن أي شيء.
  • لذلك… يترك المسؤول X visibility_level و member_visibility_level مضبوطين على “الجميع”، نظرًا لأن هذه الإعدادات لا يبدو أن لها أي تأثير.
  • يتصفح المستخدم المجهول Z إلى /groups/trust_level_0 ويحصل على قائمة بجميع المستخدمين في الموقع.

ربما يهتم المسؤول X بذلك، وربما لا، ولكن في كلتا الحالتين سيتفاجأ المسؤول X بإمكانية حدوث ذلك.

حقائق ممتعة غير ذات صلة لم أكن أعرفها من قبل

توزيع مستخدمي meta.discourse حسب مستوى الثقة:

المستوى عدد المستخدمين
TL0 45,942
TL1 29,226
TL2 3,620
TL3 124
TL4 102

مرحباً mdoggydog :slight_smile:

بعض النقاط تبدو صالحة بالنسبة لي، مثل:

وهو أمر مربك.

أدعوك لإنشاء موضوع Feature باقتراحاتك :slight_smile:

تم!

إعجابَين (2)

تمت متابعة المحادثة في: Respect the visibility settings of all automatic groups