Стикеры Discourse v2.0
Этот релиз представляет собой довольно значительную модернизацию компонента. Помимо ряда внутренних улучшений, конфигурация стикеров была переработана, чтобы значительно упростить управление большими коллекциями стикеров.
Полностью переработанные настройки стикеров
Самое крупное изменение в версии 2.0 касается самой конфигурации стикеров.
В старой версии стикеры хранились в виде JSON-настройки, содержащей такие значения, как:
-
title -
emoji -
previewUrl -
markdownUrl
В версии 2.0 это было заменено на встроенный тип настройки objects в Discourse.
Теперь каждый стикер является полноценным настраиваемым объектом со своими собственными полями:
-
Название — имя стикера / текст подсказки
-
Группа — возможность группировать стикеры по категориям
-
Эмодзи-значок — возможность отображать небольшой эмодзи в углу
-
Изображение — загрузка стикера непосредственно через настройку
-
Категории — возможность ограничить использование стикеров определенными категориями
-
Скрыть в личных сообщениях — управление доступностью стикера в личных сообщениях (DM)
-
Каналы чата — возможность ограничить использование стикеров определенными публичными каналами чата
Это делает конфигурацию стикеров гораздо более понятной и удобной для поддержки, особенно для больших коллекций.
Группы стикеров и фильтрация
Теперь вы можете назначать стикеры Группе.
Когда доступно несколько групп, в выборщике стикеров автоматически отображается панель фильтрации вверху.
Вы можете переключаться между:
-
Все
-
отдельными группами
-
Другие для стикеров без группы
Фильтр генерируется динамически на основе стикеров, доступных пользователю в данный момент.
Стикеры для конкретных категорий
Теперь стикеры можно необязательно назначать конкретным категориям Discourse.
Если для стикера настроены категории, он будет отображаться в обычном редакторе постов/ответов только при выборе одной из этих категорий.
Если категории не настроены, стикер остается доступным везде.
Больше контроля над стикерами в чате
Версия 2.0 добавляет больше возможностей для управления доступностью стикеров в чате Discourse.
Теперь вы можете:
-
скрывать отдельные стикеры в личных сообщениях;
-
ограничивать использование стикеров определенными публичными каналами чата;
-
оставить поле канала пустым, чтобы сделать стикер доступным во всех публичных/категорийных каналах чата.
Это позволяет администраторам поддерживать разные наборы стикеров для разных частей своего сообщества.
Опубликованные стикеры больше не кликабельны
Опубликованные стикеры теперь рассматриваются как неинтерактивные изображения.
При клике на них больше не открывается лайтбокс Discourse.
Это применимо как к:
-
стикерам в обычных постах;
-
стикерам, отправленным в чате.
Цель состоит в том, чтобы стикеры вели себя больше как контент стикеров/реакций, а не как обычные загруженные изображения.
Улучшенное состояние пустоты
Если для текущего контекста нет доступных стикеров, выборщик теперь отображает корректное состояние пустоты вместо простого показа пустого выборщика.
Например, это может произойти, когда ограничения по категориям или чату не позволяют использовать ни один стикер.
Существующие конфигурации стикеров мигрируются
Одной из самых важных частей версии 2.0 является то, что существующим установкам не нужно заново создавать свою коллекцию стикеров.
Старая JSON-настройка sticker_images автоматически мигрируется в новый формат objects при обновлении компонента.
Существующие названия стикеров и значения эмодзи сохраняются.
Что особенно важно, существующие загруженные изображения стикеров также мигрируются автоматически.
Так что, если у вас уже настроены десятки стикеров, обновление до версии 2.0 не потребует от вас повторной загрузки всех них.
Старое свойство markdownUrl больше не требуется и не переносится, так как новое поле Image представляет собой фактическую загрузку в Discourse.




