Мой 2-й форум Discourse, спустя 2 года после первого

Более двух лет назад я мигрировал очень старый форум на Discourse. Я рассказал о своём опыте здесь: Moved from PluXml and phpBB to Wordpress and Discourse, my all-new experience 🎉

В этот раз я выполнил миграцию форума vBulletin5.

Этот форум на протяжении 20 лет был крупнейшим сообществом одноколёсников, но содержит темы, уходящие корнями в 1993 год, так как давно были импортированы материалы из рассылочных списков и новостных групп.
Таким образом, здесь хранится почти 30-летняя онлайн-информация об этом нишевом виде спорта, что довольно уникально.

В последние годы активность форума снизилась, а недавняя миграция с vBulletin 3 на vBulletin5 вызвала проблемы, что привело к ещё большему падению посещаемости.
И, конечно же, есть эти проклятые группы в Facebook, которые оттягивают на себя множество пользователей форумов… :expressionless_face:

Я представил текущему администратору проект миграции на Discourse, подробно объяснив причины и способ реализации, и он согласился.

Миграция оказалась гораздо сложнее, чем я представлял.
База данных была в беспорядке: перемешанные и противоречивые, ошибочные данные, дублирующиеся записи и множество других проблем, вероятно, из-за многочисленных обновлений vBulletin за 20 лет, импорта данных из других источников и, возможно, специфических кастомизаций.

Понадобилось более полутора месяцев попыток и повторных попыток, чтобы получить импорт в Discourse с полными и надёжными данными (примечание: я не совсем волшебник кода…). Я также провёл крупную очистку сообщений и пользователей, так как было много импортированного спама.

Сегодня форум открыт и работает. Пользователи пока довольны, и пожертвования на оплату ежегодных серверных расходов были собраны всего за один день (!).

Активность растёт медленно, но верно: форум был недоступен почти два месяца, и этого хватило, чтобы люди потеряли привычку, а некоторые перешли в другие места (кто-нибудь уже упомянул «группы в Facebook»?).
К счастью, в этом сообществе много пользователей, которые находятся здесь давно, некоторые более 15 лет, и они не уйдут так легко.

Так что давайте надеяться, что активность вернётся к норме и, возможно, даже увеличится!

Что касается кастомизации форума, я сделал немного (для стандартного сообщества форумов Discourse отлично работает из коробки), но вот несколько небольших вещей, которые я реализовал.

Тема — стандартная светлая, но я сохранил исторический синий цвет форума:

Я добавил иконку пожертвований в заголовок (с помощью этого компонента темы), который пользователи могут скрыть в настройках интерфейса на один год:
image

image

Мой код — это по сути копирование и вставка этого компонента темы, но значение настройки сохраняется в файле cookie.

Так как теги мне нужны были только для одной категории (категория объявлений), я динамически скрываю селекторы тегов, когда они не нужны, и это выглядит так:


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

Я использую замечательный плагин Location и добавил информацию о местоположении в список тем, как на десктопе, так и на мобильных устройствах:

Я заменил иконку загрузки Discourse на CSS-анимацию, которую создал сам:

Замена кода загрузки на мой собственный код казалась сложной, поэтому я преобразовал свою CSS-анимацию в анимированный GIF… :sweat_smile:
редакция: теперь я использую правильную CSS-анимацию, см. Customize the loading icon

Вот и всё!

Ссылка на форум:

37 лайков

Это отличный кандидат на роль официального компонента темы!

18 лайков

Согласен с тобой, Falco!

Спасибо, что поделился с нами, @canapin :heart_eyes:

5 лайков

Интересный факт:

Почти через месяц после перезапуска моего форума я провёл ещё одну очистку от спам-аккаунтов, так как их осталось более 8000, несмотря на масштабные чистки на разных этапах моей миграции.

Из 180 000 аккаунтов только 13 500 были легитимными и активными. :exploding_head:
166 500 аккаунтов принадлежали спамерам или старым учётным записям, с которых никогда не было сделано ни одного поста!

В отличие от Discourse, vBulletin не автоматически очищает неиспользуемые аккаунты.

То же самое было на моём мигрированном форуме phpBB, где количество аккаунтов сократилось с 20 000 до 3 000 только благодаря автоматической очистке в Discourse (без моей ручной чистки).


И благодаря @Johani я заменил свой GIF-лоадер на правильную CSS-анимацию.

8 лайков

Вы использовали плагин для автоматизации этого процесса или какой-то другой метод? Спасибо.

1 лайк

Я использовал пользовательский скрипт для их выявления по критериям, специфичным для этих аккаунтов. Большинство из них на vBulletin публиковали сообщения только на профилях других пользователей, что относительно легко отследить.

3 лайка

Я недавно заглянул на ваш форум. Идеально подходит для своей ниши, отличная работа.

4 лайка

Вы имеете в виду автоматическое удаление учётных записей, которые «зарегистрировались», но никогда не подтвердили свой адрес электронной почты?

Это может быть связано с тем, что классическое программное обеспечение для форумов рассматривало функциональность электронной почты как полностью опциональную: даже без её настройки форум мог работать. В таком случае невозможно было определить, является ли регистрация действительной…

4 лайка

Я думал об аккаунтах, которые были подтверждены, но не имели сообщений или активности. Однако возможно, что предыдущее программное обеспечение сохраняло неподтвержденные аккаунты.

4 лайка