تقدير وقت القراءة التاريخي لاستيراد منتدى كبير

أنا بصدد ترحيل منتدى قديم يحتوي على حوالي 1.3 مليون منشور وسنتين من التاريخ إلى منصة Discourse.

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

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

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

شبيهًا بما يلي:

PostCount = SELECT posts_count FROM posts WHERE id = (معرف المستخدم الحالي قيد الاستيراد)

ReadTimePerPost = 300 (ثانية)

RetroactiveReadTime = PostCount * ReadTimePerPost

هل من الممكن نظريًا القيام بذلك ثم إدراج هذا الرقم في قاعدة البيانات وربطه بكل مستخدم؟

إذا كان الأمر ممكنًا، فأين وكيف يتم تخزين وقت القراءة؟

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

أعتقد أنني سأقوم بشيء مثل

Post.where(user_id: user.id).where(some other stuff?).each do |post|
  PostTiming.create(topic_id: post.topic_id, post_number: post.post_number, user_id: user.id, msecs: READ_TIME_MSECS
end

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

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

مع ذلك، أفضل التقليل من التقدير بدلاً من المبالغة فيه.

لقد قمت بعشرات عمليات الاستيراد. لم يطلب أحد أبدًا اختراع أوقات قراءة وهمية. أراهن أن الناس سيعلمون أن الإحصائيات تبدأ من لحظة انتقالك إلى Discourse.

استخدام وقتك بشكل أكثر قيمة على الأرجح هو تحديد العتبة التلقائية التي يجب استخدامها لمنح المستخدمين المستوردين مستوى TL2، واختيار الأشخاص في مجتمعك الذين تثق فيهم لامتلاكهم حكمًا سليمًا فيما يتعلق بالعناوين والتصنيفات لبدء العمل كمستوى TL3.

تعتبر ترقية TL الاستخدام الأساسي لإحصائيات وقت القراءة الذي يمكن أن يكون ذا صلة فعليًا بالاستيراد.