Рабочий процесс Discourse

:information_source: Краткое описание Система рабочих процессов на основе тем для Discourse с настраиваемыми этапами, действиями, фильтрами списка рабочих процессов и видом Канбан
:hammer_and_wrench: Ссылка на репозиторий https://github.com/merefield/discourse-workflow
:open_book: Руководство по установке Как установить плагины в Discourse

Понравился этот плагин? Пожалуйста, поставьте ему :star: на GitHub! :pray:

Краткое описание

discourse-workflow предоставляет безопасную фреймворк-структуру рабочих процессов для тем. Каждый рабочий процесс состоит из настраиваемых этапов и опций, и темы перемещаются по этим этапам до завершения.

Он поддерживает ветвление и циклы, представления для обнаружения в виде списка и Канбан, возможность аудита и автоматизацию, оставаясь при этом в рамках основных прав доступа и паттернов интерфейса Discourse.

Возможности

  • Экземпляры рабочих процессов на основе тем с определяемыми администратором рабочими процессами, этапами и опциями этапов
  • Построено на основе основных концепций Discourse: категории, группы и права доступа на основе категорий — вы можете выполнять действия только при наличии соответствующих прав
  • Обнаружение рабочих процессов по адресу /workflow с быстрыми фильтрами:
    • Мои категории
      | Просроченные
      | Этап = X
  • Выбор представления для обнаружения:
    • Список
    • Канбан (доступен только для одного контекста рабочего процесса, совместимого с Канбан)
    • График (доступен только для контекста одного рабочего процесса и для пользователей, имеющих право на просмотр графиков)
  • Доска Канбан для рабочего процесса:
    • кликабельные карточки тем
    • допустимые переходы при перетаскивании
    • переходы с клавиатуры (ArrowLeft / ArrowRight), если это разрешено
  • Баннер темы рабочего процесса:
    • текущий рабочий процесс и этап
    • доступные действия перехода
    • ссылка на визуализацию
  • Модель просроченных задач с иерархией:
    • глобальная настройка: workflow_overdue_days_default
    • переопределение для рабочего процесса
    • переопределение для этапа
    • значение 0 отключает отслеживание просроченных задач на данном уровне
    • индикаторы просроченных задач в списке рабочих процессов и карточках Канбан
  • Построение графиков сгорания (burn-down) для рабочих процессов:
    • конечная точка графика + интеграция с интерфейсом
    • выбор диапазона недель (1–12)
    • полные недельные окна и серии, окрашенные по этапам
  • Журнал аудита переходов через небольшие посты действий
  • Уведомления о появлении в отслеживаемых категориях (Watch First Post)
  • Визуализация рабочего процесса доступна из тем и представлений для обнаружения
  • Интеграция с Data Explorer с запросами по умолчанию для рабочих процессов:
    • статистика сгорания/нарастания
    • журнал аудита
  • Опциональная обработка этапов с помощью ИИ

Вводные понятия

Дорожки (Swim Lanes)

Каждая дорожка рабочего процесса — это категория (или подкатегория). По мере продвижения темы она перемещается между категориями в соответствии с настроенными переходами.

Экземпляры рабочих процессов

  • Один элемент рабочего процесса (например, заявка) — это тема.
  • Для добавления метаданных, таких как приоритет, можно использовать теги.
  • Перемещение по категориям контролируется действиями рабочего процесса (если только не используется переопределение со стороны персонала).

Участники

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

Действия через опции

Опции этапов определяют доступные действия на каждом этапе. Каждая опция отображается в виде кнопки действия темы и может переместить тему на целевой этап.

Панель управления

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

Журнал аудита

Переходы фиксируются в виде небольших постов действий в теме. Встроенные запросы Data Explorer поддерживают аудит и операционную отчётность.

Визуализация

Визуализация рабочего процесса доступна через:

  • ссылки на баннере темы
  • поля рабочего процесса в списке обнаружения

Основные отличия от стандартного Discourse

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

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

  1. Включите плагин с помощью параметра workflow_enabled.
  2. Перейдите в Администрирование → Плагины → Discourse Workflow.
  3. Создайте рабочий процесс, сохраните его, затем добавьте этапы и опции этапов.
  4. Настройте права доступа к категориям так, чтобы участники рабочего процесса имели право «Создавать» в соответствующих категориях этапов.
  5. Создайте тему в первой категории этапа.
  6. Выполните переход, используя кнопки действий темы или взаимодействия в режиме Канбан.
  7. Используйте /workflow для управления операционной очередью.

Действия с помощью ИИ

ИИ может выполнять действия на этапе при правильной настройке.

Требования:

  • валидный ключ workflow_openai_api_key
  • ИИ включён на этапе
  • промпт включает как {{options}}, так и {{topic}}

Пример промпта:

ваши варианты: {{options}}. если в следующем тексте говорится, что это вкусно, пожалуйста, примите, иначе отклоните. {{topic}} ответьте одним словом из этих вариантов

Известные проблемы

Этот плагин продолжает развиваться. Пожалуйста, сообщайте о проблемах и идеях по улучшению в репозитории или в этой теме на Meta.

26 лайков

Получает немного внимания.

4 лайка

Развёрнуто несколько исправлений:

2 лайка

Делает просмотр более удобным на мобильных устройствах:

  • УЛУЧШЕНИЕ: Список тем рабочего процесса отлично работает на настольных компьютерах, но на мобильных устройствах он слишком широкий. Поэтому вместо добавления всех этих столбцов на мобильных устройствах добавьте значок рабочего процесса к заголовку и ограничьте полный набор столбцов только для настольных компьютеров.
2 лайка

Несколько небольших, но важных изменений.

1 лайк

Привет, Роберт,

Я тестирую плагин рабочих процессов без использования ИИ. Это простой рабочий процесс, предназначенный для использования в качестве цепочки поддержки в Linux-кафе, которое помогает людям мигрировать с Windows. Новые темы создаются через письма RFC 6233 с использованием подадресации и поступают в первую подкатегорию (уровень 1).

Две проблемы:

  1. ID шагов рабочего процесса не уникальны. У меня три шага с одинаковым ID. ??
  2. Действие «start» для входящей темы вызывает ошибку «422 не обрабатываемое содержимое». Возможно, это следствие проблемы №1.
3 лайка

Спасибо за ваше терпение и обратную связь. Я ценю ваш интерес к плагину.

Он ещё немного экспериментальный и, как вы видите, пока получил мало отзывов, поэтому неизбежны некоторые первоначальные проблемы.

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

Тем временем, не могли бы вы сделать скриншот рабочего процесса на экране администратора и поделиться им?

@Thomas_Rother, есть ли у вас трассировка стека для этого?

3 лайка

Привет, Роберт,
без проблем, я понимаю, что это экспериментальная версия. Поэтому она установлена только на тестовом экземпляре с собственным хостингом. Вы можете зарегистрироваться там, и я могу предоставить вам права администратора:

https://forum2.netzwissen.de/login

2 лайка

Хорошо, вот пошаговое руководство того, как у меня получилось:

  • Создал категорию «Билеты в интернет-кафе»
  • Создал все шаги как подкатегории, в результате чего получилось следующее:

Пока всё хорошо.

Теперь давайте создадим шаги:

Хорошо, я вижу как минимум две проблемы! (Хотя одна из них, вероятно, вызвана другой)

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

3 лайка

@Thomas_Rother, попробуй это:

(Возможно, вам придется удалить и воссоздать затронутые этапы)

2 лайка

Какие наиболее распространённые сценарии использования этого плагина и работает ли он с Gemini Flash 2.0?

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

В настоящее время поддерживается только OpenAI, но приветствуются pull-запросы (используются Chat Completions, поэтому объем работы невелик).

1 лайк

Отличные новости: теперь вы можете получить статистику для построения диаграмм сгорания (burn-up/down):

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

Примечание: в настоящее время плагин Discourse Workflow совместим только с состоянием tests-passed из-за изменений в управлении зависимостями gem в рамках крупного обновления упаковки плагинов. Это должно измениться после выпуска следующей стабильной версии.

4 лайка

Я пытаюсь понять, почему мой сайт стал работать медленно…

Предупреждение об устаревании

[PLUGIN discourse-workflow] Уведомление об устаревании: Доступ к site.mobileView или site.desktopView на этапе инициализации сайта устарел. В будущих обновлениях мобильный режим будет определяться размером области просмотра, и, как следствие, использование этих значений при инициализации может привести к ошибкам и несогласованности при изменении размера окна браузера. Пожалуйста, перенесите эти проверки в компонент, трансформер или коллback API, который выполняется во время рендеринга страницы. [устарело с версии Discourse 3.5.0.beta9-dev] [id устаревания: discourse.static-viewport-initialization] [инфо: Designing for Different Devices (Viewport Size, Touch/Hover, etc.)] deprecated.js:62:13

Я очень сомневаюсь, что это вызывает замедление работы вашего сайта!! :laughing: — это предупреждение об устаревании.

С нетерпением жду ваш PR :slight_smile:

1 лайк

Что ж, это больше не должно быть связано с Discourse Workflow, так как я закрыл несколько проблем N+1, в том числе в списке тем и визуализации:

и т.д.

3 лайка

Крупное обновление с несколькими новыми функциями, включая:

  • Новые фильтры списков тем, специфичные для рабочих процессов
  • Флажок «Просрочено»
  • Более подробная метаинформация о рабочем процессе темы
1 лайк

Огромное обновление:

Новый вид Канбан:

  • Добавлен полноценный режим Канбан в /workflow с переключателем Список/Канбан, который отображается только когда в фокусе находится один рабочий процесс, совместимый с Канбан.
    • Внедрена явная валидация совместимости с Канбан (включая детерминированное отображение одной связи) и отображение статуса совместимости в администрировании рабочего процесса.
  • Элементы рабочего процесса теперь можно управлять прямо из Канбан: перетаскивание между юридическими шагами, перемещение шагов с помощью клавиш со стрелками и переход по клику для открытия тем.
  • Повышена надежность при одновременных обновлениях: устаревшие переходы теперь возвращают ошибку 409, отображается четкое сообщение о устаревшем состоянии и инициируется обновление для синхронизации состояния интерфейса.
  • Улучшена удобство использования и понятность доски: опциональные теги Канбан на уровне рабочего процесса, поддержка индикаторов просроченных задач на карточках и стилизация колонок, включая цветные границы колонок по категориям.
5 лайков

Ещё одно крупное обновление: график сгорания задач (burn-up/burn-down) онлайн (в качестве удобной альтернативы существующему встроенному запросу Data Explorer)

  • Добавлен новый вид «График» в разделе Discovery с селектором общего вида (Список / Канбан / График) и управлением периодом (1–12 недель).
    • Реализован API для данных графика сгорания по адресу /discourse-workflow/charts.json, а также интеграция маршрута /workflow/charts.
    • Доступ к графикам регулируется отдельно: администраторы и группы, разрешённые для workflow_charts; графики скрыты от неавторизованных пользователей.
    • Полезная нагрузка графика была ограничена только выбранным контекстом рабочего процесса (selected_workflow_id, selected_workflow_name, series), что исключило неиспользуемый каталог рабочих процессов.
    • Добавлено покрытие запросами/системой и усиление UX: окна полной недели, безопасные для локальной даты метки осей, доступные подписи селектора видов и проверки регрессии рендеринга/состояния графика.

Функция построения графиков должна быть совместима со всеми рабочими процессами:

  • График не требует совместимости с Канбаном, поэтому работает для рабочих процессов, несовместимых с Канбаном.
    • График отображается только тогда, когда текущий список рабочих процессов ограничен ровно одним рабочим процессом.
    • Пользователь должен иметь разрешение на просмотр графиков (администратор или вход в группу workflow_charts_allowed_groups).
    • Если Канбан совместим, в выпадающем списке отображаются варианты Список/Канбан/График.
    • Если Канбан не совместим, в выпадающем списке всё ещё могут отображаться варианты Список/График (при соблюдении двух вышеуказанных условий).
3 лайка

Я выполнил крупную оптимизацию производительности:

4 лайка