دمج المزيد من الإضافات الشائعة مع نواة Discourse

إذا كان الخطأ يقول إن reactions و data explorer و solved لا تزال في ملف yml الخاص بك، فمن المحتمل أنها كذلك. إذا كنت تعتقد أنك علقت عليها، فهل يمكن إدخالها مرتين؟

من المفيد بالتأكيد مراجعة الإعدادات والتأكد من أنك قمت بتحرير ملف yml الذي يتوافق مع موقعك.

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

مرحباً

لقد قمت بترقية منتدى بنجاح إلى أحدث إصدار 3.4.6 مستقر. قبل ذلك، كنت أستخدم المكون الإضافي المستقل discourse-oauth2-basic للمصادقة.

لا يوجد تسجيل دخول Oauth2 Basic في /admin/plugins.

إصدار Discourse الخاص بي هو 3.4.6.

تلميح: المكون الإضافي ‘discourse-oauth2-basic’ مدمج الآن مع Discourse ولا ينبغي تضمينه في تكوين الحاوية الخاص بك.
قم بإزالة السطر ‘git clone GitHub - discourse/discourse-oauth2-basic: A basic OAuth2 plugin for use with Discourse’ من ملف containers/app.yml الخاص بك، ثم حاول مرة أخرى.
لمزيد من المعلومات، انظر Bundling more popular plugins with Discourse core

كان عليّ إزالة المكون الإضافي discourse-oauth2-basic قبل الترقية إلى 3.4.6.

هل يمكنك مساعدتي في فهم ما قد يكون حدث بشكل خاطئ؟

  • هل أسأت فهم العملية، وهل لا يزال المكون الإضافي مطلوبًا؟
  • هل هناك خطوة إضافية فاتني تفعيل وظيفة OAuth2 الأساسية بعد إزالة المكون الإضافي؟
  • أم أنني ببساطة أبحث في المكان الخطأ عن الإعدادات؟

شكرا لك!

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

هممم… هل يمكن أن يكون السبب هو أنك تستخدم الإصدار المستقر؟

بعد اتباع الموجه النظامي، قمت بإزالة المكون الإضافي discourse-oauth2-basic قبل الترقية بنجاح إلى الإصدار المستقر 3.4.6.

ومع ذلك، اكتشفت الآن أن خيارات التكوين لـ OAuth 2 Basic مفقودة من لوحة تحكم المسؤول.

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

إذا كنت تستخدم الإصدار المستقر، فلن ينطبق أي من هذا الموضوع حتى ما بعد الإصدار المستقر التالي في أوائل أغسطس. لذلك يجب عليك إضافة oauth2-basic مرة أخرى إلى ملف app.yml الخاص بك. يجب أن يكون الفشل الأصلي قد حدث لسبب آخر.

لسوء الحظ، فإن منطق “التلميح” ليس ذكيًا جدًا، ولا يدرك الفرق بين الإصدار المستقر والإصدار الذي اجتاز الاختبارات.

5 إعجابات

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

إعجابَين (2)

@nat انظر هذا، ترجمة اقتباسي وردي

3 إعجابات

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

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

إعجابَين (2)

أعتقد أنه نظرًا لأن هذه مثبتة مسبقًا. يجب أن تكون هناك خيارات تفصل هذه :electric_plug: عن قائمة التثبيت. نظرًا لأن قائمة التثبيت قابلة للإزالة مقابل القدرة على تعطيلها فقط.

ربما يجب أن تكون المكونات الإضافية المدمجة الأساسية تحت شيء مثل المكونات الإضافية المميزة. أو المكونات الإضافية الأساسية.

مع بالطبع ربما مرشح الكل.

إعجابَين (2)

اقتراحهم ليس مثالياً، ولكنه يعمل. مثال:

## توضع الإضافات هنا
## انظر https://meta.discourse.org/t/19157 للتفاصيل
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/pfaffman/discourse-allow-pm-to-staff.git
          #- git clone https://github.com/discourse/discourse-hcaptcha.git
          #- git clone https://github.com/discourse/discourse-calendar.git
          - rm -rf discourse-adplugin
          - rm -rf discourse-affiliate
          - rm -rf discourse-ai
          - rm -rf discourse-apple-auth
          - rm -rf discourse-assign
          - rm -rf discourse-login-with-amazon
          - rm -rf discourse-lti
          - rm -rf discourse-microsoft-auth
          - rm -rf discourse-patreon
          - rm -rf discourse-subscriptions
          - rm -rf discourse-zendesk-plugin

(اضبط حسب الرغبة)

6 إعجابات

تم تقسيم 7 مشاركات إلى موضوع جديد: استكشاف أخطاء فشل التمهيد في Discourse وإصلاحها

الواقع هنا هو أن الفرع المستقر هو بالفعل إصدار دعم طويل الأمد (LTS)، وهو جيد جدًا أيضًا. يتلقى تحديثات أمنية ومن الواضح جدًا أي إصدارات الإضافات متوافقة معه (بفضل ملف .discourse-compatibility). أعترف تمامًا أن الأمر استغرق وقتًا طويلاً قبل أن يبدأ كل هذا في العمل، ولكن في العامين الماضيين تقريبًا، نجح الأمر - وهذا إنجاز رائع للفريق.

الآن للجزء الثاني من بيانك. صحيح أن الفرع “المستقر” غالبًا ما يُنظر إليه على أنه شيء لا يجب أن تريده. ولكن في استضافة Communiteq، كنا نمنح العملاء حرية الاختيار بين المستقر (“الاستقرار أولاً، تحديثات جديدة مرتين في السنة، تحديثات أمنية مرة واحدة شهريًا”) والاختبارات المعتمدة (“دائمًا على الحافة، ميزات جديدة مرة واحدة شهريًا”) على مدار العامين ونصف الماضيين و 85٪ يختارون أن يكونوا على الفرع المستقر.

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

كان يمكن حل ذلك أيضًا في برنامج الإعداد عن طريق عرض قائمة بالإضافات التي يمكن للمستخدمين تحديدها ثم إضافتها إلى app.yml.

ولكن ما زلت تقدم مجموعات مختلفة (فرعية) من الإضافات لمستويات مختلفة، أليس كذلك؟

6 إعجابات

كنت أفضل أيضًا نهج إلغاء التعليق في ملف app.yml.

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

يتم تثبيت كل هذه الإضافات على جميع خطط الخدمة الذاتية الخاصة بنا. لا يمكن الوصول إلى بعض المستويات ولكنها تظل مثبتة حتى لو لم يكن لديها وصول.


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

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

هناك إضافات أخرى… الإضافات الأساسية ليست الإضافات الوحيدة.

5 إعجابات

تم تقسيم منشور إلى موضوع جديد: لا يصدر Discourse إصدار LTS

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

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

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

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

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

ملف المقارنة رائع. على الرغم من أنه في رأيي يجب إضافة معلومات المقارنة إلى المواضيع. مع رابط أو تعليمات إذا كان TC/المكون الإضافي متاحًا لكل من تعليمات التثبيت المستقرة و Tests-passed.

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

شكرًا على الدليل؛ يعمل هذا بشكل رائع باستثناء إضافة “الأتمتة”، والتي لا يمكن إزالتها، حيث يبدو أن إضافة الدردشة تعتمد عليها.

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

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

ولكن نعم، من الرائع وجود خيار لتقليل الفوضى عن طريق إزالة الإضافات التي، كما أشار @RGJ، تم دمج الخيارات الإضافية حقًا مؤخرًا، مما يثير التساؤل عما إذا كانت هذه الخيارات مرغوبة للتثبيت. ربما حتى برنامج نصي منفصل لما بعد التثبيت فقط لجعل الأمور أكثر سهولة للمستضافين ذاتيًا، بحيث يتجنب البعض ممن قد يرغبون في تجنب الاضطرار إلى تعديل app.yml.