أفضل استراتيجية لأعضٍ يرغب في "إيقاف"؟ قد لا يكون "التعليق" هو الحل

مرحبًا، أدير موقعًا للأعضاء يستخدم منصة Discourse للمنتديات (عبر SSO). في موقعي الرئيسي، يمتلك الأعضاء حساباتهم وملفاتهم الشخصية وما إلى ذلك.

حاليًا، يمكن للأعضاء تعليق ملفاتهم الشخصية الرئيسية مؤقتًا، وهو أمر مقبول. عندما يحدث ذلك، أقوم أيضًا بـ “تعليق” ملفاتهم في Discourse، مع ظهور الرسالة التالية: “اختار هذا العضو تعليق ملفه الشخصي مؤقتًا.”

سؤال: هل هذه هي أفضل طريقة للتعامل مع هذا الأمر؟ هل توجد آلية أخرى لـ “إيقاف” حساب في Discourse (لأن العضو وراءه اختار عدم المشاركة مؤقتًا)؟ حاليًا، تظهر رسالة التعليق في Discourse كعلامة حمراء كبيرة RED MARK! وهو أمر لا ينبغي أن يحدث في هذه الحالة؛ فمن الواضح أن ميزة التعليق في Discourse صُممت كعقوبة، لكن هذه ليست حالة سلبية.

أود حقًا سماع أي أفكار أو تأملات عامة أو مقترحات، أو حتى رؤية بعض صور القطط اللطيفة المتحركة GIFs…

إعجابَين (2)

بدلاً من ذلك، قم بتعطيلهم؟ سيؤدي ذلك إلى منعهم من تلقي رسائل البريد الإلكتروني. سيحتاجون إلى إعادة التحقق من عناوين بريدهم الإلكتروني لإعادة استخدام المنتدى. ملاحظة: سيؤدي ذلك أيضًا إلى حذف حساباتهم بعد فترة سماح، ولكن فقط إذا لم يكن لديهم أي مشاركات.

4 إعجابات

أنا منفتح على ذلك — سأحتاج إلى البحث عن شكل ‘إلغاء التنشيط’، فأنا لست على دراية به. شكرًا على التوجيه!

(أتمنى لو وجد جدول مقارنة بسيط بين التجاهل، والصمت، والتعليق، وإلغاء التنشيط. جميعها درجات متفاوتة من ‘أريد أن أرى أقل من المستخدم س’، لكن هناك فروقًا دقيقة…)

إعجابَين (2)

مرحبًا @merefield، هل تقصد بـ “إلغاء التفعيل” مجرد تغيير قيمة “نشط” إلى false؟ الأمر غير واضح تمامًا بالنسبة لي. لقد وجدت هذا المنشور من @sam ولا يتضمن حالة “ملغى التفعيل”. :man_shrugging:t2:

أعني ذلك بالضبط، تعطيل:

(هذه لقطة من صفحة المسؤول الخاصة بالمستخدم، ولا يمكن الوصول إليها إلا بواسطة مسؤول، كما أظن).

إعجابَين (2)

إذن، لا أستطيع معرفة كيفية التحقق مما إذا كان المستخدم مفعلًا أم لا. يمكنني الحصول على كائن المستخدم (نسختا /users/ و /admin/users/) من واجهة برمجة التطبيقات… لذا قمت باستخراجها قبل إلغاء تفعيل المستخدم وبعده، وقارنت بين مصفوفتي JSON. لا أرى أي فرق في الحقول يشير إلى حالة “تفعيل” المستخدم! هل أفتقد شيئًا؟!

استخدم وحدة تحكم Rails. وتأكد من حفظ التغيير إذا قمت بذلك عبر الكود.

مرحبًا، شكرًا لك على هذه الإجابة…

…لكنني لست متأكدًا مما تقصده بهذا. :slight_smile:

حاليًا، أقوم بتنشيط/تعطيل المستخدم مباشرة من خلال ملف المستخدم (باستخدام حساب المسؤول الخاص بي، فقط بالنقر على الزر)، ثم أستخرج سجل /admin/users/ الكامل باستخدام Insomnia (أداة استكشاف API، مشابهة لـ Postman). لذا فإنني أرى سجل المستخدم الخام بصيغة JSON الذي يعيده لي الـ API.

لست متأكدًا مما قد يفيدني استخدام وحدة تحكم Rails–؟ أو كيف “أحفظ” أي تغييرات؟ عندما أنقر على زر “تعطيل هذا المستخدم” في شاشة إدارة المستخدمين، يحدث ذلك فورًا.

تصفح هذا الموقع :slight_smile:

https://meta.discourse.org/search?q=rails%20console

أفترض بالطبع أن لديك وصولًا إلى الطرفية؟ …

آه، فهمت. نعم، أفعل… لكني أعتقد أنني لا أزال لا أفهم كيف سيساعدني استخدام وحدة تحكم Rails (للتجربة مع كل هذا؟) في هذا الموقف. سأبحث أكثر…

جرب:

rails c

myUser = User.find_by(username_lower:"---اسم المستخدم الخاص بهم---")

من مجلد discourse.

استخدم exit للخروج… آه… للخروج :slight_smile:

كن حذرًا إذا كان النظام في وضع الإنتاج.

يمكنك التجربة بأمان أكبر باستخدام :slight_smile:

rails c --sandbox
إعجاب واحد (1)