تم حل Discourse

في الصفحة الرئيسية بجانب “الأعلى” و"الأكثر شيوعًا" و"الأحدث" وما إلى ذلك، كيف يمكنني إضافة “غير محلول”؟

يمكنك استخدام المكون Custom Top Navigation Links لإضافة روابط مخصصة بجوار الروابط التي تم تكوينها في إعدادات الموقع. لتصفية قائمة المواضيع للمواضيع التي لم يتم حلها، يمكنك إضافة solved=no. على سبيل المثال \u003chttps://meta.discourse.org/?solved=no\u003e

6 إعجابات

نواجه نفس خطأ الإضافة غير المتوافقة المذكور أعلاه، لكننا نستخدم الإصدار الرسمي:

[التفاصيل=“السجلات”]

********************************************************
*** يرجى الصبر، قد تستغرق الخطوات التالية بعض الوقت ***
********************************************************
دوحة اليونيكورن، لإفراغ الذاكرة
إعادة تشغيل يونيكورن pid: 551
انتظار إعادة تحميل يونيكورن.
انتظار إعادة تحميل يونيكورن..
انتظار إعادة تحميل يونيكورن...
انتظار إعادة تحميل يونيكورند....
انتظار إعادة تحميل يونيكورن.....
انتظار إعادة تحميل يونيكورن......
انتظار إعادة تحميل يونيكورن.......
إيقاف 3 عمال يونيكورن، لإفراغ الذاكرة
إيقاف قائمة المهام لاسترجاع الذاكرة، معرف العملية الرئيسي هو 3004191
$ cd /var/www/discourse/plugins/docker_manager && git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse/plugins/docker_manager && git reset --hard HEAD@{upstream}
HEAD الآن عند 930ec25 تمكين اختبارات الدخان مرة أخرى
$ bundle install --retry 3 --jobs 4
تم إكمال تثبيت الجواهر! 146 تبعيات في ملف Gemfile، 189 جواهر مثبتة الآن.
الجواهر في مجموعات 'test' و 'development' لم يتم تثبيتها.
الجواهر المجمعة مثبتة في `./vendor/bundle`
3 جواهر قمت بالاعتماد عليها مباشرة تبحث عن تمويل.
  تشغيل `bundle fund` للتفاصيل
$ if [ -f yarn.lock ]; then yarn install; else CI=1 pnpm install; fi
نطاق: جميع 17 مشروع مساحة العمل
ملف القفل محدث، تم تخطي خطوة الحل
محدث بالفعل

تم في 3.2 ثوانٍ
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
التحقق من إصدار discourse-calendar المتوافق: 8d09cf8503b78f4c72b47a7319c0f4b9ad0247e7
الرأس الآن عند 8d09cf8 مطور: تحديث المناطق (#717)
التحقق من إصدار discourse-reactions المتوافق: f87583d9054421869ba0de16c24ad15e32bbebe7
الرأس الآن عند f87583d مطور: إضافة اختبار نظام للتحقق من عمل الميزات الأساسية بشكل صحيح (#361)
التحقق من إصدار discourse-solved المتوافق: 4f0234f5be3aaa77db277e0f224cd9750d2713cd
الرأس الآن عند 4f0234f مطور: إضافة اختبار نظام للتحقق من عمل الميزات الأساسية بشكل صحيح (#357)
discourse-spoiler-alert بالفعل على أحدث إصدار متوافق
docker_manager بالفعل على أحدث إصدار متوافق
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
	81: من /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/bundle:25:في `<main>'
	80: من /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/bundle:25:في `load'
	79: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/exe/bundle:20:في `<top (required)>'
	78: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:في `with_friendly_errors'
	77: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/exe/bundle:28:في `block in `<top (required)>'
	76: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:في `start'
	75: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:في `start'
	74: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:في `dispatch'
	73: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:في `dispatch'
	72: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:في `invoke_command'
	71: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:في `run'
	70: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:في `exec'
	69: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:في `run'
	68: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:في `kernel_load'
	67: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:في `load'
	66: من /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/rake:25:في `<top (required)>'
	65: من /var/www/discourse/vendor/bundle/ruby/3.3.0/bin/rake:25:في `load'
	64: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:في `<top (required)>'
	63: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:80:في `run'
	62: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:214:في `standard_exception_handling'
	61: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:83:في `block in run'
	60: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:132:في `top_level'
	59: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:147:في `run_with_threads'
	58: من /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/lib/rake/application.rb:138:في `block in top_level'
	...
3 إعجابات

على أي حال، لدي المكون الإضافي Solved مثبت وقمت بالتحديث في وقت سابق اليوم من خلال الواجهة وتم بشكل جيد. :+1:


كان يجب أن أتحقق قبل النشر… :slight_smile: يبدو أن هناك التزامًا جديدًا واحدًا لـ Solved تمت إضافته في هذه الأثناء. دعني أقوم بإعادة بناء سطر الأوامر فقط للتحقق والتأكد من أن كل شيء يسير على ما يرام.

الوقت المقدر للوصول: @Frully إعادة البناء الخاصة بي (بما في ذلك Solved) كانت ناجحة :partying_face:

إعجابَين (2)

لإضافة ما قاله جمال. أنا أيضًا لم أواجه أي مشكلات مع Solved

إذا كانت هذه أول مرة تقوم فيها بتثبيت Solved، تحقق من أن عنوان GitHub الخاص بك صحيح.

إذا أمكنك أيضًا أن تشارك إذا كنت تستخدم Stable أو النسخة الموصى بها التي اجتازت الاختبارات

إذا قمت بنشر جزء من قسم الإضافات في ملف app.yml، فقد يساعد ذلك أيضًا.

إعجابَين (2)

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

3 إعجابات

ما زلنا نعاني من هذه المشكلة (على الرغم من أنه بما أن لا أحد آخر يبدو أنه أبلغ عنها، أبدأ في التساؤل عما إذا كانت المشكلة تخصنا فقط؟)

بالتعمق أكثر، وجدت أن إضافة padding-top و padding-bottom بقيمة 15 بكسل إلى فئة CSS topic-statuses يعمل على حل المشكلة. آمل أن يتمكن أحد المشرفين على المكون الإضافي من إصلاح هذا بطريقة دائمة أكثر.

3 إعجابات

أعتقد أن هذا مرتبط بـ Discourse Tooltips. لا يقتصر الأمر على مربعات “غير محلول” في موقعك، بل يشمل أيضًا أي دبابيس وأقفال.

أعتقد أن هناك تقريرين آخرين أيضًا:

5 إعجابات

منذ تحديثنا لـ discourse، تم عكس الـ webhooks الخاصة بالمواضيع المحلولة.

إذا قمت بحل موضوع، فسيتم إرسال الـ webhook كالتالي:

    "can_accept_answer": true,
    "can_unaccept_answer": false,
    "accepted_answer": false,
    "topic_accepted_answer": null

وإذا ألغيت قبول الإجابة، فالأمر يكون بالعكس

:partying_face: تم تجميع هذه الإضافة الآن مع Discourse core كجزء من Bundling more popular plugins with Discourse core. إذا كنت تستضيف بنفسك وتستخدم الإضافة، فأنت بحاجة إلى إزالتها من app.yml قبل الترقية التالية.

3 إعجابات

لقد حدث خطأ مع أحدث إصدار من discourse

يجب علي تعطيل هذا لـ إعادة بناء التطبيق (discourse)

تم تضمينه الآن في النواة

3 إعجابات

الصفحة الرئيسية > المنشورات في الفئة ستعرض المواضيع التي تم حلها كمواضيع لم يتم حلها

هل أحتاج إلى إعدادات أخرى؟

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

هل من الممكن إضافة إدخال في Advanced filters في منطقة البحث في Discourse لإظهار العناصر غير المحلولة فقط؟

يمكنك استخدام /filter و in:solved / in:unsolved

3 إعجابات

فهمي هو أنه يمكننا استخدام “first_accepted_solution” القابل للتفعيل من Solved عند إنشاء أتمتة. هل ستعمل الأتمتة بهذا المشغل مرة واحدة فقط لكل موضوع يتم حله أم أنها الحل الأول المقبول من مستخدم وليس موضوعًا؟ لست متأكدًا مما إذا كان السؤال منطقيًا ، عذرًا

“First-accepted-solution” يتم تشغيله في المرة الأولى التي يتم فيها اختيار منشور المستخدم كحل لأي موضوع.


يمكنك، على سبيل المثال، استخدامه لشكر المستخدم على مساعدة شخص ما في المرة الأولى التي يفعل فيها ذلك.

مرحباً @Moin،

شكراً جزيلاً على التوضيح، هذا منطقي.

سؤال متابعة: هل هناك مشغل “accepted-solution” أم فقط “first-accepted-solution”؟

السبب: أود إنشاء أتمتة مخصصة تنشئ منشوراً في كل مرة يتم فيها حل موضوع (يتم تمييز منشور كحل)

لقد جربت باستخدام “first-accepted-solution” ولكنه يعمل مرة واحدة فقط، كما أرى الآن، وهذا متوقع. أي توصيات أو أفكار؟

بدون معرفة ما تريد فعله بتلك المشاركة أو سبب حاجتك إليها، من الصعب اقتراح شيء مفيد لك.
هل تريد ببساطة معرفة المشاركات التي تم تمييزها كحل؟

إذًا، يمكنك استخدام استعلام مستكشف البيانات (Data Explorer) والبرنامج النصي “جدولة مشاركة في موضوع بنتائج مستكشف البيانات” (Schedule a post in a topic with Data Explorer results). يمكنك، على سبيل المثال، تشغيل استعلام يُرجع الحلول من آخر 10 دقائق كل 10 دقائق. أعتقد أنه يمكنك أيضًا تشغيله بشكل متكرر، لكنني لست متأكدًا من مقدار ما يضيفه ذلك إلى الخادم. ولكن حتى لو قمت بتشغيله كل دقيقة، فلن تحصل بالضرورة على مشاركة لكل حل. ربما تم حل موضوعين في غضون الدقيقة. علاوة على ذلك، لا يمكن تخصيص المشاركة الناتجة إلا بدرجة محدودة. (بالطبع، يمكنك تخصيص النصوص المستخدمة مثل أي نص آخر، ولكن يجب أن تضع في اعتبارك أنك ستحتاج بعد ذلك إلى القيام بذلك لكل مشاركة يتم تغييرها بواسطة الأتمتة باستخدام هذا البرنامج النصي. لذا، فهي لا تعمل حقًا إذا كنت تريد أن تكون فرديًا للغاية.)

مثال بسيط لمشاركة تم إنشاؤها بواسطة تلك الأتمتة

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

الاستعلام الذي استخدمته
SELECT
  dst.created_at AS solution_accepted_at,
  dst.topic_id,
  dst.answer_post_id,
  dst.accepter_user_id
FROM discourse_solved_solved_topics dst
WHERE dst.created_at >= NOW() - INTERVAL '10 minutes'
ORDER BY dst.created_at DESC
إعجاب واحد (1)

مرحباً @Moin،

شكراً جزيلاً على ردك :slight_smile:

إنه أمر رائع، لقد اختبرت الأمر وجعلته يعمل - بفضل ردك:

علاوة على ذلك، لا يزال هذا ليس ما كنت أبحث عنه.
آسف إذا لم أكن واضحاً في سؤالي السابق.

ما أحاول القيام به هو إنشاء أتمتة تنشئ منشوراً (من مستخدم النظام) في كل مرة يتم فيها حل موضوع. في هذا الموضوع، سيحتوي المنشور الذي تم إنشاؤه حديثاً على استبيان (سيكون الاستبيان هو الـ markdown الخاص باستبيانات Discourse).