Manual:Administração de Imagem

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

Este artigo descreve a forma como o MediaWiki trata e armazena as imagens, e fornece alguma informação sobre a configuração.

Isto aplica-se às imagens, bem como, a qualquer outro tipo de ficheiro que possa ser enviado. Todos os ficheiros são guardados com o artigo correspondente no espaço nominal "Ficheiro:". Antes do MediaWiki 1.14, era utilizado o espaço nominal "Imagem:". Para garantir a compatibilidade com as versões anteriores, "Imagem:" continua a ser mantido.

Envio e utilização de imagens

Consulte Ajuda:Imagens .

Ativar o envio de imagens

Para enviar os ficheiros, estas condições têm de estar preenchidas:

  1. O MediaWiki deve ter os envios ativados. Configure $EnableUploads para true.
  2. O tipo do ficheiro tem de ser permitido. Mais informação: $wgFileExtensions .
  3. O utilizador tem de estar num grupo com a permissão de upload (enviar). Por predefinição, esta permissão é dada a todos os utilizadores autenticados.

Os envios são efetuados utilziando Special:Upload.

Consulte Manual:Configurar envios de ficheiro , Manual:MIME type detection .

Parâmetros relevantes para o tratamento do ficheiro

Estes parâmetros são relevantes:

Miniaturas de imagens

A sintaxe de tratamento de imagens do MediaWiki permite que as imagens sejam automaticamente miniaturizadas (consulte Manual:Configurar envios de ficheiro para ajuda geral sobre carregamentos).

A criação de miniaturas exige o ImageMagick ou a biblioteca GD - nenhum dos quais está incluído na instalação padrão do MediaWiki, embora algumas versões do PHP incluam a GD.

GD

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

GD can be downloaded from https://libgd.github.io/. Nas versões mais recentes isto não é necessário.

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

Se usar o ImageMagick, defina $wgUseImageMagick como true no LocalSettings.php. Make sure that the command is executable by the web server process. Por exemplo, os utilizadores do Windows precisam de alterar a localização padrão para "C:\ImageMagick\convert.exe" (ou semelhante).

Para recrear os ficheiros de miniaturas antigas criadas antes de usar o ImageMagick pode usar $wgThumbnailEpoch .

Se a composição das miniaturas falhar silenciosamente, verifique e aumente $wgMaxShellMemory .

Consulte a página de ajuda sobre Miniaturas que não funcionam para o procedimento de resolução.

O GraphicsMagick também pode ser usado agora, como alternativa ao ImageMagick. You will need to set $wgCustomConvertCommand to the following. Por exemplo:

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

Image formats

GIF

Para criar miniaturas de Animações GIF no Windows, tem de instalar o ImageMagick como descrito acima.

SVG

 
Apresentação sobre SVG Dinâmico na Wikimania 2016

O MediaWiki suporta a composição de imagens SVG: se esta for ativada, as imagens SVG podem ser usadas tal como os outros ficheiros de imagens — elas serão automaticamente compostas como ficheiros PNG e miniaturizadas conforme necessário, no momento. Se usa um serviço de alojamento partilhado que não tem nenhum compositor de SVG pré-instalado, deve provavelmente pedir ao seu fornecedor que o instale para si.

Para ativar o suporte de SVG:

  1. Permita o carregamento de ficheiros SVG, no ficheiro LocalSettings.php: $wgFileExtensions [] = 'svg';. Note que o MediaWiki recusará ficheiros SVG que contenham JavaScript, por razões de segurança.
    Se receber um erro a dizer que o ficheiro está corrompido, certifique-se que a deteção do tipo MIME está a funcionar corretamente.
  2. Acrescente $wgSVGConverter ao LocalSettings.php e defina o compositor que pretende utilizar.
  1. As opções disponíveis são ImageMagick, ImagickExt, sodipodi, inkscape, batik, rsvg e imgserv.
  1. Por exemplo: $wgSVGConverter = 'ImageMagick';
    • Se o programa conversor não estiver no caminho do sistema, tem que especificar o diretório que contém o programa usando $wgSVGConverterPath .
    • A librsvg é rápida mas falta-lhe precisão. It depends on a large number of libraries. To automatically install all these libraries, you may want to use a package manager. Os projetos da Wikimedia utilizam rsvg.
    • O Batik é o compositor de ficheiros SVG mais preciso que está disponível, embora a sua suavização de bordas (anti-aliasing) por vezes deixe a desejar.

Its SVG parsing is more strict, causing it to reject "almost valid" SVG files that other renderers accept (e.g. commons:File:UbuntuCoF.svg). Baseia-se no Java. Também é muito mais lento do que rsvg. Veja SVG benchmarks. Consulte Desempenhos de SVG. Requires a lot of work to get running, if not included in your distribution.

    • Inkscape também faz um trabalho de SVGs preciso, a metade da velocidade de rsvg, mas foi projetado para uso interativo gráfico - ele exige um writable diretório home para o usuário que o executa. Uma vez que irá estar a ser executado como usuário www ou algo semelhante, que tentará criar .inkscape/ e .Gnome2/ diretórios na casa do correspondente diretório, e irá falhar silenciosamente se não for capaz de renderizar. Inkscape é preferível à rsvg (a) em Windows (que vem como um pacote autônomo) ou (b) se tiver importante SVGs traçada no Inkscape que não tornam corretamente em 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 é como programa de Inkscape. As mesmas considerações valem.
      • 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.
      • 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.

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.

Resolução de problemas

If you see a blank square instead of SVG (Chrome) or no image at all (Firefox) and all PNG links lead to 404 error and you don't see any other error message anywhere please check $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 (utilizar GD)

Simply adding the following line to LocalSettings.php will cause auto fall back to the GD library:

$wgUseImageMagick = false;

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

TIFF

Generating thumbnails of TIFF files requires MediaWiki 1.15.0 or newer.

  1. Allow upload of TIFF files in the LocalSettings.php file:

$wgFileExtensions [] = 'tif';

  1. Add $wgTiffThumbnailType to LocalSettings.php and set to either jpg or png to specify which type of thumbnail you wish to have generated.
  1. 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


Eliminação de imagens

Files, like wiki pages, can only be deleted by users with the Eliminar páginas (delete)" permission (administradores by default). Supressão de imagens é feita mediante a supressão da descrição associada na página (ou clicando no link "excluir em todas as versões").

Eliminação de uma única revisão

Se uma imagem tiver sido alterada, existe uma revisão da história da imagem, que é mostrada na página da imagem. Cada revisão tem um link eliminar. Se este for clicado, a revisão e os arquivos são excluídos permanentemente.

The versions of files are separate from the page history of the file description page.

A informação sobre as revisões antigas dos "ficheiros" são guardadas na tabela oldimage enquanto a informação nas revisões antigas das "páginas" são guardadas na tabela revision .

Restauro de ficheiros

Files can be undeleted in exactly the same way as normal wiki pages. The directory in which deleted files are stored is defined by Manual:$wgDeletedDirectory . A informação sobre as imagens eliminadas são guardadas na tabela filearchive .

Eliminação de Ficheiros Arquivados

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.

Motivos para Eliminar um Ficheiro

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.

Armazenamento de dados

Quando a imagem é carregada, várias coisas que são criadas:

  1. Um artigo no namespace imagem com o nome exato do arquivo, por exemplo, Imagem: MyPicture.png. Este artigo é armazenado e comporta-se como qualquer outro artigo.
  2. O próprio ficheiro está guardado numa pasta no sistema de ficheiros com os espaços em branco unidos e substituídos com _.
  1. Se necessário e a miniatura estiver disponível, as versões em miniatura do ficheiro serão criadas quando necessário (como para a utilização na página de descrição do ficheiro.

Estas são guardadas na diretoria thumb da diretoria de imagens, numa diretoria separada para cada ficheiro principal.

Se $wgHashedUploadDirectory estiver ativado (por predefinição), o MediWiki cria várias subdiretorias na diretoria de imagens.

Os nomes da diretoria são os dois primeiros carateres do cardinal md5 do nome do ficheiro final.

Pastas

Todos os ficheiros de imagem são guardados numa pasta determinada por $wgUploadPath (images/, por predefinição)

Descrição das subpastas da imagem nomeada:

archive
este é o local do armazenamento para os ficheiros que foram substituídas pelas versões mais recentes.
temp
;temp: utilizado para o armazenamento temporário durante envio de imagem. (Devido a task T11018, estes ficheiros nem sempre podem ser eliminados automaticamente))
thumb
;thumb: miniaturas (gerado automaticamente) para os ficheiros. Se estes forem eliminados, eles são regenerados automaticamente quando necessário.

Depending on the configuration, there may be additional image subfolders:

math
Folder to store your rendered TeX input, see also Extension:Math or Manual:Math .
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. See Manual:$wgHashedUploadDirectory for more details on why this might be desired and how this system works.

Tabelas de base de dados

  • A página da descrição do cheiro é guardada como qualquer página na page, text, revision, tabelas, etc
  • image - * table image: Mantém alguns meta dados como o tamanho da imagem. Não contém o link para o arquivo. Este é provavelmente calculado pelo nome do arquivo e da razão pela qual não é possível mover artigos no namespace imagem.
  • oldimage - * table oldimage: Este é o arquivo de imagens que foram substituídos por versões mais recentes. Nota: Imagens excluídas não são armazenadas aqui, são excluídos permanentemente (ou, em versões mais recentes do MediaWiki, mudou-se para o filearchive).
  • filearchive - * table filearchive: detém a informação sobre as imagens apagadas.
  • imagelinks - * table imagelinks: Mantém as informações no artigo de uma imagem que está sendo utilizada. (Isso poderia ter sido armazenado em pagelinks, mas alguém decidiu criar uma outra tabela.)

Espaço utilizado

Fotos necessitam consideravelmente mais espaço do que artigos. Os seguintes cálculos assumir um bloco de tamanho 4KB com Linux / Unix servidores.

A configuração padrão é $wgHashedUploadDirectory = true.

Necessidades de espaço para todos os diretórios:

  • Imagem diretórios: 0-f/x0-f: max. 16 * 16 = 256 diretórios = 256 * 4 KB = 1024 KB
  • Arquivo diretórios: 0-f/x0-f: max. 16 * 16 = 256 diretórios = 256 * 4 KB = 1024 KB
  • Polegar diretórios: 0-f/x0-f: max. 16 * 16 = 256 diretórios = 256 * 4 KB = 1024 KB
  • Temp diretórios: 0-f/x0-f: max. 16 * 16 = 256 diretórios = 256 * 4 KB = 1024 KB

Portanto, o montante de base do espaço necessário, sem qualquer imagens carregadas é de 4 MB.

Para cada ficheiro nós precisamos:

  • O tamanho do ficheiro da imagem original mais sobrecarga média de + 2 KB

Para os ficheiros que precisem de ser miniaturizados:

  • tamanho da(s) miniatura(s) criada(s) mais sobrecarga média de + 2 KB (cada)
  • diretoria para miniatura (4KB) (cada imagem tem a sua própria diretoria de miniaturas)

Exemplos:

  • Imagem 20778 Byte png (pequena dimensão, não polegar): 24 KB para a imagem: Total 24 KB
  • Imagem jpeg 123,000 Byte (grande porte, auto polegar): 124 KB para a imagem, 4KB para o polegar diretório, 64 KB para o polegar: Total: 192 KB

Acesso de Ficheiro

Os ficheiros enviados são geralmente servidos diretamente pelo servidor da Web, e não através do MediaWiki. Embora possa haver um nível mínimo de segurança através da obscuridade caminho com criptografia (ex. /c/c4/...) veja $wgHashedUploadDirectory está definido, o caminho pode ser facilmente calculado a partir do arquivo Nome e não fornece proteção na verdade.

Para limitar o acesso aos utilizadores autorizados, consulte Manual:Image authorization .

Upload form

Licenciamento

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.

Para informações pormenorizadas do mundo real veja o exemplo, w:pt:MediaWiki:Licenses

Repositórios Externos

It is possible to access files stored in foreign repositories, without needing to upload them to the wiki, by setting the $wgForeignFileRepos array. This feature offers several possibilities:

  • 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.

Notes

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