Доски Discourse

:discourse2: Кратко Discourse Boards позволяет организовывать темы и отдельные карточки в настраиваемые канбан-доски с перетаскиванием элементов[1] и контролем доступа для каждой доски.
:open_book: Руководство по установке Этот плагин входит в ядро Discourse. Отдельная установка плагина не требуется.

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

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

Карточки могут базироваться на темах или быть отдельными легковесными карточками; их можно перетаскивать для изменения порядка внутри колонки или перемещать между колонками.

:discourse: Discourse Boards доступен в тарифных планах Business или Enterprise.

Сценарии использования

  • Дорожные карты
    Расставляйте карточки по приоритету, чтобы ранжировать функции (предложено → запланировано → выпущено), и позволяйте участникам лайкать/комментировать базовые темы с запросами.
  • Командное сотрудничество
    Превращайте категорию (или набор тем, отфильтрованный по тегам) в канбан-процесс для сотрудничества между указанными группами и пользователями, например К выполнению → В работе → Готово, перетаскивая темы на разных этапах.
  • Отдельные списки задач
    Создавайте плавающие карточки для быстрых пунктов, которые не требуют отдельной темы форума — идея, поручение, заметка «на потом» — с назначенными исполнителями, чтобы команда знала, кто за что отвечает.

Возможности

  • Специализированный интерфейс доски: создавайте и настраивайте доски в приложении по адресу /boards, без необходимости использовать компоненты темы или код.
  • Карточки на основе тем: любая тема может стать карточкой. Название карточки, теги, позиция, а также категория/статус остаются синхронизированными с темой.
  • Отдельные карточки: создавайте отдельные карточки (название, заметки, теги, исполнитель), которым не нужна базовая тема.
  • Перетаскивание: перемещайте карточки между колонками и меняйте их порядок внутри колонок, отсортированных по приоритету, с автоматической горизонтальной прокруткой во время перетаскивания.
  • Автоматические правила колонок: привязывайте колонку к тегу, чтобы соответствующие темы автоматически попадали в нее, и настраивайте действия «Переместить в» (смена категории, назначение/снятие назначения, открытие/закрытие), которые обновляют тему, когда карточка попадает туда.
  • Гибкая сортировка: каждая колонка сортируется вручную по приоритету (порядок перетаскивания) или по свежести (сначала недавно активные).
  • Ограничения доски: ограничьте доску определенными категориями и/или тегами. Темы вне этих ограничений никогда не появляются автоматически, а изменения ограничений показывают превью того, сколько карточек будет удалено.
  • Списки контроля доступа (ACL) для каждой доски: выдавайте права view (просмотр), edit (редактирование) или manage (управление) для каждого пользователя или группы (та же система контроля доступа, что используется для категорий), включая опциональный анонимный view.
  • Интеграция с темами: кнопка Добавить на доску на страницах тем и кликабельные пилюли принадлежности к доске, которые сразу переходят к карточке.
  • Обновления в реальном времени: доски обновляются в реальном времени, когда другие вносят изменения.
  • Осведомленность о назначении и статусе: исполнители (через плагин Assign) и статус открыто/закрыто отображаются на карточках и синхронизируются при изменениях.
  • Oneboxes: URL-адреса досок и карточек расширяются в богатые oneboxes в постах.
  • Горячие клавиши: навигация, открытие и даже перемещение карточек без мыши.
  • Статистика в админ-панели: активность досок передает данные total_boards, created_boards, viewed_boards, active_boards, active_users и participating_users.

Ключевые концепции

  • Доска (Board): набор колонок и карточек, со своим URL (/boards/<slug>/<id>), списком доступа и опциональными ограничениями по категории/тегу.
  • Колонка (Column): этап на доске. Колонки могут иметь иконку, цвет, привязку к тегу, порядок сортировки и опциональные действия «переместить в».
  • Карточка (Card): элемент в колонке. Тематические карточки отражают тему Discourse, плавающие карточки являются отдельными (название, заметки, теги, исполнитель) и не имеют базовой темы.
  • Ограничения (Constraints): ограничение доски определенными категориями и/или тегами. Темы вне ограничений не появляются автоматически.
  • ACL (Списки контроля доступа): Контроль доступа для каждой доски. Просмотр, редактирование или управление, выдаваемые для каждого пользователя/группы (система контроля доступа, аналогичная используемой для категорий).

Начало работы

  1. Перейдите в Админ-панель > Плагины, найдите Boards и включите плагин.
  2. Посетите /boards на вашем сайте и нажмите Новая доска.
  3. Дайте доске имя (слаг будет сгенерирован автоматически) и выберите, кто может просматривать / редактировать / управлять ею.
  4. При необходимости выберите ограничения: одну или несколько категорий и/или тегов, в рамках которых работает доска.
  5. Выберите стиль карточки (detailed или simple), затем нажмите Сохранить.

Добавление и организация карточек

  • Из темы: откройте любую публичную тему и нажмите кнопку Добавить на доску в футере темы, выберите доску, затем колонку.
  • С доски: используйте знак + в колонке, чтобы создать плавающую карточку (без темы — добавьте название, заметки, теги и исполнителя).
  • Перетаскивание перемещает карточки между колонками и меняет их порядок (в колонках с сортировкой по приоритету). Перемещение тематической карточки в колонку, у которой действия «переместить в» изменяют категорию/теги/статус/исполнителя, обновит саму тему.
  • Если перемещенная тема нарушает ограничения доски по категориям/тегам, вам будет предложено применить исправление ограничений (выберите допустимую категорию/тег).
  • Если на доске включен параметр Требуется подтверждение, перемещения, вызывающие изменения в теме, потребуют предварительного подтверждения.

Каждая доска, в которой находится тема, отображается в виде пилюли на странице темы; нажмите на нее, чтобы сразу перейти к карточке.

image

Настройка колонок

Откройте настройки колонки, чтобы установить:

  • Заголовок, иконка, цвет: Выберите готовый образец или любой цвет в шестнадцатеричном коде
  • Тег: Темы с этим тегом появляются в этой колонке (и перемещаются вместе с ней)
  • Сортировка по умолчанию: Приоритет (ручной порядок перетаскивания) или Свежесть (сначала недавно активные)
  • Дополнительно: Переместить в категорию, Назначить…, Статус (открыть/закрыть) автоматически применяются к теме любой тематической карточки, попадающей в эту колонку

Управление досками

Настройки доски позволяют переименовать ее, изменить ограничения, стиль и доступ, а также удалить. Ужесточение ограничений предупредит вас о том, сколько существующих тематических карточек будет удалено (с превью ограничений перед сохранением).

Как работает синхронизация тематических карточек

  • Если у доски есть ограничения, соответствующие темы автоматически отображаются как карточки, одна карточка на каждую соответствующую колонку с тегом.
  • Удаление тега или перемещение темы вне области действия автоматически удаляет ее карточку(и).
  • Карточки, размещенные вручную в колонках без тегов, сохраняются, пока нет совпадения с колонкой с тегом.
  • Назначения (через плагин Assign) и изменения статуса темы отражаются на доске.

Контроль доступа

  • Кто может создавать и управлять досками, определяется параметром boards_manage_board_allowed_groups (по умолчанию: администраторы и модераторы).
  • У каждой доски есть свой ACL: view (просмотр), edit (редактирование), manage (управление). Например, выдайте группе view для только-чтения, edit для перемещения карточек и manage для перенастройки доски. Анонимным пользователям может быть выдано только view.
  • Доски могут быть общедоступными, если группе anonymous выдано право view (если ваш сайт позволяет анонимный просмотр), в противном случае читатели доски должны соответствовать ACL.

Примечание: перемещение тематической карточки выполняет редактирование самой темы (категория, теги, статус, назначение) и требует, чтобы у пользователя были соответствующие права на тему; назначение требует плагина Assign и права can_assign.

Горячие клавиши

На /boards: h/l навигация по карточкам доски. На доске: h/l перемещение между колонками, j/k перемещение между карточками, Enter открывает карточку, Esc очищает. Shift+h/Shift+l перемещает карточку в соседнюю колонку; Shift+j/Shift+k меняет порядок внутри колонки.

Настройки

Название Описание
boards_enabled Включить плагин Boards на всем сайте. По умолчанию выключен.
boards_manage_board_allowed_groups Группы, которым разрешено создавать, управлять и удалять доски (доступ к кнопке «Новая доска» и настройкам доски). По умолчанию admins и moderators; администраторы всегда включены.

  1. ↩︎

19 лайков

Привет! У меня есть собственный хостинг, обновлённый до версии 2026.9.0-latest, но я не могу найти Discourse Board в списке плагинов.

Доступен ли этот плагин для самостоятельно хостингуемых инстансов? Нужно ли добавлять его вручную?

Спасибо за помощь и поддержку.
С уважением!

1 лайк

Вы обновляли систему после анонса? Разработка версии 2026.9 началась 11 дней назад, но разделы (boards) были добавлены 4 дня назад. Поэтому есть вероятность, что у вас установлена версия 2026.9 без поддержки разделов. Если вы недавно обновлялись, вы должны найти эту функцию в разделе «Предстоящие изменения».

7 лайков

Большое спасибо за ответ. Действительно, я, возможно, слишком поспешно задал свой вопрос, и, скорее всего, создание нового обновления в моей копии решит проблему :wink: Ещё раз спасибо

1 лайк

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

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

3 лайка

Ну, пока мы не очень много сделали в плане поиска новых идей, кроме добавления ссылки в глобальный раздел боковой панели, как ты и сказал:

Хотя, мне кажется, интересная идея — иметь что-то вроде блока боковой панели «Категории», который позволил бы пользователю легко настраивать здесь, какие доски он видит:

Может быть, даже добавить пункт «Добавить/удалить из моей боковой панели…» в меню доски?

3 лайка

Мне ОЧЕНЬ нравится то, что получилось! Это полностью открыло множество возможностей для нашего форума. СПАСИБО!!!

Несколько замечаний:

  • Можно, пожалуйста, добавить больше четырёх колонок?
  • Когда я создаю раздел и хочу вернуться, чтобы отредактировать его название, ничего не происходит — оригинальное название остаётся прежним. Единственный способ исправить это — удалить раздел и начать заново.
  • Когда я создаю колонку (или новый раздел), модальное окно исчезает, если я кликаю вне его. Это может раздражать, когда я пытаюсь кликнуть на последний пункт в выпадающем меню. Это происходило со мной несколько раз, когда я пытался выбрать что-то из списка тегов, и мне приходилось начинать всё заново и создавать колонки снова.
  • Просто было бы здорово, если бы я мог выбирать из своих загруженных иконок или выбирать из разных наборов иконок.
3 лайка

Вы уже можете создать больше 4 :slight_smile:

Вы можете сделать это, кликнув по названию в модальном окне «Настройки доски»:

image

image

Ах да, это довольно раздражает… Я думаю, что это общая проблема с формами в модальных окнах для нас. Возможно, стоит добавить в FormKit (наш инструмент для форм) запрос о завершении работы при закрытии модального окна, если в нём находится изменённая/незавершённая форма.

3 лайка

О?!? Когда у меня было 4 колонки, справа от 4-й колонки не было кнопки «плюс», и я не мог понять, как добавить ещё одну — есть ли другой способ сделать это, который я упустил? Это очень радостные новости!

Я так и делал, но название доски всё равно не менялось, даже после перезагрузки страницы. Попробую воспроизвести это снова, возможно, это была моя ошибка!

Спасибо!

1 лайк

Нет, ничего особенного делать не нужно :slight_smile: Если навести курсор на пустое место на доске, вы увидите кнопку «плюс»:

1 лайк

Boards — это потрясающая функция, которая уже немало помогла мне за последнее время, но теперь, когда она стала частью ядра Discourse, у меня есть несколько замечаний и вопросов после того, как я немного попользовался ею, если это не против.

  • Можно ли изменить или связать статус задачи (Assignment) с каждой колонкой на доске? Я знаю, что можно закрывать или открывать тему, но у нас есть пользовательские статусы для задач, такие как «В работе» и «Решено», которые мы хотели бы синхронизировать с досками, чтобы перемещение чего-либо в «Решено» автоматически помечало задачу как решённую.
  • Также было бы здорово, если бы мы могли расширить функции открытия и закрытия тем для категорий типа «Обратная связь», чтобы тема автоматически помечалась как решённая, возможно, с полем «Причина», которое превращается в сообщение, помеченное как решение.
  • Возможно ли автоматически добавлять темы в качестве карточек, если они соответствуют определённым критериям, например, совпадают по тегу или категории? Это превратило бы Boards в мощный инструмент для автоматического отслеживания входящих отзывов на форуме и подобных вещей.

Нам очень нравится поддерживать порядок с входящими отзывами, а главная претензия к системе задач в Discourse заключалась в том, что у нас не было единого места, где можно было бы увидеть всё сразу. Boards имеет потенциал полностью решить эту проблему таким элегантным способом. :heart:

3 лайка

Я считаю, что теперь это включено по умолчанию (по крайней мере, на self-hosted сайтах), и эта настройка сайта больше не отображается:

1 лайк

Хорошая мысль. Приведу документацию в порядок.

Вы по-прежнему сможете включать и отключать плагин на странице «Установленные плагины».

1 лайк

Как пользователи попадают на доски, не вводя /boards в адресную строку?

1 лайк

Вы можете добавить ссылку в сайдбар вот так (не помню сходу, что мы делаем автоматически)

Также у тем, находящихся на досках, рядом с ними отображается небольшой индикатор.

1 лайк

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

Я сделал компонент темы, чтобы скрыть её для себя, но это кажется несложным дополнением к самому плагину.

3 лайка

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

То есть, скрывать, если там нечего делать.

4 лайка

Да, наверное, можно сделать так: передавать в сериализатор текущего пользователя булево значение, которое будет указывать, показывать ссылку на доску или нет.

Подключение через раздел «Грядущие изменения» логично для экспериментальной функции. После того как сайт включит эту функцию для всех, доски будут отображаться в боковой панели по умолчанию, или администраторам нужно будет добавлять их вручную для каждого пользователя?

Мне очень не нравятся закрепленные кнопки на боковой панели, я люблю настраивать свои разделы, поэтому я скрыл её с помощью CSS и переместил в свой собственный пользовательский раздел.

Решение от команды core всегда приветствуется.