Compatibility/ja

MediaWikiはバージョン間、および現行からレガシーまでの広い範囲のソフトウェアとの間で、互換性を広く保証するよう努めています. 同時に、コードベースと最新のMediaWikiの開発は常に進化し続けているため、レガシーなソフトウェアとの間で互換性を無期限に保証することは不可能です.

MediaWikiのサポート対象について変更のご要望はPhabricatorのコメント募集をご利用ください.



サーバーソフトウェア
これら各節に MediaWiki を走らせるサーバに積む必要のあるソフトウェアの概略を示します.

PHP
MediaWiki の最新の安定版ブランチ は、PHP  以降で動作します.

今後のバージョン対応は、をご参照.

HHVM のサポートは MediaWiki 1.34 で廃止されました. 使用しないことを強くお勧めします.

データベース
MediaWiki はさまざまな種類のデータベース サーバーと互換性があります. MySQL への対応に特に力を入れています. (MariaDB も使用できます. )

他のデータベース ソフトウェアのサポートには心もとない物から安定している物まで幅があります. MediaWiki は PostgreSQL と SQLite 用にデータベースの抽象層を提供しており、それは一般的には良く維持管理されています.

アップグレード


ウェブサーバー
MediaWikiは、互換性があるバージョンのPHPを実行できる主要なウェブサーバーすべてと、広く互換性があります. Apacheが最も多く使用されており、動作テストも最も多くされています. Nginxも同様に良い選択です.



MediaWiki拡張機能
拡張機能が適切にメンテナンスされている限り（説明文書のページにある情報ボックス最上段で確認可能）、その拡張機能のマスターブランチはMediaWikiマスターブランチと互換性を保つ必要があります. 旧版の MediaWiki との互換性を検討するには、拡張機能に適用される以下の共通の方針があります:


 * マスター (key: master): 拡張機能のマスターブランチはMediaWiki最新版ならびに旧版と互換性を保つ. 必要に応じて、下位互換性ハックが拡張機能のソースコードに追加されます.
 * リリースブランチ (key: rel): 各MediaWiki リリース版には、必ず拡張機能のブランチが対応する. ということは 例えば MediaWiki  を使用するときは必ず拡張機能の  ブランチを使用します.
 * 長期間サポート リリース ブランチ (キー: ltsrel). 長期間サポート リリースであるすべての MediaWiki リリース (バージョン ライフサイクル リリース ポリシーを参照) のそれぞれに対応するブランチが、拡張機能に存在します. ということは 例えば MediaWiki  を使用するときは必ず拡張機能の  ブランチを使用します.  MediaWiki の非 LTS バージョンを使用している場合、通常は以前の LTS バージョン用の拡張機能のブランチを使用する必要があります.  例えば、ltsrel 拡張機能を使用する MediaWiki 1.34 ウィキは、通常はその拡張機能の REL1_31 ブランチを使用します.  ただし、互換性を保証するものではありません.

基礎情報ボックス内の 欄にはその拡張機能で採用する方針はどれか示しています. 情報を絞り込むには、上記に示した中から適したキーを選んでください.

拡張機能のなかには互換性について独自の方針を通すものもあります. 例えば:
 * MediaWiki Language Extension Bundle#Background

ブラウザー


全般的な情報
世界には様々なウェブ ブラウザーがあり、その数は日々増大しています.

それぞれを能動的にテストしてサポートするには数が多すぎます. ブラウザー サポートをめぐる慣行の基準として、3つのサポート レベルがあります. レベルごとにブラウザーのカテゴリを表します.



モダン（グレードA）
このグループ（グレードA）はもっとも高水準なサポートを意味します. モダンなブラウザーの能力を利用して機能を実現し、古いブラウザーに対する互換性が多少崩れることは許容します. ソフトウェアが提供するすべての機能 (廃止予定か否かに関わらず) はこれらのブラウザーで必ず動くようにします.

ここに分類されるブラウザーは特定されており（下記参照）、積極的なテストの対象になります. これらのブラウザで起こる問題は高い優先度で対処されます.



基本（グレードC）
このグループは、MediaWiki プラットフォームのコア機能を提供します (別名 Grade C). 私たちの HTTP レスポンスは、これらのブラウザーと互換性があります. (例: 私たちが依存する HTTP 機能、文字エンコーディング、コンテンツが使用する画像形式、はこれらのブラウザで動作する必要があります). フロントエンドでは、これはコンテンツが読みやすい方法で表示され、コンテンツとアカウントのアクションを実行できることを意味しますが、これらのブラウザーはJavaScriptの機能を受け取りません.

このカテゴリに属するブラウザーの中には、最新の JavaScript (ES6) と互換性がないため、JavaScript の機能が得られないものがあることが知られています. これらは、スタートアップ モジュール内の機能試験スイートおよびユーザー エージェント フィルターで識別されます.



不明（グレードX）
このグループ（グレードX）には上記以外のすべてのブラウザーが入ります. 以下のようなブラウザーが含まれます.


 * 開発または保守が終了し、現代のインターネット標準と互換性のないブラウザーまたはブラウザーのバージョンは、MediaWiki はサポートを打ち切ることがあります.
 * ソフトウェア開発のための保守コストの上乗せを正当化のに十分なほど普及していないブラウザー群は、これらのブラウザーのみで利用者が感じる問題は低優先度とします.

MediaWiki はこれらのブラウザーをモダン（グレードA）のブラウザーと同様に処遇し、機能が十分なブラウザーとみなします. この原則には様々な重要な利点があります:


 * モダンなブラウザーの新バージョンがまだ私たちのテスト対象ではない場合、一時的に「不明」とみなされる可能性があります. 不明なブラウザーは十分な機能があるとすることで、それらのブラウザーでも最適なユーザー体験が保証されます.
 * 最新の進化したブラウザを利用する人にモダンな体験を与えられます.
 * 既知の最新のブラウザーに基づく、または派生したあまり人気のないブラウザーのユーザーは、悪影響を受けません (「例」Samsung Internet、UC Browser、Vivaldi、および Iceweasel).

実際上、不明とモダンの各グループの違いは、不明グループのブラウザーは積極的にはテストしないということです.

これらのブラウザーには完全な機能の集合体が用意されており、HTTP、HTML、CSS、JS 機能は、これらのブラウザーと互換性がある場合とない場合があり、Grade C ブラウザー向けの対策 (新しい CSS 機能に対するフォールバック CSS など) の影響を受ける場合と受けない場合があることを意味しています. 特に、JavaScript のサポートが有効かどうかは、機能テスト スイートとユーザー エージェント フィルター (上記参照) によって決定されます.



ブラウザーの対応状況マトリックス
前述の原則やグレードごとの説明はMediaWikiコアや拡張機能にも同じように適用されますが、下記のブラウザー対応状況マトリックスが適用されるのはMediaWikiコア、ウィキメディア財団のインフラ、およびそれに追従すると決めたMediaWiki拡張機能に限定されます. 個々の拡張機能は、独自の対応状況マトリックスを持っているかもしれません. ブラウザー使用状況分類ダッシュボードも参照してください.

モバイル版
ウィキメディア財団のウェブ チームは、モバイル専用の外装 (例: ) および/またはモバイル機器 (例: ) 上でのみ動作するように設計された拡張機能に対して、より狭いサポート マトリックスを適用しています. 対応状況マトリックスは analytics user agent breakdown dashboard から提供されたデータをもとに集計しています. ブラウザーの使用率が 5% を超えると、モダンなエクスペリエンス (グレードA) がサポートされます. 過去12か月にわたり0.1%超であれば基本的サポート (グレードC) を受けられます. 携帯端末ではGrade Bの提供が目標です. Grade BのユーザーにはJavaScriptの利用ができたりできなかったり一定しませんが、Grade Aほど厳密に試験しないため、バグ修正を優先し発生頻度を低下させます. MobileFrontend におけるモダン サポートのブラウザーのリストは ファイルで定義されています.

リストにないブラウザーか、リストに含まれるブラウザーより古いものは基本サポートのブラウザーとされます.



関連項目

 * MediaWikiバージョンの
 * MediaWiki - compatibility error note (example)
 * HTTPS/Browser Recommendations
 * HTTPS/Browser Recommendations