Extension:BetaFeatures/ja

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

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

In :

In :

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

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

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

If you want to also use your extension without BetaFeatures, you should also check for its existence, e.g.:

Configuration
The  config variable can be used to limit which beta features are shown in preferences. By default it is empty, and all beta features are shown.

If it is used then in order for a beta feature to show up in the preferences it needs to be listed in the whitelist. 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を利用する設定にすると、状況はより改善されます.

関連項目

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