Это не соответствует действительности, когда я начал миграцию своего 24-летнего форума vBulletin, работающего на vB 3. Скрипт имел множество несовместимостей и других проблем. Однако я приложил много усилий для создания импортера для vBulletin 3 на основе скрипта для vB4.
Улучшенный скрипт включен в Discourse, он называется vbulletin3.rb. Использование скрипта импорта vB3 такое же, как описано в этом руководстве. Просто выполните bundle exec ruby script/import_scripts/vbulletin3.rb вместо этого.
В vBulletin3 есть несколько значительных изменений/улучшений:
- Копируются права доступа к форумам
- Создаются группы модераторов форумов
- Создаются группы пользователей, в которые можно вступить, с правильной конфигурацией
- Вложенность форумов импортируется до 3 уровней в глубину (максимум для Discourse)
- Для всех тем и сообщений регистрируются постоянные ссылки, предотвращая потерю ссылок
- Копируются некоторые базовые настройки форумов (например, заголовок, email для уведомлений, название компании)
- Импортируются опросы
- Значительные улучшения в конвертации bbcode в markdown
- Глубокие ссылки на темы, сообщения и вложения преобразуются в ссылки Discourse; для этого необходимо установить переменную окружения
FORUM_URLв значениеforum.hostname/path(без протокола).
Вместо попытки конвертировать личные сообщения vBulletin в личные сообщения Discourse пользователи получат системное личное сообщение, содержащее архив их личных сообщений. Структура личных сообщений в vBulletin не совсем совместима с Discourse. Попытка их конвертации также могла бы нарушить конфиденциальность в зависимости от того, как люди использовали личные сообщения в vBulletin.
Как и в случае с другими импортерами, конвертация может занять довольно много времени. Скрипт конвертации работал 5,5 часов на моей рабочей станции для 7 тысяч пользователей, 16 тысяч тем и 415 тысяч сообщений. Я не знаю, сколько времени заняла постобработка — я оставил её работать на ночь. С момента начала до конца форум был недоступен в течение 30 часов. В итоге я доволен результатом.