ما هو الحد الأقصى لعدد المجموعات التي يمكن أن يمتلكها discourse؟

هل من الممكن أن يكون لدي حوالي 20000 مجموعة في مثيل الخطاب الخاص بي، وهل سيؤثر ذلك على أداء الموقع بأي شكل من الأشكال؟

إعجابَين (2)

كم عدد المستخدمين الذين سيكون لديك؟

ما المشكلة التي تحلها 20,000 مجموعة؟

إعجابَين (2)

إليك السيناريو. أنا أستخدم discourse لإعداد منصة لمناقشة الأوراق البحثية. كل ورقة ممثلة بعلامة (tag) بمعرف الورقة. تظهر جميع المواضيع التي تم إنشاؤها تحت هذه العلامة في صفحة العلامة لتلك الورقة.

المشكلة هي أنني أفتقد الوظيفة التالية:

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

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

سأكون ممتنًا لسماع ما إذا كانت هناك طريقة أنيقة للحصول على هذه الوظيفة. شكرًا.

3 إعجابات

هل تريد أن يتمكن المؤلف من تعديل منشورات الآخرين إذا كانت ردًا على ورقته البحثية؟

وتعني المنشورات وليس المواضيع؟

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

ولكن يمكنني إنشاء مجموعة لكل ورقة بحثية أيضًا إذا كان ذلك سيساعد.

ومن الناحية المثالية، يجب أن تكون كل من المنشورات والمواضيع قابلة للتحرير.

المجموعات خفيفة جدًا، يمكنك إنشاء آلاف المجموعات دون مشاكل.
من ناحية أخرى، فإن وجود 20 ألف فئة سيكون مشكلة في الأداء.

10 إعجابات

لا تحتوي المشاركات على علامات، بل المواضيع.

لا أفهم لماذا تريد أن يتمكن الأشخاص من تعديل مشاركات الآخرين. يمكنك جعلها ويكي، ولكن بعد ذلك يمكن لأي شخص تعديلها.

أو ربما تريد أن يكون موضوع المستخدم ويكيًا بحيث يمكن لأي شخص تعديله.

أنا فقط لا أفهم النموذج الذي يكون فيه من المنطقي تغيير كلمات شخص آخر.

إعجابَين (2)

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

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

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

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

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

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

لكن الآن سبقني @falco

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

@pfaffman @falco من الناحية الفنية، كل ورقة هي علامة. السبب هو أن الموضوع لا يكفي لمناقشة أو طرح جميع الأسئلة حول ورقة ما. هناك العديد من الجوانب المختلفة التي يجب مناقشتها والدافع الرئيسي لهذا المنتدى هو أن يكون مصدرًا واحدًا لجميع المناقشات التي جرت حول ورقة ما. لذلك، كل ورقة هي علامة وجميع الموضوعات التي تم إنشاؤها تحت علامة الورقة يمكن رؤيتها من الصفحة /tag/:paper_id.

هل من الممكن القيام بخدعة CSS في هذا السيناريو؟ يمكنني إنشاء قاعدة بيانات خارجية تحدد العلاقة بين العلامات و “المستخدمين المؤلفين” المعنيين بها إذا لزم الأمر.

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

نعم، يمكنك الحصول على ملف CSS يتم إنشاؤه تلقائيًا من تحليل قاعدة البيانات المذكورة.

يمكنك أيضًا القيام بكل هذا في Discourse باستخدام إضافة مخصصة. ستجلب حقلًا إضافيًا في مُسلسِل الموضوع للمشاركات حيث يتطابق مؤلف المشاركة مع ما يمكن استغلاله بعد ذلك بواسطة تطبيق الواجهة الأمامية.

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

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

إعجابَين (2)

لا تتردد في فتح مواضيع على Dev كلما واجهت صعوبة.

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

إذًا، أنت تفهم أن المواضيع لها علامات، وليس المنشورات. أعتقد أنك تستخدم كلمة “منشور” عندما تقصد “موضوع”.

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

إن الإشارة إلى المواضيع التي تدور حول ورقة معينة بعلامة ورقة (مثل DOI، ولكن أعتقد أنه قد لا يكون هناك DOI في هذه المرحلة من حياة الورقة) هي فكرة رائعة ويمكنك القيام بذلك الآن باستخدام واجهة برمجة التطبيقات (API). أيضًا، يمكن للمستخدمين الذين يمكنهم تعديل الموضوع (مستوى الثقة 3، ومالك الموضوع) إضافة العلامة؛ يمكن للآخرين الإبلاغ عنها وطلب وضع علامة عليها (ولكن ألا يعرف من بدأ الموضوع أنه يتعلق بالورقة؟).

لست متأكدًا مما تحتاجه مكون إضافي له في هذه المرحلة.

هل يمكنك قول شيء عن مكان ظهور مشاكل الأداء؟ أي، هل هي في صفحات معينة، أم مشكلة عامة؟ إذا كانت كل فئة مرتبطة بمجموعة أو مجموعتين، وكان لدى المستخدم العادي وصول إلى 10-20 فئة فقط في المجموع، فهل لا يزال من الممكن أن تكون 20 ألف فئة مشكلة؟

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

أنا مستعد للتعامل مع مشكلات واجهة المستخدم التي يمكن أن تخلقها آلاف المجموعات لموظفي الموقع. أدرك أن هذه حالة استخدام غير متوقعة لمجموعات Discourse، لذلك أنشر هذا هنا فقط في حالة وجود أي مشكلات أداء واضحة أغفلها.

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

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

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

سيكون ذلك رائعًا، ولكن في الوقت الحالي يمكن القيام بذلك باستخدام واجهة برمجة التطبيقات (API).

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

أوه. بدأت أخرج عن الموضوع هنا، ولكن يمكنك استخدام أحد تلك الأشياء الخاصة بواجهات برمجة التطبيقات (API) التي تستقبل خطاف ويب (webhook) لكل موضوع جديد ثم تنشئ مجموعة له. لا يتطلب ذلك أي إضافة (plugin). لا أعرف لماذا لم أفكر في وضع Discourse على جانبي إحدى تلك الخدمات من قبل.

و GitHub - triggerdotdev/trigger.dev: Trigger.dev – build and deploy fully‑managed AI agents and workflows ظهر أمامي اليوم. يبدو أنه يمكنك جعله يقوم بالعمل بدلاً من الدفع لإحدى تلك الخدمات. أشك في أنه يدعم Discourse بشكل مباشر، ولكن يجب أن يكون من السهل بما يكفي لجعله يعمل.

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