تنظيف المواضيع القديمة

مرحباً،

لقد حقق موقع Discourse الخاص بنا لمستخدمي المدارس الثانوية نجاحًا كبيرًا. نجاحًا كبيرًا جدًا. لقد نشرنا 2.3 مليون مشاركة وحصلنا على 2.9 مليون إعجاب في العامين الماضيين منذ أن بدأنا في يناير 2021.

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

أي أفكار؟ هل نحتاج إلى البدء من جديد، أم أن هناك خيارات أخرى؟

غابرييل سييبن

إعجابَين (2)

مرحباً! يسعدني أن أعرف أن Discourse عمل بشكل جيد جداً لمشروعك :smiley: :+1:

فقط للتأكد من أنني فهمت؛ هل سيكون معيارك لجعل الموضوع مؤهلاً للحذف هو عمره فقط؟

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

Topic.where("created_at.....").destroy_all

بين الأقواس استعلام SQL.

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

صحيح، إذا لم يتسبب ذلك في روابط وسياق مكسور في كل مكان. كنت آمل ألا تتأثر أي اقتباسات.

هل سينظف التحميلات؟

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

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

نعم، سيتم حذف التحميلات بعد يومين افتراضيًا (ما لم يتم استخدامها في مكان آخر، مثل داخل اقتباس في موضوع آخر)، راجع إعداد clean orphan uploads grace period hours.

ولكن لاحظ أن المواضيع والمشاركات يتم حذفها بشكل ناعم. يتم إخفاؤها، ولكنها لا تزال مخزنة في قاعدة البيانات.


سأضيف أنني قريب من، ولكن لست متأكدًا بنسبة 100٪ مما أقوله… من الأفضل انتظار مستخدم أكثر خبرة للرد هنا. :slight_smile:

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

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

وهل لا شيء من الأشياء القديمة مهم؟ وإذا كان بعضها كذلك، فكيف ستحتفظ بما هو جيد؟ حسب الفئة؟

يبدو أن Topic.destroy يستدعي PostDestroyer، لذلك أعتقد أن تدمير هذه المواضيع سيفعل ما تريده.

أوصي بإعداد موقع اختبار لإجراء بعض الاختبارات قبل القيام بذلك على خادم الإنتاج الخاص بك.

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

3 إعجابات