Extension:BetaFeatures/ar

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

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

في :

في :

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

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

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

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

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

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

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

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

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

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

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

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

انظر أيضا

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