Manual:画像の管理

This page is a translated version of the page Manual:Image administration and the translation is 76% complete.
Outdated translations are marked like this.

この記事ではMediaWikiがどのようにファイルを処理し、保存するかを説明し、設定に関するいくつかの情報を説明します。

これは画像だけでなく、アップロード可能な他のタイプのファイルにも適用されます。 すべてのファイルは、「File:」名前空間内の対応する記事に格納されます。 MediaWiki 1.14 未満では、代わりに "Image:" 名前空間が使用されていました。 “Image:”は下位互換性のために、現在でも別名として残されています。

画像のアップロードと使用

Help:画像 を参照してください

画像のアップロードの有効化

画像をアップロードするために、以下の条件を満たさなければなりません:

  1. MediaWikiのアップロードが有効になっている。 $wgEnableUploads true を設定します。
  2. ファイルタイプが許可されなければなりません。 詳細情報: $wgFileExtensions
  3. 利用者が「upload」権限を持つグループに属していなければなりません。 既定では、この権限はすべてのログイン利用者に付与されています。

Special:Upload でアップロードがなされます。

Manual:ファイルのアップロードの設定 Manual:MIME タイプ検出 Manual:Adding support for new filetypes を参照してください。

画像を取り扱うための関連パラメータ

以下のパラメータが関連しています:

画像のサムネイル化

MediaWiki's image syntax allows dynamic resizing and thumbnailing of images (see Manual:ファイルのアップロードの設定 for general help on file uploads).

画像のサムネイル作成には ImageMagickGD ライブラリのいずれかが必要です。既定の MediaWiki のインストレーションにはこれらのソフトウェアはどちらも付属しません。

GD

PHP comes with GD graphics library enabled by default. GD will not require any configuration or modification to be used.

Windows 環境では GD の使用を推奨します

GD can be downloaded from https://libgd.github.io/. 最近のバージョンではこれは必須ではありません。

ImageMagick

In MediaWiki, enable ImageMagick in LocalSettings.php by setting $wgUseImageMagick to true.

ImageMagick can be downloaded from https://imagemagick.org/.

Once ImageMagick is installed, you must enable ImageMagick and point MediaWiki to the convert or convert.exe program on your computer in LocalSettings.php like this:

$wgUseImageMagick = true;
#$wgImageMagickConvertCommand = 'C:/ImageMagick/convert.exe'; # for Windows
$wgImageMagickConvertCommand = '/usr/bin/convert'; # for Linux

ImageMagickを使っている場合は、LocalSettings.php 内の $wgUseImageMagick true にしてください。 コマンドが Web サーバー プロセスで実行可能であることを確認します。 For example, Windows users will want to change the default to "C:\ImageMagick\convert.exe" (or similar).

ImageMagickを使用する前の古いサムネイルファイルを再作成するには、$wgThumbnailEpoch を使用することができます。

レンダリングがサイレントに失敗する場合は、$wgMaxShellMemory を確認して増やしてください。

See the help page on Image Thumbnails not working for troubleshooting.

GraphicsMagickは、ImageMagickの代替として使用することもできます。 $wgCustomConvertCommand を以下のように設定する必要があります。 例:

$wgUseImageMagick = false;
$wgCustomConvertCommand = "gm convert %s -resize %wx%h %d";

Image formats

GIF

WindowsでGIFアニメーションをサムネイル化するには、上記のようにImageMagickをインストールする必要があります。

SVG

 
Wikimania 2016でDynamic SVGに関するプレゼンテーションを行いました。

MediaWikiはSVG画像のレンダリングをサポートしています: 有効にした場合、SVGは他の画像ファイルのように使用されます; それらは要求に応じて自動的にPNGファイルにレンダーされます。 共有ホストで、SVGレンダラーがプリインストールされていない場合は、プロバイダーに頼んでインストールしてもらった方がいいかもしれません。

SVGサポートを有効にするためには以下のようにします:

  1. 最初に、SVG ファイルのアップロードをできるように LocalSettings.php$wgFileExtensions [] = 'svg'; を設定してください。セキュリティ上の理由から MediaWiki は JavaScript を含む SVG は拒否することにご注意ください。
    ファイルが破損しているというエラーが出る場合、MIME タイプ検出 が適切に動作していることを確認してください。
  2. $wgSVGConverter LocalSettings.php に追加して、使用したいレンダラーを設定します。
    利用可能なオプションは ImageMagick, ImagickExt, sodipodi, inkscape, batik, rsvg, and imgserv です。
    例: $wgSVGConverter = 'ImageMagick';
    • 変換プログラムがシステム パスにない場合、$wgSVGConverterPath を使用してプログラムを含む ディレクトリ を指定しなければなりません。.
    • librsvgは高速ですが、あまり正確ではありません。 多数のライブラリに依存しています。これらのライブラリをすべて自動的にインストールするには、パッケージマネージャを使用するとよいでしょう。 ウィキメディアのプロジェクト群では rsvg を使用しています。

そのSVG解析はより厳密で、他のレンダラーが受け入れる「ほとんど有効な」SVGファイル(例えば、commons:File:UbuntuCoF.svg)を拒否する原因となっているのです。 BatikはJavaに依存しており、rsvgよりはるかに遅いですが、常にSVGファイルを追加するのでなければ、これは大きな問題ではないかもしれません。 SVG benchmarks を参照してください。 ディストリビューションに含まれていない場合、動作させるために多くの作業を必要とします。

    • InkscapeもまたSVGを正確に処理し、rsvgの半分の速度ですが、インタラクティブなグラフィックの使用のために設計されています。しかし、ビューア/変換プログラムである inkviewが付属しており、実行ユーザーのために書き込み可能なホームディレクトリを必要とします。 Since it will be running as user www or something similar, it will try to create .inkscape/ and .gnome2/ directories in the corresponding home directory, and will fail silently, crash or hang indefinitely if it is not able to. Inkscape は rsvg よりも (a) Windows で (スタンドアロンパッケージとして提供されます)、または (b) Inkscape で描いた重要な SVG が rsvg では正しくレンダリングできない場合、望ましいとされています。 Inkscapeはlibrsvgと同じくらい複雑な依存関係を持っています。あなたのディストリビューションに含まれているか、完全なスタンドアロンパッケージとして利用できる場合のみ使用してください。
    • Sodipodi is the program Inkscape was forked from.

同様の配慮が必要です。Sodipodは現在アクティブな開発中ではありません。

    • ImageMagick is the default but its rendering works imperfectly; avoid it if possible.
      • Windows では、Windows 自身の convert.exe との競合を避けるために $wgConvertPath を設定する必要があります。 このシナリオでの簡単な代替案は、LocalSettings.php$wgSVGConverters['ImageMagick'] = '"' . $wgImageMagickConvertCommand . '" -background white -thumbnail $widthx$height^! $input PNG:$output'; という行を追加し、パスにスペースを入れることもできるようにすることです。
      • To prevent thumbnail creation errors with ImageMagick, if it's ≥ 7.0.9-25, then Inkscape must also be ≥ 1.x.x. Likewise, if ImageMagick is < 7.0.9-25, then Inkscape must also be < 1.x.x.

See ImageMagick issue.

    • The PHP Imagick extension supports SVG rendering, however the same considerations as for the regular ImageMagick apply.
    • The GD library is not capable of converting SVG images to the PNG format, at least according to Joen Asmussen's June 2008 NoScope blog.

SVG レンダリングが不要で、利用者に svg ファイルをダウンロードさせて閲覧させたい場合は $wgSVGConverter = false を設定します。

トラブルシューティング

SVG の代わりに空白の四角が表示されたり(Chrome)、画像が全く表示されない(Firefox)、すべてのPNGリンクが404エラーにつながり、他のエラーメッセージがどこにも表示されない場合は、$wgGenerateThumbnailOnParse 変数をチェックしてみてください。 false を指定すると、SVG変換を常に遅延させることができます。 PHP の proc_opensymlink メソッドが有効になっていることを確認します (セキュリティやパフォーマンス上の理由から php.ini で無効になっている場合があります)。


JPEG (GDを使用)

LocalSettings.php に以下の行を追加するだけで、GDライブラリに自動的にフォールバックするようになります:

$wgUseImageMagick = false;

For errors with JPEG thumbnails, see JPEG (using GD).

TIFF

TIFFファイルのサムネイルを生成するには、MediaWiki 1.15.0以降が必要です。

  1. LocalSettings.php ファイルで TIFF ファイルのアップロードを許可する。 $wgFileExtensions [] = 'tif';
  2. LocalSettings.php $wgTiffThumbnailType を加え、jpgまたはpngのどちらかに設定し、生成させたいサムネイルの種類を指定します。
  3. TIFFファイルのサムネイル作成には、JPEG、GIF、PNGファイルのサムネイル作成に必要な以上のシステムリソースが必要になる場合があります。 $wgMaxImageArea $wgMaxShellMemory の適切な設定を検討する

DjVu


画像の削除

Files, like wiki pages, can only be deleted by users with the ページを削除 (delete)" permission (管理者 by default). Deletion of files is done by deleting the associated description page (or by clicking the すべて削除 link in the ファイルの履歴 table).

特定の版の削除

画像ファイルが変更された場合、画像記事に表示される画像ファイルの版の履歴が存在します。 各版には 削除 のリンクがあります。 これがクリックされると、版とファイルは削除されます。

ファイルのバージョンは、ファイル説明ページのページ履歴とは別になっています。

ファイルの古い版に関する情報は oldimage テーブルに、ページの古い版に関する情報は revision テーブルに格納される。

ファイルの復元

ファイルは、通常のWikiページと全く同じ方法で削除を取り消すことができます。 削除されたファイルが格納されるディレクトリは、Manual:$wgDeletedDirectory で定義される。 削除された画像に関する情報は、filearchive テーブルに格納される。

アーカイブされたファイルの削除

MediaWiki バージョン 1.11 以降、削除された画像は既定でサーバーに保存されたままです。 選択したアーカイブ画像を削除したい場合は、eraseArchivedFile.php メンテナンススクリプトを使用して削除することができます。 完全に削除したい場合は、deleteArchivedFiles.php スクリプトで行うことができます。 アーカイブされたファイルを削除すると、もう削除を取り消すことはできません。

ファイル削除の理由

上記のようにファイルの削除を選択する場合、利用者は削除の理由を尋ねられることになります。 利用可能な理由は、ご利用のウィキの MediaWiki:Filedelete-reason-dropdown で編集できます。

Modifying the display of file pages

MediaWiki:Filepage.css is a standard stylesheet which can be used to modify the display of file pages. The contents of Filepage.css will be loaded only on File namespace pages. If remote files are enabled, the remote wiki's version of this page will also load.

データストレージ

画像がアップロードされたときはいつでも、次のものが作成されます:

  1. ファイルの正確な名前で画像の名前空間にある記事、例えばImage:MyPicture.png。 この記事が保存され他の記事と同じように振る舞います。

ファイル自体は、ファイルシステム上のフォルダに保存され、空白文字はマージされ、_ に置き換えられる。

  1. If necessary and thumbnailing is available, thumbnailed versions of the file will be created when necessary (such as for the usage on the file description page).

それぞれのサムネイルは独自の画像名によって独自のフォルダを取得します。

$wgHashedUploadDirectory が有効な場合 (既定値)、MediaWiki は images ディレクトリにいくつかの下位ディレクトリを作成します。

xyは最後の画像ファイル名のmd5ハッシュの文字列の最初の2つです。

フォルダー

すべての画像ファイルは $wgUploadPath (既定値は images/) のフォルダーに格納されます。

/imageサブフォルダの説明:

archive
これは新しいバージョンによって置き換えられるオリジナルの画像ファイルの保存場所です。
temp
Used for temporary storage of files during image uploading. (タスク T11018により、これらのファイルは必ずしも自動的に削除されない場合があります。)
thumb
Thumbnails (automatically generated) for the files. これらが失われた場合、自動的に生成されます。

設定によっては、さらに画像のサブフォルダーが存在する場合があります。

math
Folder to store your rendered TeX input, see also Extension:Math or Manual:数式 .
x/xy
If $wgHashedUploadDirectory is set to true (which is the default), images will be stored in subfolders of the images, thus making file paths look like images/a/ab/filename.jpg. なぜこのようなことが望まれるのか、このシステムの仕組みの詳細については、Manual:$wgHashedUploadDirectory を参照してください。

データベースのテーブル

  • The file description page is stored as any page in the page, text, revision etc. tables
  • image - ファイルのサイズやアップロード日などのメタデータを保持する。
  • oldimage - 新しいバージョンに置き換わったファイルの情報が保存されます。
  • filearchive - 削除されたファイルの情報を保持します。
  • imagelinks - どのページがそのファイルを使用しているかを記録します。

記憶容量の使用

画像は記事よりもかなりのスペースが必要です。 次の計算はLinux/Unixサーバで4KBのブロックサイズを前提としています。

既定の設定は $wgHashedUploadDirectory = true です。

すべてのディレクトリに要求されるスペースです:

  • image ディレクトリ: 0-f/x0-f: max. 16*16 = 256 ディレクトリ = 256*4 KB = 1024 KB
  • archive : 0-f/x0-f: max. 16*16 = 256 ディレクトリ = 256*4 KB = 1024 KB
  • thumb ディレクトリ: 0-f/x0-f: max. 16*16 = 256 ディレクトリ = 256*4 KB = 1024 KB
  • temp ディレクトリ: 0-f/x0-f: max. 16*16 = 256 ディレクトリ = 256*4 KB = 1024 KB

それゆえ、アップロードされる画像無しのスペースの基本量は4MBです。

それぞれの画像のために必要なスペース:

  • オリジナル画像ファイルのサイズ + 平均2KBのオーバーヘッド

600ピクセル以上の高さもしくは800ピクセル以上の幅を持つ画像のために必要なスペース:

  • 作成されたサムネイルのサイズ + 平均2KBのオーバーヘッド(それぞれ)
  • サムネイルのためのディレクトリ(4KB) (それぞれの画像は独自のサムネイルディレクトリを持ちます)

例:

  • 20778バイトのpng画像(スモールサイズでサムネイル無し): 画像のために24KB: 合計24KB
  • 123.000バイトのjpeg画像(ビッグサイズ、自動サムネイル): 画像のために124KB、サムネイルディレクトリのために4KB、サムネイルのために64KB: 合計: 192KB

ファイル アクセス

アップロードされたファイルは一般的にはMediaWikiではなくウェブサーバによって提供されます。 パスの暗号化(例えば、/c/c4/...)による曖昧化を通して最小限のレベルでのセキュリティがある一方で $wgHashedUploadDirectory が設定されている場合、パスはファイル名から簡単に計算でき本当の意味での保護ではありません。

認証済み利用者へのアクセス制限については、Manual:画像認証 を参照してください

アップロード フォーム

ライセンス

MediaWiki allows licenses to be added to files uploaded from the Special:Upload page. The list of licenses that appear in the license selection dropdown can be edited on the MediaWiki:Licenses page by a sysop.

The page should be a bulleted list of items, and can have sub-items. Each item can have one or more parameters, with the parameter separated by the pipe character (|).

To make headers/categories, use only one parameter in a list item. The text will be what appears in the dropdown list, and will appear greyed-out and unclickable.

To add license options, two or more parameters are required. The first parameter will be the template name to use, without the double square brackets. The last parameter will be what appears in the dropdown list for that license. Any additional parameters between the first and last parameters will be passed as arguments to the template. When a license is selected, a preview of what it would look like on the final page is shown in the upload wizard.

Below is a simple example (not using real templates) of how MediaWiki:Licenses should be formatted:

* no-lic|No license.
* Made by me:
** self-lic|And it can only be used on this wiki.
** self-lic|free=yes|And I allow it to be used anywhere.
* Made by someone else:
** pd-lic|It's in the public domain.
** copyright-lic|It's copyrighted.
** cc-lic|It uses some CreativeCommons license.
** cc-lic|by-sa|It uses the CC-BY-SA license.

The above assumes each template ending in "-lic" exists, where some of those templates take positional arguments such as "by-sa" and others take named arguments such as "free=yes". Selecting the "And I allow it to be used anywhere" option, for example, would add the following text to the page of the new file:

{{self-lic|free=yes}}

Sites like Wikipedia and WikiMedia Commons will also use the subst: tag, such as WikiMedia Common's usage of it below:

** subst:Template 2|flickrreview|subst:uwl|Image from Flickr and I do not know the license

"Template 2" is an actual template that will take two parameters (being template names) and surround them with double curly brackets so they get transcluded on the page of the new image. "uwl" is a template, whose documentation requires using it with the "subst:" tag instead of directly. The above will result in the following being added to the uploaded file's page:

{{flickrreview}}{{subst:uwl}}

On Wikipedia, substitution is used in other ways, such as adding a timestamp with the license at the time of upload.

For detailed real world example, see Wikipedia:MediaWiki:Licenses or Commons:MediaWiki:Licenses.

海外のリポジトリ

外部リポジトリ$wgForeignFileRepos 配列の設定により、Wikiにアップロードすることなく、外部リポジトリに保存されているファイルにアクセスすることが可能です。 この機能はいくつかの可能性を持っています。

  • ForeignAPIRepoはそのAPIを通してWikimedia CommonsのようなリモートMediaWikiインストールからファイルにアクセスします。
  • ForeignDBRepo はデータベースを通してファイルにアクセスし、ウィキファミリーを作成するのに便利です。
  • FSRepoはローカルフォルダからファイルにアクセスします。

いずれの場合も、通常の画像構文を使って、海外のリポジトリにあるファイル名を指定して、ページにファイルを埋め込むことができるようになります。 なお、上記の実装のいくつかはまだ実験的なものであり、本番環境には適さない可能性があります。

Notes

  1. Wikimedia sites also do not rely on client-side rendering, despite a request to do so, タスク T5593.