حالة المستخدم في المجموعة

:information_source: ملخص يحدد ميزة حالة المستخدم لمجموعات معينة
:hammer_and_wrench: رابط المستودع https://github.com/Lillinator/group-user-status
:open_book: دليل التثبيت كيفية تثبيت الإضافات في Discourse

:woman_technologist:t2: نظرة عامة

تتيح هذه الإضافة البسيطة لمسيري المنتديات القدرة على تقييد حالات المستخدمين لمجموعات مستخدمين أو مستويات ثقة محددة.

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

الميزات

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

:gear: التثبيت والتكوين

  1. اتبع دليل تثبيت الإضافات القياسي.

  2. انتقل إلى Admin -> All site settings وابحث عن “user status” للوصول إلى إعدادات المسؤول ذات الصلة.

  3. تأكد من تفعيل إعداد المسؤول الحالي Enable_user_status.

  4. ثم انتقل إلى إعداد المسؤول الجديد User_status_allowed_groups وحدد المجموعات المسموح لها باستخدام ميزة حالة المستخدم وعرضها.

  5. لن تتمكن المجموعات غير المدرجة في قائمة إعداد User_status_allowed_groups من الوصول إلى نافذة حالة المستخدم من علامة التبويب في قائمة المستخدم، ولا من علامة preferences/account الخاصة بهم.

  6. إذا كان Enable_user_status مفعلًا بالفعل وبعض المستخدمين قد حددوا حالة المستخدم، فستقوم هذه الإضافة بمسح حالتهم ما لم تتم إضافتهم إلى الإعداد الجديد على الفور.

  7. كما سيقوم بإزالة الحالة الموجودة إذا تم إزالة المستخدم من مجموعة مسموح بها إما عبر مسار /admin/users/ أو /admin/groups/ (أو إذا كان مسموحًا لهم بمغادرة المجموعة بأنفسهم وقاموا بذلك).

  8. اختيار المجموعة الزائفة everyone لا يختلف عن تركه فارغًا افتراضيًا أو عدم تثبيت المكون على الإطلاق!

  9. يمكن للمسؤولين دائمًا تعيين وتغيير حالتهم بغض النظر عن المجموعات المحددة؛ وبالتالي، فإن اختيار مجموعة admins فقط سيحدد استخدام حالة المستخدم لمسيري المنتدى.


:wrench: الإعدادات

تضيف الإضافة إعداد مسؤول جديد واحد - User_status_allowed_groups، وهو قائمة منسدلة لمجموعات المنتدى. يمكن العثور عليها عن طريق البحث عن user status في إعدادات الموقع كافة، وهي مدرجة تحت قسم Group permissions في شريط جانبي المسؤول.


:briefcase: حالات الاستخدام مثال

  • إذا كانت وظيفة حالة المستخدم ذات صلة فقط بفرق العمل في المنتدى، وقد يرغبون في عرض حالة المستخدم لبقية المنتدى.

  • السماح فقط لمعتدي الفئات بتعيين حالتهم.

  • يمكن استخدامها لمنع إساءة الاستخدام (أو سوء الاستخدام الآخر) لميزة حالة المستخدم من قبل مجموعات المستخدمين الأقل موثوقية.

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

  • يُسمح للمسؤولين فقط بالذهاب لشرب القهوة :wink: :coffee:.


:bulb: ملاحظات: الإشعارات وتكامل التقويم

تؤثر هذه الإضافة فقط على حالة المستخدم، وليس إعدادات الإشعارات:

  • خيار "إيقاف الإشعارات
16 إعجابًا

عمل رائع! وموثق بشكل جميل. أتطلع إلى تجربته.

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

لقد قمت بتحديث هذا الإضافة باستخدام الإعدادات التفصيلية الجديدة disallowed_groups بحيث لا يمكن اختيار المجموعات غير الضرورية anonymous_users وlogged_in_users وeveryone. سيتم تحديثها تلقائيًا في المرة القادمة التي تقوم فيها بتحديث مثيل Discourse الخاص بك.

لمزيد من المعلومات، راجع هذا الموضوع هنا:

3 إعجابات