互換性
MediaWikiはバージョン間、および現行からレガシーまでの広い範囲のソフトウェアとの間で、互換性を広く保証するよう努めています。同時に、コードベースと最新のMediaWikiの開発は常に進化し続けているため、レガシーなソフトウェアとの間で互換性を無期限に保証することは不可能です。
Contents
ブラウザー
世界には日々増大する様々なウェブ・ブラウザがあります。
それぞれを能動的にテストしてサポートするには数が多すぎます。 ここではブラウザー・サポートをめぐる私たちの慣行を説明します。私たちには3つのサポートレベルがあります。 レベルごとにブラウザのカテゴリが異なります。
モダン (Grade A)
このグループ(Grade A)はもっとも高水準なサポートを意味します。モダンなブラウザーの能力を利用して機能を実現し、古いブラウザーに対する互換性が多少崩れることは許容します。ソフトウェアが提供する全ての機能(廃止予定か否かに関わらず)はこれらのブラウザーで必ず動くようにします。
ここに分類されるブラウザーは特定されており (下記参照)、積極的なテストの対象になります。これらのブラウザーで起こる問題は高い優先度で対処されます。
基本 (Grade C)
このグループ(Grade C)には、MediaWiki プラットフォームのコア機能を提供します。私たちのHTTPレスポンスはこれらのブラウザーとの間で互換性を持ちます(たとえばコンテンツで使われる文字符号化や画像形式など、私たちが依存するHTTPの機能はこれらのブラウザーで動作する必要があります)。UIなどのフロントエンドではコンテンツは読める形で提示され、利用者は特定の範囲で操作できることを意味しますが、これらのブラウザーにJavaScriptの機能を与えるわけではありません。
ここに分類されるブラウザーは特定されており (下記参照)、startup module内の機能試験スーツおよびブラックリストに列挙されています。
不明 (Grade X)
このグループ(Grade X)には上記以外の全てのブラウザが入ります。開発が中止されたブラウザやソフトウェア開発のメンテナンスコストを費やすに足る理由がないほどに人気がないブラウザがここに含まれます。
他のグループに含まれていないブラウザーはすべてここに分類されます。
それらのブラウザーだけで利用者が受ける問題の解決は低優先になります。
MediaWiki はこれらのブラウザをモダン(グレードA)のブラウザと同様に処遇し、機能が十分なブラウザーとみなします。この原則には様々な重要な利点があります:
- モダンなブラウザの新バージョンがまだ私たちのテスト対象ではない場合、一時的に「不明」とみなされる可能性があります。不明なブラウザは十分な機能があるとすることで、それらのブラウザでも最適なユーザー体験が保証されます。
- 最新の進化したブラウザーを利用する人にモダンな体験を与えられます。
- モダンなブラウザとして知られているが人気がなかったり、何かの派生版だったりするもの(例: Iceweasel)を使っている人に悪影響が出ません。
実際上、不明とモダンの各グループの違いは、不明グループのブラウザーは積極的にはテストしないということです。
それらのブラウザには完全な機能セットが与えられます。
ブラウザーの対応状況マトリックス
前述の原則やグレードごとの説明は MediaWiki コアや拡張機能にも同じように適用されますが、下記のブラウザ・サポート・マトリックスが適用されるのは MediaWiki コア(およびそれに追従すると決まった拡張機能)に限定されます。個々の拡張機能は、それぞれのブラウザに対する力点が異なる独自のサポート・マトリックスを持っているかもしれません。デスクトップ版のユーザーエージェントの分析による分類ダッシュボードanalytics user agent breakdown dashboard for desktopも参照してください。
ブラウザー: | Chrome | Internet Explorer | Edge | Firefox | Safari | Opera | iOS | Android |
---|---|---|---|---|---|---|---|---|
モダン | 現行バージョンと1つ前のバージョン | 11+[1][2][3][4] | TBC | 現行バージョンと1つ前のバージョン | 5.1+ | 15+ | 6.1+ | 4.1+ |
基本 | 1+ | 6+ | TBC | 3.0+ | 3.0+ | 15.0+ | 5.0+ | 2.0+ |
不明 | その他のすべてのブラウザー |
ブラウザーの対応状況マトリックス(携帯端末)
(最終更新: 2017年3月)
モバイルに特化した外装として例えば Minerva skinならびに携帯端末で動作するよう設計された拡張機能、例えばMobileFrontendには独自の対応状況マトリックスが用意されています。 対応状況マトリックスはanalytics user agent breakdown dashboardから取り入れたデータを集計しています。 ブラウザの使用率が5%を超えるとモダンな能力の体験をサポートします。 過去12か月平均で0.1%超であれば基本的サポートを受けられます。 携帯端末ではGrade Bの提供が目標です。Grade BのユーザーにはJavaScriptの利用ができたりできなかったり一定しませんが、Grade Aほど厳密に試験しないため、バグ修正を優先し発生頻度を低下させます。
OS: | iOS | Android | Windows | Blackberry |
---|---|---|---|---|
モダン (>5% usage) | 8+ | 4.0+ | ||
基本 | 7 | 2 | 8 | * |
不明 | その他すべてのブラウザー |
ブラウザー: | Mobile Safari | Chrome | Android | Opera Mini | IE Mobile | UC Browser | Firefox | Amazon Silk | Blackberry |
---|---|---|---|---|---|---|---|---|---|
モダン (Grade A) | 8+ | 48+ | 4.1+ | ||||||
Modern (Grade B) | 30-48 | 2 | 10+ | 44+ | |||||
基本 (Grade C) | 5 | 4+ | 10+ | 48+ | 7+ | ||||
不明 | その他すべてのブラウザー |
MediaWikiの実行に必要なソフトウェア
PHP
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | master |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7.2.x | ||||||||||||||||||||||||||||||||
7.1.x | ||||||||||||||||||||||||||||||||
7.0.x | ||||||||||||||||||||||||||||||||
5.6.x | ||||||||||||||||||||||||||||||||
5.5.9+ | ||||||||||||||||||||||||||||||||
5.5.0 – 5.5.8 | ||||||||||||||||||||||||||||||||
5.4.x | ||||||||||||||||||||||||||||||||
5.3.3+ | ||||||||||||||||||||||||||||||||
5.3.2 | ||||||||||||||||||||||||||||||||
5.2.3+ | ||||||||||||||||||||||||||||||||
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | master |
5.1.x | ||||||||||||||||||||||||||||||||
5.0.x | ||||||||||||||||||||||||||||||||
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | master |
MediaWiki の最新の安定版ブランチ (1.32) は、PHP 7.0.13 から PHP 7.2 までのあらゆるバージョンで動作します。 PHP 7.2 サポートはMediaWiki 1.31以降に提供されます。
MediaWikiはまだPHP 7.3との完全な互換性はありません。 [5]
ウィキメディア財団は2014年以降HHVM上で MediaWikiを運用していますが、PHP7への移植を計画しており[6]、実現するとMediaWikiはHHVM互換性を停止する可能性が高くなります[7]。 MediaWikiには 1.31版以降、PHP 7.0+ もしくはHHVMが必須です[8]。
Wikimediaのウィキで使用しない機能はHHVM上で適切に動作しないかもしれません。
MediaWiki 1.27はそれぞれの寿命が尽きるまで(バージョン ライフサイクルを参照)セキュリティ・アップデートを受け続け、そのバージョンが使用するPHPに対する互換性を保ちます。
データベース
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | master |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MySQL 5.5.8+ | ||||||||||||||||||||||||||||||||
MySQL 5.0.3+ | ||||||||||||||||||||||||||||||||
MySQL 4.x | ||||||||||||||||||||||||||||||||
MySQL 3.x | ||||||||||||||||||||||||||||||||
SQLite 3+ | ||||||||||||||||||||||||||||||||
PostgreSQL 9.2+ | ||||||||||||||||||||||||||||||||
PostgreSQL 8.3+ | ||||||||||||||||||||||||||||||||
PostgreSQL 8.1 | ||||||||||||||||||||||||||||||||
1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 1.9 | 1.10 | 1.11 | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.22 | 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30 | 1.31 | 1.32 | master |
MediaWiki はさまざまな種類のデータベース サーバーと互換性があります。MySQL への対応に特に力を入れています。(MariaDB も使用できます。)
他のデータベース・ソフトウェアのサポートには心もとない物から安定している物まで幅があります。 MediaWikiはPostgreSQLとSQLite用にデータベースの抽象層を提供しており、それは一般的には良く維持管理されています。 同梱されたOracleとMicrosoft SQL Server用の抽象層は原則的に維持管理されておらず、追加設定なしに動く可能性は低いです。
現時点ではMediaWiki の本番環境にMySQL と MariaDB 以外のソフトウェアを使用することは推奨されません。
ウェブサーバー
MediaWiki は、互換性があるバージョンの PHP を実行できる主要なウェブ サーバーすべてと、広く互換性があります。 Apache が最も多く使用されており、動作テストも最も多くされています。 HHVMとnginxも同様に良い選択です。
MediaWiki 拡張機能
拡張機能の適切なメンテナンスが続く限り(説明文書のページにある情報ボックス最上段で確認可能)、その拡張機能のマスターブランチはMediaWikiマスターブランチと互換性を保つ必要があります。 旧版のMediaWikiとの互換性を検討するには、拡張機能に適用される共通の方針が2つあります:
- マスター (key: master): 拡張機能のマスターブランチはMediaWiki最新版ならびに旧版と互換性を保つ。 必要に応じて、下位互換性ハックが拡張機能のソースコードに追加されます。
- リリースブランチ (key: rel): 各MediaWiki リリース版には、必ず拡張機能のブランチが対応する。 ということは例えばMediaWiki 1.32を使用するときは必ず拡張機能のREL1_32ブランチを使用します。
{{Extension}}情報ボックス内のcompatibility policy
欄にはその拡張機能で採用する方針はどれか示しています。情報を絞り込むには、上記に示した中から適したキーを選んでください。
拡張機能のなかには互換性について独自の方針を通すものもあります。例えば:
注記
- 青色のソフトウェアはサポート中であり、オレンジ色のソフトウェアはサポートされていません。
- ↑ MediaWiki 1.31 時点で、Internet Explorer 10 向けの JavaScript は無効になりました T187869
- ↑ MediaWiki 1.29 時点で、Internet Explorer 9 向けのJavaScriptとES5以外のJavaScriptは無効になりました。 T128115 [1]
- ↑ MediaWiki 1.27 時点で、Internet Explorer 8 向けの JavaScript は無効になりました [2], gerrit:252383
- ↑ MediaWiki 1.24 時点で、Microsoft Internet Explorer 6 と 7 の JavaScript サポートは無効化されました。これらのブラウザーは古く、サポートされておらず、パッチのあたっていないセキュリティ上の脆弱性がいくつかあります。IE6 と IE7 の報告をご覧ください。 特に IE6 の使用はマイクロソフトが強く非推奨としています。[3] [4] [5]
- ↑ Phabricator PHP 7.3 support project
- ↑ Phabricator T176370
- ↑ Phabricator T192166
- ↑ Phabricator T172165
関連項目
- MediaWikiバージョンのバージョン ライフサイクル
- No-JavaScript notes