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 88% 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 拡張機能:Manual:Extensions 開発Manual:Developing extensions タグ拡張機能Manual:Tag extensions パーサー関数Manual:Parser functions フックManual:Hooks 特別ページManual:Special pages 外装Manual:Skins マジックワードManual:Magic words APIAPI:Extensions Content modelsManual:Page content models

拡張機能とは

MediaWiki の拡張機能

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

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

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

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

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

拡張機能の参照

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

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

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

拡張機能のインストール

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

  1. 始める前に
    いくつかの拡張機能はパッチのインストールが要求されます。それらの多くはunixコマンドの使用によるインストールのために設計された手引きを提供しています。 拡張機能ヘルプページにリスト表示されたこれらのコマンドを入力するためにシェルアクセス(SSH)の権限が要求されることもあります。
  2. 拡張機能をダウンロードする。
    Extension Distributorは、よく用いられている拡張機能を選び、ダウンロードする手助けをしてくれます。
    通常、拡張機能はモジュール パッケージとして配布されます。 それらは一般的に $IPManual:$IP/extensions/ の独自のサブディレクトリに入ります。 ウィキメディアの Git リポジトリに保存された拡張機能の一覧は git:mediawiki/extensions にあります。 拡張機能の中には、履歴管理をしていないものがあり、使用は推奨されません。
    拡張機能のなかにはbundlescomposercomposerpackage repositoriesで利用可能なものもあります。
  3. 拡張機能をインストールする。.
    一般的に、LocalSettings.phpManual: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.phpManual:ImportDump.php は失敗します。そのような拡張機能は、例えば Extension:Semantic MediaWikiExtension:Semantic MediaWikiExtension:Semantic FormsExtension:Semantic Forms です。
拡張機能用に必要な権限が設定されていることを確認してください!
このインストール手順は、ほとんどの拡張機能にあてはまりますが、異なったインストール手順が必要なものもあります。 詳細は、拡張機能のドキュメントを確認して下さい。
LocalSettings.php で設定の変数を変更したい場合は、通常は拡張機能のインクルードの後で行う必要があります。 そのようにしない場合、拡張機能内で定義されている既定値があなたの設定を上書きします。
警告! 警告: 拡張機能の宣言は LocalSettings.php ファイル内の他の場所に置くこともできますが、MediaWiki バージョン 1.17 未満では、require_once "includes/DefaultSettings.php"; の行より前に拡張機能を置かないでください。 そのようにすると、拡張機能の設定関数の配列が空になり、拡張機能が何もインストールされていない状態になります。おそらく、それを直すまであなたのウィキにアクセスできなくなるでしょう。


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

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

  1. 新しいバージョンの拡張機能をダウンロードします。
  2. extension/ExtensionName ディレクトリにある拡張機能のすべてのファイルを、新しいファイルに置き換えます。 LocalSettings.phpにある拡張機能の設定は、削除しないで下さい。
  3. 拡張機能によっては、メンテナンススクリプトのUpdate.phpを実行しなければならないかもしれません。 ほとんどの拡張機能は、このスクリプトを実行する必要があるかどうかについて言及しています。 (update.phpを実行する必要がない場合に実行したとしても、何も損害はありませんので、もしよくわからない場合には実行してみましょう。) もしコマンドラインにアクセスできない場合には、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>' );
Depending on the extension you want to uninstall additionally other stuff might be done on installation, which you want to undo now. For details see the section on installing an extension.
  1. この行を削除すれば、拡張機能はアンインストールされます。 もし望むならば、"extensions/"フォルダ内にあるその拡張機能のファイルを削除することができます(もしその拡張機能を将来的に使いたくないならば、削除してしまいましょう)。
  2. 恐らく、LocalSettings.php内には、削除しようと思っている拡張機能が動作するのに必要なことが書かれた他の行もあるでしょう。 Most likely this will be lines, which give certain users the right to access pages, which are provided by the extension. These lines contain the variable "$wgGroupPermissions" and make some settings there. As far as they have to do with rights, which come from the removed extension, you can remove these lines as well.
  3. Maybe your extension also has added columns to your database. The updater maintenance/update.php removes them, when you run it, after you have uninstalled the extension.

拡張機能の開発

This complex topic is handled on the developing extensions manual page.

関連項目

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