Developer hub/ja

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


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

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

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

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

開発はオープンソース方式で行われます. 大部分はオンラインでの調整となっており、ウィキメディア財団はサポートしていますが、ボランティアのコミュニティ開発者も大きな役割を果たしています.


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

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


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