سيقوم Discourse قريبًا بترقية إصدار إطار عمل Ember Javascript الخاص بنا من الإصدار 3 إلى الإصدار 5. تم إنجاز الغالبية العظمى من أعمال التحضير، والعديد من المواقع تعمل بالفعل على Ember 5 (بما في ذلك Meta!). ![]()
هذه الترقية متاحة حاليًا خلف علامة ميزة! هذا هو الإعداد الافتراضي لتثبيتات Discourse المستضافة ذاتيًا بدءًا من 10 يناير. في البداية، سيظل دعم Ember 3 متاحًا عبر علامة، ولكن سيتم إزالته خلال الربع الأول من عام 2024.
على الاستضافة المُدارة discourse.org الخاصة بنا، سنقوم بتطبيق مرحلي للعلامة على مدار الشهرين القادمين:
| تاريخ الترقية | |
|---|---|
| أساسي | 2023-12-07 |
| مجاني | 2023-12-12 |
| احترافي | 2024-01-15 |
| أعمال | 2024-01-22 |
| مؤسسي | (حسب الحالة) |
ماذا يعني هذا بالنسبة لي ولموقعي؟
إذا كنت تشغل Discourse بدون أي سمات أو إضافات أو مكونات سمات إضافية… فأنت جاهز! لا حاجة لرفع إصبع، أو القلق بشأن هذا على الإطلاق.
وبالمثل، إذا كنت تستخدم السمات/الإضافات الرسمية فقط، فقد قمنا بتغطيتك! سنتأكد من أن جميع سماتنا ومكونات السمات وإضافاتنا الرسمية جاهزة للترقية.
بالنسبة لأولئك الذين يستخدمون تخصيصات طرف ثالث، يجب على مطوريها إجراء التغييرات اللازمة عليها حتى تتمكن من الاستمرار في استخدامها بسلاسة طوال هذا الانتقال.
ومع ذلك، إذا كان لديك أي سمات مخصصة أو مكونات سمات أو إضافات قمت بإنشائها أو تكليفها لمواقعك، فهذا المنشور لك! سنستعرض كيفية تحديد وحل أي مشكلات قبل الترقية.
تحديد المشكلات
يمكن تحديد جميع مشكلات الترقية المتعلقة بـ ember-5 قبل الترقية عن طريق التحقق من استخدام واجهات برمجة التطبيقات المهملة. في الإصدارات الأخيرة من Discourse (بدءًا من Discourse 3.2.0.beta4-dev)، ستؤدي هذه الإهمالات الحرجة إلى ظهور لافتة تحذير للمسؤولين:
يمكنك العثور على مزيد من المعلومات حول الإهمالات التي تم تشغيلها في وحدة تحكم مطوري المتصفح. من الممارسات الجيدة عمومًا حل جميع الإهمالات التي تراها. ولكن بالنسبة لترقية إصدار Ember هذا، فإن الإهمالات الرئيسية التي يجب حلها هي:
-
discourse.modal-controllers(انظر هذا الموضوع لمزيد من المعلومات) -
جميع إهمالات Ember (أي تلك التي لها معرفات غير
-discourse.)
عند طباعة الإهمالات إلى وحدة التحكم، يحاول Discourse تحديد السمة/الإضافة ذات الصلة.
بالنسبة للمطورين ومقدمي خدمات الاستضافة، قمنا بتوفير عدد قليل من الأدوات لتحديد الإهمالات بشكل جماعي:
-
عند تشغيل اختبارات QUnit، يتم طباعة تقرير في النهاية مع قائمة بجميع الإهمالات التي لم يتم حلها. في GitHub actions، يتم إضافة نسخة markdown من هذا إلى صفحة ملخص سير العمل.
-
بالنسبة لمقدمي خدمات الاستضافة، لدينا المكون الإضافي discourse-deprecation-collector الذي يزيد عدادات prometheus كلما تم الوصول إلى الإهمالات في الإنتاج.
حل الإهمالات
بشكل عام، ستتضمن رسالة وحدة التحكم وصفًا للمشكلة والخطوات المطلوبة لحلها. في بعض الحالات، ستربط بموارد خارجية مثل موقع Ember deprecations أو Discourse Meta.
إذا كان أي شيء غير واضح، فلا تتردد في النشر أدناه أو في موضوع Dev مخصص وسنبذل قصارى جهدنا للمساعدة.
الاختبار على Ember 5
لاختبار الأشياء على Ember 5 في بيئة تطوير محلية، يمكنك بدء مساعد ember-cli الخاص بنا باستخدام متغير البيئة EMBER_VERSION. على سبيل المثال:
EMBER_VERSION=5 bin/ember-cli -u
للتأكد من أن الأمور تعمل كما هو متوقع، تحقق من إصدار Ember الذي يطبعه Discourse في وحدة تحكم المتصفح.
في الإنتاج، يمكنك تحقيق نفس الشيء عن طريق إضافة EMBER_VERSION: 5 إلى قسم env: في ملف app.yml الخاص بك.




