Handleiding:Afbeeldingenbeheer

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

Hier beschrijven wij hoe de MediaWiki met bestanden omgaat en die opslaat, verder informatie over de configuratie.

Dit gaat dan niet alleen om afbeeldingen maar over alle bestanden die geüpload kunnen worden. Alle bestanden worden opgeslagen in een artikel door het gebruiken van de namespace "File:". Voor MediaWiki 1.14 is de namespace "Image:" hiervoor gebruikt. De namespace "Image:" wordt om compatibel te blijven met oudere versies nog als een alias bewaard.

Uploaden en gebruiken van afbeeldingen

Zie Help:Afbeeldingen

Het uploaden inschakelen

Om te kunnen uploaden moet aan de volgende voorwaarden zijn voldaan:

  1. MediaWiki moet het uploaden hebben ingeschakeld. Zet $wgEnableUploads op true.
  2. Het bestandstype moet toegestaan zijn. Meer informatie: $wgFileExtensions .
  3. De gebruiker moet in een gebruikersgroep zitten die het recht "upload" heeft. Standaard hebben alle ingelogde gebruikers dat recht.

Het uploaden gaat met Special:Upload.

Zie Handleiding:Bestandsuploads configureren , Handleiding:MIME-type detectie en Manual:Adding support for new filetypes

Parameters

De relevante parameters zijn:

Miniatuur van afbeelding

Met de MediaWiki image syntaxis is het mogelijk om dynamisch de grootte aan te passen en dus om een miniatuur (thumb) van een afbeelding te maken (algemene informatie over uploaden: Handleiding:Bestandsuploads configureren ).

Voor het maken van miniaturen is ImageMagick of GD library nodig, beide zijn geen onderdeel van de standaardinstallatie van MediaWiki.

GD

In PHP is GD grafische bibliotheek standaard ingeschakeld. GD kan zonder configuratie of aanpassing worden gebruikt.

Wij bevelen aan om op Windows hiervoor GD te gebruiken.

GD kan worden gedownload op https://libgd.github.io/. In recente PHP-versies is dit niet nodig.

ImageMagick

In MediaWiki kan het inschakelen van ImageMagick worden gedaan in LocalSettings.php door het instellen van $wgUseImageMagick op true.

ImageMagick kan worden gedownload op https://imagemagick.org/.

Na installatie van ImageMagick moet het worden ingeschakeld en aangeven worden in MediaWiki waar het staat met het convert of convert.exe programma op uw computer in LocalSettings.php , iets als:

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

Als u ImageMagick gebruikt, zet $wgUseImageMagick op true in LocalSettings.php. Zorg ervoor dat het commando uitvoerbaar is voor de webserver. Als Windows gebruiker zou u de standaardwaarde willen wijzigen naar iets als "C:\ImageMagick\convert.exe".

Om oude (niet door ImageMagick aangemaakt) thumbnail bestanden opnieuw aan te maken kunt u $wgThumbnailEpoch gebruiken.

Als het bewerkingsproces zonder melding stuk loopt, controleer dan de $wgMaxShellMemory , die moet dan mogelijk hoger zijn.

Probleemoplossing: Miniaturen aanmaken werkt niet.

GraphicsMagick is een alternatief voor ImageMagick. Stel $wgCustomConvertCommand dan in op

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

Formaat afbeelding

GIF

Voor het aanmaken van miniaturen van GIF-Animaties op Windows, is ImageMagick nodig. Het installeren is hierboven beschreven.

SVG

 
Wikimania 2016 presentatie over Dynamische SVG

MediaWiki ondersteund 'SVG image rendering': indien ingeschakeld kunnen SVG afbeeldingen net als andere type worden gebruikt, zij worden automatisch getoond (render) als een PNG-bestand, er wordt er zo nodig vanzelf een miniatuur aangemaakt. Als u werkt op een gedeelde host waar geen 'SVG renderer' is geïnstalleerd, vraag dan aan uw provider dat voor u te installeren.

SVG ondersteuning inschakelen:

  1. Het uploaden van SVG-bestanden toestaan, in bestand LocalSettings.php: $wgFileExtensions [] = 'svg'; MediaWiki zal vanwege de veiligheid SVG-bestanden die JavaScript bevatten weigeren.
    Als u een foutmelding krijgt die aangeeft dat het bestand corrupt is, controleer dan of de mime-type detectie goed werkt.
  2. Voeg $wgSVGConverter toe aan LocalSettings.php en stel de te gebruiken 'renderer' in.
    De mogelijke opties zijn ImageMagick, ImagickExt, sodipodi, inkscape, batik, rsvg en imgserv.
    Bijvoorbeeld: $wgSVGConverter = 'ImageMagick';
    • Als het converteerprogramma niet in het systeempad staat, dan moet u de map specificeren die het programma bevat dat $wgSVGConverterPath gebruikt..
    • librsvg is snel maar wel minder accuraat. Het is afhankelijk van een groot aantal libraries. Om deze allemaal automatisch te willen installeren, wilt u mogelijk een package manager gebruiken. De Wikimedia projecten gebruiken rsvg.
    • Batik is de meest accurate beschikbare SVG renderer, het anti-aliasing is soms wat minder optimaal. De SVG parsing is strikter,waardoor het soms een "bijna geldig" SVG-bestand weigert, dat een soortgelijk programma wel wordt verwerkt (bijv. commons:File:UbuntuCoF.svg). Batik vertrouwt op Java, het is veel langzamer dan rsvg, dat is niet zo van belang behalve als u steeds veel SVG-bestanden toevoegt. Zie SVG benchmarks . Als het niet in uw distributie zit, dan is het werkend krijgen een aardige omvangrijke klus.
    • Inkscape werkt ook goed met SVG's, de halve snelheid van rsvg, maar het was ontworpen voor interactief grafisch gebruik; echter omdat het komt met inkview dat een bekijk/converteer programma is, is er een beschrijfbare eigen home map nodig voor de gebruiker waaronder het wordt uitgevoerd. Omdat het draait als gebruiker www (of zoiets), zal het proberen de mappen .inkscape/ en .gnome2/ in het bijhorende home map aan te maken, het sterft een stille dood, crasht of blijft hangen als dit aanmaken niet lukt. Inkscape heeft de voorkeur boven rsvg (a) op Windows (dan is het een standalone package) of (b) als u belangrijke SVG's tekent in Inkscape die niet goed worden verwerkt/weergegeven door rsvg. Inkscape heeft een meer compliceerde ketting van afhankelijkheden dan librsvg, gebruik het alleen als het in uw distributie zit of als het als compleet standalone package beschikbaar is.
    • Sodipodi is het programma waar Inkscape een fork van is. Hier gaan dezelfde overwegingen op, maar omdat het niet meer in actieve ontwikkeling is, is het eigenlijk geen alternatief voor Inkscape.
    • Vanaf versie 6.x.x ImageMagick bouwt het SVG's op, maar dat gaat niet perfect. Dit is de standaard, probeer het te voorkomen. Het werkt wel. Op Windows moet $wgConvertPath worden gezet om een conflict te vermijden met het Windows programma convert.exe. In dit scenario is een eenvoudig alternatief het toevoegen aan LocalSettings.php van de regel $wgSVGConverters['ImageMagick'] = '"' . $wgImageMagickConvertCommand . '" -background white -thumbnail $widthx$height^! $input PNG:$output'; (hier zijn spaties in het pad toegestaan).
      • Om fouten bij het aanmaken van miniaturen te voorkomen bij gebruik van ImageMagick, moet bij een versie 7.0.9-25 of hoger, de Inkscape versie minstens 1.x.x zijn. Als de ImageMagick versie voor 7.0.9-25 ligt, dan moet de versie van Inkscape lager zijn dan < 1.x.x. ImageMagick probleem.
    • De PHP extensie Imagick ondersteunt SVG rendering, maar met dezelfde opmerkingen als bij de reguliere ImageMagick.
    • De GD bibliotheek kan geen SVG-afbeeldingen converteren naar het PNG-formaat. Hierbij gaan we uit van een blog van Joen Asmussen NoScope uit juni 2008.
    • Meer dan 98% van de webbrowsers heeft op zijn minst basisondersteuning voor het direct weergeven van SVG-bestanden, maar MediaWiki gebruikt dat niet standaard.[notes 1] Zonder de extensie NativeSvgHandler ondersteunt MediaWiki alleen client-side rendering in MediaWiki 1.41 (uitgebracht in december 2023) en nieuwer, door het instellen van $wgSVGNativeRendering = true.

Stel $wgSVGConverter = false in als SVG opbouw niet nodig is, u wilt dan dat een gebruiker het svg-bestand zelf downloadt als die het zo wil bekijken.

Probleemoplossing

Als u een leeg vierkant ziet in plaats van de SVG (Chrome) of geen afbeelding (Firefox) en alle PNG-links geven de 404 fout en er zijn elders geen andere foutmeldingen, controleer dan de variabele $wgGenerateThumbnailOnParse . Als het op false staat, dan wordt de SVG transformatie altijd uitgesteld. Controleer of de proc_open en symlink PHP methoden ingeschakeld zijn (mogelijk zijn ze vanwege de beveiliging of performance in php.ini uitgeschakeld).

JPEG (via GD)

Voeg de volgende regel toe aan LocalSettings.php, dit zal zorgen voor het automatisch terugvallen op de GD bibliotheek.

$wgUseImageMagick = false;

Voor fouten met JPEG miniaturen: JPEG (met gebruik van GD).

TIFF

Voor het aanmaken van miniaturen van TIFF-bestanden heeft u MediaWiki 1.15.0 of hoger nodig.

  1. Het uploaden van TIFF-bestanden toestaan in het bestand LocalSettings.php: $wgFileExtensions [] = 'tif';
  2. Voeg $wgTiffThumbnailType toe aan LocalSettings.php en kies het type (jpg of png) miniatuur dat aangemaakt moet worden.
  3. Het aanmaken van miniaturen van TIFF-bestanden vereist meer systeembronnen dan bij bestandstypes als JPEG, GIF en PNG. Overweeg passende instellingen voor $wgMaxImageArea en $wgMaxShellMemory

DjVu


Afbeeldingen verwijderen

Bestanden als wiki-pagina's, kunnen alleen worden verwijderd door gebruikers met het Pagina's verwijderen (delete)" recht (standaard beheerders). Het verwijderen van bestanden wordt gedaan door het verwijderen van de bijbehorende beschrijvingspagina (of door te klikken op de link alle versies verwijderen in de tabel Bestandsgeschiedenis).

Individuele revisies verwijderen

Na een wijziging van een bestand is er een een revisie geschiedenis van de bestanden die getoond wordt op de bestandspagina van het artikel. Elke revisie heeft een link verwijderen. Door daar op te klikken worden de revisie en het bestand verwijderd.

De versies van bestanden zijn gescheiden van de pagina geschiedenis can de pagina met de bestandsbeschrijving.

Informatie over oude revisies van bestanden wordt opgeslagen in de tabel oldimage , terwijl informatie over oude revisies van de pagina's worden opgeslagen in de tabel revision .

Bestanden herstellen na verwijdering

Bestanden kunnen op dezelfde manier als normale wiki-pagina's na verwijdering weer teruggezet worden. De map waarin verwijderde bestanden worden gezet wordt gedefinieerd met Manual:$wgDeletedDirectory . Informatie over verwijderde afbeeldingen staat in de tabel filearchive .

Gearchiveerde bestanden verwijderen

Vanaf MediaWiki versie 1.11 worden verwijderde afbeeldingen standaard nog bewaard op de server. Indien u gearchiveerde afbeeldingen wilt selecteren om ze te verwijderen, dan kan dat met het onderhoudsscript eraseArchivedFile.php . U kunt de verwijderde afbeeldingen ook allemaal zonder selectie verwijderen met het script deleteArchivedFiles.php . Als u gearchiveerde bestanden gaat verwijderen dan kunt u natuurlijk het verwijderen van die bestanden niet meer ongedaan maken.

Redenen om een bestand te verwijderen

Als u een bestand wilt verwijderen, zoals hierboven beschreven, dan kunt u daarvoor een reden opgegeven. De mogelijke redenen kunnen worden aangevuld of gewijzigd worden op de MediaWiki:Filedelete-reason-dropdown van uw wiki.

Data Opslag

Bij het uploaden van een bestand worden er verschillende dingen gedaan:

  1. Een artikel in de namespace file met de bestandsnaam van het bestand, bijv. File:MyPicture.png. Deze pagina wordt opgeslagen en kan als elke pagina worden bewerkt.
  2. Het bestand zelf wordt opgeslagen in de map op de server, waarbij elke spatie in de naam worden vervangen door een _.
  3. Indien noodzakelijk en het maken van een miniatuur is mogelijk, worden er een miniatuur (of meerdere in verschillende groottes) aangemaakt. Deze miniatuur wordt dan op bijvoorbeeld de beschrijvingspagina van het bestand gebruikt. De miniaturen worden opgeslagen in een map thumb in de map image, een map thumb voor elke originele afbeelding.

Als $wgHashedUploadDirectory ingeschakeld is (standaard), dan maakt MediaWiki meerdere submappen aan in de map images.

De mapnamen zijn de eerste twee tekens van de md5 hash van de uiteindelijke bestandsnaam.

Mappen

Alle afbeeldingsbestanden worden in de map die wordt aangegeven met $wgUploadPath opgeslagen (standaardwaarde: images/).

Beschrijving van de genoemde submappen van images:

archive
Hier komen de bestanden te staan die vervangen zijn door een nieuwere versie.
temp
Gebruikt voor de tijdelijk opslag van bestanden tijdens het uploaden. Het kan gebeuren dat deze bestanden door het uploadproces niet worden verwijderd. (zie: taak T11018)
thumb
De automatisch aangemaakte miniaturen van de afbeeldingen. Als een miniatuur wordt verwijderd, dan worden ze automatisch weer aangemaakt op het moment dat de miniatuur gebruikt zou worden.

Afhankelijk van de configuratie kunnen er submappen van image zijn:

math
Map met de aangemaakte TeX invoer. Zie extensie Math of Handleiding Math.
x/xy
Als $wgHashedUploadDirectory de waarde true heeft (dat is de standaardwaarde), afbeeldingen worden opgeslagen in submappen van de afbeeldingen, een bestandspad kan dan images/a/ab/filename.jpg zijn. Voor details of dit gewenst is en hoe dit systeem werkt: Manual:$wgHashedUploadDirectory .

Database-tabellen

  • De pagina met de bestandsbeschrijving wordt opgeslagen in als elke pagina in de tabellen page, text, revision enz.
  • image - Bevat wat metadata zoals de bestandsgrootte en de uploaddatum.
  • oldimage - Hier komt informatie over bestanden te staan die vervangen zijn door een nieuwere versie.
  • filearchive - Bevat informatie over de verwijderde bestanden.
  • imagelinks - Legt vast welke pagina's een bestand gebruiken.

Ruimte gebruik

Bestanden nemen veel meer ruimte in dan artikelen. In de volgende berekeningen gaan we uit van block-size van 4KB op een Linux/Unix server.

De standaardinstelling is: $wgHashedUploadDirectory = true.

Benodigde ruimte voor alle mappen:

  • mappen met afbeeldingen: 0-f/x0-f: max. 16*16 = 256 mappen = 256*4 KB = 1024 KB
  • archief mappen: 0-f/x0-f: max. 16*16 = 256 mappen = 256*4 KB = 1024 KB
  • miniatuur mappen: 0-f/x0-f: max. 16*16 = 256 mappen = 256*4 KB = 1024 KB
  • temp mappen: 0-f/x0-f: max. 16*16 = 256 mappen = 256*4 KB = 1024 KB

De geschatte benodigde ruimte, exclusief het bestand zelf, is 4 MB (aannemende dat alle mappen dus ook echt aangemaakt worden omdat ze nodig zijn).

Per bestand is nodig:

  • grootte van het originele afbeeldingsbestand + gemiddeld 2 KB overhead

Voor bestanden waarvan een miniatuur wordt gemaakt:

  • grootte miniatuur (miniaturen) + gemiddeld 2 KB overhead (per stuk)
  • map voor de miniaturen (4KB) (elke afbeelding heeft er een hiervan)

Voorbeelden:

  • afbeelding 20778 Byte png (klein, geen miniatuur): 24 KB voor de afbeelding: Totaal 24 KB
  • afbeelding 123.000 Byte jpeg (groot, miniatuur): 124 KB voor de afbeelding, 4 KB voor de map, 64KB voor de miniatuur: Totaal: 192 KB

Bestandstoegang

Geüploade bestanden worden meestal door direct verwerkt door de webserver, niet via MediaWiki. Er kan wat beveiliging zijn vanwege de pad encryptie (bijv. /c/c4/...) als $wgHashedUploadDirectory gezet is, dan kan het pad worden bepaald uit de bestandsnaam en biedt dat geen echte beveiliging.

Voor het beperken van de toegang tot geautoriseerde gebruikers: Manual:Image authorization .

Upload formulier

Documentatie over het configureren van het uploadformulier.

Licenties

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.

De pagina moet een lijst zijn met items met opsommingstekens, het kan subitems bevatten. Each item can have one or more parameters, with the parameter separated by the pipe character (|).

Voor het maken van koppen/categorieën, gebruik slechts één parameter in een lijst-item. De tekst zal zijn wat in de dropdownlijst verschijnt en zal grijs worden weergegeven. Deze tekst is geen link.

Om licentieopties toe te voegen, zijn twee of meer parameters vereist. De eerste parameter is het gebruikte sjabloon, zonder de dubbele vierkante haakjes. De laatste parameter is wat in de dropdownlijst voor die licentie verschijnt. Eventuele extra parameters tussen de eerste en de laatste parameters zullen als argumenten worden doorgegeven aan het sjabloon. Wanneer een licentie wordt geselecteerd, wordt een voorbeeld van hoe het er op de uiteindelijke pagina zou uitzien door de upload-assistent getoond.

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. Door het bovenstaande wordt uiteindelijk het volgende toegevoegd aan de pagina van het geüploade bestand:

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

Op Wikipedia wordt vervanging (substitution) op andere manieren gebruikt, zoals het toevoegen van een tijdstempel met de licentie op het moment van uploaden.

Voor een complex praktijkvoorbeeld: Wikipedia:MediaWiki:Licenses of Commons:MediaWiki:Licenses.

Externe repositories

Het is mogelijk om bestanden te benaderen die op externe repositories staan, zonder ze te uploaden naar de wiki, door het instellen van het array $wgForeignFileRepos . De mogelijkheden van deze functie:

  • ForeignAPIRepo benadert bestanden op een remote MediaWiki installatie, zoals Wikimedia Commons, via diens API
  • ForeignDBRepo benadert de bestanden ai een database, dat is bruikbaar bij de aanmaak van wiki families
  • FSRepo benadert bestanden in een lokale map

In alle gevallen kan men de op een pagina ingevoegde bestanden gebruiken met een eenvoudige image syntaxis en de naam van het bestand in de externe repository specificeren. NB: Enkele van de implementaties hierboven zijn nog in de experimentele fase, dus minder geschikt voor productie websites.

Opmerkingen

  1. Wikimedia-sites vertrouwen ook niet op client-side rendering, ondanks een verzoek om dat te doen, taak T5593.