Open main menu

Manual:拡張機能

This page is a translated version of the page Manual:Extensions and the translation is 100% complete.

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Esperanto • ‎Tiếng Việt • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎čeština • ‎Ελληνικά • ‎български • ‎мокшень • ‎русский • ‎العربية • ‎سنڌي • ‎پښتو • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어
開発 タグ拡張機能 パーサー関数 フック 特別ページ 外装 マジックワード API Content models

拡張機能とは、MediaWiki の外観や動作をカスタマイズさせるものです。

拡張機能には、MediaWiki の開発者によって保守されているものもありますが、サードパーティーの開発者によって書かれたものもあります。 その結果、拡張機能の多くがバグを有し、相互に互換性があることを保証されているわけではありません。 一部のものはメンテナンスがされていません。したがって、すべての拡張機能が、MediaWikiのすべてのバージョンで動作するわけではありません。 どの拡張機能であっても、特に安全ではないというタグが付けられたものについては、自己責任で使用して下さい。 コアソフトウェアにパッチを適用する必要がある拡張機能を使う場合、データベースのバックアップをとるようにしてください。 これはウィキが壊れてしまうリスクを回避するのに役立ちます。

拡張機能の種類

  パーサー タグ

パーサータグはあらかじめ組み込まれたウィキマークアップに機能を追加します。対象は単純な文字列処理から本格的な情報検索にまでおよびます。


パーサータグについてより詳しく知る

  パーサー関数

パーサー関数は特別なマークアップ文法で、ページ内にある他のウィキ要素と'やり取り'したり、特別な内容を出力したりすることができます。


パーサー関数についてより詳しく知る

  フック

フックを使うと、ある決められたイベント(ページの保存、ユーザのログインなど)が発生したときに独自のコードを実行することができるようになります。


フックについてより詳しく知る

  特別ページ

特別ページは、特定の機能を実行するためソフトウェアがその都度作成するページです。


特別ページについてより詳しく知る

  外装

外装を使ってMediaWikiの見た目や雰囲気を自分の好みに合わせて調整することができます。


外装についてより詳しく知る

  マジックワード

マジックワードは、さまざまなウィキテキスト文字列をある機能に関する単一のIDに対応づけるための手法の一つです。


マジックワードについてより詳しく知る

  API

Mediawikiは、認証、ページ操作、検索などのウィキ機能を扱うウェブサービスを提供するAPIを提供しています。


MediaWiki APIについてより詳しく知る

  ページのコンテンツ モデル

MediaWiki 1.21 で導入されたContentHandler を使うと、JSONやマークダウンのようなウィキテキスト以外で構成することができます。


コンテンツモデルについてより詳しく知る

  認証

MediawikiはSessionManagerとAuthManagerという二つの認証に関するしくみを備えていて、これを使うとカスタマイズした認証のしくみを使ってセキュリティを向上することができます。


認証についてより詳しく知る

拡張機能の参照

カテゴリ:Extensions by category では、これまで書かれたあらゆる種類の拡張機能を閲覧することができます。 これらの拡張機能をインストールしたり、独自に拡張機能を作ったりするための情報については、下記をご覧下さい。

インストールされた拡張機能の確認

MediaWikiに拡張機能をインストールできるのは、サーバのファイルシステム(データベースを含む場合も多い)にアクセスできる管理者に限られますが、誰でも Special:Version ページにアクセスすることで、MediaWikiのインスタンスでどの拡張機能がアクティブになっているかを確認することができます。 たとえば、ここにあげている拡張機能は、英語版ウィキペディアでは有効です。

拡張機能のインストール

MediaWiki はインストールが終わった直後に既に拡張機能を受け入れる用意ができています。 拡張機能を追加するために以下のステップに従います:

  1. 始める前に
    いくつかの拡張機能はパッチのインストールが要求されます。それらの多くはunixコマンドの使用によるインストールのために設計された手引きを提供しています。 拡張機能ヘルプページにリスト表示されたこれらのコマンドを入力するためにシェルアクセス(SSH)の権限が要求されることもあります。
  2. 拡張機能をダウンロードする。
    Extension Distributorは、よく用いられている拡張機能を選び、ダウンロードする手助けをしてくれます。
    通常、拡張機能はモジュール パッケージとして配布されます。 それらは一般的に $IP /extensions/ の独自のサブディレクトリに入ります。 ウィキメディアの Git リポジトリに保存された拡張機能の一覧は git:mediawiki/extensions にあります。 拡張機能の中には、履歴管理をしていないものがあり、使用は推奨されません。
    拡張機能のなかにはbundlescomposer package repositoriesで利用可能なものもあります。
  3. 拡張機能をインストール.
    LocalSettings.php ファイルの末尾に、以下を追加します:
    wfLoadExtension( 'ExtensionName' );
    
    この行はPHPインタプリタに拡張機能ファイルを読み込むことを強制し、その結果MediaWikiにアクセス可能にします。
    拡張機能の中には、メンテナンススクリプトと衝突するものもあります。例えば $_SERVER に直接アクセスする(非推奨)場合です。
    この場合、メンテナンススクリプトが動作するように、条件文で包むことができます。
if ( !$wgCommandLineMode ) {
   wfLoadExtension ( 'ExtensionName' );
}
上記の条件文の中で加えられる特別な名前空間を必要とするすべての拡張機能に対して、メンテナンススクリプト importDump.php は失敗します。そのような拡張機能は、例えば Extension:Semantic MediaWiki Extension:Semantic Forms です。
拡張機能用に必要な権限が設定されていることを確認してください!
このインストール手順は、ほとんどの拡張機能にあてはまりますが、異なったインストール手順が必要なものもあります。 詳細は、拡張機能のドキュメントを確認して下さい。
LocalSettings.php で設定の変数を変更したい場合は、通常は拡張機能のインクルードの後で行う必要があります。 そのようにしない場合、拡張機能内で定義されている既定値があなたの設定を上書きします。


拡張機能のアップグレード

拡張機能のなかには、複数のバージョンで動作するものもありますが、MediaWikiの更新ごとにアップデートしなければならないものもあります。 拡張機能を新しいバージョンにアップグレードするためには:

  1. 新しいバージョンの拡張機能をダウンロードします。
  2. extension/ExtensionName ディレクトリにある拡張機能のすべてのファイルを、新しいファイルに置き換えます。 LocalSettings.phpにある拡張機能の設定は、削除しないで下さい。
  3. 拡張機能がMediaWikiデータベースの変更を必要とする場合、メンテナンススクリプトのUpdate.phpを実行する必要があるかもしれません。 ほとんどの拡張機能は、このスクリプトを実行する必要があるかどうかについて言及しています。 (スクリpト実行前にデー他のバックアップを取ってください)。 もしコマンドラインにアクセスできない場合には、web updaterを使うこともできます。
この説明は、拡張機能の99%にあてはまります。 もし、あなたがアップグレードしようとしている特殊な拡張機能が、上と異なる説明をしていたならば、その拡張機能の説明に従うべきだろうと思います。

拡張機能のアンインストール

アンインストールするには、拡張機能の名前が書かれた行を LocalSettings.php から削除してください。

wfLoadExtension( 'ExtensionName' );
  • 拡張機能の設定に関係する行はすべて削除する必要があります。
  • 拡張機能がデータベースに対し何らかの変更を加えていた場合、update.php を実行してそれを元に戻してください。

関連項目