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

حالة مستخدم Discourse

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

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

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

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

الميزات

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

التثبيت والإعداد

  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: ملاحظات: الإشعارات وتكامل التقويم

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

  • يعد خيار “إيقاف الإشعارات مؤقتًا” في نافذة حالة المستخدم ميزة منفصلة.
  • إذا قامت هذه الإضافة بمسح حالة المستخدم، تظل إشعاراته الموقوفة مؤقتًا نشطة.
  • يبقى مؤشر الإشعار الموقوف مؤقتًا على صورته الرمزية حتى تنتهي المدة أو يقوم بإلغاء الإيقاف مؤقتًا يدويًا.

إذا كان لديك إضافة تقويم Discourse مثبتة:

  • حالات العطلات التي تحددها إضافة التقويم لا تتأثر بهذه الإضافة.
  • حالة حافة نادرة جدًا: إذا قام مستخدم بالكتابة فوق حالة العطلة الخاصة به يدويًا وقام مسؤول بإزالة مجموعته من user_status_allowed_groups أثناء عطلته المجدولة، فسيتم مسح الحالة اليدوية.
  • تقوم إضافة التقويم تلقائيًا بإعادة تعيين حالات العطلات كل 10 دقائق، لذا يتم استعادة أي حالة تمت مسحها عند التشغيل المجدول التالي.
  • لا يمكن للمستخدمين تعيين أو تعديل الحالات يدويًا إذا لم يكونوا في مجموعة مسموح بها ولكن لديهم حاليًا حالة عطلة مجدولة.

لقطات الشاشة

لقطات شاشة لتأثير الإعداد على حالة المستخدم

يتم منح الإذن باستخدام ميزة حالة المستخدم في إعداد User_status_allowed_groups. على سبيل المثال، المستخدم test-pilot هو TL_2 وفي المجموعة purple؛ هنا يُسمح له بتعيين وعرض حالة مستخدم، إلى جانب Staff و TL_4:

\u003cbr\u003e

بمجرد تغيير إعداد User_status_allowed_groups وإزالة المجموعة purple من الإعداد، تتم إزالة قدرة المستخدم test-pilot على استخدام ميزة حالة المستخدم من قائمة المستخدم وصفحة preferences/account الخاصة به، وإذا كان لديه حالة مستخدم موجودة محددة، فسيتم مسحها عند تحديث الصفحة التالية. وينطبق التأثير نفسه عند إزالة المستخدم من المجموعة (أو مغادرتها، إذا سُمح له بذلك).

12 إعجابًا

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

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