ملاحظات مستخدم Discourse

هل تريد أن يقدم أعضاء مجتمعك تقييمات وتقييمات لأعضاء المجتمع الآخرين؟ الآن يمكنك تمكين هذه الميزة لمجتمعك!

نظرة عامة

يسمح لك مكون “Discourse User Feedbacks” الإضافي لكل مستخدم بإعطاء تقييم وملاحظات لأعضاء المجتمع الآخرين.

يمكن لكل مستخدم تقديم ملاحظات لأعضاء المجتمع الآخرين بما في ذلك المسؤولين.

يمكن أن تساعد هذه الميزة المجتمعات التي تفهم رأي جمهورها تجاه المستخدمين الآخرين.

إنها مفيدة للمجتمعات التي تقدم خدمات من نوع Marketplace ، وما إلى ذلك.

يمكن للمستخدمين زيارة ملف تعريف المستخدمالملاحظات لتقديم ملاحظاتهم للمستخدمين الآخرين.

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

ملف تعريف المستخدم

بطاقة المستخدم

بجانب اسم المستخدم في المنشور

الإعداد

:link: رابط المستودع

:link: كيفية تثبيت مكون إضافي

التكوين

يمكنك تكوين إعدادات الموقع هذه:

  • user feedbacks enabled لتمكين المكون الإضافي.
  • user feedbacks allow reviews للسماح للمستخدمين بتقديم آرائهم للآخرين.
  • user feedbacks display average ratings beside username on post لعرض متوسط تقييم المستخدم بجانب اسم المستخدم في كل منشور للمستخدم.
  • user feedbacks display average ratings on profile لعرض متوسط تقييم المستخدم في ملف تعريف المستخدم.
  • user feedbacks display average ratings on user card لعرض متوسط تقييم المستخدم على بطاقة المستخدم.
  • user feedbacks hide feedbacks from user لإخفاء الملاحظات من المستخدمين غير المسؤولين.

:warning: ملاحظة

يرجى اختبار المكون الإضافي قبل استخدامه في منتدى مباشر.

24 إعجابًا

أحب هذا. هل هناك فرصة لأن أصبح “رسميًا”؟ :pray:

5 إعجابات

لا يمكنني قول أي شيء عن هذا الأمر. يعتمد الأمر كليًا على ما إذا كان الفريق يريد تولي المسؤولية أم لا.

4 إعجابات

لقد أضفت ميزة لإخفاء هوية ملاحظات المستخدمين:

  • سيتمكن المسؤولون فقط من عرض التقييمات + المراجعات التي حصل عليها أي مستخدم من زملائه الأعضاء.
  • يمكن للمستخدم العادي فقط رؤية تقييمه لأي شخص آخر.
  • ستكون متوسط التقييمات مرئية للجميع.

يمكن أن يحل هذا مشكلة حرب التقييمات بين المستخدمين وسيخفي هوية المستخدم الذي يقدم الملاحظات.

يرجى تحديث المكون الإضافي وتمكين الإعداد user_feedbacks_hide_feedbacks_from_user.

3 إعجابات

ملحق رائع كالعادة من أحمد.

بالنسبة للخدمات من نوع marketplace، يجب أن يحتوي الملحق على ميزة تقييد للمجموعة حيث يمكن فقط لأعضاء مجموعة محددة تلقي المراجعات.

3 إعجابات

شكرا @Mr.X_Mr.X

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

إعجابَين (2)

مرحباً! أحب ما صنعته. لا أرى ترخيصًا في مستودع Github على الرغم من ذلك، ما هو الاستخدام المسموح به؟

3 إعجابات

شكرا @Ocarune
يأتي تحت ترخيص MIT، سأضيف الترخيص في وقت ما، شكرا على التذكير!

3 إعجابات

شكرا جزيلا لك! :slight_smile:

3 إعجابات

شكرا لك!

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

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

سأقوم بتحديث هذا فقط لسماع ما إذا كان لدى @Ahmed_Gagan أي أفكار حول هذا؟

أود أيضًا أن أقترح أن يحتوي ${count} على ثلاث سلاسل نصية بدلاً من واحدة.

  • لا يوجد تعليق
  • تعليق واحد
  • أكثر من تعليق واحد

أيضًا، شيء آخر:
سيكون من المنطقي جدًا وجود “تبديل” حول مكان عرض التقييم. لنفترض أن لدي فئات تسمى: “أود شراء X” و “أود بيع Y”. هنا أود تحديد هاتين الفئتين، بحيث يتم عرض التقييم فيهما بجوار المستخدم، ولكن ليس في جميع الفئات الأخرى خارج السياق.

أود أيضًا أن أسمع قليلاً عن كيفية تفكيرك في قيام المشرفين بحذف أي تعليقات غير مرغوب فيها؟ :slight_smile:

مرة أخرى؛ شكراً لك على صنع هذا. :partying_face: !


الملخص التنفيذي سيكون:

سيكون من الرائع رؤية التحسينات التالية:

  • حقل رابط للمرجع الداخلي
  • إضافة “عرض متوسط تقييم المستخدم في فئات محددة
  • إضافة صياغات لصفر، أو واحد، أو العديد من التعليقات
إعجاب واحد (1)

يسرني أن أرى شخصًا ما يفتح مصدر هذا

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

مرحباً @Ahmed_Gagan

إنه للأسف يكسر وظيفة Discourse أصلية:
https://meta.discourse.org/t/cant-get-who-liked-a-post-post-action-type-id-2-returns-error-500/223800/2?u=exetico

هل أنت على علم بذلك؟ أتساءل أيضًا كيف يمكن لمكون إضافي كسر مسار Discourse أصلي.

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

مرحباً @exetico

لقد رأيت وظيفة مماثلة في منتدى swapd.co، لكن لم يكن لدي وقت لإضافتها إلى المكون الإضافي بعد. إنها في خارطة طريقي.

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

يبدو جيدًا بالنسبة لي، ولكن يمكننا السماح للمشرفين ذوي المستوى 4+ والمسؤولين بحذف الملاحظات غير ذات الصلة.

شكراً للإبلاغ، سأضيف الخيارات الثلاثة.

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

شكراً للإبلاغ عن الخطأ، سأضيف إصلاحًا بحلول الغد.

شكراً لاستخدام المكون الإضافي يا صديقي :blush:

5 إعجابات

مرحباً،

شكراً على الاستجابة الرائعة. كيف يسير العمل مع كل من الخطأ والتحسينات؟ :clap: :blush:

هل هو يتقدم؟

لم يتم العثور على تغييرات في المستودع، لكنني أود أن أسأل على أي حال :slight_smile:

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

مرحباً @exetico
أنا في رحلة منذ 20 يومًا، سأقوم بإصلاحه خلال 5-6 أيام القادمة

نقطة النهاية التي تعيد عادةً من أعجب بمنشور ما تُرجع خطأ 500 في منتدياتنا.

طلب GET:

https://domain.com/post_action_users?id=512345&post_action_type_id=2

الاستجابة:

{"status":500,"error":"Internal Server Error"}

نحن نستخدم:

2.9.0.beta3 (be519d2aec)

باستخدام إضافة “Data Explorer”، تم العثور على تفاصيل “الإعجاب” لدينا كما هو متوقع.

لذا أتساءل الآن عما إذا كانت هناك مشكلة في أحدث إصدار؟

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

إنه للأسف يتعلق بـ:

سجل Rails

Started GET "/post_action_users?id= 512345&post_action_type_id=2" for <clientIp> at 2022-04-09 16:57:10 +0000
Processing by PostActionUsersController#index as JSON
  Parameters: {"id"=>"512345", "post_action_type_id"=>"2"}
Completed 500 Internal Server Error in 23ms (ActiveRecord: 0.0ms | Allocations: 8877)
NoMethodError (undefined method `feedbacks' for nil:NilClass)
(eval):12:in `_fast_attributes'
app/controllers/application_controller.rb:497:in `serialize_data'
app/controllers/post_action_users_controller.rb:41:in `index'
app/controllers/application_controller.rb:400:in `block in with_resolved_locale'
app/controllers/application_controller.rb:400:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:358:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'

لذا لا يتعلق بأي شيء في الحل الرئيسي.
سأنتقل إلى الموضوع الآخر المخصص للمكون الإضافي.

3 إعجابات

مرحباً @exetico :slight_smile: لقد نقلت تقريرك عن الخلل إلى موضوع المكون الإضافي ذي الصلة للحصول عليه أمام الأشخاص المناسبين. :crossed_fingers:
تعديل: على الرغم من أنني لم أقرأه بعناية كافية، وقد قمت بالفعل بشيء مماثل. أعتذر عن الإزعاج @Ahmed_Gagan :pray:

4 إعجابات