Handbuch:Verwalten von Bildern
Dieser Artikel beschreibt, wie MediaWiki Bilder verwaltet und speichert sowie einige Hilfestellungen zur Konfiguration.
Dies gilt sowohl für Bilder, als auch für jede andere Art von Datei, die hochgeladen werden kann. Alle Dateien werden mit einem entsprechenden Artikel im Namensraum "Datei:" gespeichert. Vor MediaWiki 1.14, wurde stattdessen der "Bild:" Namensraum verwendet. "Bild:" ist noch als Alias für die Rückwärtskompatibilität erhalten.
Hochladen und Verwenden von Bildern
Siehe Hilfe:Bilder
Hochladen von Bildern ermöglichen
Um Bilder hochzuladen, müssen drei Bedingungen erfüllt sein:
- MediaWiki erlaubt das Hochladen. $wgEnableUploads muss auf
true
gesetzt sein. - Der Dateityp muss zulässig sein. Mehr Information: $wgFileExtensions .
- Der Benutzer muss in einer Gruppe mit dem Benutzerrecht "Upload" sein. Standardmäßig ist dies für alle eingeloggten Benutzern vergegeben.
Hochgeladen wird über die Seite Special:Upload.
Siehe Handbuch:Datei-Uploads konfigurieren , Manual:MIME type detection und Manual:Adding support for new filetypes
Wichtige Parameter für die Bildverwaltung
Diese sind relevant:
Vorschaubilder
MediaWikis Bildsyntax (engl.) erlaubt eine dynamische Größenänderung und Thumbnailing von Bildern (siehe Handbuch:Datei-Uploads konfigurieren für allgemeine Hilfe zum Hochladen von Dateien).
Vorschaubilder erfordert entweder ImageMagick oder GD-Bibliothek - keines davon sind Teil der MediaWiki-Standardinstallation.
GD
Bei PHP ist die GD Grafikbibliothek standardmäßig aktiviert. GD erfordert keine Konfiguration oder Änderung.
Es wird empfohlen GS auf Windows-Systemen zu nutzen.
GD kann von https://libgd.github.io/ heruntergeladen werden. In jüngeren PHP-Versionen ist dies nicht erforderlich.
ImageMagick
Aktivieren Sie ImageMagick in LocalSettings.php
in MediaWiki, indem Sie $wgUseImageMagick auf true
einstellen.
ImageMagick kann von https://imagemagick.org/ heruntergeladen werden.
Sobald ImageMagick installiert ist, müssen Sie ImageMagick aktivieren und MediaWiki in LocalSettings.php auf das convert
oder convert.exe
Programm auf Ihrem System verweisen:
$wgUseImageMagick = true;
#$wgImageMagickConvertCommand = 'C:/ImageMagick/convert.exe'; # for Windows
$wgImageMagickConvertCommand = '/usr/bin/convert'; # for Linux
Wenn Sie ImageMagick verwenden, setzen Sie $wgUseImageMagick auf true
in LocalSettings.php.
Stellen Sie sicher, dass der Befehl durch den Webserverprozess ausgeführt werden kann.
Zum Beispiel, Windows-Anwender wollen die Standardeinstellung ändern zu "C:\ImageMagick\convert.exe" (oder ähnlich).
Um alte Vorschau-Dateien neu zu erstellen, bevor du ImageMagick verwendetest, kannst du $wgThumbnailEpoch verwenden.
Wenn das Rendering ohne Mitteilung fehlschlägt, überprüfe und erhöhe $wgMaxShellMemory .
GraphicsMagick kann alternativ zu ImageMagick verwendet werden. Du musst $wgCustomConvertCommand wie folgt einstellen. Z.B.:
$wgUseImageMagick = false;
$wgCustomConvertCommand = "gm convert %s -resize %wx%h %d";
Bild-Formate
GIF
Für eine Vorschau bei GIF-Animationen unter Windows, müssen Sie ImageMagick wie oben beschrieben installieren.
SVG
MediaWiki unterstützt SVG-Grafik-Rendering: wenn aktiviert, können SVG-Bilder wie andere Bilddateien verwendet werden — sie werden automatisch als PNG-Datei gerendert und wie benötigt als Vorschau angezeigt. Wenn Sie auf einem gemeinsamen Host sind und kein SVG-Renderer vorinstalliert ist, werden Sie wahrscheinlich Ihren Provider fragen, der es für Sie installiert.
Um SVG-Unterstützung zu aktivieren:
- Erlauben Sie das hochladen von SVG-Dateien in der Datei
LocalSettings.php
:$wgFileExtensions [] = 'svg';
Beachten Sie, dass MediaWiki SVG-Dateien mit JavaScript aus Sicherheitsgründen verweigern wird.- Wenn Sie eine Fehlermeldung erhalten, dass die Datei beschädigt ist, stellen Sie sicher das die MIME-Typ-Erkennung einwandfrei funktioniert.
- Fügen Sie
$wgSVGConverter
zur LocalSettings.php hinzu und stellen Sie den Renderer den Sie verwenden möchten ein.
- Verfügbare Optionen sind ImageMagick, ImagickExt, Sodipodi, Inkscape, Batik, libRSVG, und Imgserv (engl.).
- Zum Beispiel:
$wgSVGConverter = 'ImageMagick';
- Wenn das Konverter-Programm nicht im Systempfad ist, müssen Sie das Verzeichnis, dass das Programm enthält, durch Verwendung mit $wgSVGConverterPath angeben..
- libRSVG ist schnell, aber nicht sehr genau. Es hängt von einer großen Anzahl von Bibliotheken ab. Um alle diese Bibliotheken automatisch zu installieren, solltest du möglicherweise einen Paketmanager verwenden. Die Wikimedia-Projekte verwenden rsvg.
- Zum Beispiel:
- Batik is the most accurate SVG renderer available, although its anti-aliasing is sometimes suboptimal.
Dessen SVG-Parsing ist strenger, sodass es "fast gültige" SVG-Dateien ablehnt, die andere Renderer akzeptieren (z.B. commons:File:UbuntuCoF.svg). Batik setzt auf Java und ist viel langsamer als rsvg, obwohl dies kein großes Problem sein kann, es sei denn, du fügst dauerhaft SVG-Dateien hinzu. Siehe SVG benchmarks . Es erfordert viel Arbeit, es aufzusetzen, sofern es nicht in deiner Umgebung inkludiert ist.
- Inkscape also does an accurate job of SVGs, half the speed of rsvg, but was designed for interactive graphical use; however, it comes with inkview which is a viewer/converter program – it requires a writable home directory for the user it's run as.
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 is preferable to rsvg (a) on Windows (it comes as a standalone package) or (b) if you have important SVGs drawn in Inkscape that do not render correctly in rsvg. Inkscape has as complicated a dependency chain as librsvg — use only if it's in your distribution or available as a complete standalone package.
- Sodipodi is the program Inkscape was forked from.
The same considerations apply. Sodipod is no longer under active development.
- ImageMagick is the default but its rendering works imperfectly; avoid it if possible.
- On Windows, $wgConvertPath must be set to avoid a conflict with Windows' own convert.exe. One simple alternative in this scenario is to add to
LocalSettings.php
the line$wgSVGConverters['ImageMagick'] = '"' . $wgImageMagickConvertCommand . '" -background white -thumbnail $widthx$height^! $input PNG:$output';
, which also allows for spaces in the path.
- On Windows, $wgConvertPath must be set to avoid a conflict with Windows' own convert.exe. One simple alternative in this scenario is to add to
- 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.
- Over 98% of web browsers have at least basic support for displaying SVG files directly, but MediaWiki does not use that by default.[notes 1] Without the NativeSvgHandler extension, MediaWiki only supports client-side rendering in MediaWiki 1.41 (released December 2023) and newer, by setting
$wgSVGNativeRendering = true
.
- Over 98% of web browsers have at least basic support for displaying SVG files directly, but MediaWiki does not use that by default.[notes 1] Without the NativeSvgHandler extension, MediaWiki only supports client-side rendering in MediaWiki 1.41 (released December 2023) and newer, by setting
Set $wgSVGConverter = false
if SVG rendering is not needed and you wish to make your users download the svg file in order to view it.
Fehlerbehebung
Wenn Sie einen leren Bereich anstatt der SVG sehen (Chrome) oder gar kein Bild (Firefox), alle PNG-Links zu 404-Fehlern führen und Sie keine andere Fehlermeldung irgendwo sehen, überprüfen Sie bitte die $wgGenerateThumbnailOnParse
-Variable.
Setting it to false
may make SVG transformation deferred always.
Make sure that proc_open and symlink PHP methods are enabled (they may be disabled in php.ini for security or performance reasons).
JPEG (mittels GD)
Fügen Sie einfach die folgende Zeile in LocalSettings.php
hinzu, um einen automatischen Fallback auf die GD-Bibliothek auszulösen.
$wgUseImageMagick = false;
Für Fehler mit JPEG-Thumbnails, siehe JPEG (mit GD). (engl.)
TIFF
Generating thumbnails of TIFF files requires MediaWiki 1.15.0 or newer.
- Allow upload of TIFF files in the
LocalSettings.php
file:
$wgFileExtensions [] = 'tif';
- Add
$wgTiffThumbnailType
to LocalSettings.php and set to either jpg or png to specify which type of thumbnail you wish to have generated.
- Making thumbnails of TIFF files may require system resources beyond those needed for thumbnailing JPEG, GIF, or PNG files.
Consider appropriate settings for $wgMaxImageArea
and $wgMaxShellMemory
DjVu
Löschen von Bildern
Files, like wiki pages, can only be deleted by users with the Seiten löschen
(delete)" permission (administratoren by default).
Deletion of files is done by deleting the associated description page (or by clicking the Alle Versionen löschen
link in the Dateiversionen
table).
Löschen einer alten Bildversion
Wenn ein Bild durch eine neue Version ersetzt wird, dann gibt es eine Bildhistorie.
Jede Revision hat einen Diese Version löschen
-Verweis.
Wenn dieser angeklickt wird, wird die Revision und die zugehörige Datei unwiderruflich gelöscht.
Information about old revisions of files are stored in the oldimage table while information on old revisions of the pages are stored in the revision table.
Undeleting files
Files can be undeleted in exactly the same way as normal wiki pages. The directory in which deleted files are stored is defined by Handbuch:$wgDeletedDirectory . Tabelle filearchive : Information zu den gelöschten Bildern.
Deletion of Archived Files
Since MediaWiki version 1.11, deleted images are still stored on the server by default. If you want to delete selected archived images, you can do so using the eraseArchivedFile.php maintenance script. If you want to delete all of them completely, you can do that with the deleteArchivedFiles.php script. If you delete archived files, you can not undelete those files anymore.
Reasons for Deleting a File
When choosing to delete a file, as described above, users will be asked to provide a reason for deletion. The available reasons can be edited on the MediaWiki:Filedelete-reason-dropdown of your wiki.
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.
Datenbankablage
Immer wenn ein Bild hochgeladen wird, werden verschiedene Einträge erzeugt:
- Ein Artikel im Namensraum Bild mit dem exakten Namen der Datei, z.B. Image:MyPicture.png. Dieser Artikel wird wie jeder andere in MediaWiki gespeichert und verwaltet.
- Die Datei selbst wird in einem Ordner im Dateisystem gespeichert, wobei Leerzeichen zusammengefasst werden und ersetzt werden mit
_
. - Wenn nötig und Thumbnails aktiviert sind, werden Miniatur-Versionen der Datei, wenn notwendig, erstellt (z.B. für die Verwendung auf der Dateibeschreibungsseite). Jede Bilddatei hat einen eigenen Ordner für diverse verkleinerte Versionen.
If $wgHashedUploadDirectory is enabled (by default), MediaWiki creates several subdirectories in the images directory.
xy sind die ersten beiden Buchstaben in einem md5-hash des Dateinamens.
ical
All image files are stored in a folder determined by $wgUploadPath (images/
, by default).
Beschreibung des "/image" Unterordners:
- archive
- Hier sind die Originialdateien der durch neuere Version ersetzten Bilder abgelegt.
- temp
- Wird für die vorübergehende Speicherung von Dateien beim Hochladen von Bildern verwendet. (Wegen des Fehlers task T11018 werden diese Dateien möglicherweise nicht immer automatisch gelöscht).
- thumb
- ;thumb/0-f/x0-xf: Automatisch erzeugte kleiner Bildversionen (Thumbnails) für die hochgeladenen Bilder in 0-f. Wenn diese gelöscht werden, werden sie automatich neu erzeugt.
Es kann allerdings anfangs Probleme mit dem Cache geben.
- math
- Folder to store your rendered TeX input, see also Erweiterung:Math or Handbuch:Mathematik .
- x/xy
- If
$wgHashedUploadDirectory
is set totrue
(which is the default), images will be stored in subfolders of the images, thus making file paths look likeimages/a/ab/filename.jpg
. See Handbuch:$wgHashedUploadDirectory for more details on why this might be desired and how this system works.
Datenbank Tabellen
- Der Artikel Bild:MeinBild.png wird wie jeder andere Artikel abgelegt: Tabellen
page
,text
,revision
etc. - image - * Tabelle Image: Enthält Meta-Daten zum Bild wie z.B. die Größe. Es ist kein Pfad zur Datei gespeichert, dieser wird über den Dateinamen (Hash) berechnet und ist der Grund dafür, dass Bilder nicht verschoben werden können.
- oldimage - * Tabelle Oldimage: Dies ist die Archivtabelle für Bilder, die durch neuere ersetzt wurden. Hinweis: gelöschte Bilder werden hier nicht abgelegt.
- filearchive - * Tabelle Filearchive: Information zu den gelöschten Bildern.
- imagelinks - * Tabelle Imagelinks: Bildverweise: Welcher Artikel nutzt das Bild.
Platzverbrauch
Bilder brauchen naturgemäß mehr Platz als Artikel. Es wird von einer Blockgröße von 4KB bei Linux/Unix Servern ausgegangen,
Die Standardeinstellung ist $wgHashedUploadDirectory = true
.
Platzverbrauch nur für die Ordner
- image Ordner: 0-f/x0-f: max. 16*16 = 256 Ordner = 256*4 KB = 1024 KB
- archiv Ordner: 0-f/x0-f: max. 16*16 = 256 Ordner = 256*4 KB = 1024 KB
- thumb Ordner: 0-f/x0-f: max. 16*16 = 256 Ordner = 256*4 KB = 1024 KB
- temp Ordner: 0-f/x0-f: max. 16*16 = 256 Ordner = 256*4 KB = 1024 KB
Ohne, dass ein Bild gespeichert wurde, werden also 4 MB genutzt (teilweise werden die Ordner allerdings erst im Betrieb angelegt).
Für jedes Bild brauchen wir:
- Größe der Bilddatei + 2KB durchschnittlicher Mehrbedarf
Für Bilder mit einer Höhe > 600px oder Breite > 800px wird zusätzlicher Platz benötigt:
- Größe des automatisch erzeugten Thumbnails + 2KB durchschnittlicher Mehrbedarf (Blockgröße)
- Ordner für den Thumbnail (4KB) (ja, je Bild wird ein eigener Ordner erzeugt)
Beispiele:
- Bild 20778 Byte png (geringe Größe, kein Thumbnail): 24 KB für das Bild: Total 24 KB
- Bild 123.000 Byte jpeg (groß, auto Thumbnail): 124 KB für das Bild, 4KB für den Thumbnail Ordner, 64 KB für die verkleinerte Version: Total: 192 KB
File Access
Uploaded files are generally served directly by the web server, not through MediaWiki. While there may be a minimal level of security through obscurity with path encryption (e.g. /c/c4/...) if $wgHashedUploadDirectory is set, the path can be calculated easily from the file name and does not provide true protection.
For limiting access to authorized users, see Manual:Image authorization .
Upload form
Lizenzierung
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.
Die Seite sollte eine unsortiere Liste von Elementen sein und kann Unterpunkte enthalten.
Each item can have one or more parameters, with the parameter separated by the pipe character (|
).
Um Titel/Kategorien zu erstellen, setze nur einen Parameter in ein Listenelement. Der Text wird in der Dropdown-Liste dargestellt, ausgegraut und nicht anklickbar erscheinen.
Um Lizenzoptionen hinzuzufügen, sind zwei oder mehr Parameter erforderlich. Der erste Parameter ist der zu verwendende Vorlagenamen, ohne die doppelten eckigen Klammern. Der letzte Parameter definiert, was in der Auswahlliste für diese Lizenz erscheint. Alle zusätzlichen Parameter, zwischen dem Ersten und Letzten, werden als Argumente an die Vorlage übertragen. Wenn eine Lizenz ausgewählt wird, wird im Upload-Wizard eine Vorschau davon angezeigt, wie sie auf der Ergebnisseite aussehen würde.
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. Das oben gezeigte führt dazu, dass auf der Seite der hochgeladenen Datei folgendes hinzugefügt wird:
{{flickrreview}}{{subst:uwl}}
Auf Wikipedia wird die Ersetzung auf andere Weise verwendet, wie zum Beispiel dem Hinzufügen eines Zeitstempels der Lizenz zum Zeitpunkt des Uploads.
Für ein detailliertes echtes Anwendungsbeispiel, schau dir Wikipedia:MediaWiki:Licenses oder Commons:MediaWiki:Licenses an.
Fremd-Repositories
Es ist möglich, auf Dateien zuzugreifen, die in fremden Repositorien gespeichert sind, ohne sie auf das Wiki hochladen zu müssen, indem das Array $wgForeignFileRepos definiert wird. Diese Funktion bietet mehrere Möglichkeiten:
- ForeignAPIRepo accesses files from a remote MediaWiki installation, such as Wikimedia Commons, through its API
- ForeignDBRepo accesses files through a database, and is useful for creating wiki families
- FSRepo accesses files from a local folder
In all cases, one would be able to embed files into a page using ordinary image syntax and specifying the name of the file in the foreign repository. Note that some of the above implementations are still experimental, and might not be suitable for production sites.
Anmerkungen
- ↑ Wikimedia sites also do not rely on client-side rendering, despite a request to do so, task T5593.