تحقق من سجل النشاط (admin/logs/staff_action_logs) لمعرفة ما إذا كان المستخدم يقوم بحذفها. سيُظهر السجل تلك المنشورات التي تم تعديلها وحذفها… ومن قام بحذفها. يمكنك أيضًا النقر على أيقونة المعلومات لمزيد من التفاصيل.
بعض المستخدمين غيّروا رأيهم بشأن الاحتفاظ بمنشور ما لأسباب تتعلق بذلك ولأسباب عديدة أخرى. أحيانًا تكون مجرد حالة يشعر فيها الشخص بأنه من الأفضل نسيان ما كان ينوي قوله. أحيانًا يجب عليك ببساطة قبول سببهم، حتى لو لم يُقدَّم سببٌ واضح.
لا يمكن للمستخدمين حذف المواضيع أو المنشورات فورًا. كل ما يمكنهم فعله هو طلب حذف معلق لمدة 24 ساعة، وهو ما سيظهر كنية عامة مذكورة في الموضوع أو المنشور، على النحو التالي:
(تم سحب المنشور من قبل المؤلف، وسيتم حذفه خلال 24 ساعة ما لم يتم الإبلاغ عنه)
بالإضافة إلى ذلك، يمكنك القيام بذلك للمواضيع فقط إذا لم تكن هناك ردود عليها، وكان الموضوع عمره يوم واحد أو أقل.
يحدث هذا أيضًا لدينا عندما يتم حذف موضوع من قِبَل النظام، أي بعد 24 ساعة من حذف المؤلف للموضوع، لا توجد طريقة لاستعادته؛ حتى لو استعدناه، يتم حذفه تلقائيًا مرة أخرى بعد 30 دقيقة.
تحدثت مع المستخدم، وبقدر ما أستطيع الفهم، فهم لا يقومون بحذفها بشكل مستمر. في الواقع، كانوا مندهشين من ذلك، حيث أنهم هم من أبلغوني بالمشكلة في المقام الأول.
همم. لست متأكدًا تمامًا من فهمي لما يحدث في الخطوة 1، ولكن بافتراض أن الخلاصة هي أن مستخدمًا قد أنشأ موضوعًا، فإن الخطوة 2 تبدو مستحيلة. إذا أنشأتُ موضوعًا كمستخدم عادي، ثم أجبت عليه، وحاولتُ حذف منشوري الأول (منشور الموضوع)، فلن يُعلَّم المنشور الأول للحذف، وهذا التصميم مقصود.
إذن، بناءً على ما أستطيع استنتاجه، لا يتوفر لدى الموظفين زر “إعادة استعادة الحذف” متاحًا في موضوع المستخدم العادي عندما يكون مجدولًا للحذف. فقط المنشئ الأصلي للموضوع يمكنه إعادة استعادة المنشور خلال فترة الانتظار. عندما تقول إنك أعدت استعادة الحذف، هل تقصد ذلك بعد حدوث الحذف التلقائي؟
يقوم المستخدم بحذف منشور الموضوع، مع جدولة الحذف (لقد قمت بتغيير إعداد الموقع delete_removed_posts_after إلى 1)
يتم حذف الموضوع بعد الوقت المحدد
يقوم الطاقم بإلغاء حذف الموضوع ويعيد النسخة الأصلية من المنشور (فقط عملية الاستعادة вернут المنشور مع الرسالة “الموضوع سحبه المؤلف، سيتم حذفه تلقائيًا خلال ساعة ما لم يتم الإبلاغ عنه”)
سيتم حذف الموضوع مرة أخرى بعد مرور بعض الوقت
ما يحدث: عندما يقوم المستخدم بحذف منشور موضوعه الخاص، يتم تعيين خاصية تسمى user_deleted إلى true. هناك مهمة خلفية تسمى DestroyOldDeletionStubs تعمل كل 30 دقيقة. تقوم هذه المهمة بتشغيل دالة PostDestroyer.destroy_stubs التي ستبحث في قاعدة البيانات وتحذف أي منشورات تم تعيين user_deleted فيها إلى true مع انتهاء مؤقت الحذف.
المشكلة: عندما يستعيد الطاقم المنشور، لا يتم أبدًا تعيين user_deleted إلى false، لذا في المرة القادمة التي تعمل فيها مهمة DestroyOldDeletionStubs، سيتم حذف المنشور مرة أخرى.