Гостевой шлюз 2.0 скоро выйдет! 
В настоящее время разрабатывается новая версия Гостевого шлюза, и это гораздо более масштабное обновление, чем простое повышение версии.
Версия 2.0 предлагает переработанную систему триггеров, более современную реализацию, значительно больше вариантов настройки и лучшую совместимость с текущими версиями Discourse.
Новая система триггеров
Самое главное изменение в версии 2.0 заключается в том, что вы больше не ограничены только просмотрами страниц.
Теперь вы можете выбрать, как должен активироваться Гостевой шлюз:
-
Просмотры страниц — показывать шлюз после заданного количества просмотров страниц
-
Время — показывать его после того, как пользователь проведет определенное время на странице
-
Прокрутка — показывать его, когда посетитель прокрутит страницу на заданный процент
-
Лайтбокс — показывать его, когда гость открывает изображение
-
Любой — позволять нескольким типам триггеров активировать шлюз
Это позволяет создавать гораздо более сложные стратегии гостевого шлюза.
Новое поведение повторения
Теперь вы можете контролировать, что произойдет после отображения Гостевого шлюза:
-
Повторный триггер — показывать его снова каждый раз, когда происходит заданный триггер
-
Случайные просмотры страниц — показывать его снова после случайного количества просмотров страниц
-
Один раз за сессию — показывать его только один раз во время сессии браузера
Также появился новый настраиваемый порог для повторения при случайных просмотрах страниц.
Существующая настройка «Показывать только один раз» по-прежнему поддерживается для обратной совместимости.
Задержанное отображение
Теперь шлюз можно отображать с настраиваемой задержкой после срабатывания триггера.
Например, вы можете активировать шлюз после прокрутки на 50%, но подождать еще 750 мс, прежде чем открывать модальное окно.
Это может сделать взаимодействие гораздо менее навязчивым.
Больше контроля над модальным окном
Версия 2.0 добавляет несколько новых вариантов настройки:
-
Компактное, стандартное или широкое модальное окно
-
Показывать или скрывать заголовок модального окна
-
Настраиваемое позиционирование заголовка
-
Улучшенное адаптивное поведение
Улучшенный пользовательский шлюз
Пользовательский шлюз также получил существенное обновление.
Теперь вы можете:
-
Добавлять альтернативный (
alt) текст к пользовательскому изображению -
Лучше контролировать содержимое пользовательского текста
-
Использовать HTML-содержимое в пользовательском поле для небольшого текста, включая абзацы и переносы строк
-
Лучше контролировать цвета и отступы
Пользовательское содержимое также обрабатывается более чисто в новой реализации.
Модернизированная реализация
Под капотом Гостевой шлюз 2.0 был значительно модернизирован.
Старая реализация опиралась на устаревший инициализатор плагинов, отслеживание страниц Discourse и обработку лайтбокса на основе jQuery.
Версия 2.0 теперь использует современный инициализатор API Discourse и API изменений страниц, с выделенным контроллером шлюза, отвечающим за управление триггерами, таймерами, слушателями прокрутки, состоянием сессии и состоянием модального окна.
Это также делает компонент более удобным для поддержки и расширения в будущем.
Существующие установки учитываются
Одной из важных целей версии 2.0 было избежать необходимости заставлять существующих пользователей вручную перестраивать свою конфигурацию.
Новая версия включает миграцию настроек, которая преобразует старые настройки Гостевого шлюза в их новые аналоги.
Например, старая настройка max_guest_topic_views автоматически мигрируется в новую конфигурацию просмотров страниц и поведение повторения.
Старая настройка лайтбокса также автоматически отображается на новую систему триггеров.
Таким образом, при обновлении поведение существующих установок должно сохраняться максимально близко к оригиналу.
Более чистая конфигурация
Ряд существующих настроек также был очищен, а их описания переписаны, чтобы сделать интерфейс администратора более понятным.
Логика входа / регистрации, Discourse Connect, пользовательского URL и кнопки также была переработана внутренне.
Что дальше?
Гостевой шлюз 2.0 в настоящее время дорабатывается и тестируется.
Это выпуск предназначен для того, чтобы стать надежной основой для будущих функций Гостевого шлюза, одновременно предоставляя администраторам гораздо больше контроля над тем, когда, где и как появляется шлюз.
Если вы уже используете Гостевой шлюз, ваша существующая конфигурация должна быть автоматически мигрирована при обновлении.
Хотите протестировать v2.0 заранее?
Вы можете попробовать ветку здесь: Ветка v2.0 на GitHub