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

**URL:** <https://meta.discourse.org/t/process-manager-formerly-discourse-workflow/347110>\
**Category:** Plugin\
**Created:** [1월 14, 2025, 5:53오후 UTC](https://meta.discourse.org/t/process-manager-formerly-discourse-workflow/347110 "2025-01-14T17:53:36Z")\
**Posts on this page:** 1\
**Showing post:** 19

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [2월 23, 2026, 9:59오후 UTC](https://meta.discourse.org/t/process-manager-formerly-discourse-workflow/347110/19 "2026-02-23T21:59:12Z")

</div>

또 다른 대형 업데이트 - 온라인 번업/다운 차트 (기존 번들된 [Data Explorer](https://meta.discourse.org/t/32566?silent=true) 쿼리의 좋은 대안으로)

 ![image](https://global.discourse-cdn.com/meta/original/4X/9/4/a/94a72847209f86141ff07620589be69895a52f60.png)

- 디스커버리(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 소속)을 가져야 합니다.
  - 칸반이 호환되는 경우, 드롭다운에 목록/칸반/차트가 표시됩니다.
  - 칸반이 호환되지 않는 경우, 위에서 언급한 두 가지 조건이 충족되면 드롭다운에 여전히 목록/차트가 표시될 수 있습니다.

> <https://github.com/merefield/discourse-process-manager/pull/18>
>
> \## Summary
> 
> This PR delivers a workflow discovery UX and reporting expansion… with three integrated workflow views (List, Kanban, Chart), stronger runtime hardening, and broader automated coverage.
> 
> It adds charting for workflow step counts over time, improves list/kanban SPA behavior, aligns job loading/naming with Zeitwerk autoloading conventions, and tightens chart mode visibility so only authorized users see
> Chart in the workflow view selector.
> 
> ## Functional Improvements
> 
> 1. Discovery now supports a unified view selector:
> 
> - List (topic table)
> - Kanban (actionable board)
> - Chart (burn down trend)
> - Selector appears contextually based on compatibility/scope.
> 
> 2. Workflow charts:
> 
> - New chart endpoint and UI integration (/workflow/charts and chart mode in /workflow).
> - Period selector from 1 to 12 weeks.
> - Full-week windows (Sunday to Saturday).
> - Per-step series with step/category color mapping.
> - Payload now returns selected workflow metadata only (no full workflow catalog).
> 
> 3. Chart permissions and UX:
> 
> - New setting: workflow\_charts\_allowed\_groups.
> - Access: admins + configured groups.
> - Chart option is hidden from users without chart permission.
> - Chart permissioning is intentionally separate from topic-level category permissioning.
> 
> 4. Workflow quick-filter/SPA behavior:
> 
> - Query-param driven transitions without full page reload.
> - Persisted quick filters in local storage.
> - Better view-state synchronization across route transitions.
> - Ongoing list/kanban improvements remain intact (toggle behavior, stale-state refresh handling, overdue/list indicators).
> 
> 5. Runtime/job reliability:
> 
> - Workflow jobs now follow Zeitwerk autoloading conventions.
> - Scheduled jobs are visible/reliable without plugin-level manual requires.
> - Transition enqueue path updated to new namespaced notifier job.
> - WorkflowStat associations corrected to belongs\_to for proper relation semantics.
> 
> ## Technical Changes
> 
> - Added: app/controllers/discourse\_workflow/workflow\_charts\_controller.rb
> - Added: lib/discourse\_workflow/charts\_permissions.rb
> - Added frontend route wiring for charts:
> - assets/javascripts/discourse/discourse-workflow-route-map.js
> - assets/javascripts/discourse/routes/discovery/workflow-charts.js
> - assets/javascripts/discourse/controllers/discovery/workflow-charts.js
> - Added chart connector:
> - assets/javascripts/discourse/connectors/discovery-list-container-top/z-workflow-burndown-chart.gjs
> - Extended quick filters connector for multi-view behavior and chart gating:
> - assets/javascripts/discourse/connectors/discovery-list-container-top/workflow-quick-filters.gjs
> - Updated plugin/list serialization and permission flags:
> - plugin.rb
> - lib/discourse\_workflow/list\_controller\_extension.rb
> - Added setting + locale updates:
> - config/settings.yml
> - config/locales/client.en.yml
> - config/locales/server.en.yml
> - Updated styles for chart and view controls:
> - assets/stylesheets/common/workflow\_common.scss
> - Updated routes:
> - config/routes.rb
> - Zeitwerk alignment for jobs:
> - moved jobs to namespaced paths:
> - app/jobs/scheduled/discourse\_workflow/\*
> - app/jobs/regular/discourse\_workflow/\*
> - renamed classes to Jobs::DiscourseWorkflow::\* to match file paths
> - removed legacy plugin-level require workaround
> - added scheduled-job eager-load wiring in lib/discourse\_workflow/engine.rb
> 
> ## New / Updated Tests
> 
> - Request specs:
> - spec/requests/workflow\_charts\_controller\_spec.rb
> - permissions, routing, week windows, selected-workflow payload contract
> - System specs:
> - spec/system/workflow\_charts\_spec.rb
> - chart rendering, view switching, period selection
> - spec/system/workflow\_quick\_filters\_spec.rb
> - chart visibility gating in view selector
> - Page objects:
> - spec/system/page\_objects/pages/workflow\_discovery.rb (chart interactions/assertions)
> - Job specs:
> - spec/jobs/scheduled/discourse\_workflow/daily\_stats\_spec.rb
> - spec/jobs/scheduled/discourse\_workflow/ai\_transitions\_spec.rb
> - spec/jobs/scheduled/discourse\_workflow/data\_explorer\_queries\_completeness\_spec.rb
> - spec/jobs/regular/discourse\_workflow/topic\_arrival\_notifier\_spec.rb
> - Fabricator:
> - spec/fabricators/workflow\_stat\_fabricator.rb
> 
> ## Validation
> 
> - Full plugin suite passes:
> - bin/rspec plugins/discourse-workflow/spec
> - Result: 76 examples, 0 failures
> - Targeted request/system/job specs and formatting/rubocop checks pass for touched files.
> 
> ## Notes
> 
> - Chart access model is intentionally broader than topic-level visibility and is controlled by workflow\_charts\_allowed\_groups (plus admin access).
> - If stricter chart visibility is desired later, it can be introduced as an optional mode without affecting current behavior.

---

_[View the full topic](https://meta.discourse.org/t/process-manager-formerly-discourse-workflow/347110)._
