Process Manager ↔ - 이전 이름 "Discourse Workflow"

:information_source: 요약 Discourse용 프로세스 관리 플러그인으로, 작업이 구성 가능한 단계를 통해 진행되며 액션, 목록 필터, 차트, 스윔레인 뷰 및 칸반 보드를 지원합니다.
:hammer_and_wrench: 레포지토리 링크 https://github.com/merefield/discourse-process-manager
:open_book: 설치 가이드 Discourse에 플러그인 설치하는 방법

이 플러그인을 즐기고 계신가요? GitHub에서 :star:를 눌러주세요! :pray:

정장 차림의 사람이 테이블에서 펜으로 종이에 쓰고 그래프를 가리키고 있는 모습. (AI 캡션)

요약

Process Manager는 Discourse를 위한 안전한 프로세스 관리 프레임워크를 제공합니다. 각 프로세스는 구성 가능한 단계와 옵션으로 구성되며, 토픽은 완료될 때까지 이러한 단계를 거칩니다.

프로세스는 워크플로, 승인 흐름, 지원 대기열, 검토 파이프라인 또는 다른 단계별 작업을 나타낼 수 있습니다.

분기(branching)와 루프(looping), 목록 및 칸반 탐색 뷰, 감사 추적(audit trails), 차트, 그리고 자동화 친화적인 동작을 지원하되, 핵심 Discourse 권한과 UI 패턴에 밀착되어 있습니다.

이를 통해 설정과 구성이 단순해지고, 작업 항목에 대해 올바른 사람만 해당 시점에 조치를 취할 수 있도록 보장합니다.

토픽을 작업 항목으로 사용하면 각 프로세스에 유연하고 네이티브한 Discourse 기반이 부여됩니다: 각 항목은 기본적으로 제목, 상세 설명, 첨부 파일, 토론, 알림, 태그 및 전체 히스토리를 가질 수 있습니다.

기능

  • Discourse 토픽을 작업 항목으로 사용하는 프로세스 관리 워크플로

  • 관리자 정의 워크플로, 단계 및 단계 옵션

  • 단계, 스윔레인, 전환 연결자를 배치하기 위한 시각적 워크플로 편집기

  • 핵심 Discourse 개념 기반: 카테고리, 그룹, 태그, 알림 및 카테고리 기반 권한

  • 액션 권한은 Discourse 동작에 밀착: 사용자는 이미 권한이 있는 카테고리에서만 액션을 수행할 수 있음

  • 빠른 필터가 포함된 /processes에서의 프로세스 탐색:

    • 내 카테고리
    • 기한 초과
    • 단계 = X
  • 탐색 뷰 선택기:

    • 목록

    • 칸반 (단일 칸반 호환 워크플로 컨텍스트에서만 표시)

    • 차트 (단일 프로세스 컨텍스트 및 차트 권한이 있는 사용자만 표시)

    • 차트 (단일 워크플로 컨텍스트 및 차트 권한이 있는 사용자만 표시)

  • 칸반 워크플로 보드:

    • 클릭 가능한 토픽 카드

    • 허용되는 드래그 앤 드롭 전환

    • 허용되는 경우 ArrowLeft / ArrowRight 키보드 전환

  • 워크플로 토픽 배너:

    • 현재 워크플로 및 단계
    • 사용 가능한 전환 액션
    • 시각화 링크
  • 위계 구조가 있는 기한 초과 모델:

    • 전역 설정: process_manager_overdue_days_default
    • 프로세스 오버라이드
    • 단계 오버라이드
    • 0은 해당 범위에서 기한 초과 기능을 비활성화
    • 프로세스 목록 및 칸반 카드 내 기한 초과 표시기
  • 워크플로 번다운 차팅:

    • 차트 엔드포인트 및 UI 통합
    • 1주에서 12주까지의 주 범위 선택기
    • 전체 주 윈도우 및 단계별 색상 계열
  • 작은 액션 게시물을 통한 전환 감사 추적

  • 첫 게시물 보기(Watch First Post)를 사용하여 관찰 중인 카테고리에 대한 도착 알림

  • 토픽 및 탐색 뷰에서 사용 가능한 워크플로 시각화

  • 기본 워크플로 쿼리가 포함된 Data Explorer 통합:

    • 번다운/번업 통계
    • 감사 로그
  • 선택적 AI 보조 단계 처리

입문 개념

스윔레인

각 워크플로 레인은 카테고리(또는 아래를 참조하여 하위 카테고리)입니다. 토픽이 진행됨에 따라 구성된 전환에 따라 카테고리 사이를 이동합니다.

프로세스 항목

  • 단일 프로세스 항목(예: 티켓)은 토픽입니다.
  • 우선순위와 같은 메타데이터를 위해 태그를 추가할 수 있습니다.
  • 카테고리 이동은 워크플로 액션에 의해 제어됩니다(스태프 오버라이드의 경우 제외).

액터(Actors)

단계 카테고리에서 토픽을 생성할 수 있는 사용자는 해당 단계의 워크플로 항목에 대해 액션을 수행할 수 있습니다. 답변 권한이 있는 사용자는 여전히 정상적으로 댓글을 달 수 있습니다.

옵션을 통한 액션

단계 옵션(Step Options)은 각 단계에서 사용 가능한 액션을 정의합니다. 각 옵션은 토픽 액션 버튼으로 표시되며, 토픽을 대상 단계로 이동시킬 수 있습니다.

대시보드

/workflow 내비게이션 필터를 사용하여 액세스할 수 있는 워크플로 토픽을 확인한 후, 보드 스타일의 흐름 관리를 위해 필터를 적용하거나 칸반으로 전환하세요.

감사 추적(Audit Trail)

전환은 토픽에 작은 액션 게시물로 기록됩니다. 번들된 Data Explorer 쿼리는 감사 및 운영 보고서를 지원합니다.

시각화

워크플로 시각화는 다음에서 사용할 수 있습니다:

  • 토픽 배너 링크
  • 탐색 목록의 워크플로 필드

표준 Discourse와의 주요 차이점

  • 1단계 이후의 워크플로 카테고리에서 직접 새 토픽을 생성할 수 없습니다.
  • 스태프가 아닌 한 워크플로 토픽의 카테고리를 수동으로 변경할 수 없습니다.
  • 카테고리 생성 권한이 있는 사용자만 워크플로 전환을 실행할 수 있습니다.

시작하기:

  1. process_manager_enabled로 플러그인을 활성화합니다.
  2. 관리자 -> 플러그인 -> Process Manager로 이동합니다.
  3. 프로세스를 생성하고 저장한 후, 단계와 단계 옵션을 추가합니다.
  4. 프로세스 액터가 관련 단계 카테고리에서 토픽 생성 권한을 가질 수 있도록 카테고리 권한을 구성합니다.
  5. 첫 번째 단계 카테고리에 토픽을 생성합니다.
  6. 토픽 액션 버튼 또는 칸반 상호작용을 사용하여 전환합니다.
  7. 운영 대기열 관리를 위해 /processes를 사용합니다.

AI 액션:

AI는 Process Manager의 직접적인 OpenAI 통합을 사용하여 단계를 액션할 수 있습니다. 이는 Discourse AI에 의존하지 않습니다.

요구 사항:

  • 유효한 process_manager_openai_api_key
  • 단계에서 AI 활성화
  • 프롬프트에 {{options}}{{topic}} 모두 포함

예시 프롬프트:

your options are {{options}}. if the following text states it is delicious, please accept, otherwise reject. {{topic}} answer with one word from those options

알려진 문제

이 플러그인은 아직 발전하고 있습니다. 문제점과 개선 아이디어는 레포지토리 또는 이 Meta 토픽에서 보고해 주세요.

26개의 좋아요

Gets some love.

https://github.com/merefield/discourse-workflow/commit/8883ba20f24d375a1863f83a43c29404662be9d4

4개의 좋아요

Have deployed a couple of fixes:

https://github.com/merefield/discourse-workflow/commit/ac49503e8ddc579f9aa8411d8459475ce13c77d7

https://github.com/merefield/discourse-workflow/commit/9a5ebea6299df5a8a7c8582caca942fbaf4f3316

2개의 좋아요

Makes for a more practical view on mobile:

  • IMPROVE: The Workflow Topic List works great on Desktop, but on Mobile it’s too wide, so instead of adding all those columns on mobile, add a Workflow badge to the Title and restrict the full set of columns to Desktop.
2개의 좋아요

https://github.com/merefield/discourse-workflow/commit/80648c6ecb3761f273b043a463b66efca51a1819

some minor but important tweaks.

1개의 좋아요

Hi Robert,
I am playing with the workflow plugin, without AI. This is a simple workflow intended to be used as a support chain for a linux cafe which helps people to migrate from Windows. New topics are created through RFC 6233 mails with subaddressing and come in into the first sub category (level1).

Two issues:

  1. IDs of the workflow steps are not unique. I have three steps with the same ID. ??
  2. a “start” Action on the incoming topic creates “422 unprocessable content” Maybe thats a result of 1)
3개의 좋아요

Thanks for your patience and your feedback. I appreciate your interest in the plugin.

It is a little experimental and as you can see has not received a lot of feedback yet so there are bound to be teething issues.

I will try to recreate your workflow and attempt to recreate the issue.

In the meantime can you screenshot the workflow in the admin screen and share that?

@Thomas_Rother do you have a backtrace on this?

3개의 좋아요

Hi Robert,
no worries, I am aware that this is experimental. Therefore its only installed on a self hosted test instance. You can register there and I could give you admin permissions:

https://forum2.netzwissen.de/login

2개의 좋아요

OK by way of a walkthrough, here’s how I got on:

  • Set up Internet Cafe Tickets Category
  • Set up all the steps as Sub-Categories, resulting in this:

So far so good.

Now let’s create the steps:

OK I can see at least two issues! (But one of them probably caused by the other)

That is strange as I was sure that this was working before. I’m having a look now and if I have time I’ll release a fix shortly.

3개의 좋아요

@Thomas_Rother give that a go:

https://github.com/merefield/discourse-workflow/pull/5

(You may have to delete and recreate the affected steps)

2개의 좋아요

Which are the most common use cases for this plugin and is this working with Gemini flash 2.0?

Any business process (within reason) with multiple steps and actors. May require extension for specific integrations.

It’s currently OpenAI only, but PR welcome (it uses Chat Completions so not a massive amount of work).

1개의 좋아요

Big News: you can now get the stats to create burn-up/down charts:

https://github.com/merefield/discourse-workflow/pull/7

  • Adds a daily job to create state count stats that you can use in burndown/burnup charts.
  • Adds a job that check presence of or adds two useful Data Explorer queries
    • Audit log for all transitions
    • Daily counts for workflow instances at each step of their workflow, facilitating burndown/up charts (just export the results).
    • You can give specific groups access to these reports.

NB Discourse Workflow is now only compatible with tests-passed for time being due to changes in the way gem dependencies are handled as part of the major plugin bundling. This should change once the next stable release is made.

4개의 좋아요

I’m trying to figure out why my site became sluggish…

Deprecation warning

[PLUGIN discourse-workflow] Deprecation notice: Accessing site.mobileView or site.desktopView during the site initialization phase is deprecated. In future updates, the mobile mode will be determined by the viewport size and as consequence using these values during initialization can lead to errors and inconsistencies when the browser window is resized. Please move these checks to a component, transformer, or API callback that executes during page rendering. [deprecated since Discourse 3.5.0.beta9-dev] [deprecation id: discourse.static-viewport-initialization] [info: Designing for Different Devices (Viewport Size, Touch/Hover, etc.)] deprecated.js:62:13

I doubt very much this is causing your site to become sluggish!! :laughing: - it’s a deprecation warning.

looking forward to your PR :slight_smile:

1개의 좋아요

Well it shouldn’t be due to Discourse Workflow any longer as I’ve closed several N+1 issues inc. on Topic List and the Visualisation:

https://github.com/merefield/discourse-workflow/pull/9

etc.

3개의 좋아요

Big update with several new features, including

  • New workflow-specific topic list filters
  • “Overdue” flagging
  • Richer Topic workflow meta information

https://github.com/merefield/discourse-workflow/pull/15

1개의 좋아요

완전히 크고 중요한 업데이트:

새로운 칸반 뷰:

  • 단일 칸반 호환 워크플로가 범위에 있을 때만 표시되는 목록/칸반 토글과 함께 /workflow에 완전한 칸반 모드를 추가했습니다.
    • 명시적인 칸반 호환성 검증(결정론적인 1:1 엣지 매핑 포함)을 도입하고 워크플로 관리자에서 호환성 상태를 표시하도록 했습니다.
  • 워크플로 항목을 칸반에서 직접 조작할 수 있도록 했습니다: 합법적인 단계 간 드래그 앤 드롭, 화살표 키를 사용한 단계 이동, 그리고 클릭 시 해당 토픽을 열 수 있습니다.
  • 동시 업데이트의 신뢰성을 향상시켰습니다: 오래된 전환은 이제 409를 반환하고, 명확한 상태 불일치 메시지를 표시하며, UI 상태를 다시 동기화하기 위해 새로고침을 트리거합니다.
  • 보드 사용성과 명확성을 개선했습니다: 선택적 워크플로 수준 칸반 태그, 카드의 기한 초과 표시기 지원, 카테고리 색상 기반 열 테두리를 포함한 레인 스타일링을 추가했습니다.
5개의 좋아요

또 다른 대형 업데이트 - 온라인 번업/다운 차트 (기존 번들된 Data Explorer 쿼리의 좋은 대안으로)

  • 디스커버리(Discovery)에 새로운 워크플로 차트 뷰를 추가했으며, 공유 뷰 선택기(목록 / 칸반 / 차트)와 기간 제어(1~12주)를 지원합니다.
    • /discourse-workflow/charts.json에 번다운 데이터 API를 구현하고 /workflow/charts 라우트 통합을 수행했습니다.
    • 차트 접근 권한은 별도로 관리됩니다: 관리자 및 workflow_charts_allowed_groups. 권한이 없는 사용자에게는 차트가 숨겨집니다.
    • 차트 페이로드가 선택된 워크플로 컨텍스트에만 제한되도록 조정했습니다 (selected_workflow_id, selected_workflow_name, series). 사용하지 않는 워크플로 카탈로그 표면은 제거되었습니다.
    • 요청/시스템 커버리지 및 UX 강화: 전체 주 단위 창, 로컬 날짜 안전한 축 라벨, 접근성 있는 뷰 선택기 라벨링, 차트 렌더링/상태 회귀 테스트를 추가했습니다.

차팅(Charting) 기능은 모든 워크플로와 호환되어야 합니다:

  • 차트는 칸반 호환성이 필요하지 않으므로, 칸반 호환이 아닌 워크플로도 작동합니다.
    • 현재 워크플로 목록이 정확히 하나의 워크플로로 범위가 지정된 경우에만 차트가 표시됩니다.
    • 사용자는 차트 권한(관리자 또는 workflow_charts_allowed_groups 소속)을 가져야 합니다.
    • 칸반이 호환되는 경우, 드롭다운에 목록/칸반/차트가 표시됩니다.
    • 칸반이 호환되지 않는 경우, 위에서 언급한 두 가지 조건이 충족되면 드롭다운에 여전히 목록/차트가 표시될 수 있습니다.
3개의 좋아요

주요 성능 최적화를 수행했습니다:

4개의 좋아요