Extension:BetaFeatures/ja

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

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

In :

In :

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

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

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

もし同時にベータ機能抜きで拡張機能を利用するには、まずあるかどうかを次のように確認します.

設定
設定変数を使うと、個人設定ページに表示するベータ機能を制限できます. 既定では空のため、すべての拡張機能を表示します.

これを用いた場合、ベータ機能を個人設定ページに表示させるにはホワイトリストにそのベータ機能を登録します. This config variable accepts an array of strings. Each string should be the name of a beta feature as specified in the preference definition passed to. For example, in the code given above, the name of the beta feature is, so you would need to add that string to the   array in your wiki configs.

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

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

依存関係の管理
次に、依存関係の管理は機能単位で設定できます. この処理では使用したいフックの名前をフックの"GetBetaFeatureDependencyHooks"で登録し、それに続いて依存関係をチェックする同じタイプのフックを登録、一致したらtrue、不一致ならfalseを返します.

依存関係がマークしてある場合は、この機能を 不正利用 使用してウィキ単位で機能を無効にすることができます. そうは言っても作業がハッキングみたいに見えます. 手を出さないほうがいいと迷いませんでしたか. 今この瞬間、そう考えている姿が目に見えるようですが、ではやめましょう.

データベースとの関連
BetaFeaturesは対応するデータベースのテーブル（ ）を設定して使っています. ただローカルでそのテーブルを利用しようとしても、かえって混乱するかもしれません.

このテーブルの更新はキャッシュの期限切れ（合計30分）ごとにジョブキューで実行しています. ご利用のウィキがリクエスト単位でジョブ実行を設定している場合、テーブルの設定条件が原因で30分ごとのリクエストの遅延のみ深刻に遅く、その他の処理は比較的速まります. もしご利用のウィキでジョブ実行にcronを利用する設定にすると、状況はより改善されます.

関連項目

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