خطاب مخصص بميزات محدودة

مرحبًا بالفريق،
أعمل على مشروع صغير نقوم فيه بتخصيص Discourse لتوجيه المستخدم مباشرة إلى “موضوع” مع الكثير من التعديلات من جانب العميل. يصل المستخدم مباشرة إلى الموضوع ويمكنه فقط نشر ردود أو الرد على خيط الموضوع. يتم تحميل Discourse داخل عرض ويب في تطبيق الجوال. كما قمت بإزالة محرر الرسائل الأصلي واستبداله بمحرر مخصص مع إزالة بعض الخيارات. يلتصق المحرر المخصص دائمًا بأسفل الصفحة المفتوحة للإجابة السريعة على منشورات المستخدمين. نستخدم مواصفات دنيا قدرها 2 جيجابايت (بدون Docker). عندما يسجل المستخدمون في المنتدى، نعيد توجيههم (من جانب العميل) إلى موضوع، وفي بعض الأحيان يستغرق التوجيه بين 10 و25 ثانية. جربت مواقع أخرى مثل swift.org، وتحميل صفحات Discourse فيها سريع جدًا، حيث يستغرق بين 3 و6 ثوانٍ فقط. تفحصت تبويب الشبكة، فكل ما يتم تحميله من الشبكة هو نفس ملفات JavaScript وCSS، والفرق الوحيد هو أن الهاتف المحمول يحمل نسخة “mobile.css”.

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

هل لم تقم بـ تثبيت Discourse القياسي الرسمي بل قمت بتثبيت نسخة تطوير؟ ما تصفه يبدو وكأنه أداء متوقع لتثبيت نسخة التطوير.

هل قمت بإجراء تعديلاتك في إضافة (Plugin) أم قمت بعمل Fork؟

4 إعجابات

نعم، قمت بعمل Fork. لم أستخدم Docker، بل قمت ببعض التعديلات البسيطة من جانب الخادم، ومعظم التغييرات كانت من جانب العميل مثل JavaScript و CSS. لم تكن وثيقة التثبيت الرسمية واضحة بشأن إعداد الكود المخصص. هل يمكنك إخباري أين يمكنني العثور على إعداد Docker مع الكود المخصص؟ في الأساس، أريد فقط سحب الكود من مستودعي الخاص. [أنا جديد على Docker].

يجب دائمًا بناء الكود المخصص الخاص بك كإضافة (plugin)، وليس كـ fork للنواة.

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

3 إعجابات

راجع دليل المطورين لسمات Discourse و دليل المبتدئين لإنشاء إضافات Discourse الجزء 1: إنشاء إضافة أساسية.

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

عندما أقول “كود مخصص”، أعني عدم التعديل على جوهر Discourse. فقط بعض التعديلات على CSS وتغييرات في JavaScript لتتناسب مع متطلباتنا. كنا نرغب فقط في إعادة توجيه المستخدمين (بناءً على نوع من الإعدادات) مباشرة إلى شاشة مناقشة الموضوع (مثل هذا).

الإضافات مخصصة لإضافة ميزات جديدة، أليس كذلك؟

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

أنصحك بالبدء من رابط مطور السمات المذكور أعلاه ورؤية ما إذا كان يمكنك إجراء تغييراتك في مكونات السمات.

3 إعجابات