تهيئة واستكشاف أخطاء Oneboxes

:bookmark: يشرح هذا الدليل كيفية تكوين oneboxes واستكشاف الأخطاء وإصلاحها في Discourse. ويغطي إعدادات المسؤول، وكيفية عمل oneboxes، وخطوات حل المشكلات الشائعة.

:person_raising_hand: مستوى المستخدم المطلوب: مسؤول

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

تكوين المسؤول

لإدارة إعدادات onebox:

  1. انتقل إلى لوحة تحكم المسؤول
  2. انتقل إلى قسم إعدادات الموقع
  3. ابحث عن “onebox”

سترى قائمة بالإعدادات المتعلقة بـ onebox:

تشمل بعض الإعدادات البارزة ما يلي:

  • post onebox maxlength: يتحكم في كمية النص المتضمنة في onebox
  • enable inline onebox on all domains: يتيح oneboxes المضمنة، ويحول عناوين URL العادية إلى عناوين مرتبطة (على سبيل المثال، https://en.wikipedia.org/wiki/Fun_(band) يصبح “Fun (band) - Wikipedia”)
  • blocked onebox domains: يسمح لك بتعطيل oneboxes لنطاقات معينة

كيف تعمل Oneboxes

عند تضمين رابط في منشور، يزور Discourse صفحة الوجهة ويبحث عن علامات Open Graph أو oEmbed، بما في ذلك:

  • عنوان الموقع
  • العنوان
  • الصورة المميزة
  • أيقونة الموقع (أو favicon)
  • الوصف (إلزامي)
  • سعر المنتج (إذا كان ذا صلة)

:warning: يتطلب Discourse وجود علامة الوصف وأن تحتوي على نص كافٍ لتلخيص الصفحة. بدون هذا، لن يتم عرض الرابط المستهدف كـ onebox.

إليك مثال على onebox لـ \u003chttps://discourse.org\u003e يعرض عنوان الموقع، والصورة المميزة، والأيقونة، والوصف:

استكشاف الأخطاء وإصلاحها

إذا لم تعمل oneboxes كما هو متوقع، جرب هذه الخطوات:

  1. اختبر الموقع باستخدام iFramely:

    • الصق الرابط وتحقق مما إذا كان يستخدم علامات meta الصحيحة لـ OpenGraph أو oEmbed
    • تأكد من وجود نص الوصف وأنه كافٍ
  2. تحقق مما إذا كان طلب onebox محظورًا:

    • قد تحظر بعض المضيفات وكلاء المستخدم “غير المعروفين”
    • تحقق من أن موقع الويب المستهدف لا يحظر وكيل المستخدم الخاص بـ Discourse
  3. بالنسبة للروابط الداخلية التي لا تظهر كـ oneboxes:

    • تأكد من أن الرابط ليس في فئة آمنة
    • تعرض الروابط الداخلية oneboxes فقط في الفئات العامة أو داخل نفس الفئة لأسباب أمنية

من وحدة تحكم rails، يمكنك إلغاء صلاحية / جلب oneboxes بشكل صريح عن طريق استدعاء الطرق أثناء الاختبار عن طريق القيام بما يلي:

[1] pry(main)> Oneboxer.invalidate(url)
=> 0

[2] pry(main)> Oneboxer.onebox(url)
=> "<aside class=\"onebox …(elided)"

[3] pry(main)> InlineOneboxer.invalidate(url)
=> 0

[4] pry(main)> InlineOneboxer.onebox(url)
=> "<aside class=\"onebox …(elided)"

موارد إضافية

إعجابَين (2)

هذا مصدر جيد ولكنه يبدو قاصرًا

لقد فعلت هذا وأعاد صندوقًا واحدًا، وكان خفيفًا في المحتوى ولكنه لا يزال يبدو أفضل من رابط URL بسيط

بافتراض أن كونه خفيفًا في المحتوى هو المشكلة لعدم ظهوره في صندوق واحد على موقعي بناءً على عدم استيفائه لهذا المتطلب، فما الذي يمكن فعله؟

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

كيف يساعد ذلك في حل مشكلة عدم الظهور في صندوق واحد؟

إعجابَين (2)