يشرح هذا الدليل كيفية تعديل تفضيل مستخدم للجميع أو لمجموعة فرعية من المستخدمين في Discourse.
مستوى المستخدم المطلوب: مسؤول النظام
الوصول إلى وحدة التحكم (Console) مطلوب.
إذا كنت بحاجة إلى تحديث تفضيل المستخدم لجميع المستخدمين أو لمجموعة كبيرة منهم، يمكنك القيام بذلك عبر وحدة تحكم rails (rails console).
ملخص
في هذا الدليل، ستتعلم:
- كيفية الوصول إلى وحدة تحكم rails لإجراء تغييرات مجمعة
- أمثلة على تعديل تفضيلات المستخدم
- كيفية تحديد أسماء الإعدادات
الوصول إلى وحدة تحكم Rails
للدخول إلى وحدة تحكم rails في إعداد Discourse الخاص بك، قم بتنفيذ الأوامر التالية:
./launcher enter app
rails c
بعد ذلك، قم بتشغيل أمر يحدد مجموعة المستخدمين التي ترغب في تحديثها.
أمثلة على تعديل تفضيلات المستخدم
فيما يلي أمثلة للأوامر لتحديث تفضيلات المستخدم المختلفة:
تعيين تاريخ آخر ظهور للمستخدمين غير النشطين
قم بتعيين تاريخ آخر ظهور للمستخدمين الذين لم يسجلوا الدخول مطلقًا.
User.where("last_seen_at IS NULL").update_all(last_seen_at: 1.week.ago)
تعطيل وضع القائمة البريدية لجميع المستخدمين
أعد المستخدمين إلى الإعداد الافتراضي لمنعهم من تلقي رسائل بريد إلكتروني لكل مشاركة جديدة.
UserOption.update_all(mailing_list_mode: false)
تعيين مستوى البريد الإلكتروني على “عندما تكون بعيدًا فقط” لجميع المستخدمين
العودة إلى الإعدادات الافتراضية لمنع إشعارات البريد الإلكتروني عندما يكون المستخدمون متواجدين بنشاط على الموقع.
UserOption.update_all(email_level: 1)
حيث يمكن أن يأخذ email_level القيم التالية:
- 0: دائمًا (إرسال رسائل بريد إلكتروني حتى عندما يكون المستخدم نشطًا)
- 1: فقط عندما تكون بعيدًا (افتراضي)
- 2: أبدًا
تمكين الدردشة لجميع أعضاء مجموعة البيتا (beta)
beta_group = Group.find_by(name: "beta")
beta_group.users.each do |user|
UserOption.where(user_id: user.id).update_all(chat_enabled: true)
end
تكوين إشعارات البريد الإلكتروني لاستبعاد الردود السابقة
قم بتعيين التفضيل لاستبعاد الردود السابقة في إشعارات البريد الإلكتروني.
UserOption.update_all(email_previous_replies: 0)
حيث يمكن أن يأخذ email_previous_replies القيم التالية:
- 0: دائمًا
- 1: ما لم يتم إرسال بريد إلكتروني سابقًا
- 2: أبدًا
لمزيد من المعلومات، راجع التحكم في الردود السابقة في رسائل البريد الإلكتروني.
تحديد اسم الإعداد
لتحديد اسم إعداد المستخدم والخيارات المتاحة:
- استخدم إضافة مستكشف البيانات (data explorer plugin) لفحص جدول
user_options. - ابحث في مستودع Discourse على GitHub.
على سبيل المثال، لتعديل الإعداد المتعلق بـ “عندما أنشر في موضوع، عيّن هذا الموضوع على”، تحتاج إلى تعديل خيار المستخدم notification_level_when_replying.
تحقق من الإعداد ذي الصلة إلى المراقبة (watching).
يمكنك أيضًا تكوين Docker لكشف psql واستخدام PGadmin لتسهيل الإدارة.