Компонент темы «Гостевой портал»

Гостевой шлюз 2.0 скоро выйдет! :rocket:

В настоящее время разрабатывается новая версия Гостевого шлюза, и это гораздо более масштабное обновление, чем простое повышение версии.

Версия 2.0 предлагает переработанную систему триггеров, более современную реализацию, значительно больше вариантов настройки и лучшую совместимость с текущими версиями Discourse.

:rocket: Новая система триггеров

Самое главное изменение в версии 2.0 заключается в том, что вы больше не ограничены только просмотрами страниц.

Теперь вы можете выбрать, как должен активироваться Гостевой шлюз:

  • Просмотры страниц — показывать шлюз после заданного количества просмотров страниц

  • Время — показывать его после того, как пользователь проведет определенное время на странице

  • Прокрутка — показывать его, когда посетитель прокрутит страницу на заданный процент

  • Лайтбокс — показывать его, когда гость открывает изображение

  • Любой — позволять нескольким типам триггеров активировать шлюз

Это позволяет создавать гораздо более сложные стратегии гостевого шлюза.

:repeat_button: Новое поведение повторения

Теперь вы можете контролировать, что произойдет после отображения Гостевого шлюза:

  • Повторный триггер — показывать его снова каждый раз, когда происходит заданный триггер

  • Случайные просмотры страниц — показывать его снова после случайного количества просмотров страниц

  • Один раз за сессию — показывать его только один раз во время сессии браузера

Также появился новый настраиваемый порог для повторения при случайных просмотрах страниц.

Существующая настройка «Показывать только один раз» по-прежнему поддерживается для обратной совместимости.

:stopwatch: Задержанное отображение

Теперь шлюз можно отображать с настраиваемой задержкой после срабатывания триггера.

Например, вы можете активировать шлюз после прокрутки на 50%, но подождать еще 750 мс, прежде чем открывать модальное окно.

Это может сделать взаимодействие гораздо менее навязчивым.

:artist_palette: Больше контроля над модальным окном

Версия 2.0 добавляет несколько новых вариантов настройки:

  • Компактное, стандартное или широкое модальное окно

  • Показывать или скрывать заголовок модального окна

  • Настраиваемое позиционирование заголовка

  • Улучшенное адаптивное поведение

:framed_picture: Улучшенный пользовательский шлюз

Пользовательский шлюз также получил существенное обновление.

Теперь вы можете:

  • Добавлять альтернативный (alt) текст к пользовательскому изображению

  • Лучше контролировать содержимое пользовательского текста

  • Использовать HTML-содержимое в пользовательском поле для небольшого текста, включая абзацы и переносы строк

  • Лучше контролировать цвета и отступы

Пользовательское содержимое также обрабатывается более чисто в новой реализации.

:gear: Модернизированная реализация

Под капотом Гостевой шлюз 2.0 был значительно модернизирован.

Старая реализация опиралась на устаревший инициализатор плагинов, отслеживание страниц Discourse и обработку лайтбокса на основе jQuery.

Версия 2.0 теперь использует современный инициализатор API Discourse и API изменений страниц, с выделенным контроллером шлюза, отвечающим за управление триггерами, таймерами, слушателями прокрутки, состоянием сессии и состоянием модального окна.

Это также делает компонент более удобным для поддержки и расширения в будущем.

:counterclockwise_arrows_button: Существующие установки учитываются

Одной из важных целей версии 2.0 было избежать необходимости заставлять существующих пользователей вручную перестраивать свою конфигурацию.

Новая версия включает миграцию настроек, которая преобразует старые настройки Гостевого шлюза в их новые аналоги.

Например, старая настройка max_guest_topic_views автоматически мигрируется в новую конфигурацию просмотров страниц и поведение повторения.

Старая настройка лайтбокса также автоматически отображается на новую систему триггеров.

Таким образом, при обновлении поведение существующих установок должно сохраняться максимально близко к оригиналу.

:broom: Более чистая конфигурация

Ряд существующих настроек также был очищен, а их описания переписаны, чтобы сделать интерфейс администратора более понятным.

Логика входа / регистрации, Discourse Connect, пользовательского URL и кнопки также была переработана внутренне.


Что дальше?

Гостевой шлюз 2.0 в настоящее время дорабатывается и тестируется.

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

Если вы уже используете Гостевой шлюз, ваша существующая конфигурация должна быть автоматически мигрирована при обновлении.


:test_tube: Хотите протестировать v2.0 заранее?

Вы можете попробовать ветку здесь: Ветка v2.0 на GitHub

6 лайков