Open main menu
This page is a translated version of the page Developer hub and the translation is 96% complete.

Outdated translations are marked like this.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Tiếng Việt • ‎Türkçe • ‎català • ‎dansk • ‎español • ‎français • ‎galego • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎suomi • ‎čeština • ‎Ελληνικά • ‎български • ‎русский • ‎тоҷикӣ • ‎עברית • ‎العربية • ‎سنڌي • ‎فارسی • ‎মেইতেই লোন্ • ‎සිංහල • ‎ไทย • ‎中文 • ‎日本語 • ‎粵語 • ‎한국어

Contents

Community Noun project 2280.svg 利用者 Octicons-terminal.svg システム管理者 Source code project 1171.svg 開発者 OOjs UI icon language-ltr.svg 翻訳者

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

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

概要

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

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

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

MediaWiki primarily uses the MySQL and MariaDB database servers.[4]

開発はオープンソース方式Cite error: Closing </ref> missing for <ref> tag

  • ほとんどのプロジェクトはコードリビューGerrit で実施しています。パッチ提出の準備としてGitとGerritを設定するには、チュートリアルに従ってください。
  • バグの報告およびほとんどのプロジェクトのタスクはPhabricatorで管理されています。
  • 開発者で(コアのコード書きではなく)MediaWikiの拡張インターフェイスに取り組む場合は、APIHooksシステムやSkinsなど、いくつか便利な拡張ポイントがあります – 概要はこのページ内の「#MediaWikiを拡張する」節にまとめてあります。

主要な文書

コード、開発、スタイル

デバッグとテスト

アーキテクチャー

下位システム

  • API - MediaWiki の API は、MediaWiki のデータベースに含まれるデータへの直接的で高レベルのアクセス手段を提供します。
  • ContentHandler(コンテンツハンドラー) – 特殊な種類のコンテンツをサポートするMediaWikiのフレームワーク。
  • データベース アクセス – MediaWikiにおけるデータベース利用の概要と、データベース抽象化層の簡単なガイド。
  • ジョブ キュー – MediaWikiで長時間実行されるタスクを非同期に処理するフレームワーク。
  • メッセージAPI – PHPまたはJavaScriptでローカライズされたアプリケーションメッセージを提供する、MediaWikiのフレームワーク。

MediaWikiを拡張する

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

  • API - Web API を使用して、MediaWiki インスタンスのデータやメタデータにアクセス
  • フック – 指定されたイベントが発生するたびに何かをします。
  • パーサー関数 – 新しいコマンドを作成します。例: {{#if:...|...|...}}
  • 外装 – MediaWiki の外観を変更します。
  • 特別ページ – 新しい特別ページを追加します。
  • タグ拡張機能 – 新しいタグを作成します。例: <newtag>...</newtag>
  • ウィキ マークアップの拡張 – ウィキテキストの内容を変更するパーサーフックを追加します。

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

外装開発者向けのヘルプ

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

脚注

  1. MediaWiki全体がPHPで書かれているわけではありません。サポート用ツールのなかには別の言語で書かれたものがあり、バッチファイルシェルスクリプトのほかmakefilesPythonが使われています。
  2. MediaWiki はPHPをサポートするプラットフォームであれば走りますが、LAMP以外のプラットフォームだと、ユーティリティやOS拡張機能が不足していると機能やパフォーマンスが制限されます。
  3. MySQLMariaDB以外にも、MediaWikiがサポートするデータベースOraclePostgreSQLSQLiteMicrosoft SQL Serverなどがあります。
  4. MediaWiki has support for DBMS other than MySQL and MariaDB, including Oracle, PostgreSQL, SQLite, and Microsoft SQL Server.