Manual:拡張機能

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Extensions and the translation is 100% complete.

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

拡張機能とは

MediaWiki の拡張機能

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

ウィキの利用者は、既存の拡張機能を閲覧したり、新たな拡張機能を要求することができます。 管理者であれば MediaWiki 上の拡張機能を管理することができ、インストール、あるいは削除を行うことができます。 開発者は、新しい拡張機能の作成改善・改良ができます。

拡張機能をキーワードで検索:

拡張機能は以下のように使われます:

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

拡張機能の参照

カテゴリ: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 ファイルの末尾に(PHPのコードの終わりの区切り文字「?>」より上の行)、次の行を追加します:
    // mw.v 1.24.x or less
    require_once "$IP/extensions/extension_name/extension_name.php";
    // mw.v 1.25.x or above
    wfLoadExtension( '<extension-name>' );
    
    この行はPHPインタプリタに拡張機能ファイルを読み込むことを強制し、その結果MediaWikiにアクセス可能にします。
    拡張機能の中には、メンテナンススクリプトと衝突するものもあります。例えば $_SERVER に直接アクセスする(非推奨)場合です。
    この場合、メンテナンススクリプトが動作するように、条件文で包むことができます。
//for mw.v 1.24.x or less
if ( !$wgCommandLineMode ) {
   require_once "$IP/extensions/extension_name/extension_name.php";
}
//for mw.v 1.25.x or above
if ( !$wgCommandLineMode ) {
   wfLoadExtension ( '<extension-name>' );
}
上記の条件文の中で加えられる特別な名前空間を必要とするすべての拡張機能に対して、メンテナンススクリプト importDump.php は失敗します。そのような拡張機能は、例えば Extension:Semantic MediaWiki Extension:Semantic Forms です。
拡張機能用に必要な権限が設定されていることを確認してください!
このインストール手順は、ほとんどの拡張機能にあてはまりますが、異なったインストール手順が必要なものもあります。 詳細は、拡張機能のドキュメントを確認して下さい。
LocalSettings.php で設定の変数を変更したい場合は、通常は拡張機能のインクルードの後で行う必要があります。 そのようにしない場合、拡張機能内で定義されている既定値があなたの設定を上書きします。
警告! 警告: 拡張機能の宣言は LocalSettings.php ファイル内の他の場所に置くこともできますが、MediaWiki バージョン 1.17 未満では、require_once "includes/DefaultSettings.php"; の行より前に拡張機能を置かないでください。 そのようにすると、拡張機能の設定関数の配列が空になり、拡張機能が何もインストールされていない状態になります。おそらく、それを直すまであなたのウィキにアクセスできなくなるでしょう。


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

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

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

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

拡張機能を追加するには、LocalSettings.phpに以下のような行を追加します。

// mw.v 1.24.x or less
require_once "$IP/extensions/extension_name/extension_name.php";
// mw.v 1.25.x or above
wfLoadExtension( '<extension-name>' );
合わせて他の拡張機能をアンインストールしたい場合、インストール時に行ったその他の処理をいま解除する方法があります。 詳細については、拡張機能のインストールに関する節をご参照ください。
  1. この行を削除すれば、拡張機能はアンインストールされます。 もし望むならば、"extensions/"フォルダ内にあるその拡張機能のファイルを削除することができます(もしその拡張機能を将来的に使いたくないならば、削除してしまいましょう)。
  2. LocalSettings.php内には、削除したいと思っている拡張機能に関連する内容が恐らく他にも何行か書かれてあるはずです。 数行にわたる可能性が最も高く、拡張機能によって特定の利用者に対し、ページへのアクセスを承認する特定の権限が付与されます。 これらの行には「$wgGroupPermissions」変数が含まれ、そこで設定をいくつか行います。 除去した拡張機能によって付与された権限に関しては、これらの行も削除してかまいません。
  3. ご利用の拡張機能は、おそらくデータベースに欄を追加したと考えられます。 拡張機能の削除後にアップデータを実行すると、それらはmaintenance/update.phpによって除去されます。

拡張機能の開発

この話題は複雑なため、改めて拡張機能の開発のマニュアルページで扱います。

関連項目

拡張機能 : カテゴリ すべて 依頼タグ拡張機能 拡張機能 FAQ 拡張機能のフック登録所拡張機能の既定の名前空間