Объединение содержимого MediaWiki вместе

В настоящее время у меня есть две MediaWiki, одна более старая версия, чем другая. Я хочу объединить содержимое обоих вместе, не удаляя дубликаты страниц. На данный момент лучший вариант, который я могу придумать, — это использовать бота (например, pywikipedia), чтобы просмотреть все страницы одной вики и попытаться вставить их в другую, переименовав дубликаты страниц.

Это решение, похоже, потребует времени, чтобы выполнить его. Есть ли более приятный способ сделать это, о котором я просто не знаю? Я не очень много работал с базой данных MediaWiki напрямую, поэтому мне не очень удобно возиться с ней, не зная, что я делаю.


person spelchec    schedule 17.11.2008    source источник


Ответы (1)


MediaWiki имеет импорт и экспортировать функции, которые можно использовать для перемещения содержимого. Он объединяет истории существующих страниц (см. ссылку на импорт).

Однако он не обрабатывает конфликты двух разных страниц с одним и тем же именем, поэтому вам придется самостоятельно справляться с перемещением страниц. Насколько я вижу в описании MediaWiki таблицы страниц, вы можете найти и переименовать дублировать страницы непосредственно в SQL, но pywikipedia тоже должна работать (но вам нужно будет удалить перенаправления, возникающие в результате «правильных» перемещений страниц, иначе они будут путаться с импортированными страницами из другой вики).

person che    schedule 17.11.2008
comment
Я согласен - если не будет нескольких сотен дубликатов страниц, я рекомендую использовать функцию импорта/экспорта XML. - person HanClinto; 17.11.2008
comment
Из того, что я вижу о функции импорта, похоже, что она полезна для небольших наборов файлов, но не так полезна для больших наборов. Похоже, что дубликаты страниц должны обрабатываться пользователем, а возможности настройки импорта кажутся ограниченными. Прямо сейчас pywikipedia ищет лучший вариант... - person spelchec; 19.11.2008