مكون حذف المواضيع غير المردودة

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

الإعدادات:

  • delete_unreplied_topics_categories: الفئات المراد العمل عليها.
  • delete_unreplied_topics_days: عدد الأيام قبل حذف الموضوع الذي لا يحتوي على أي منشورات.
  • delete_unreplied_topics_dry_run: إجراء أمان للاختبار والتأكد من أن المكون لن يحذف أجزاء غير مرغوب فيها من منتداك.

يسجّل المكون إجراءاته في /logs.

يمكن العثور على المستودع هنا.

تم رعاية هذا العمل بواسطة @outofthebox.

14 إعجابًا

Amazing work @RGJ! Your skillful development of this plugin is a huge time saver and greatly improves our community.

8 إعجابات

شكرًا لك على كتابة هذا.

سيكون من الجيد تسجيل عنوان الموضوع بالإضافة إلى معرفه (DeleteUnrepliedTopics removing Topic ID #{t.id}).

وسيجعل الأمر أكثر طمأنة إذا كان delete_unreplied_topics_dry_run يُعدّ افتراضيًا إلى true :slight_smile:

إعجابَين (2)

شكرًا لك، إن هذه اقتراحات مفيدة جدًا. لقد قمت بإجراء هذه التغييرات.

5 إعجابات

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

في السجلات، كل سطر مثل DeleteUnrepliedTopics would remove Topic ID *number* (*topic title*) (dry run mode) يسبقه المؤشر X لـ “خطأ”. كنت أتوقع أن يكون “معلومة” أو حتى “تحذير”.

@RGJ هل هذا متوقع؟ شكرًا لك. أنا أستخدم أحدث إصدار من Discourse.

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

نعم، يبدو أن هذا مقصود. أتذكر بشكل ضبابي أن هناك بعض المشكلات المتعلقة بمستويات التصحيح، لذا جعلتها خطأ. آسف لأي ارتباك!

4 إعجابات

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

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

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

إعجابَين (2)


هل تعرف لماذا تظهر رسائل الخطأ هذه؟

عند تمكين هذا، سيقوم المكون الإضافي بتسجيل إجراءاته فقط ولن يقوم بتنفيذها فعليًا.

إعجابَين (2)

مرحباً،
يبدو أن هذه الإضافة هي بالضبط ما أبحث عنه، لكنني قلق بعض الشيء بشأن تثبيتها حيث لم يكن هناك أي نشاط في المستودع لمدة 4 سنوات.
هل تعتقد أنها لا تزال تعمل مع إصدار Discourse الحالي، أم من المحتمل أن تسبب أي مشاكل؟

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

لقد كُتب بشكل جيد جدًا :sunglasses:

وهي إضافة (plugin) محددة جدًا. أنا متأكد بنسبة 99.9% أنها لا تزال تعمل بشكل صحيح.
يمكنك أولاً ضبطها على “محاكاة التشغيل” (dry run) حتى لا تكسر أي شيء، إذا كان ذلك يريحك.

4 إعجابات

ممتاز. شكراً على الرد السريع!

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

@RGJ بناءً على طلبات متعددة من مستخدمين آخرين:

ألا يمكن استخدام هذا المكون الإضافي الخاص بك كأساس لمكون إضافي جديد يحذف المواضيع في فئة معينة إذا كانت أقدم من N يومًا، يحددها المستخدم؟

إذا كان المكون الإضافي الخاص بك يقوم بالفعل بمسح المواضيع، ألن يكون من الممكن وضع بعض القواعد التي تقول:
إذا كانت الفئة X، فامسح المواضيع التي يكون فيها تاريخ الإنشاء والتاريخ الحالي أقدم من N يومًا، وإذا كان الأمر كذلك، فاحذفها.

لا أعرف التفاصيل الدقيقة لإنشاء وتغيير المكونات الإضافية، ولكن هذه ستكون إضافة رائعة.

سيكون الأمر مجرد إزالة سطر واحد. (أو، بالطبع، إنشاء إعداد max_replies، افتراضي 0، والذي يمكن بعد ذلك تعيينه إلى 99999 لتحقيق التأثير المطلوب).

ومع ذلك، أجد صعوبة في التفكير في حالة استخدام جيدة لهذا.

4 إعجابات

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

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

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

هناك مناقشة حول حالات مختلفة هنا:

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

آمل أن يكون هذا منطقيًا؟

لذا، إذا أصبح هذا مكونًا إضافيًا بالفعل وكنت أستخدم Communiteq للاستضافة الخاصة بي، فما هي الخطة التي سأحتاجها لأتمكن من تثبيت المكون الإضافي؟

هل يمكنك تعيين الإغلاق التلقائي للمواضيع؟

ستكون تلك هي الخطة الاحترافية.

إعجابَين (2)

سيكون هذا أقل فعالية من المكون الإضافي الخاص بك، لأنه سيسمح للمواضيع القديمة بأن تكون مرئية عندما لم تعد فعالة. لماذا أرغب في مواضيع لأشخاص يبحثون عن موسيقيين منذ 3 سنوات؟ أريد حذفها.

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

أنا في الأساس أريد فقط حذف المواضيع بعد N أيام/أسابيع، بغض النظر عن أي شيء. وكما ترى من الموضوع الذي شاركته، فإن المستخدمين الآخرين لديهم نفس الحاجة. نظرًا لأن المكون الإضافي الخاص بك يقوم بالفعل بشيء مشابه، أفترض أن إنشاء إصدار لحذفها بغض النظر عن الردود لن يكون أمرًا كبيرًا ويمكن لكل مسؤول اختيار ما يريده لمنتدىه بناءً على احتياجاته.

سؤال خاطئ، بالمناسبة. ما تريده غير ذي صلة تمامًا. ما يريده المستخدم ذو صلة. والمواضيع لا تكلف شيئًا.

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