كيفية تمييز المشاركات المستوردة كمقروءة

أعمل حاليًا على استيراد بيانات من منتدى مخصص إلى Discourse. يحتوي المنتدى القديم على حوالي 30 ألف موضوع، وأود مثلاً أن يتم وضع علامة «تمت القراءة» عليها جميعًا أثناء عملية الاستيراد. إذا فهمتُ بشكل صحيح، فإن الجدول ذي الصلة هنا هو post_timings.

سؤالي هو: هل يكفي إضافة إدخال في post_timings لأحدث موضوع في كل موضوع لكل مستخدم؟ أم أنه سيتعين عليّ إضافة إدخال لكل منشور، أي ما يقارب 700 ألف منشور × 2000 مستخدم؟

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

أعتقد أن هذا مجرد منحنى تعلم — أشعر بذلك قليلاً أنا نفسي، وأنا محترف في تكنولوجيا المعلومات. بمجرد اعتياد الناس على التغيير، أعتقد أنهم سيرون أن Discourse تحسين واضح مقارنة بالبرنامج القديم.

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

لقد بحثت في الأرشيف قبل نشر هذا، لكنني لم أجد أي شيء يجيب على هذا السؤال تحديدًا.

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

أعتقد أنه من المرجح وجود طريقة أسهل للقيام بذلك أثناء الترحيل، ربما يعرف @gerhard ذلك؟

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

مرحبًا @gerhard، هل لديك أي معلومات حول كيفية تحديد المواضيع المستوردة على أنها مقروءة؟

يجب عليك إنشاء سجلات في جدول topic_users وجدول post_timings. يمكنك إما استخدام الطرق الموجودة في نماذج TopicUser و PostTiming، أو القيام بذلك بكفاءة أكبر باستخدام SQL.

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

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.