Extension:BetaFeatures/ar

يسمح امتداد BetaFeatures لامتدادات ميدياويكي الأخرى تسجيل مزايا تجريبية في قائمة تفضيلات المستخدم على موقع الويكي. يستعين الامتداد ببنية تفضيلات المستخدم القائمة وبضع صفحات أخرى لتنفيذ وظيفته.

استخدام الروابط الجديدة في امتدادك
إن استخدام هذا الامتداد كي تدعم مزاياك التجريبية سهل. سجل رابط من النوع «» في ملف لديك — تماثل الصياغة البرمجية إلى حد كبير الرابط ، إلا أنها تتغير تغييرا طفيفا لأغراض دعم نوع التفضيلات التي نحتاج في هذه الحالة.

في :

في :

ومن ثم، يمكنك استخدام وظيفة الملائمة التي يقدمها BetaFeatures كي تتأكد من كون السمة ناشطة أم لا.

يمكنك أيضا استخدام سبيل تحقق من التفضيلات معتاد، لكن عليك ألا تتحقق مستخدما قيم «صحيح - truthy» أو «خطأ - falsy» - بل عليك استخدام قيم من فئة HTMLFeatureField.

منذ أن فئة BetaFeatures يجب أن تكون قائمة في كل مكان، يمكنك استخدام وظيفة الملائمة في أي رابط أو صفحة خاصة أو أي شيء آخر تريد. إلا أن عليك أن تحذر من حدوث مشاكل محتملة في الأداء أو الحفظ المؤقت التي ربما تنتج عن تنفيذ تلك التغييرات.

لو كنت ترغب أيضا في استخدام امتدادك دون BetaFeatures، يتعين عليك أيضا أن تتحقق من وجوده، مثال:

الإعداد
يمكن استخدام متغير الضبط  في تقييد ما هي المزايا التجريبية التي تعرض في صفحة التفضيلات. تلقائيا تكون القيمة فارغة، وبالتالي تعرض كافة المزايا التجريبية.

لو كانت مستخدمة، لذا كي تعرض ميزة تجريبية في صفحة التفضيلات يتعين أن تدرج في القائمة البيضاء. يقبل متغير الإعداد هذا أي عدد من السطور. يجب أن يكون كل سطر هو اسم الميزة التجريبية حسب ما هو محدد في تعريف التفضيلات المذكور في. على سبيل المثال، كما هو مبين في الكود البرمجي السالف، اسم الميزة التجريبية هو ، لذا سيتعين عليك أن تضيف ذلك السطر إلى مصفوفة   في إعدادات موقع الويكي لديك:

استخدام متقدم
هل ترغب في مشاهدة أمر رائع حقا؟

مجموعات التسجيل الآلي
باستخدام هذا المثال، نسجل أحد التفضيلات الذي يعد «تسجيل آلي» - أي أن لو اختار أي مستخدم هذا الاختيار، وأضيفت ميزات جديدة مضافة إلى مجموعة محددة، سوف يسجل المستخدم تلقائيا في تلك الميزات.

التعامل مع مسألة التبعية
بعد ما سلف، يمكنك في الواقع تحديد التعامل مع مسألة التبعية لكل ميزة على حدة. كي ننفذ ذلك نسجل أولا اسم الرابط الذي نرغب في استخدامه في هذا الأمر مع الرابط "GetBetaFeatureDependencyHooks"، ومن ثم نسجل رابط من ذاك النوع يتولى التحقق من بعض التبعية، وبالتالي يرجع بالرد true لو كانت مستوفاة أو false لو لم تكن مستوفاة.

يمكنك إساءة استخدام استخدام هذه السمة كي تعطل المزايا لكل موقع ويكي على حدة، لو كانت المزايا محددة على أنها تابعة. إلا أن هذا الأمر يبدو معقدا من الناحية البرمجية. ربما يجب عليك تجنبها. يمكنني أن أسمعك تمعن النظر في هذا الأمر الآن، لا تفعل ذلك.

أمور خاصة بقاعدة البيانات
يوجد جدول قاعدة بيانات محدد، ومستخدم، في BetaFeatures. إلا أنك ربما تنتابك الحيرة بسببه لو حاولت استخدامه محليا.

نستعين بطابور المهام كي نشغل التحديثات على هذا الجدول، حينما تنتهي صلاحية الحفظ المؤقت (30 دقيقة TTL). لو أعدّ موقعك الويكي كي يشغل مهام لكل طلب، سوف يجعل هذا حوالي طلب واحد فقط كل 30 دقيقة بطيء للغاية، إلا أن الباقي سوف يكون سريعا إلى حد ما. لو أعددت موقعك الويكي كي يشغل المهام مستخدما cron، سوف تعمل الأمور أفضل كثيرا.

انظر أيضا

 * مزايا تجريبية
 * خارطة الطريق
 * خطة التنفيذ