Developer hub/ja

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


 * ウィキメディアの web API を使用したい場合は、Web API ハブ (作業中) を参照してください.
 * ウィキメディアのソフトウェア開発に貢献したい場合は、New Developersを参照してください.
 * MediaWikiおよびその拡張機能の開発の入門ガイドについては、MediaWiki のハッカーになるにはを参照してください.
 * If you want to collaborate with other third-party MediaWiki users, the MediaWiki Stakeholders' Group (MWStake) is a MediaWiki user group consisting of MediaWiki developers, system administrators, users, consultants, and hosting providers.

概要
MediaWiki is the software that powers Wikipedia, its sister projects and thousands of wikis all over the world.

MediaWiki is written in the PHP programming language. It uses jQuery as the client JavaScript library.

MediaWiki is primarily written for the LAMP platform and runs on most operating systems. MediaWiki primarily uses the MySQL and MariaDB database servers.

Development happens in an open source style, is largely coordinated online, and supported by the Wikimedia Foundation, though volunteer community developers play a huge part as well.


 * 開発についての議論がさまざまなメーリング リストや IRC チャンネルで行われています. 主な開発者リストはwikitech-l. 主な開発者 IRC は#mediawikiと#wikimedia-devです.
 * ソースコードは、Git を使用して保守されています.
 * Code review for most projects is performed on . Follow this tutorial to set up Git and Gerrit in order to submit patches.
 * Bug reports and tasks for most projects are managed on Phabricator.
 * Developers extending or interfacing with MediaWiki (instead of working on the core code) have several convenient extension points, including the API, the Hooks system and Skins – see the #Extending MediaWiki section of this page for an overview.

主要な文書


コード、開発、スタイル

 * Development policy – 主要な開発ポリシーの概要
 * コーディング規約 – MediaWiki のスタイルでコードを書く方法を学習しましょう.
 * Security for developers – MediaWiki をセキュアなものに保つ方法を学習しましょう.
 * コミット前のチェックリスト – コードをコミットする前にこのチェックリストをお読みください
 * コード レビュー ガイド – MediaWiki のソースコードへのコミットのレビュアー向けのガイド
 * Requests for Comment (RfC) – read about or suggest new features for the MediaWiki ecosystem.

デバッグとテスト

 * デバッグの方法 – MediaWiki をデバッグするためのガイド
 * Manual:Errors and symptoms – an overview of common MediaWiki errors and their correlating symptoms.
 *  – MediaWiki 用の UI テストを Selenium を使用して記述する方法を学習しましょう.
 * 単体テスト – MediaWiki 用の単体テストを PHPUnit を使用して記述する方法を学習しましょう.
 *  – 安全性の高いコードの書き方はこちらで習得できます.



アーキテクチャ

 * Manual:コード – MediaWiki のソースコードの主要な部分の概要
 * データベース レイアウト – MediaWiki のデータベース スキーマの概要
 * グローバル オブジェクト変数 – 主要なグローバル変数の部分的な一覧
 * 地域化 – MediaWiki の国際化システムについて学習しましょう.
 * このウィキの Manual 名前空間 – 開発者向けの説明文書
 * [//doc.wikimedia.org/mediawiki-core/master/php/ MediaWiki Class Reference] – technical documentation generated from the MediaWiki source code. (Note: The class reference is a large, slow-to-load page.)
 *  – manuals, guides, collections of selected articles.

下位システム

 * API - MediaWiki の API は、Mediawiki のデータベースに含まれるデータへの直接的で高レベルのアクセス手段を提供します
 * ContentHandler – MediaWiki's framework for supporting custom types of page content.
 *  – an overview of using databases in MediaWiki, including a brief guide to the database abstraction layer.
 *  – MediaWiki's framework for processing long-running tasks asynchronously.
 *  – MediaWiki's framework for providing localized application messages with PHP or JavaScript.

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


 * API - Web API を使用して、MediaWiki インスタンスのデータやメタデータにアクセス
 * フック – イベントが発生するたびに何かをします.
 * パーサー関数 – 新しいコマンドを作成します. 例:
 * 外装 (スキン) – MediaWiki の外観を変更します.
 * 特別ページ – 新しい特別ページを追加します.
 * タグ拡張機能 – 新しいタグを作成します. 例:
 * Extending wiki markup – add a parser hook to modify the content of wikitext.

拡張機能開発者向けのヘルプ

 * Manual:Developing extensions – a guide to developing extensions.
 * Project:WikiProject Extensions
 * Extensions FAQ
 * See Category:Extensions, for a list of extensions.
 * Manual:$wgExtensionFunctions – use to defer setup (or run other callbacks) for extensions until after the MediaWiki core is setup.
 * Extension:BoilerPlate - a blank extension template

外装開発者向けのヘルプ

 * Manual:Skinning Part 1 – instructions on how to create a skin for MediaWiki.
 * Manual:Skin configuration – a guide to configuring skins for a wiki.

ライブラリのコードの再利用についてのヘルプ

 * – a guide to packaging third-party libraries for use with MediaWiki.

サードパーティウィキの使用

 * - エンタープライズ ウィキ向け
 * - 学術的なウィキ向け