Difference between revisions of "MW Import&Export/ru"
Line 13: | Line 13: | ||
Здесь также приходится использовать модификацию <tt>filerepo/LocalFile.php</tt>, потому что в оригинале имена старых ревизий загруженных файлов в MediaWiki включает в себя некую странную дату «момента архивирования», обычно равную дате '''следующей''' ревизии, да ещё не всегда точную, а плюс-минус одна секунда. С патчем это поведение меняется и в имена файлов ревизии включается дата самой ревизии. При этом имена архивных ревизий становятся независимы от имени следующей ревизии и сильно упрощается и становится логичнее импорт. | Здесь также приходится использовать модификацию <tt>filerepo/LocalFile.php</tt>, потому что в оригинале имена старых ревизий загруженных файлов в MediaWiki включает в себя некую странную дату «момента архивирования», обычно равную дате '''следующей''' ревизии, да ещё не всегда точную, а плюс-минус одна секунда. С патчем это поведение меняется и в имена файлов ревизии включается дата самой ревизии. При этом имена архивных ревизий становятся независимы от имени следующей ревизии и сильно упрощается и становится логичнее импорт. | ||
+ | |||
+ | В связи с этим, если вы устанавливаете патч на "голую" версию MediaWiki, . | ||
== Выборка страниц == | == Выборка страниц == | ||
Line 39: | Line 41: | ||
== Ссылки == | == Ссылки == | ||
− | * [http://mediawiki4intranet.googlecode.com/hg/MW4Intranet-ImportExportPatch-1.14.1.diff?r=files Патч для MediaWiki 1.14.1]. | + | * Патч из состава MediaWiki4Intranet 1.14.1, требует также патча translit-upload-filenames. |
− | * [http://mediawiki4intranet.googlecode.com/hg/MW4Intranet-ImportExportPatch-1.16.2.diff?r=files Патч для MediaWiki 1.16.2]. | + | * Патч из состава MediaWiki4Intranet 1.16.2, требует также патча translit-upload-filenames. |
− | * [http://mediawiki4intranet.googlecode.com/hg/MW4Intranet-ImportExportPatch-svn77332.diff?r=files Патч для MediaWiki 1.17-dev] (для [http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3?pathrev=77332 svn77332]). | + | * [http://mediawiki4intranet.googlecode.com/hg/import-export-patch/MW4Intranet-ImportExportPatch-1.14.1.diff?r=files Патч для MediaWiki 1.14.1]. |
+ | * [http://mediawiki4intranet.googlecode.com/hg/import-export-patch/MW4Intranet-ImportExportPatch-1.16.2.diff?r=files Патч для MediaWiki 1.16.2]. | ||
+ | * [http://mediawiki4intranet.googlecode.com/hg/import-export-patch/MW4Intranet-ImportExportPatch-svn77332.diff?r=files Патч для MediaWiki 1.17-dev] (для [http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3?pathrev=77332 svn77332]). | ||
+ | * [http://mediawiki4intranet.googlecode.com/hg/import-export-patch/file-upload-renamer.php Скрипт обслуживания (maintenance)] для миграции схемы именования старых ревизий загруженных файлов. | ||
* Патч отправлен в [https://bugzilla.wikimedia.org/show_bug.cgi?id=22881 Wikimedia Bug 22881]. Надеемся, что он будет включён в код будущей версии MediaWiki после каких-нибудь доработок. | * Патч отправлен в [https://bugzilla.wikimedia.org/show_bug.cgi?id=22881 Wikimedia Bug 22881]. Надеемся, что он будет включён в код будущей версии MediaWiki после каких-нибудь доработок. | ||
[[Категория:MediaWiki]] | [[Категория:MediaWiki]] |
Revision as of 18:21, 14 February 2011
Оригинальный импорт/экспорт MediaWiki экспортирует только текст статей, но не экспортирует изображения.
Это досадное недоразумение исправлено в сборке MediaWiki 4 Intranet (Internal Bug:47362) с помощью патча в код MediaWiki (см. #Ссылки).
Включены следующие доработки:
Импорт/экспорт файлов
Реализована поддержка импорта и экспорта загруженных файлов. Есть два варианта:
- Либо данные файла включаются прямо в экспортный файл, который при этом становится multipart/related вместо обычного XML.
- Либо экспортный файл остаётся XML, в него для каждой экспортируемой версии файла включается HTTP-ссылка на файл и SHA1-хэш. При импорте файлы загружаются целевой Wiki по необходимости (если версии с совпадающим хэшем ещё нет). Это позволяет уменьшить объём экспортного файла, но зато не может использоваться при отсутствии прямого HTTP-доступа к вики, из которой был выгружен экспортный файл.
Здесь также приходится использовать модификацию filerepo/LocalFile.php, потому что в оригинале имена старых ревизий загруженных файлов в MediaWiki включает в себя некую странную дату «момента архивирования», обычно равную дате следующей ревизии, да ещё не всегда точную, а плюс-минус одна секунда. С патчем это поведение меняется и в имена файлов ревизии включается дата самой ревизии. При этом имена архивных ревизий становятся независимы от имени следующей ревизии и сильно упрощается и становится логичнее импорт.
В связи с этим, если вы устанавливаете патч на "голую" версию MediaWiki, .
Выборка страниц
Улучшенная выборка страниц для экспорта:
- Из категорий, включая подкатегории.
- Из пространства имён.
- Изменённых после заданной даты.
- Связанных ссылками с уже выбранными («замыкание по ссылкам»).
Кроме того, у стандартного экспорта есть небольшая неприятная особенность: если запросить включение шаблонов + страниц, связанных ссылками, то он не включит шаблоны, включённые в страницы, связанные ссылками. Причина: стандартный экспорт производит сначала «замыкание» по включаемым шаблонам (включает шаблоны + шаблоны, включённые в шаблоны + и т. д.), а потом — «замыкание» по ссылкам (включает страницы по ссылкам + страницы, на которые ведут ссылки с этих страниц + и т. д.).
В доработанной версии этот недостаток исправлен.
Выявление конфликтов
Выявление «конфликтов» импорта (похожим на DVCS образом) и расширенный отчёт по импортированным страницам, включающий в себя по сообщению на каждую импортированную страницу, сообщений бывает 5 вариантов:
- Все редакции были ранее импортированы. Локальных изменений нет.
- Все редакции были ранее импортированы. Страница изменена локально.
- N версий.
- N версий (новая страница).
- N версий (конфликт: XX (импорт) и YY (локальная)).
При всех этих доработках механизм импорта/экспорта обратно совместим с экспортными файлами стандартных версий MediaWiki. То есть, в модифицированную Wiki можно загрузить экспортный файл из стандартной, а в стандартную — из модифицированной, в случае, если не экспортируются файлы.
Ссылки
- Патч из состава MediaWiki4Intranet 1.14.1, требует также патча translit-upload-filenames.
- Патч из состава MediaWiki4Intranet 1.16.2, требует также патча translit-upload-filenames.
- Патч для MediaWiki 1.14.1.
- Патч для MediaWiki 1.16.2.
- Патч для MediaWiki 1.17-dev (для svn77332).
- Скрипт обслуживания (maintenance) для миграции схемы именования старых ревизий загруженных файлов.
- Патч отправлен в Wikimedia Bug 22881. Надеемся, что он будет включён в код будущей версии MediaWiki после каких-нибудь доработок.