Extension:BetaFeatures/ar

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

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

في :

في :

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

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

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

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

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

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

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

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

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

You can abuse use this feature to do per-wiki disabling of features, if they're marked as dependent. But that sounds really hacky. You probably shouldn't. I can hear you thinking about it right now, just stop it.

Database stuff
There's a database table defined, and used, by BetaFeatures. But you might get confused by it if you try to use it locally.

We use the job queue to run updates for this table, when the cache expires (30 minutes TTL). If your wiki is configured to run jobs on each request, this will make about one request every 30 minutes reeeeeeally slow, but the rest will be relatively fast. If you configure your wiki to run jobs via cron, things will work much better.