Manual:拡張機能

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

拡張機能は、MediaWiki の外観や動作をカスタマイズできるようにします。

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

拡張機能の種類

  パーサー タグ

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

  パーサー関数

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

  フック

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

  特別ページ

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

  外装

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

  マジックワード

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

  API

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

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

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

  認証

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

拡張機能を見つける

拡張機能の参照

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

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

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

人気の拡張機能

人気の拡張機能を見つける方法は複数あります。

最初のセットは MediaWiki にバンドルされているものです (定期的にレビューされ、誰でも追加を提案できます)。

MediaWiki.org から ExtensionDistributor メカニズムを介してダウンロードされる拡張機能には、いくつかの統計が収集されます。 上位 15 の最もダウンロードされた拡張機能が Special:ExtensionDistributor に列挙されており、該当する拡張機能にはそのダウンロード数が情報ボックスに表示されます。 これらの数字には GitComposer などの別の方法での拡張機能のインストールが含まれていないことにご注意ください。

3 番めの選択肢は、拡張機能がインストールされているウィキの数を示す WikiApiary の集計を確認することです。 これには、単なるダウンロードではなく実際のインストールを表すという利点があります (つまり、ウィキの API に問い合わせます)。しかし (2023年現在) 完全に最新というわけではありません。 また、非公開ウィキでのインストールを数えません。


拡張機能のインストール

詳しい手引きについては、Manual:Extensions/Installation and upgrade を参照

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

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

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

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

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

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

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

wfLoadExtension( 'ExtensionName' );
  • 拡張機能の設定に関係する行はすべて削除する必要があります。

関連項目