أنا مرتبك قليلاً بشأن كيفية عمل رؤية المجموعات التلقائية. في هذه المرحلة، أتحدث فقط عن دليل /groups.
إليك ما أراه في تثبيت حديث نسبيًا للإصدار 2.7.0.beta4:
إذا نظر مستخدم لديه صلاحيات المسؤول أو المراقب إلى /groups، فإنه يرى جميع المجموعات التلقائية الثمانية (admins، moderators، staff، trust_level_[0-4]).
إذا نظر مستخدم ليس مسؤولًا ولا مراقبًا (بغض النظر عن مستوى الثقة) إلى /groups، فإنه يرى مجموعة moderators فقط.
ولكن، جميع هذه المجموعات لها نفس إعدادات الرؤية الافتراضية:
من يمكنه رؤية هذه المجموعة؟ المستخدمون المسجلون
من يمكنه رؤية أعضاء هذه المجموعة؟ الجميع
هل هذا هو السلوك المتوقع؟ أم أن هناك خطأ ما في معالجة معاملات الرؤية لهذه المجموعات؟
حسنًا، هذا يفسر الأمر. وأنا متأكد من أن الكود كُتب بأفضل النوايا، ولكنه معطل للأسباب التالية:
ربما أريد أن تكون المجموعات التلقائية الأخرى (بخلاف المشرفين) مرئية.
واجهة الإدارة للمجموعات التلقائية تسمح لي بتعيين رؤية المجموعات التلقائية غير المشرفين، ولكن هذا الإعداد يتم تجاهله.
سيكون من السهل جدًا حذف كتلة الكود هذه (والخطأ المطبعي اللطيف الذي نجا من السنوات الست الماضية).
الشيء الصعب، إذا اعتقد المرء أنه ضروري، سيكون تغيير إعداد الرؤية الحالي للمجموعات التلقائية إلى “مالكي المجموعة” حتى لا تظهر هذه المجموعات عن طريق الخطأ لجميع التثبيتات التي اعتادت على إجبارها على أن تكون غير مرئية. لا أعرف ما إذا كان لدى Discourse آلية ما لإجراء مثل هذه التغييرات أثناء الترقية — ولكن هذا هو نوع الشيء الذي يحتاج المرء إليه أثناء تغييرات المخطط، لذلك يجب أن يكون هناك شيء ما.
أيضًا: هذا السلوك “دعنا نخفي المجموعات التلقائية في كتالوج المجموعات على الرغم من إعداد الرؤية” سيء لأنه يحجب الجوانب * الأخرى * من visibility_level التي لا تزال ذات مغزى. على سبيل المثال:
يجرب المسؤول X إعدادات الرؤية ويدرك أن المستخدمين غير الموظفين لا يمكنهم رؤية trust_level_0 في كتالوج المجموعات بغض النظر عن أي شيء.
لذلك… يترك المسؤول X visibility_level و member_visibility_level مضبوطين على “الجميع”، نظرًا لأن هذه الإعدادات لا يبدو أن لها أي تأثير.
يتصفح المستخدم المجهول Z إلى /groups/trust_level_0 ويحصل على قائمة بجميع المستخدمين في الموقع.
ربما يهتم المسؤول X بذلك، وربما لا، ولكن في كلتا الحالتين سيتفاجأ المسؤول X بإمكانية حدوث ذلك.