عنصر نائب للصور البعيدة غير الموجودة

مرحباً،

لقد قمت باستيراد 80.000 مشاركة من phpBB إلى Discourse. في المشاركات، هناك الكثير من الصور المرتبطة من موقع ويب بعيد مثل [img]http://www.domain.tld/image.jpg[/img] والتي لم تعد موجودة.

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

لذا سؤالي هو: هل من الممكن وضع صورة عنصر نائب هناك إذا لم تعد الصورة الأصلية متاحة؟

مع خالص التقدير،
روي

هل يعرض أيقونة صورة الوسيط الافتراضية؟ أعتقد أنه يجب أن تظهر بعد معالجة المشاركات.

لقد قمت بتخصيصها. انظر (الكود متضمن):

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

لا، لا يظهر شيء. لكنني أقترب. أعتقد أن السبب هو وسم BBCode . إذا قمت بتحرير مشاركة وأزلت الوسم، تبدو هكذا.

إذن، هل أحتاج إلى إزالة جميع وسوم BBCode [img] وإعادة معالجة المشاركات؟

هذا يبدو مثيراً للاهتمام. أعتقد أنني بحاجة إلى ذلك أيضاً. :slight_smile: شكراً لك!

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

ربما يمكنك محاولة إزالة علامة BBCode، ولكن مع إدراج سطر فارغ قبل وبعد عنوان URL للصورة. قم بعمل نسخة احتياطية أولاً!

نعم. اللعنة، قد تكون على حق.

حسنًا، ماذا سأحتاج إلى تغييره للحصول على أيقونة الصورة المكسورة - أو الصورة البعيدة (تخميني إذن تم تنزيلها) إذا كانت لا تزال موجودة؟

لست متأكداً.
كان ينبغي أن أواجه هذه المشكلة أيضاً بما أنني قمت باستيراد منتدى phpBB بعلامات [IMG] و 95% من الصور المعطوبة، ولكن حسب ما أتذكر، بعد المعالجة تم استبدال الصور المعطوبة المضمنة بشكل صحيح بأيقونة الصورة المعطوبة حتى عندما كانت مضمنة، ولكن قد أكون مخطئاً :thinking:
أخشى أنه ليس لدي حل جاهز في الوقت الحالي، ولكني متأكد من أن هناك طريقة لمعرفة ذلك.
هل لديك بالصدفة رابط لرسالة تحتوي على صورة مضمنة معطوبة؟ هل يمكنك نسخ ولصق النص الخام أيضاً؟

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

بالتأكيد، هذا مثال حي:

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

<p><img src="http://www.grillen-darf-nicht-gesund-sein.de/gfx/beef-buddies-2008_initiative.jpg" alt="" role="presentation" loading="lazy"></p>

“خام” من قاعدة البيانات:

[img]http://www.grillen-darf-nicht-gesund-sein.de/gfx/beef-buddies-2008_initiative.jpg[/img]

“مطبوخ” من قاعدة البيانات:

<p><img src="http://www.grillen-darf-nicht-gesund-sein.de/gfx/beef-buddies-2008_initiative.jpg" alt="" role="presentation"></p>

هل لديك إعداد تنزيل الصور البعيدة محليًا ممكّنًا؟ يظهر رمز الصورة المكسورة فقط بعد أن يحاول Discourse تنزيل الصورة البعيدة ويفشل.

إذا تم تعطيل الإعداد، فإنه يترك سطرًا فارغًا.

نعم، تم تمكينه. كان دائمًا كذلك، حتى قبل أن أقوم بالاستيراد من phpBB.

هل من الممكن أن مستورد phpBB لا يهتم بهذا الإعداد؟ حسب فهمي، يجب أن يتم إعادة الطهي خارج المستورد واستخدام الإعدادات.

هل إعادة طهي جميع المشاركات تسبب أي ضرر؟

لقد جربت:

rake posts:rebake_match["[img]"]
      767 / 767 (100.0%)
تم الانتهاء من 767 مشاركة!

المشاركة التي ذكرتها أعلاه (وتبدو جميع المشاركات الأخرى) تبدو متطابقة تمامًا…

أعتقد أن هناك إعدادًا في /var/discourse/shared/standalone/import/settings.yml حيث يمكننا تعيين تنزيل الصور عن بُعد إلى صحيح أو خطأ، ولكن سيتم خبز المشاركات بعد الاستيراد سواء تم تعيين هذا الخيار أم لا.

أرى أن الأسطر الفارغة لديك تُظهر الآن أيقونة الصورة المكسورة المتوقعة:
\u003chttps://forum.gdngs.de/t/grill-shirts-von-3dsupply-de/5515\u003e

بدلاً من إعادة خبز مجموعة من المشاركات، فإن الاختبار الجيد هو إعادة بناء HTML لمشاركة معينة من خيارات مسؤول المشاركة، حيث يؤدي ذلك إلى تشغيل إعادة الخبز:

chrome_RLLvokErfg

ثم تشغيل مهمة UpdateHotlinkedRaw عن طريق إضافتها إلى قائمة الانتظار:

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

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

أوه نعم، أنت على حق. أعتقد أن هذه كانت مشكلة في ذاكرة التخزين المؤقت للمتصفح بعد أمر إعادة الخبز. شكراً لك على التحقق بنفسك! :slight_smile:

إذًا كانت مشكلة استيراد phpBB بطريقة ما. أقسم أنني لم أقم بتغيير أي إعدادات تكوين متعلقة بالصور عن بُعد بعد استيراد كل شيء من phpBB…

آه رائع. وجدتها ونقرت عليها.

لا يمكنني العثور على مهمة UpdateHotlinkedRaw في أي مكان في Sidekiq… هل يمكنك مساعدتي في حل هذه المشكلة. أنا متأكد من أن هذا خطأ من جانب المستخدم (PEBCAK) بطريقة ما. :wink:

هذا سيؤدي إلى اتجاه تمكيني لـ download remote images to local بعد استيراد كل شيء من phpBB. همم… بما أن لدي أيضًا تثبيتًا تجريبيًا واختبرت الكثير من الأشياء هناك، فأنا لا أزال متأكدًا من أنه كان ممكّنًا بالفعل من قبل.

ملاحظة: سيتم تشغيل المهمة في غضون دقائق قليلة على أي حال، والذهاب إلى Sidekiq هو مجرد طريقة للتحقق من الأمور بشكل أسرع.
يجب أن تكون مهمة UpdateHotlinkedRaw موجودة بعد ثوانٍ من إعادة بناء HTML للمنشور الخاص بك، في علامة التبويب “Scheduled” في Sidekiq.
يجب أن تكون المهمة مرئية فقط إذا كان إعداد download remote images to local ممكّنًا في إعدادات منتدى Discourse الخاص بك، وإذا كان منشورك يحتوي على صور.
إذا لم ينجح ذلك، فلن يكون لدي أي فكرة أخرى في الوقت الحالي…!

شكرًا لك، إذن الأمر واضح. لقد أعدت خبز أي منشور - واحد بدون صور بعيدة. لذلك لم يحدث شيء. :wink:

وشكراً لك، لقد ساعدتني في ترتيب الأمور هنا. أرى الآن الصور البديلة. وعلى الأرجح سأستبدل الصورة البديلة بحيلتك CSS التي ربطتها هنا.

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