مقتطفات تُقصّ عند 50 حرفًا

كانت مقتطفات المواضيع تعمل كما أريد — أي أنها كانت تلتزم بـ post_excerpt_maxlength في جميع الحالات. بدأت بذلك باستخدام إضافة (كانت تعمل)، ثم عرفت عن SiteSetting.always_include_topic_excerpts = true، فانتقلت إلى استخدامها. ظلت تعمل.

قبل يومين تقريبًا، ربما بعد تطبيق الإصدار 2.4.0.beta4، بدأت المقتطفات في القصر عند 50 حرفًا. أمر غامض جدًا.

لقد جربت تبديل SiteSetting.always_include_topic_excerpts وإعادة تثبيت الإضافة، وتغيير قيمة post_excerpt_maxlength، لكن لا توجد أي تغييرات. لا تزال محصورة عند 50 حرفًا.

هل يلاحظ أي شخص آخر هذه المشكلة؟ لا أعرف ما الذي يمكن تجربته بعد.

هل يمكن أن يكون هذا خطأً @neil؟

نقطة أخرى هي أن الأمر يؤثر فقط على المواضيع الجديدة. المواضيع الأقدم مع مقتطفات أطول لا تزال تحتوي عليها.

إضافة منشور إلى مثل هذا الموضوع لا تقصر المقتطف (وهو أمر لا يُفاجئ)، لكن تعديل المنشور الأول يؤدي بالفعل إلى قص المقتطف حديثًا عند 50 حرفًا.

لذا، بينما لم أتحقق من ذلك (أنا جديد على Discourse)، يبدو أن المقتطفات هي حقل في قاعدة البيانات، وأن القص يحدث فقط عند تحديث السجل.

LQ

الإضافة التي ربطت بها تحتوي على قيمة 50 مُشفَّرة في الكود:

https://github.com/hnb-ku/discourse-topic-excerpt-plugin/blob/master/plugin.rb#L8

يمكنك إنشاء نسخة من الإضافة (fork) واستبدال الرقم 50 بـ SiteSetting.post_excerpt_maxlength، أو يمكن لـ @Johani تحديثها لك.

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

يرجى إزالة هذه الإضافة القديمة، وتمكين إعداد always_include_topic_excerpts، ثم أبلغنا عما إذا كانت المشكلة لا تزال موجودة.

يبدو أن هذا الحل نجح. لقد أربكني الأمر لأن تطبيق الإضافة أعطاني مقتطفات (300 حرف) كنت أريدها، بينما لم تكن هناك مقتطفات من قبل. أظن أن هذا التأثير ظهر فقط في المواضيع التي تم إنشاؤها لاحقًا والتي تحتوي على القيمة 50 المشفرة مسبقًا.

لكن هناك ملاحظة: المواضيع الموجودة التي تحتوي على مقتطفات بطول 50 حرفًا لا تزال كما هي. يبدو أنه من الضروري تعديل منشور الموضوع الرئيسي (OP) لهذه المواضيع لزيادة طول مقتطفاتها إلى post_excerpt_maxlength. هل هناك طريقة لأتمتة ذلك؟ شكرًا.

LQ

ستحتاج إلى إعادة خبز المنشورات حتى تلتزم بالحد الجديد. المزيد من التفاصيل هنا.

هل هذان الأمران متطابقان حقًا في الوقت الحالي؟

rake posts:rebake

bundle exec rake posts:rebake

لأن الأمر الأول rake اكتمل دون مشاكل لكنه لم يُعيد إنشاء مقتطفات المنشورات. ومع ذلك، كان الموقع يعمل.

ثم جربت الأمر باستخدام be. وقد خرج مع الخطأ التالي:

rake aborted!
PG::ConnectionBad: FATAL:  Peer authentication failed for user "discourse"

… تبعه تتبع للمكدس (stack trace). الآن، صفحات المواضيع غير قابلة للوصول. الصفحة الرئيسية قابلة للوصول، ومعظم لوحة الإدارة قابلة للوصول أيضًا — رغم أن الرسوم البيانية في الصفحة الرئيسية للإدارة تفشل في التحميل. عند تشغيل …

rake posts:rebake

… لا يحل المشكلة. في النهاية، قمت بإعادة تشغيل الخادم (droplet)، لكن المشكلة ما زالت مستمرة. أي مساعدة موصى بها.

LQ

نعم، لقد جربتهما للتو

$ cd /var/discourse
$ ./launcher enter app
$ bundle exec rake posts:rebake

إعادة معالجة تنسيق Markdown للمشاركات لـ 'default'
      297 / 297 (100.0%)
تم إنجاز 297 مشاركة!
--------------------------------------------------
$ cd /var/discourse
$ ./launcher enter app
$ rake posts:rebake

إعادة معالجة تنسيق Markdown للمشاركات لـ 'default'
      297 / 297 (100.0%)
تم إنجاز 297 مشاركة!

وقد عمل كل منهما دون أي مشكلة.

هذا يشير إلى وجود مشكلات أخرى لديك. هل اتبعت دليل التثبيت المدعوم عند إعداد موقعك؟

نعم. تم التثبيت تمامًا كما هو مذكور في INSTALL-cloud.md.

الفرق الوحيد هو أن النظام يعمل على إصدار 19.04. لم قمت بتحديث أي حزم (gems) يدويًا أو أي شيء من هذا القبيل.

إليك الإخراج الكامل لـ bundle exec rake posts:rebake --trace

لا يمكنني الجزم بذلك، لكن أعتقد أن لديك مشكلتين منفصلتين.

حاول ما يلي لتضييق نطاق المشكلة قليلاً:

  • أزل أي إضافات غير رسمية
  • أعد بناء التطبيق
  • جرب الوضع الآمن وانظر ما إذا كان التطبيق يُحمّل

هل تظهر لك أي أخطاء في وحدة تحكم المتصفح في الصفحات المعطلة؟

تمت إزالة ملحقات الملاحظات التذييلية ومربعات الاختيار. غير متأكد مما إذا كانت هذه رسمية. تمت إعادة البناء. لا توجد أخطاء في وحدة التحكم عند التحميل خارج وضع الأمان. الموقع يعمل.

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

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

وتستضاف تحت https://github.com/discourse/

لقد جربت كليهما للتو على الإصدار الأحدث ولم أتمكن من تكرار المشكلة التي تواجهها - عدم تحميل الموقع.

إذا لم تكن هناك أخطاء في الوضع العادي غير الآمن، فلا داعي للتحقق من ذلك في الوضع الآمن.

أظن أن الملخصات لم تُحدّث بعد؟

هل قمت بالتحقق من your.site.com/logs؟

لا، لكنها مثيّر جديد. سأترك الأمر كما هو.

نعم، لا يوجد شيء مثير. أقوم بـ unattended-upgrades ويبدو أن dpkg ربما كان يعمل أثناء وقت إعادة البناء. لن أقلق بشأن ذلك.

أقدر مساعدتك.

LQ