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개의 좋아요

조금의 사랑을 받습니다.

4개의 좋아요

수정 사항을 몇 가지 배포했습니다:

2개의 좋아요

모바일에서 더 실용적인 뷰를 제공합니다:

  • 개선: 워크플로 토픽 목록은 데스크톱에서 잘 작동하지만, 모바일에서는 너비가 너무 넓습니다. 따라서 모바일에서는 모든 열을 추가하는 대신 제목에 워크플로 배지를 추가하고, 전체 열 구성은 데스크톱으로 제한합니다.
2개의 좋아요

사소하지만 중요한 세부 조정들입니다.

1개의 좋아요

로버트님,

저는 AI 없이 워크플로우 플러그인을 사용 중입니다. 이는 Windows에서 이사를 돕는 리눅스 카페를 위한 지원 체인으로 사용될 간단한 워크플로우입니다. 새 주제는 RFC 6233 메일과 서브어드레싱을 통해 생성되며, 첫 번째 하위 카테고리(level1)로 들어옵니다.

두 가지 문제가 있습니다:

  1. 워크플로우 단계의 ID가 고유하지 않습니다. 동일한 ID를 가진 세 개의 단계가 있습니다. ??
  2. incoming 주제에서 “start” 작업을 실행하면 "422 unprocessable content"가 발생합니다. 아마도 1번의 결과일 수 있습니다.
3개의 좋아요

인내와 피드백에 감사드립니다. 플러그인에 대한 관심도 감사히 생각합니다.

이 플러그인은 아직 실험 단계이며, 보시다시피 아직 많은 피드백을 받지 못했기 때문에 초기 문제가 있을 수 있습니다.

저희는 사용자의 워크플로우를 재현하여 문제를 재현해 보겠습니다.

그동안 관리자 화면에서 워크플로우를 스크린샷으로 찍어 공유해 주시겠습니까?

@Thomas_Rother 이 문제에 대한 백트레이스가 있으신가요?

3개의 좋아요

로버트, 안녕하세요.
걱정 마세요, 이게 실험적인 것임을 알고 있습니다. 그래서 자체 호스팅된 테스트 인스턴스에만 설치해 두었습니다. 거기서 가입하시면 관리자 권한을 부여해 드릴 수 있습니다:

https://forum2.netzwissen.de/login

2개의 좋아요

간단한 진행 과정을 공유해 보겠습니다.

  • 인터넷 카페 티켓 카테고리를 설정했습니다.
  • 모든 단계를 하위 카테고리로 설정했는데, 그 결과 다음과 같은 상태가 되었습니다:

이 정도까지는 잘 진행되고 있습니다.

이제 단계를 만들어 보겠습니다:

음, 적어도 두 가지 문제가 보입니다! (그중 하나는 다른 하나로 인해 발생한 것일 수도 있지만요)

전에 이 기능이 정상적으로 작동했던 것 같은데 이상하네요. 지금 확인 중이며, 시간이 나면 곧 수정 사항을 배포하겠습니다.

3개의 좋아요

@Thomas_Rother 이걸 한번 시도해 보세요:

(영향을 받은 단계를 삭제하고 다시 생성해야 할 수 있습니다)

2개의 좋아요

이 플러그인의 가장 일반적인 사용 사례는 무엇이며, Gemini flash 2.0과 함께 작동하나요?

합리적인 범위 내에서 여러 단계와 행위자를 포함하는 모든 비즈니스 프로세스. 특정 통합을 위해 확장 기능이 필요할 수 있습니다.

현재는 OpenAI만 지원하지만, PR을 환영합니다. (Chat Completions를 사용하므로 대규모 작업은 아닙니다.)

1개의 좋아요

빅 뉴스: 이제 번업/번다운 차트를 생성할 수 있는 통계 데이터를 가져올 수 있습니다:

  • 번다운/번업 차트에서 사용할 수 있는 상태 수 통계 데이터를 생성하는 일일 작업을 추가합니다.
  • 두 가지 유용한 Data Explorer 쿼리의 존재를 확인하거나 추가하는 작업을 추가합니다.
    • 모든 전이에 대한 감사 로그
    • 워크플로 인스턴스의 각 단계별 일일 집계 값으로, 번다운/번업 차트 생성을 용이하게 합니다(결과만 내보내면 됩니다).
    • 특정 그룹에 이러한 보고서에 대한 접근 권한을 부여할 수 있습니다.

참고: 주요 플러그인 번들링의 일환으로 젠(gem) 의존성 처리 방식이 변경됨에 따라, Discourse Workflow는 현재 tests-passed와만 호환됩니다. 이는 다음 안정 버전이 출시되면 변경될 예정입니다.

4개의 좋아요

사이트가 느려진 이유를 알아보고 있습니다…

비추천 경고

[PLUGIN discourse-workflow] 비추천 공지: 사이트 초기화 단계에서 site.mobileView 또는 site.desktopView에 접근하는 것은 비추천됩니다. 향후 업데이트에서는 모바일 모드가 뷰포트 크기에 의해 결정될 예정이며, 이로 인해 초기화 시 이러한 값을 사용하면 브라우저 창을 재조정할 때 오류와 불일치가 발생할 수 있습니다. 이러한 확인을 페이지 렌더링 중에 실행되는 컴포넌트, 트랜스포머 또는 API 콜백으로 이동해 주세요. [Discourse 3.5.0.beta9-dev 이후 비추천] [deprecation id: discourse.static-viewport-initialization] [info: Designing for Different Devices (Touch & Hover)] deprecated.js:62:13

이것이 사이트가 느려지는 원인이 될 것이라고는 정말로 의심스럽습니다!! :laughing: - 이건 비추천(deprecation) 경고일 뿐입니다.

PR을 기대하고 있겠습니다 :slight_smile:

1개의 좋아요

Discourse Workflow 때문은 더 이상 아닐 겁니다. Topic List와 Visualisation을 포함하여 여러 N+1 문제를 해결했거든요:

등등입니다.

3개의 좋아요

여러 가지 새로운 기능이 포함된 대규모 업데이트

  • 워크플로별 토픽 목록 필터 추가
  • “기한 초과” 표시 기능
  • 더 풍부한 토픽 워크플로 메타 정보
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개의 좋아요