Extension:BetaFeatures/ja

BetaFeatures拡張機能は他のMediaWiki拡張機能がウィキ上の個人設定のリストにベータ機能を登録することを可能にします. 既存の個人設定アーキテクチャといくつかの特別ページを使用してその機能を実現します.

ご利用の拡張機能に新しいフックを取り入れる
この拡張機能を使用してベータ機能をサポートするのは簡単です. 拡張機能のメインファイルに「GetBetaFeaturePreferences」タイプのフックを登録する - 構文はGetPreferences hookとほとんど同じですが、この場合に必要な設定の種類を少し変更してサポートしています.

あれば、ベータ版機能が提供する便利な機能を使い、有効になったかどうかチェックできます.

通常の個人設定のチェックもできますが、真偽値で判断せず - HTMLFeatureFieldクラスの値で判断します.

BetaFeaturesはすべての場面で利用できるようにする必要があるため、便利な機能に対してフックや特別ページほか利用者が探したいものを対応させることができます. ただそれらの変更から、一時的に性能あるいはキャッシュに障害が起こる可能性にご留意ください.

高度な使用法
ちょっとかっこいいものをお見せしましょうか？

自動登録グループ
この例では、「自動登録」の設定を登録します. 利用者がこれをチェックし、特定のグループに属する新しい機能が出されると、利用者は自動的にその機能に登録されます.

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.

データベースとの関連
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.

関連項目

 * ベータ版機能
 * ロードマップ
 * 展開計画