Как экспортировать и импортировать изображения из и в MediaWiki?
Экспорт и импорт изображений в MediaWiki
Ответы (6)
Нет автоматического способа экспортировать изображения, как вы экспортируете страницы, вам нужно щелкнуть по ним правой кнопкой мыши и выбрать «сохранить изображение». Чтобы получить историю страницы изображения, используйте страницу Special:Export.
Для импорта изображений используйте страницу Special:Upload на вашей вики. Если у вас их много, вы можете использовать скрипт импорта изображений. обычно вы должны быть в группе сисопа, чтобы загружать изображения.
Терминальные решения
Администратор MediaWiki на терминале сервера может выполнять задачи обслуживания, используя структуру скриптов обслуживания. а>. Новые версии Медиавики запускают все стандартные скрипты в задачах, описанных ниже, но в старых версиях есть ошибки или не все современные скрипты: проверьте номер версии на grep wgVersion includes/DefaultSettings.php
.
Примечание: все процитированные (ниже) скрипты также имеют опцию --help
, например php maintenance/importImages.php --help
Исходная папка с изображениями
Пользователи загружают файлы через страницу Special:Upload; администраторы могут настроить разрешенные типы файлов с помощью белого списка расширений. После загрузки файлы сохраняются в папке в файловой системе, а эскизы — в специальном каталоге миниатюр.
Папку Mediawiki images
можно заархивировать с помощью команды zip -r ~/Mediafiles.zip images
, но этот zip не так хорош:
есть много ложных файлов: удаленные файлы и старые файлы (не текущие) с именами файлов как
20160627184943!MyFig.png
и миниатюрами какMyFig.png/120px-MyFig.jpg
.для обмена данными или долгосрочного сохранение porpurses, оно недействительно... некрасивый формат папки
images/?/??/*
не подходит, как обычно все файлы изображений только в одной папке .
Экспорт/импорт изображений
Для экспорта и импорта всех текущих изображений в одну папку на терминал сервера MediaWiki существует пошаговая единая процедура.
Шаг 1. создайте дампы изображений с помощью dumpUploads (с параметрами --local
или --shared
, если требуется сохранение), который создает txt список всех изображений. используемые имена файлов.
mkdir /tmp/workingBackupMediaFiles
php maintenance/dumpUploads.php \
| sed 's~mwstore://local-backend/local-public~./images~' \
| xargs cp -t /tmp/workingBackupMediaFiles
zip -r ~/Mediafiles.zip /tmp/workingBackupMediaFiles
rm -r /tmp/workingBackupMediaFiles
Команда приводит к созданию стандартного zip-файла папки резервного копирования образа Mediafiles.zip
в корневом каталоге пользователя (~/
).
ПРИМЕЧАНИЕ. Если вас не беспокоит уродливая структура папок, более прямым способом является
php maintenance/dumpUploads.php \
| sed 's~mwstore://local-backend/local-public~./images~' \
| zip ~/Mediafiles.zip -@
согласно версии Mediawiki, опция --base=./
будет работать нормально, и вы можете удалить команду sed
канала.
Шаг 2. нужна резервная копия? установка копии образов? ... вам нужно только Mediafiles.zip
и установленный Mediawiki без содержания... Если В Wiki есть содержание, проверьте проблемы с конфликтами имен файлов (!). Другая проблема заключается в настройке форматов файлов и разрешений, которые должны быть такими же или более широкими в новой Wiki, см. Руководство:Настройка загрузки файлов.
Шаг 3: восстановите дампы (в новую вики) с помощью инструментов обслуживания. Предположим, что вы использовали шаг 1 для экспорта и сохранения в zip-файл,
unzip ~/Mediafiles.zip -d /tmp/workingBackupMediaFiles
php maintenance/importImages.php /tmp/workingBackupMediaFiles
rm -r /tmp/workingBackupMediaFiles
php maintenance/update.php
php maintenance/rebuildall.php
Это все. Проверьте, просматривая Special:NewFiles вашей новой вики.
Полный экспорт или сохранение
Для экспорта ВСЕХ изображений и ВСЕХ статей вашей старой MediaWiki, для полной резервной копии или сохранения контента. Добавьте несколько процедур на каждом шаге:
Шаг 1: ... см. шаг 1 выше... и для создания дампов текстового содержимого из старой Wiki
php maintenance/dumpBackup.php --full | gzip > ~/dumpContent.xml.gz
Примечание: вместо --full
вы можете использовать опцию --current
.
Шаг 2: ... вам нужны dumpContent.xml.zip
и Mediafiles.zip
... из старой Вики. Предположим, что оба zip-файла находятся в вашей папке ~
.
Шаг 3: запустите в новой вики
unzip ~/Mediafiles.zip -d /tmp/workingBackupMediaFiles
gunzip -c ~/dumpContent.xml.gz
| php maintenance/importDump.php --no-updates \
--image-base-path=/tmp/workingBackupMediaFiles
rm -r /tmp/workingBackupMediaFiles
php maintenance/update.php
php maintenance/rebuildall.php
Это все. Проверьте также Special:AllPages новой Wiki.
– Экспортировать ВСЕ:
Вы можете получить все страницы и все изображения из сети MediaWiki с помощью [API], даже если вы не являетесь владельцем сети (конечно, если владелец не отключил эту функцию):
Шаг 1. Использование API для получения заголовков всех страниц и < href="http://www.mediawiki.org/wiki/API:Allimages" rel="nofollow">ссылка на все изображения. Вы можете написать код, чтобы сделать это автоматически.
Шаг 2. Затем вы используете [Special:Export] для экспорта всех страниц с полученными заголовками и используете wget
для получения всех изображений, на которые у вас есть ссылки (например, wget -i img-list.txt
).
– Импортировать ВСЕ:
Шаг 1. Импортируйте страницы с помощью [Special:Import]
Шаг 2. Импортируйте изображения с помощью [Manual:ImportImages.php].
Доступно несколько инструментов массовой загрузки.
Коммонист - www.djini.de/software/commonist/
Оба работают на рабочем столе и могут быть настроены для загрузки в вашу локальную вики (по умолчанию они настроены для Википедии и Викимедиа). Если вы боитесь редактировать содержимое файла .jar, я предлагаю вам начать с Commonplace.
Еще одно полезное расширение существует для самого Mediawiki.
MultiUpload — http://www.mediawiki.org/wiki/Extension:MultiUpload
Это расширение позволяет сбрасывать изображения в папку и загружать их все сразу. Он поддерживает аннотации для каждого файла, если это необходимо, и очищает папку после того, как это будет сделано. С другой стороны, это требует открытия общей папки на стороне сервера.
Commonplace – commons.wikimedia.org/wiki/Commons:Tools/Commonplace
раньше был доступен, но с 13 января 2010 г. он был а>.
Надеюсь, это немного поможет: http://www.mediawiki.org/wiki/Manual:ImportImages.php
Как коммиттер MediaWiki-Japi я хотел бы отметить:
Для варианта использования для отправки страниц с изображениями из одной вики в другую MediaWiki-Japi теперь есть команда линейный режим см. Ошибка 49. Включить интерфейс командной строки с параметром передачи страницы
В противном случае вы можете использовать MediaWiki-Api с языком по вашему выбору и использовать функции как вы найдете в PushPages.java
e.g.