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

I’m a bit confused as to how the visibility of automatic groups works. At this point, I am just talking about the /groups directory.
Here is what I am seeing in a pretty fresh install of 2.7.0.beta4:

  • If an user with admin or moderator bits looks at /groups, they see all 8 automatic groups (admins, moderators, staff, trust_level_[0-4]).
  • If a non-admin, non-moderator user (no matter the trust_level) looks at /groups, they see only the moderators group.

But, all of these groups have the same, default Visibility settings:

  • Who can see this group? Logged on users
  • Who can see this group’s members? Everyone

Is this how it is supposed to work? Or is there something wrong with the handling of the Visibility parameters for these groups?

5 إعجابات

There is a comment in the code that explains what is going on: “hide automatic groups from all non stuff to de-clutter page.” That happens here: discourse/app/controllers/groups_controller.rb at main · discourse/discourse · GitHub.

What the code is doing is overriding the group visibility settings for automatic groups when the groups page is viewed by a non-staff users. Only the moderators group will be displayed.

Unrelated to the issue, but when I tried to onebox the Github link that I posted above, the code was displayed in the onebox without any formatting in the preview:

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