Более двух лет назад я мигрировал очень старый форум на Discourse. Я рассказал о своём опыте здесь: Moved from PluXml and phpBB to Wordpress and Discourse, my all-new experience 🎉
В этот раз я выполнил миграцию форума vBulletin5.
Этот форум на протяжении 20 лет был крупнейшим сообществом одноколёсников, но содержит темы, уходящие корнями в 1993 год, так как давно были импортированы материалы из рассылочных списков и новостных групп.
Таким образом, здесь хранится почти 30-летняя онлайн-информация об этом нишевом виде спорта, что довольно уникально.
В последние годы активность форума снизилась, а недавняя миграция с vBulletin 3 на vBulletin5 вызвала проблемы, что привело к ещё большему падению посещаемости.
И, конечно же, есть эти проклятые группы в Facebook, которые оттягивают на себя множество пользователей форумов… ![]()
Я представил текущему администратору проект миграции на Discourse, подробно объяснив причины и способ реализации, и он согласился.
Миграция оказалась гораздо сложнее, чем я представлял.
База данных была в беспорядке: перемешанные и противоречивые, ошибочные данные, дублирующиеся записи и множество других проблем, вероятно, из-за многочисленных обновлений vBulletin за 20 лет, импорта данных из других источников и, возможно, специфических кастомизаций.
Понадобилось более полутора месяцев попыток и повторных попыток, чтобы получить импорт в Discourse с полными и надёжными данными (примечание: я не совсем волшебник кода…). Я также провёл крупную очистку сообщений и пользователей, так как было много импортированного спама.
Сегодня форум открыт и работает. Пользователи пока довольны, и пожертвования на оплату ежегодных серверных расходов были собраны всего за один день (!).
Активность растёт медленно, но верно: форум был недоступен почти два месяца, и этого хватило, чтобы люди потеряли привычку, а некоторые перешли в другие места (кто-нибудь уже упомянул «группы в Facebook»?).
К счастью, в этом сообществе много пользователей, которые находятся здесь давно, некоторые более 15 лет, и они не уйдут так легко.
Так что давайте надеяться, что активность вернётся к норме и, возможно, даже увеличится!
Что касается кастомизации форума, я сделал немного (для стандартного сообщества форумов Discourse отлично работает из коробки), но вот несколько небольших вещей, которые я реализовал.
Тема — стандартная светлая, но я сохранил исторический синий цвет форума:
Я добавил иконку пожертвований в заголовок (с помощью этого компонента темы), который пользователи могут скрыть в настройках интерфейса на один год:


Мой код — это по сути копирование и вставка этого компонента темы, но значение настройки сохраняется в файле cookie.
Так как теги мне нужны были только для одной категории (категория объявлений), я динамически скрываю селекторы тегов, когда они не нужны, и это выглядит так:
Я также скрываю селектор тегов в верхней части списков тем, если мы не находимся в категории, где используются теги.
Я использую замечательный плагин Location и добавил информацию о местоположении в список тем, как на десктопе, так и на мобильных устройствах:
Я заменил иконку загрузки Discourse на CSS-анимацию, которую создал сам:
Замена кода загрузки на мой собственный код казалась сложной, поэтому я преобразовал свою CSS-анимацию в анимированный GIF… ![]()
редакция: теперь я использую правильную CSS-анимацию, см. Customize the loading icon
Вот и всё!
Ссылка на форум:


