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