مع استمرارنا في تحسين Discourse، أنشأنا صفحة إعدادات جديدة تسمى “التغييرات القادمة” (Upcoming Changes) لمساعدة المسؤولين على فهم التغييرات التي ستطرأ على Discourse، وتمكينهم من إدارة كيفية تطبيق هذه التغييرات في مجتمعاتهم. نعتقد أن هذا النظام سيساعدنا على مواصلة تحسين Discourse بطريقة آمنة وشفافة.
في هذا الموضوع، سنشرح كيفية عمل هذا النظام الجديد، وكيفية استخدامه لإدخال ميزات جديدة وتغييرات أخرى في مجتمعك بأمان.
نظرة عامة على كيفية عمل “التغييرات القادمة”
عند العمل على ميزات جديدة أو تغييرات أخرى، سنضيفها إلى صفحة إعدادات “التغييرات القادمة” الموجودة في المسار /admin/config/upcoming-changes. سيتضمن كل تغيير وصفاً، وحالةً، ومؤشراً يوضح المستخدمين المتأثرين به، والمستخدمين (إن وجدوا) الذين تم تفعيل التغيير لصالحهم في مجتمعك.
اعتماداً على حالة التغيير، يمكنك أن تقرر ما إذا كنت ستفعّله أو تعطله لمجتمعك — على الأقل مؤقتاً، لأن بعض التغييرات سيتم تفعيلها بشكل دائم في النهاية.
إن تعطيل تغيير ما مؤقتاً يمنحك الوقت لمعالجة أي تخصيصات موقع، أو عمليات، أو أمور أخرى متأثرة، وإعلام قاعدة أعضائك بالتغيير، أو تفويض مجموعات معينة من الأعضاء للاختبار.
تفكيك “تغيير قادم”
لنقم بتفكيك “تغيير قادم” وتحديد المعلومات التي ستظهر في كل قسم.
1 - الاسم والوصف
يوفر الاسم والوصف شرحاً موجزاً للتغيير، وسيربطان بموضوع ذي صلة على Meta لمزيد من المعلومات ومكان لجمع التعليقات.
2 - الحالة
توضح الحالة موقع التغيير في دورة التطوير. تؤثر الحالة مباشرةً على ما إذا كان التغيير اختيارياً للتفعيل (opt-in) (أي معطل افتراضياً، ولكن يمكنك تفعيله)، أو اختيارياً للعطل (opt-out) (أي مفعل افتراضياً، ولكن يمكنك تعطيله)، أو مفلاًراً قسراً (forced on) (أي مفعل، ولا يمكنك تعطيله).
نستخدم الحالات التالية في “التغييرات القادمة”:
Experimental(تجريبي): تغيير محتمل في مراحل التطوير/الاختبار المبكرة، ومن المتوقع أن يتطور بسرعة، أو قد يُزال تماماً إذا أنهينا التجربة (عندها سينتقل إلى حالةInactive؛ انظر أدناه). يمكنك التفعيل الاختياري للتغييراتExperimentalلاختبارها.Alpha(ألفا): تغيير تم اختباره وآمن للاستخدام، رغم أنه قد تكون هناك بعض التحديثات الطفيفة في تصميمه أو وظيفته. يمكنك التفعيل الاختياري للتغييراتAlphaلاستخدامها مبكراً.Beta(بيتا): تغيير تم اختباره وآمن للاستخدام، ومن غير المرجح أن يتغير كثيراً قبل الانتقال إلى حالةStable(مستقر) أوPermanent(دائم) محتملاً.
بالنسبة لمعظم المواقع على استضافتنا، والمواقع ذاتية الاستضافة، يتم تفعيل التغييرات Betaتلقائياً للجميع (إذا لم تكن قد فعّلتها سابقاً)، ولكن لا يزال بإمكانك العطل الاختياري.
Stable(مستقر): تغيير مكتمل[1]، ولكنه لا يزال اختيارياً للعطل (أي يمكن للمسؤولين تعطيله). سيظهر تحذير على لوحة تحكم المسؤول عندما يكون قد اختار تعطيل تغيير من حالةStable.Permanent(دائم): تغيير اكتمل اختباره، وهو مفعل قسراً (أي لا يمكن للمسؤولين تعطيله). لن تظهر التغييرات الدائمة بعد ذلك في قائمة التغييرات القادمة، بل ستُعرض في صفحة/admin/whats-new.Inactive(غير نشط): تجربة متروكة. لا يمكنك التفعيل الاختياري.
في بعض الأحيان، تنتقل التغييرات خطياً عبر هذه الحالات (أي تبدأ بـ Experimental وتنتهي بـ Permanent)، ولكن ليس دائماً. قد تُقدم بعض التغييرات بحالة Alpha أو Beta، وبعضها سينتهي بحالة Stable. لن يتم نقل التغييرات من نوع “القيمة الافتراضية لإعداد الموقع” إلى الحالة الدائمة، لأنها تغير فقط القيمة الافتراضية لإعداد موجود مسبقاً.
لا يوجد وقت محدد لكيفية انتقال تغيير معين من حالة إلى أخرى، ولكن سيتم إعلام المسؤولين عند:
- توفر تغيير جديد للتجربة
- تُرسل هذه الإشعارات مرة واحدة أسبوعياً كحد أقصى لتجنب إرهاق الإشعارات. إذا كنت تفضل عدم تلقي هذه الإشعارات، يمكنك تعطيلها في
/my/preferences/notifications
- تُرسل هذه الإشعارات مرة واحدة أسبوعياً كحد أقصى لتجنب إرهاق الإشعارات. إذا كنت تفضل عدم تلقي هذه الإشعارات، يمكنك تعطيلها في
- تمكين تغيير تلقائياً
- عندما تكون قد عطّلت تغييراً سيتم تفعيله قسراً قريباً
- سيظهر هذا كتحذير على لوحة تحكم المسؤول
3 - المستخدمين المتأثرين
يصف وسم “المستخدمين المتأثرين” أي المستخدمين في مجتمعك يمكنهم رؤية التغيير أو التفاعل معه بطريقة ما. ببساطة — من قد يلاحظ هذا التغيير؟ هناك عدة أنواع من المستخدمين المتأثرين:
Admins(المسؤولون): التغيير مرئي للمسؤولين فقط.Staff(الموظفون/الإدارة): التغيير مرئي للمسؤولين و المشرفين فقط.All members(جميع الأعضاء): التغيير مرئي لجميع الأعضاء في موقعك.Developers(المطورون): في حالات نادرة، سيكون التغيير ملحوظاً فقط لأولئك الذين يتفاعلون مع الكود في النواة، أو السمات، أو الإضافات.
نوع التأثير
مجموعة فرعية من المستخدمين المتأثرين، ولا تظهر في القائمة، هي نوع التأثير. يصف نوع التأثير كيف سيؤثر التغيير على مجتمعك بشكل عام:
Feature(ميزة): يقدم التغيير ميزة جديدة أو وظيفة جديدة لمجتمعك، أو يعدّل وظيفة موجودة.Site setting default(القيمة الافتراضية لإعداد الموقع): يعدّل التغيير القيمة الافتراضية لإعداد موقع موجود. لن يتأثر المسؤولون الذين غيّروا الإعداد بالفعل عن قيمته الافتراضية القديمة. لن يظهر تحذير على لوحة تحكم المسؤول لهذا التغيير بمجرد وصوله إلى الحالة المستقرة.Other(أخرى): أي تغيير آخر لا ينطبق على الفئات المذكورة أعلاه.
4 - مفعّل لـ…
هذه القائمة المنسدلة هي حيث يمكنك، كمسؤول موقع، التحكم في ما إذا وكيفية إدخال هذا التغيير إلى مجتمعك عن طريق تفعيله لـ:
No one(لا أحد): يعطل التغيير للجميع في الموقع.Everyone(الجميع): يفعّل التغيير للجميع في الموقع، بما في ذلك المستخدمين المجهولين. عندما يتم تفعيل التغيير تلقائياً (عادةً عند حالةBeta)، سيكون لـالجميع.Staff only(الإدارة فقط): يفعّل التغيير لإدارة الموقع (أي المسؤولين والمشرفين).Specific groups(مجموعات محددة): يفعّل التغيير للمجموعة أو المجموعات المحددة.
قد تكون بعض التغييرات القادمة مقيدة في خيارات “تفعيل لـ”. تتحدد الخيارات المتاحة في قائمة “مفعّل لـ” المنسدلة حسب تكوين التغيير. على سبيل المثال، قد تسمح بعض التغييرات فقط بخيارات
الجميعولا أحد، لأن الاختبار المحدود للمجموعات سيكون غير ممكن للتغيير.
حالياً، قمنا بنقل معظم التغييرات Experimental من /admin/config/experimental إلى “التغييرات القادمة”، وستبدأ في رؤية تحديثات جديدة تظهر هنا قريباً. نتطلع إلى سماع رأيكم حول الأثر الذي سيحدثه هذا في مجتمعكم، ونرحب بأي أسئلة أو تعليقات!
بقدر ما يمكن اعتبار أي برنامج مكتملاً! ↩︎




