Manual:Image administration/ru

Данная статья содержит сведения о том, как MediaWiki хранит файлы и о том, как настроить этот функционал.

Это относится к изображениям так же, как и к любым другим типам файлов, которые могут быть загружены (uploaded). Все файлы хранятся с соответствующей статьёй в пространстве имён "File:" ("Файл:"). MediaWiki до версии 1.14 использовали пространство имён "Image:" вместо "File:". "Image:" до сих пор поддерживается как псевдоним для обратной совместимости.

Загрузка и использование изображений
См.

Включение функции загрузки файлов
Для загрузки файла должны совпасть три условия:


 * 1) Функция загрузки файлов в MediaWiki должна быть включена. Установите для  значение «true».
 * 2) Тип файла должен быть разрешённым. Подробности:.
 * 3) Участник должен входить в группу с правом «upload». По умолчанию это право дано всем авторизованным участникам.

Загрузка файлов выполняется посредством служебной страницы Special:Upload.

'''См. , и '''

Параметры, относящиеся к работе с файлами
Следующие параметры имеют отношения к функционалу работы с файлами:



Создание миниатюр изображений
Расширенный синтаксис изображений MediaWiki позволяет автоматически создавать миниатюры изображений (см. по общей помощи по загрузке файлов).

Функция создания миниатюр (Image thumbnailing) требует наличия ImageMagick или библиотеки GD - ни один из этих продуктов не входит в дистрибутив MediaWiki по умолчанию, хотя некоторые версии PHP включают GD.

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

GD включён в некоторые версии PHP, а в системах под управлением ОС Windows рекомендуется использовать именно GD.

GD can be downloaded from https://libgd.github.io/. В новых версиях этого не требуется.

ImageMagick
In MediaWiki, enable ImageMagick in  by setting   to true.

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

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

Если вы используете ImageMagick, установите в значение «true» в файле LocalSettings.php. Убедитесь что $ImageMagickConvertCommand указывает на (абсолютный) путь к расположению команды конвертации в вашей инсталляции, а также что команда выполнима для веб-сервера. К примеру, пользователи ОС Windows могут захотеть изменить значение по умолчанию на «C:\ImageMagick\convert.exe» (или что-то подобное).

Для воссоздания старых файлов миниатюр перед использованием ImageMagick вы можете использовать.

Если рендеринг завершается неудачно, проверьте и увеличьте значение.

GraphicsMagick теперь также можно использовать в качестве альтернативы ImageMagick. You will need to set to the following. Например:

GIF
Для создания миниатюр для анимированных GIF-файлов в среде Windows, вам потребуется установить ImageMagick согласно описанию выше.

SVG


MediaWiki поддерживает возможность рендеринга изображений в формате SVG: если такая возможность включена, изображения в формате SVG могут использоваться так же, как и любые другие — они будут автоматически растеризоваться и отображаться в виде файлов в формате PNG, с генерацией миниатюр «на лету», по мере необходимости. Если вы используете общий хост и не предустановлен SVG-рендер, вам, вероятно, следует попросить вашего провайдера установить его для вас.

Для включения поддержки SVG необходимо:

See ImageMagick issue.
 * 1) Разрешите в LocalSettings.php возможность загрузки файлов SVG:   Обратите внимание, что по соображениям безопасности MediaWiki откажется обрабатывать SVG-файлы, содержащие JavaScript.
 * 2) ːЧтобы избежать ложных срабатываний, добавьте  в файл.
 * If you are using MediaWiki 1.34 or higher, is never applied and now always . You can safely remove this in your LocalSettings.php file.
 * 1) ːЕсли вы получаете сообщение об ошибке, где говорится, что файл повреждён, убедитесь, что работает нормально.
 * 2) Добавьте   в файл  и выберите инструмент, который вы хотите использовать для растеризации.
 * Можно выбирать из ImageMagick, ImagickExt , sodipodi , inkscape , batik , rsvg , и imgserv.
 * Например:
 * 1) * librsvg быстр, но не очень аккуратен. Это зависит от большого количества библиотек. Чтобы автоматически установить все эти библиотеки, вы можете использовать менеджер пакетов. Проекты Викимедиа используют rsvg.
 * 2) * Batik обеспечивает наиболее точную отрисовку SVG среди доступных решений, хотя подчас недостаточно хорошо справляется со сглаживанием (anti-aliasing). У него более строгие правила разбора SVG, что заставляет его отвергать «почти правильные» SVG-файлы, принимаемые другими конвертерами (например, commons:File:UbuntuCoF.svg). Батик основан на Java, и гораздо медленнее, чем rsvg, хотя это не может быть большой проблемой, если только вы постоянно не добавляете SVG-файлы. См. сравнительные тесты SVG. Требуется много усилий, чтобы заставить его работать, если только он не входит в ваш дистрибутив.
 * 3) * Inkscape также не слишком аккуратно обрабатывает SVG-файлы, и примерно в два раза медленне, чем rsvg. При этом он был спроектирован для интерактивной работы с графигой, поэтому требует, чтобы у запускающего его пользователя была на сервере домашняя папка (home directory) с правами на запись. Поскольку он будет работать как пользователь  или кто-то подобный, он будет пытаться создать папки   и   в соответствующей домашней папке, и молча сломается, если это ему не удастся. Inkscape предпочтительнее, чем rsvg, в случаях (а) если используется среда Windows (если говорить об отдельном пакете) или (б) если у вас имеются важные SVG-файлы, нарисованные в Inkscape, которые некорректно обрабатываются в rsvg. Inkscape связан сложной цепью зависимостей с librsvg &mdash; используйте, только если эти компоненты есть в вашем дистрибутиве или доступны в качестве полностью автономного пакета.
 * 4) * Sodipodi — это ответвление от Inkscape. Применимо всё то же самое, что и к Inkscape. Sodipod в настоящее время активно не разрабатывается.
 * 5) * ImageMagick обрабатывает SVG-файлы, но с массой ошибок. Это значение по умолчанию, но избегайте его, если только это возможно. Тем не менее, это работает. В Windows необходимо установить $wgConvertPath, чтобы избежать конфликта с convert.exe. One simple alternative in this scenario is to add to LocalSettings.php the line, which also allows for spaces in the path.
 * 1) * ImageMagick обрабатывает SVG-файлы, но с массой ошибок. Это значение по умолчанию, но избегайте его, если только это возможно. Тем не менее, это работает. В Windows необходимо установить $wgConvertPath, чтобы избежать конфликта с convert.exe. One simple alternative in this scenario is to add to LocalSettings.php the line, which also allows for spaces in the path.
 * 1) ** 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.
 * 1) * The PHP Imagick extension supports SVG rendering, however the same considerations as for the regular ImageMagick apply.
 * 1) * Библиотека GD не способна преобразовывать изображения SVG в формат PNG, по крайней мере, согласно записи Джоя Асмуссена (Joen Asmussen) в блоге NoScope от июня 2008.
 * 1) * Многие современные веб-браузеры, за исключением Internet Explorer, умеют отображать файлы SVG напрямую — быстро, но неаккуратно (примерно так же, как ImageMagick). Использование librsvg для растенризации SVG и преобразования его в формат PNG даст гораздо более аккуратный результат. Прямое отображение SVG в MediaWiki по умолчанию не поддерживается, однако вы можете установить для этой цели расширение.

Установите значение, если рендеринг SVG не требуется, и вы хотите, чтобы пользователи загружали файл svg для его просмотра

Разрешение проблем
Если вы видите пустой квадрат вместо SVG (Chrome) или вообще не видите изображения (Firefox) и все ссылки PNG приводят к ошибке 404, и вы не видите никаких других сообщений об ошибках, проверьте переменную. Установка значения false может сделать преобразование SVG отложенным всегда. Убедитесь, что включены методы PHP $open и $symlink (они могут быть отключены в php.ini по соображениям безопасности или производительности). Make sure that proc_open and symlink PHP methods are enabled (they may be disabled in php.ini for security or performance reasons).

JPEG (с использованием GD)
Просто добавьте следующую строку в LocalSettings.php, это приведет к автоматическому возврату в библиотеку GD.

Об ошибках, связанных с созданием миниатюр JPEG-файлов, см. JPEG (с использованием GD).

TIFF
Для создания миниатюр файлов TIFF требуется MediaWiki версии 1.15.0 или выше.


 * 1) Разрешите в LocalSettings.php возможность загрузки файлов TIFF:
 * 2) Добавьте   к  и установите его значение в jpg или png в зависимости от того, какой из этих форматов вы предпочитаете для создания миниатюр.
 * 3) Изготовление миниатюр для файлов TIFF может потребовать дополнительных системных ресурсов помимо тех, которые необходимы для миниатюр JPEG, GIF и PNG. Соответствующие настройки для этого —   и.

Удаление изображений
Файлы, как и вики-страницы, могут удалять только участники с правами « (delete)» (по умолчанию — ). Удаление файла вызывает также и удаление ассоциированной с ним вики-страницы с описанием (то же достигается, если перейти по ссылке «» в таблице «»).

Удаление отдельных версий файлов
Если файл был изменён, то история его изменений отображается на странице его описания. Каждая версия сопровождается ссылкой «». Перейдя по ней, можно навсегда удалить данную версию файла вместе с записью в истории изменений.

Информация о старых версиях файлов хранится в таблице «», в то время как информация о старых версиях страниц хранится в таблице «».

Восстановление файлов
Files can be undeleted in exactly the same way as normal wiki pages. The directory in which deleted files are stored is defined by. Информация об удалённых файлах хранится в таблице «filearchive».

Удаление архивных версий файлов
Начиная с версии MediaWiki 1.11, удаленные изображения по-прежнему сохраняются на сервере по умолчанию. Если вы хотите удалить выбранные заархивированные изображения, вы можете сделать это с помощью сценария обслуживания. Если вы хотите полностью удалить их все, вы можете сделать это с помощью сценария. Если вы удалите заархивированные файлы, вы больше не сможете восстановить эти файлы.

Причины удаления файлов
При выборе удаления файла, как описано выше, пользователям будет предложено указать причину удаления. Доступные причины могут быть отредактированы в MediaWiki:Filedelete-reason-dropdown вашей вики.

Хранение данных
Как только изображение загружается, создаётся следующее:

Они хранятся в папке thumb внутри директории images, в отдельной папке для каждого основного файла.
 * 1) Статья в пространстве имён file с именем этого файла, например, File:MyPicture.png. Эта страница хранится и может редактироваться подобно любой другой странице.
 * 2) Сам файл, хранящийся в папке файловой системы, объединенными и замененными на.
 * 1) Если подключено создание миниатюр, при необходимости будут создаваться уменьшенные версии этого файла (например, для использования на странице описания файла).

Если $wgHashedUploadDirectory включена (по умолчанию), MediaWiki создает несколько подпапок в папке «images».

Названия папок являются первыми двумя символами md5-хеша конечного имени файла.

Папки
Все файлы изображений хранятся в отдельной папке, расположение которой определяется посредством  (по умолчанию,  ).

Описание именованных подпапок изображений:


 * archive: Это место хранения файлов, которые заменены более новыми версиями.
 * temp: используется при загрузке изображений. (Но для таких файлов может оказаться недоступным автоматическое их удаление — см. )
 * thumb: Миниатюры файлов (автоматически создаваемые). Будучи удалены, будут при необходимости автоматически восстановлены.

В зависимости от настроек, может использоваться дополнительная подпапка:


 * math: Папка для хранения растеризованных формул в формате TeX, см. также Manual:Enable TeX или Math.
 * x/xy: Если для  установлено значение true (по умолчанию), то изображения будут храниться в подпапках изображений, поэтому пути к файлам будут выглядеть как  .. Смотрите  для более подробной информации о том, почему это может быть необходимо и как эта система работает.

Таблицы базы данных

 * Страница описания файла хранится как любая страница в таблицах page, text, revision и т.д.
 * - * image table: Содержит некоторые метаданные, такие как размер файла и дату загрузки.
 * - * oldimage table: Здесь хранится информация для файлов, которые были заменены более новыми версиями.
 * - * filearchive table: содержит информацию об удаленных файлах.
 * - Записывает, какие страницы используют файл.

Использование дискового пространства
Файлы требуют значительно больше места, чем статьи. Следующие вычисления предполагают размер блока 4 КБ для серверов Linux / Unix.

Настройка по умолчанию выглядит как.

Требуемое дисковое пространство для всех папок:


 * image directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB
 * archive directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB
 * thumb directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB
 * temp directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB

Следовательно, базовый объем пространства, необходимый без загруженных изображений, теоретически составляет 4 МБ (хотя каталоги создаются только при необходимости).

Для каждого файла необходимо:


 * размер исходного файла изображения + 2 КБ средних накладных расходов

Для файлов, которым требуются миниатюра:


 * размер созданного эскиза(ов) + 2 КБ средних накладных расходов (каждому)
 * каталог для миниатюр (4 КБ) (каждое изображение имеет свой каталог с миниатюрами)

Примеры:


 * изображение 20778 байт png (маленький размер, без миниатюр): 24 КБ для изображения: Итого 24 КБ
 * изображение в формате 123.000 байт jpeg (большой размер, автоматические создание миниатюр): 124 КБ для изображения, 4 КБ для каталога миниатюр, 64 КБ для миниатюр: Итого 192 КБ

Доступ к файлам
Загруженные файлы обычно обслуживаются непосредственно веб-сервером, а не через MediaWiki. В то время как может существовать минимальный уровень безопасности за счет неизвестности с шифрованием пути (eg. /c/c4/...) если задан, то путь может быть легко вычислен из имени файла и не обеспечивает истинной защиту.

Для ограничения доступа для авторизованных пользователей, смотрите.

Upload form
See the documentation on configuring the upload form.

Лицензирование
A feature of MediaWiki allows the Special:Upload Page to streamline licensing of images. Wikipedia's Upload Page has a Licensing drop down box below image summary. This feature is turned off in default MediaWiki. To turn this feature on a sysop needs to edit Licenses in the MediaWiki namespace (example: MediaWiki:Licenses). They can do this by going to the MediaWiki:Licenses page of their wiki and clicking 'create' or 'edit'.

The page MediaWiki:Licenses expects a certain format in a wiki list.

Line 1 will produce "License text" and substitute the license 1 template in the image page and transclude license 2.

Line 2 will show a greyed out header with text "Header 1:"

Line 3 will produce "Attribution ShareAlike 2.5" and transclude template cc-by-sa-2.5 on the image page.

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

Внешние хранилища
Можно получить доступ к файлам, хранящимся в сторонних репозиториях, без необходимости загружать их в вики, установив массив. Эта функция предлагает несколько возможностей:


 * ForeignAPIRepo получает доступ к файлам из удаленной установки MediaWiki, таким как Wikimedia Commons, через его API
 * ForeignDBRepo получает доступ к файлам через базу данных и полезен для создания wiki families
 * FSRepo получает доступ к файлам из локальной папки

Во всех случаях можно было бы внедрить файлы на страницу, используя обычный синтаксис image и указав имя файла в стороннем репозитории. Обратите внимание, что некоторые из приведенных выше реализаций все еще являются экспериментальными и могут не подходить для производственных площадок.