Developer hub/ja

このページでは、MediaWiki 開発の高度な概要を記述しており、MediaWiki 開発者が利用する重要な文書、リソース、ツールへのリンクを含んでいます. 対象は'''MediaWiki の使用経験があり、熟練したLAMP開発者です. '''


 * ウィキメディアの web API を使用したい場合は、Web API ハブ (作業中) を参照してください.
 * ウィキメディアのソフトウェア開発に貢献したい場合は、New Developersを参照してください.
 * MediaWikiおよびその拡張機能の開発の入門ガイドについては、MediaWiki のハッカーになるにはを参照してください.
 * もし外部のMediaWiki利用者と協同したい場合には、MediaWiki開発者やシステム管理者、利用者、コンサルタントのほかホスティングのプロバイダが集まるMediaWiki 利用者グループは、 (MWStake：MediaWiki利害関係者グループ) です.

概要
MediaWiki は、ウィキペディアとその姉妹プロジェクト群や世界中の数多くのウィキを支えるソフトウェアです.

MediaWikiはPHPプログラミング言語. jQueryをクライアントJavaScriptライブラリに使っています.

MediaWiki は基本的にLAMP プラットフォーム向け で、ほとんどのOSで有効です. 基本的に MediaWiki ではデータベースサーバに MySQL と MariaDB を使用します.

開発はオープンソース方式 で、大部分をオンライン環境で調整し、ウィキメディア財団の経済的支援を受けています. ただしボランティアのコミュニティに属する開発者の皆さんにも多大な役割を果たしています.


 * 開発についての議論がさまざまなメーリング リストや IRC チャンネルで行われています. 主な開発者リストはwikitech-l. 主な開発者 IRC は#mediawikiと#wikimedia-devです.
 * ソースコードは、バージョン管理システム Git を使用して管理しています.
 * ほとんどのプロジェクトはコードリビューをで実施しています. パッチ提出の準備としてGitとGerritを設定するには、チュートリアルに従ってください.
 * バグの報告およびほとんどのプロジェクトのタスクはPhabricatorで管理されています.
 * 開発者で（コアのコード書きではなく）MediaWikiの拡張やインターフェイスに取り組む場合は、API、HooksシステムやSkinsなど、いくつか便利な拡張ポイントがあります – 概要はこのページ内の「#MediaWikiを拡張する」節にまとめてあります.

MediaWikiを拡張する
MediaWiki は「コアコード」を変更することなく修正できるように設計されています. これにより、古い拡張機能のコードの変更に手作業でマージすることなく新しい MediaWiki のバージョンを更新することが簡単になります. MediaWiki ができることを開発者が変更・拡張できるようにするための、拡張機能の主要なポイントが 6 つあります. 拡張機能のポイントは以下の通りです:


 * API - Web API を使用して、MediaWiki インスタンスのデータやメタデータにアクセス
 *  – 指定されたイベントが発生するたびに何かをします.
 *  – 新しいコマンドを作成します. 例:
 *  – MediaWiki の外観を変更します.
 *  – 新しい特別ページを追加します.
 *  – 新しいタグを作成します. 例:
 *  – ウィキテキストの内容を変更するパーサーフックを追加します.