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

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

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

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

إعداد المسؤول

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

  1. انتقل إلى لوحة المسؤول (Admin panel)
  2. انتقل إلى قسم إعدادات الموقع (site settings)
  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 لـ https://discourse.org/ يعرض عنوان الموقع والصورة المميزة والأيقونة والوصف:

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

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

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

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

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

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

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

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

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

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

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

موارد إضافية

إعجابَين (2)

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

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

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

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

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

إعجابَين (2)