لست متأكدًا مما إذا كان من الممكن ربط شيء مشابه بشروط الخدمة بدلاً من ذلك بنفس الطريقة. يعتمد خيار “قراءة الإرشادات” على تسجيل read_faq في جدول user_stats ولا توجد حاليًا آلية للقيام بنفس الشيء لشروط الخدمة.
نظرًا لأن الإصدار القابل للعرض من قبل المستخدم ليس هو الموضوع الفعلي، لا أعتقد أن عرض تلك الصفحة مسجل في أي مكان (مثل topic_views وما إلى ذلك).
هل من الممكن تغيير قاعدة البيانات/الجداول لتضمين read_tos جديد؟
هناك حل بديل قبيح محتمل…
…نشر موضوع كصفحة منشورة بدلاً من استخدام التكامل السلس مثل الأسئلة الشائعة و"حول". لا أعرف ما إذا كان هذا سينجح بالفعل…
الاختبارات والاستنتاجات:
يُرجع استعلام SQL المستخدمين الذين قرأوا الموضوع وبالتالي يجب منحهم الشارة، لكنني لم أتلقَّ هذا الإشعار.
يمكنني التأكيد على أن الزيارات إلى /pub/slug دون زيارة الموضوع مباشرةً ستؤدي إلى تحديث عدد مشاهدات الموضوع… ومع ذلك، حتى مع انخفاض وقت القراءة بشكل سخيف، لم يتم منح الشارة تلقائيًا.
تجدر الإشارة أيضًا إلى أن الموضوع نفسه لا يزال يشير إلى أنه جديد وغير مقروء للمستخدم.
…
تؤدي نتائج اختبار العزل الإضافي إلى أن استعلام SQL يعني أنه يجب على المستخدمين زيارة الموضوع مباشرةً ليتم اعتبارهم قد قرأوا الموضوع. لا يمكنني تأكيد ذلك أو نفيه، حيث لم يتم منح الشارة، ولكنه الأكثر ترجيحًا.
هل تعرف على الفور ما الذي فعله الفريق عندما قاموا بتحديث شروط الخدمة حيث كان علينا التأكيد على أننا راجعناها؟ على الرغم من عدم وجود شارة، فهل كانت هذه ربما إضافة (Policy plugin)؟
يمكنك تسريع هذا الجزء عن طريق تشغيل jobs::BadgeGrant يدويًا من صفحة /sidekiq/scheduler (للمخولين بالوصول). لقد تم تشغيله لدي قبل 3 ساعات، ولكنه سيختلف من موقع لآخر.
إذا لم تمانع في وضعها في موضوع عادي، يمكنك إنشاء موضوع جديد وإضافة الرابط إليه في إعداد tos url الخاص بالإدارة حتى يظهر في علامات التبويب. يمكنك بعد ذلك منح شارة بسهولة بناءً على الأشخاص الذين يشاهدون هذا الموضوع (على الرغم من أن تجاربك مع الصفحات المنشورة قد تؤتي ثمارها أيضًا ).
أعتقد أنه للقيام بذلك بنفس طريقة “قراءة الإرشادات”، ستحتاج إلى إنشاء إضافة لتكرار السلوك الخاص بشروط الخدمة (وهذا ليس من اختصاصي، لذا خذ هذا الكلام مع قليل من الشك ).
هذا حقل مخصص مطلوب، والذي أعتقد أنه يعمل بشكل جيد لهذا الغرض. على الرغم من أنك تقول فقط أنك قرأتها بدلاً من قراءتها فعليًا، لذلك قد يعتمد الأمر على الهدف الرئيسي لمنح الشارة.