Extension:BetaFeatures/tr

BetaFeatures uzantısı, diğer MediaWiki uzantılarının, beta özelliklerini vikideki kullanıcı tercihleri ​​listesiyle kaydetmesine izin verir. İşlevini gerçekleştirmek için mevcut kullanıcı tercihleri ​​mimarisini ve birkaç özel sayfayı kullanır.

Uzantınızda yeni kancaları kullanma
Beta özelliğinizi desteklemek için bu uzantıyı kullanmak kolaydır. dosyanıza "" türünde bir kanca kaydedin. Sözdizimi kancasıyla hemen hemen aynıdır, bu durumda ihtiyacımız olan tercih türünü desteklemek için küçük değişiklikler yapın.

içinde:

içinde:

Ardından, özelliğin etkin olup olmadığını kontrol etmek için BetaFeatures tarafından sağlanan kullanışlılık işlevini kullanabilirsiniz.

Normal bir tercih denetimi de kullanabilirsiniz, ancak doğru veya yanlış değerlere karşı kontrol etmeyin. HTMLFeatureField sınıfındaki değerleri kullanın.

BetaFeatures sınıfının her yerde bulunması gerektiğinden, kolaylık işlevini herhangi bir kancada, özel sayfada veya istediğiniz herhangi bir şeyde kullanabilirsiniz. Bu değişikliklerle ortaya çıkabilecek potansiyel performans veya önbelleğe alma sorunlarının farkında olun.

Uzantınızı Beta Özellikleri olmadan da kullanmak istiyorsanız, varlığını da kontrol etmelisiniz, örneğin:

Yapılandırma
yapılandırma değişkeni, tercihlerde hangi beta özelliklerinin gösterileceğini sınırlamak için kullanılabilir. Varsayılan olarak boştur ve tüm beta özellikleri gösterilir.

Kullanılıyorsa, bir beta özelliğinin tercihlerde görünmesi için beyaz listede listelenmesi gerekir. Bu yapılandırma değişkeni bir dizi dizeyi kabul eder. Her dize,  öğesine iletilen tercih tanımında belirtildiği gibi bir beta özelliğinin adı olmalıdır. Örneğin, yukarıda verilen kodda, beta özelliğinin adı  şeklindedir, dolayısıyla bu dizeyi içindeki   dizisine vikinizin yapılandırması gerekir:

Gelişmiş kullanım
Gerçekten harika bir şey görmek ister misin?

Otomatik kayıt grupları
Bu örnekle, "otomatik kayıt" olan bir tercih kaydediyoruz. Bir kullanıcı bunu kontrol ederse ve belirli bir grupta yeni özellikler ortaya çıkarsa, kullanıcı bu özelliklere otomatik olarak kaydolacaktır.

Dependency management
Next up, we can actually define dependency management per-feature. To do this we first register the name of a hook that we want to use for this with the hook "GetBetaFeatureDependencyHooks", then we register a hook of that type that checks some dependency, and returns true if it's met or false if not.

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.