Migrate a vBulletin 4 forum to Discourse

Это не соответствует действительности, когда я начал миграцию своего 24-летнего форума vBulletin, работающего на vB 3. Скрипт имел множество несовместимостей и других проблем. Однако я приложил много усилий для создания импортера для vBulletin 3 на основе скрипта для vB4.

Улучшенный скрипт включен в Discourse, он называется vbulletin3.rb. Использование скрипта импорта vB3 такое же, как описано в этом руководстве. Просто выполните bundle exec ruby script/import_scripts/vbulletin3.rb вместо этого.

В vBulletin3 есть несколько значительных изменений/улучшений:

  1. Копируются права доступа к форумам
  2. Создаются группы модераторов форумов
  3. Создаются группы пользователей, в которые можно вступить, с правильной конфигурацией
  4. Вложенность форумов импортируется до 3 уровней в глубину (максимум для Discourse)
  5. Для всех тем и сообщений регистрируются постоянные ссылки, предотвращая потерю ссылок
  6. Копируются некоторые базовые настройки форумов (например, заголовок, email для уведомлений, название компании)
  7. Импортируются опросы
  8. Значительные улучшения в конвертации bbcode в markdown
  9. Глубокие ссылки на темы, сообщения и вложения преобразуются в ссылки Discourse; для этого необходимо установить переменную окружения FORUM_URL в значение forum.hostname/path (без протокола).

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

Как и в случае с другими импортерами, конвертация может занять довольно много времени. Скрипт конвертации работал 5,5 часов на моей рабочей станции для 7 тысяч пользователей, 16 тысяч тем и 415 тысяч сообщений. Я не знаю, сколько времени заняла постобработка — я оставил её работать на ночь. С момента начала до конца форум был недоступен в течение 30 часов. В итоге я доволен результатом.

2 лайка