А как насчет «продвинутого» или «направляемого» процесса подачи новых тем в определенных категориях?

Я обожаю теги в Discourse, и их свободная структура в большинстве случаев отлично работает. Однако для некоторых сценариев было бы здорово иметь направляемую форму отправки, которая гарантировала бы определённый набор полей ввода — то, что поле «необязательные теги» в стандартном окне создания темы пользователям не предоставляет.

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

Представляю, что в категориях, где эта функция включена, при нажатии на «Создать тему» сначала будет открываться модальное окно. В нём будут запрашиваться те же данные, но с предустановленными обязательными категориями тегов/родительскими тегами/тегами, определёнными в настройках категории.

Конечно, я могу нарисовать то, что вижу в своём воображении, если кому-то нужен ужасный макет в MS Paint :slight_smile:

4 лайка

Кто не любит ужасные макеты в Paint? :stuck_out_tongue:

Это было бы очень кстати, так как мне немного сложно полностью понять вашу просьбу. :slight_smile:

Конечно.

Теги сегодня — это просто большая открытая коробка с «предложениями». Когда кто-то отправляет запрос в моей категории поддержки, мне нужно знать:

О каком продукте вы публикуете? Продукт A или Продукт B? У меня есть категория тегов «Продукты» с двумя тегами внутри:

  • product-a
  • product-b

Также есть функции, которые применимы ко всем продуктам, но мне нужно знать, по какой функции (или функциям) вы запрашиваете поддержку. Функция A, B, C и т. д. У меня есть категория тегов «Функции» с несколькими тегами внутри:

  • feature-a
  • feature-b
  • feature-c
  • и т. д.

Ещё раз: для большинства случаев использования нашего форума достаточно случайного набора тегов. Однако в категории поддержки пользователям необходимо быть очень последовательными и конкретными. В Discourse есть функции, которые в какой-то мере решают эту задачу, но они очень неоднозначны. Например, я могу требовать указать определённое количество тегов… но тогда пользователи могут выбирать теги из других открытых категорий. Кроме того, если в категории тегов слишком много элементов, не все они отображаются в выпадающем списке, и пользователям заранее, благодаря «племенным знаниям», нужно знать, какие теги существуют.

Я предлагаю следующее решение.

  1. Пользователь нажимает + Новая тема
  2. Появляется модальное окно для создания новой темы
  3. Обязательные теги для выбора определяются на основе обязательных групп тегов для категории

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

4 лайка

Для каждой обязательной группы тегов в настройках категории может быть создана связанная тема, которая будет отображаться для этой группы тегов в новом интерфейсе создания темы.

1 лайк

Привет, Джордан. Много лет назад у меня был установлен этот плагин, и, насколько я помню, он может создавать темы примерно так, как вы предложили.

2 лайка

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

Сначала создайте группы тегов для products и features. Например:

Настройте параметры тегов для категории поддержки следующим образом:

При создании новой темы в категории пользователи сначала увидят это:

При нажатии на поле ввода тегов открывается выпадающий список, который позволяет выбрать только один из тегов products:

После выбора тега products пользователю показывается список допустимых тегов features:

Также можно сделать теги features обязательными, добавив их в настройку обязательной группы тегов, выделенную на предыдущем скриншоте. Порядок добавления тегов в настройку обязательной группы тегов категории, похоже, учитывается в интерфейсе. Не уверен, что это сделано намеренно, но это полезно в данном случае, если вы хотите заставить пользователей сначала выбрать тег products, а затем тег features:

Таким образом, возможно, в Discourse уже есть нужная вам функциональность, но интерфейс можно улучшить.

Что касается предыдущего скриншота, пользователям показывается текст «Поиск или создание» в выпадающем списке тегов, хотя, исходя из настроек категории, им должна быть предоставлена только возможность поиска тегов из группы тегов features. Экземпляр Discourse, на котором я это тестирую, не совсем актуален, поэтому я не могу подтвердить, является ли это текущей ошибкой. Я проверю это позже. В любом случае, если я попытаюсь создать тему с дополнительным тегом, будет возвращена ошибка.

Это похоже на ошибку, но мне нужно обновить локальный экземпляр Discourse, чтобы подтвердить это.

Редактирование: упомянул несколько проблем, связанных с этим, здесь: Tag "Search or create" text is displayed when a category has restricted tags

6 лайков

Видите… это почти то. Это идея, которая определенно движется в правильном направлении, но до идеала ещё далеко.

Я создал новую категорию, требующую одного тега из нашей группы тегов «Продукты» и двух тегов из группы тегов «Функции расширения»:

Вот как выглядит создание нового сообщения. Выпадающий список тегов до нажатия на него просто говорит «выберите как минимум 3 тега…». Это изначально неоднозначно и не сразу даёт пользователю понять, что требуется один тег из группы тегов «Продукты» и два тега из группы тегов «Функции расширения». Но ладно, давайте нажмём на него:

При ближайшем рассмотрении видно, что:

  • Первые три элемента — это «Функции расширения»;
  • Следующие два элемента — это «Продукты»;
  • Последние пять элементов — снова «Функции расширения»;
  • При этом пользователю неизвестно, что существует ещё 17 возможных тегов из группы «Функции расширения».
2 лайка

Вот простая HTML-форма, которая нагляднее демонстрирует то, что должен видеть пользователь (разумеется, до любого реального дизайна):

3 лайка

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

Вероятно, это связано с тем, что вы тестируете это как пользователь с правами сотрудника. Ограничения тегов не применяются к администраторам (возможно, также и к модераторам), поэтому то, что вы видите, не отражает того, что увидит обычный пользователь.

Вот мой тест с обычным пользователем уровня TL3 (обратите внимание, что сначала мне разрешено выбирать только из products):

А вот что я вижу, когда тестирую то же самое как администратор (теги из обеих групп тегов, возвращаемые в алфавитном порядке):

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

Да, это проблема.

4 лайка

Ах, возможно, это так, но я бы сказал, что это лишь одна десятая часть проблемы. Тем не менее, я сейчас попробую это проверить, чтобы убедиться, что я вижу весь процесс целиком.

Я бы сказал, что основная часть проблемы всё ещё остаётся нерешённой.

4 лайка

Аналогичные запросы уже подавались ранее, но, похоже, не получили никакого отклика.