Extension:BetaFeatures/ja

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

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

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

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

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

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

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

依存関係の管理
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.

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

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

関連項目

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