في مرحلة ما بعد إنشاء بعض الفئات، تم حذف المستخدم الذي أنشأها. عند مراجعة السجل، أرى أن Discourse قد حذف هذه المنشورات تلقائيًا في نفس الوقت الذي تم فيه حذف المستخدم.
لم نلاحظ أن هذا التسبب في أي مشاكل إلا بعد مرور بعض الوقت، عندما أصبح من الواضح أنه بينما يمكن للمسؤولين رؤية (وتحرير) منشورات وصف الفئة المتأثرة، فإن المستخدمين العاديين عند محاولة عرض تلك المنشورات، يحصلون على الرسالة التالية بدلاً من ذلك: “خطأ؛ أثناء محاولة التحميل؛ حدث خطأ ما.”
تظهر منشورات وصف الفئة هذه بخلفيات حمراء. أستطيع أن أرى أنها قد تم حذفها، ومتى. أستطيع رؤية زر “إلغاء الحذف”، لكن النقر عليه لا يفعل شيئًا على الإطلاق.
إذا انتقلت إلى إعدادات إحدى الفئات المتأثرة (عن طريق النقر على زر تحريرها)، ثم نقرت على زر تحرير الوصف، يتم نقلك إلى المنشور المحذوف المقابل. يمكنني إجراء تغييرات وحفظها، وبعد تحديث الصفحة، يظهر الوصف الجديد. لكن المستخدمين غير المسؤولين لا يزالون غير قادرين على رؤية محتويات المنشور (فقط تلك الرسالة الخاصة بالخطأ).
تمكنت من تغيير ملكية أحد المنشورات إلى حساب المسؤول الخاص بي، لكن زر “إلغاء الحذف” لا يزال لا يعمل.
وجدت تقارير مشابهة على Meta Discourse، لكن حتى الآن لم يساعد أي من النصائح المقدمة.
وجدت إشارة إلى شخص تمكن من إلغاء حذف منشور متأثر بشكل مماثل باستخدام واجهة برمجة تطبيقات Discourse، وبدأت في البحث في ذلك، لكنني لم أتمكن من العثور على أي شيء يتعلق بإلغاء حذف المنشورات في وثائق الـ API. انظر: Can't recover a topic by a deleted user
آمل أن يكون هناك حل لا يتطلب إعادة إنشاء الفئات المتأثرة من الصفر.
تحديث: عندما أنقر على زر “إلغاء الحذف” لأحد هذه المنشورات، يتم إنشاء إدخال في سجل الأخطاء:
إذن، هل أصدر شخص ما أمر حذف للمستخدم الذي أنشأ الفئات؟ هل هناك سبب محدد لحذف هذا المستخدم بدلاً من إخفاء هويته؟
من الصحيح أن موضوع وصف الفئة سيكون مملوكًا للمستخدم الذي ينشئ الفئة، لذا فإن حذف هذا المستخدم (وجميع منشوراته) قد يتسبب في ذلك. @tshenry، هل يمكننا اختبار هذا السيناريو الأسبوع القادم؟
تمكّنت من تجربته بسرعة للتو وإعادة إنتاج نفس النتائج.
إنشاء فئة مع مستخدم مدير
إلغاء حالة المدير للمستخدم وحذفه
يتم حذف موضوع “حول” الخاص بالفئة بشكل ناعم عند حذف المستخدم
محاولة إلغاء الحذف/استعادة الموضوع لا تعمل
تغيير الملكية يعمل تقنيًا، لكن الموضوع يبقى في حالة محذوفة غريبة بغض النظر عن ما تفعله من واجهة المستخدم.
من وحدة التحكم، يبدو أن سجل posts المرتبط بالموضوع يتم حذفه عند حذف المستخدم. يحتوي سجل الموضوع على العديد من الأصفار عند النظر في مختلف السمات المتعلقة بالمنشورات.
قد يكون من الجيد أن يقوم مهندس بالتحقق مما إذا كان بإمكاننا التعامل مع هذا الأمر بطريقة أكثر سلاسة، لكنني أشك في أن ذلك أسهل في القول منه في التنفيذ.
تمكّنت من التوصل إلى حل بديل للعودة إلى وضع جيد، لكنني اضطررت لاستخدام سطر الأوامر. @jrivettcsa أنصحك بأخذ نسخة احتياطية قبل تجربة هذا:
نعم، تم إجراء بعض التغييرات غير المحظوظة من قبل شخص كان يجب أن يكون أكثر وعياً. لا أستطيع أن أقول أكثر من ذلك. لحسن الحظ، يتم تسجيل هذه الأمور بواسطة Discourse.
أصلحت كل منها على حدة، لكن أعتقد أنه كان بإمكاني تنفيذ أمري destroy_all وupdate_all في جلسة وحدة تحكم Rails واحدة، ثم إصدار أمر rake categories:create_definition مرة واحدة في النهاية. ما رأيك؟ قد يوفر ذلك على شخص ما بضع دقائق في وقت ما.