تقديم التغييرات القادمة، نظام لإدارة الميزات الجديدة والتغييرات على الوظائف الحالية في مجتمعك

بينما نواصل تحسين Discourse، أنشأنا صفحة إعدادات “التغييرات القادمة” (Upcoming Changes) الجديدة لمساعدة المشرفين على فهم التغييرات القادمة إلى Discourse والسماح لهم بإدارة كيفية تطبيق هذه التغييرات في مجتمعهم. نعتقد أن هذا النظام سيساعدنا على مواصلة تحسين Discourse بطريقة آمنة وشفافة.

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

نظرة عامة على كيفية عمل التغييرات القادمة

أثناء عملنا على ميزات جديدة أو تغييرات أخرى، سنضيفها إلى صفحة إعدادات التغييرات القادمة على المسار /admin/config/upcoming-changes. سيتضمن كل تغيير وصفًا وحالة ومؤشرًا للمستخدمين المتأثرين به والمستخدمين (إن وجد) الذين تم تمكينه لهم في مجتمعك.

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

يتيح لك تعطيل التغيير مؤقتًا وقتًا لمعالجة أي تخصيصات أو عمليات موقع متأثرة، وإبلاغ قاعدة أعضائك بالتغيير، أو تفويض مجموعات أعضاء معينة للاختبار.

تشريح تغيير قادم

دعنا نحلل تغييرًا قادمًا ونحدد المعلومات التي ستراها في كل قسم.

1 - الاسم والوصف

يمنحك الاسم والوصف شرحًا موجزًا للتغيير وغالبًا ما يرتبطان بمحتوى ذي صلة (مثل موضوع Meta) لمزيد من التفاصيل.

2 - الحالة

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

نحن نستخدم الحالات التالية في التغييرات القادمة:

  • تجريبي (Experimental): تغيير محتمل في مرحلة التطوير/الاختبار المبكر ومن المتوقع أن يتطور بسرعة، أو قد تتم إزالته تمامًا إذا أنهينا التجربة (عندئذٍ سينتقل إلى حالة غير نشط؛ انظر أدناه). يمكنك اختيار الاشتراك في التغييرات التجريبية لاختبارها.
  • ألفا (Alpha): تغيير تم اختباره وهو آمن للاستخدام، على الرغم من أنه قد تكون هناك بعض التحديثات الطفيفة على تصميمه أو وظيفته. يمكنك اختيار الاشتراك في تغييرات ألفا لاستخدامها مبكرًا.
  • بيتا (Beta): تغيير تم اختباره وهو آمن للاستخدام، ومن غير المرجح أن يتغير كثيرًا قبل الانتقال إلى حالة مستقر أو ربما دائم. بالنسبة لمعظم المواقع، يتم تشغيل تغييرات بيتا تلقائيًا للجميع (إذا لم تقم بتمكينها مسبقًا)، ولكن لا يزال بإمكانك اختيار عدم الاشتراك.
  • مستقر (Stable): تغيير مكتمل[1]، ولكنه لا يزال استبعاديًا (أي يمكن للمشرفين تعطيله). سيتم تحذير المشرفين على لوحة التحكم الخاصة بهم عندما يختارون عدم الاشتراك في تغيير مستقر.
  • دائم (Permanent): تغيير أكمل الاختبار، وهو مفروض التشغيل (أي لا يمكن للمشرفين تعطيله).
  • غير نشط (Inactive): تجربة مهجورة. لا يمكنك الاشتراك.

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

لا يوجد وقت محدد للمدة التي سيستغرقها تقدم تغيير معين من حالة إلى أخرى، ولكن سيتم إخطار المشرفين عندما:

  • يتوفر تغيير جديد لتجربته
  • يتم تمكين تغيير تلقائيًا
  • عندما تقوم بتعطيل تغيير سيتم فرضه قريبًا

3 - المستخدمون المتأثرون

يصف وسم المستخدمون المتأثرون أي المستخدمين في مجتمعك يمكنهم رؤية التغيير أو التفاعل معه بطريقة ما. ببساطة - من قد يلاحظ هذا التغيير؟ هناك عدة أنواع من المستخدمين المتأثرين:

  • المشرفون (Admins): يكون التغيير مرئيًا للمشرفين فقط.
  • الموظفون (Staff): يكون التغيير مرئيًا للمشرفين و المشرفين فقط.
  • جميع الأعضاء (All members): يكون التغيير مرئيًا لجميع الأعضاء في موقعك.
  • المطورون (Developers): في حالات نادرة، يكون التغيير ملحوظًا فقط لأولئك الذين يتفاعلون مع الشيفرة في النواة (core) أو السمات (themes) أو الإضافات (plugins).

4 - ممكّن لـ…

هذه القائمة المنسدلة هي المكان الذي يمكنك فيه، بصفتك مشرف الموقع، التحكم فيما إذا كنت ستقدم هذا التغيير لمجتمعك وكيفية تقديمه عن طريق تمكينه لـ:

  • لا أحد (No one): يعطل التغيير للجميع على الموقع.
  • الجميع (Everyone): يمكّن التغيير للجميع على الموقع، بما في ذلك المستخدمون المجهولون. عندما يتم تشغيل التغيير تلقائيًا (عادةً في حالة بيتا)، فسيكون لـ الجميع.
  • الموظفون فقط (Staff only): يمكّن التغيير لموظفي الموقع (أي المشرفين والمشرفين).
  • مجموعات محددة (Specific groups): يمكّن التغيير للمجموعة (المجموعات) المحددة.

في الوقت الحالي، قمنا بنقل معظم التغييرات التجريبية من /admin/config/experimental إلى التغييرات القادمة، وستبدأ في رؤية التحديثات الجديدة تصل إلى هنا قريبًا. نتطلع إلى سماع مدى التأثير الذي يحدثه هذا في مجتمعك، ونرحب بأي أسئلة أو ملاحظات!


  1. بقدر ما يكون أي برنامج مكتملًا! ↩︎

17 إعجابًا

أنا فضولي - كيف يتحكم في كيفية طرح التغيير؟ هل يمكن تغييره بعد تقديم الميزة؟ شكرًا لك.

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

ميزات العلامات الأصلية! جيد جداً :clap:

سيكون من الرائع الحصول على واجهة برمجة تطبيقات (API) للإضافات.

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

هذه ميزة طال انتظارها! شكرًا لك!

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

هذا رائع، إن امتلاك القدرة على تغيير الأعلام بهذه الطريقة مذهل للأشخاص الذين يواكبون أحدث التطورات مثلي، خاصة عند تطوير سمة (theme).

ولكن، هل “التغييرات القادمة” (upcoming changes) هو حقًا أفضل اسم لها؟ على سبيل المثال، يستخدم HomeAssistant مصطلح “المختبرات” (labs) والكثير من الأشخاص الآخرين يستخدمون أشياء مثل “التجارب” (experiments) التي تبدو أفضل من التغييرات القادمة.

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

يصف هذا القسم ذلك بمزيد من التفصيل:

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

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