العملية
تمر المكوّنات الإضافية بأربع مراحل: الاقتراح والمناقشة والتنفيذ والنشر.
الاقتراح
يبدأ المكوّن الإضافي كاقتراح. يمكنك اقتراح مكوّن إضافي عن طريق إنشاء مشكلة جديدة باستخدام نموذج طلب الميزة.
اقرأ عنبالإضافة إلى معلومات طلب الميزة الأساسية، يجب أن يتضمن اقتراح المكوّن الإضافي ما يلي:
- واجهة برمجة التطبيقات التي يعرضها المكون الإضافي.
- واجهات برمجة التطبيقات التي تلزم إضافتها أو تغييرها في تطبيق Blockly الأساسي لدعم المكوِّن الإضافي.
- لقطات الشاشة أو ملفات GIF أو النماذج التجريبية إذا كان المكوّن الإضافي يتضمّن ميزات واجهة المستخدم
- توضيح لسبب وجوب أن يكون مكونًا إضافيًا تابعًا للطرف الأول وليس مكوّنًا إضافيًا تابعًا لجهة خارجية.
يراجع فريق Blockly الاقتراحات فور وصولها ويغلق المشكلة أو يضيف تصنيف الحالة: المناقشة.
مناقشة
بعد ذلك، يدخل المكوّن الإضافي في مرحلة المناقشة. وتشمل هذه المرحلة ما يلي:
- توضيح الوظيفة المطلوبة.
- توضيح حول واجهة برمجة التطبيقات للمكوّن الإضافي
- التخطيط للتنفيذ.
- التخطيط للاختبارات.
- مناقشة التغييرات التي تطرأ على واجهة برمجة التطبيقات في تطبيق Blockly الأساسي.
- تقسيم المكوّنات الإضافية الكبيرة إلى خطوات تنفيذ
- تسمية المكونات الإضافية، بناءً على اصطلاحات التسمية.
- تأكيد استيفاء جميع معايير الطرف الأول
تحدث هذه المناقشة بشكل عام بشأن مشكلة GitHub. كلما كان نطاق المكون الإضافي أصغر، كانت مرحلة المناقشة أسرع. قد تجذب المكونات الإضافية الأكبر انتباه المجتمع وآرائه القوية حول "الحل المناسب". إذا حدث ذلك بشأن مشكلتك، فقد أحسنت! لقد وجدت شيئًا يهم الناس.
الهدف هو أنه في نهاية مرحلة المناقشة، تم اتخاذ جميع قرارات التصميم الرئيسية وأن هناك قائمة واضحة بخطوات التنفيذ. يجب توثيق كليهما في التعليقات المتعلقة بالمشكلة.
خلال المناقشة، قد نقرّر أن يكون المكوِّن الإضافي تابعًا لجهة خارجية
وأن لا يتم نشره ضمن نطاق @blockly
. في هذه الحالة سنشرح
سبب المشكلة ونغلقها.
عند اكتمال المناقشة، يضيف أحد أعضاء فريق المحظورة تصنيف الحالة: التنفيذ إلى المشكلة.
التنفيذ
تشمل خطوات التنفيذ ما يلي:
- تشغيل
npx @blockly/create-package
لإعداد المكوّن الإضافي ودليله من نموذج مزيد من المعلومات... - تنفيذ المنطق الأساسي للمكوّن الإضافي.
- تنفيذ واجهة المستخدم، إذا لزم الأمر.
- اختبار المكون الإضافي، باستخدام mocha.
- توثيق المكوّن الإضافي، بما في ذلك
README
إذا كانت مشكلة المكون الإضافي تحمل التصنيف الحالة: التنفيذ، فإنه إما جاهز للتنفيذ أو قيد التنفيذ. لتجنب تكرار الجهود، يجب على أي شخص مهتم بالتعليق على المشكلة والسؤال عما إذا كان لا يزال منفتحًا على المساهمات.
ويمكن أن يتولى عدة مساهمين عملية التنفيذ بالتوازي. يمكنك تنفيذ مكون إضافي بشكل تعاوني على مفترق الطرق الخاص بك، أو من خلال طلبات السحب على هذا المستودع. إذا كنت ترغب في التعاون في مكون إضافي في هذا المستودع، فاطلب من فريق Blockly إنشاء فرع ميزات لك.
يجب إضافة المكوّنات الإضافية إلى ملف
gh-pages/index.md
في الفرع master
من النماذج المجمّعة. سيؤدي ذلك إلى ظهورها على موقع المكوّنات الإضافية. يجب أن تشير المكوّنات الإضافية
للطرف الأول إلى الصفحة التجريبية. يمكن أيضًا إضافة مكونات إضافية تابعة لجهات خارجية
إلى هذه الصفحة، ويمكنها أن تشير إلى رابط من اختيار المالك، مثل
عرض توضيحي مستضاف أو صفحة npm.
النشر
أخيرًا، النشر. يستخدم فريق Blockly Lerna لإدارة عمليات تحديد الإصدارات والنشر لجميع المكوّنات الإضافية.
يتم نشر أي مكونات إضافية تم تغييرها منذ آخر إصدار لها كل يوم خميس. أما إذا أردت نشر تغيير في وقت أقرب، فيُرجى ملاحظته في طلب السحب.
يتم تحديث موقع المكونات الإضافية أيضًا كلما تم نشر المكونات الإضافية.
يجب وضع علامة private
على المكوّنات الإضافية غير الجاهزة للنشر في package.json
. قد يحدث ذلك إذا كان أحد المكوّنات الإضافية يعتمد على تغيير لم يتم نشره بعد
في core Blockly. يتم نشر CoreBlockly في الأسبوع الأخير من كل ربع سنة (مرة كل ثلاثة أشهر).