elsa-workflows / elsa-workflows/elsa-foundation
Persist and share workflow-definition view presets
- Dominant language
- C#
- Stars
- 5
- Forks
- 1
- Avg merge
- 3h 52m
- Merged PRs (30d)
- 212
Description
## Parent
#792
## What to build
Deliver server-persisted `WorkflowDefinitionViewPreset` behavior over the complete tag-aware workflow-definition list. Readers can preserve filter, grouping, sort, and column state privately; authorized users can share a preset within the tenant; URLs continue to represent the active view; and missing or deprecated stable references remain visible with repair diagnostics rather than being silently rewritten. Keep the model Workflow Design-specific and carry it through Groundwork persistence, API/capability/permissions, Studio view management, and acceptance/provider tests.
Covers parent user stories 40–44, 62, 73, and 74.
## Acceptance criteria
- [ ] A workflow-definition view preset is tenant-scoped, schema-versioned, Workflow Design-owned, private by default, and stores filter/group/sort/column state by stable identities.
- [ ] A workflow reader can create, list, load, update, and delete their own private presets without the tenant-share permission.
- [ ] Sharing/unsharing or modifying a tenant-shared preset requires `workflow-design.views.share`; unauthorized presets and target data do not leak.
- [ ] Studio can save the current tag-aware workflow-definition view, restore it deterministically, and keep equivalent state in a bookmarkable/shareable URL.
- [ ] Presets support every version-1 filter operator and eligible grouping mode without introducing arbitrary nested Boolean expressions or multiple-valued grouping.
- [ ] Missing or deprecated tag/value references remain in the preset and produce visible diagnostics; loading does not silently delete, replace, or rename them.
- [ ] Preset schema versions are validated, and unsupported future versions fail safely with actionable Studio feedback.
- [ ] Renaming tag/value presentation metadata leaves presets valid because semantic references use stable identities.
- [ ] Capability discovery and endpoint permissions fail closed when preset support is unavailable.
- [ ] The implementation does not introduce a universal cross-domain saved-view framework.
- [ ] API acceptance, Studio browser, tenant/authorization, schema-version, and Groundwork provider-conformance tests exercise the shared public seams.
## Blocked by
- #801
- #800
- #802
- #803
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the blocked issues #801, #800, #802, and #803, then trace the shared API, Studio view-management, Groundwork persistence, capability, and permission seams they establish. Done means the listed API acceptance, Studio browser, tenant/authorization, schema-version, and provider-conformance tests cover tenant-scoped presets, stable-reference diagnostics, URL state, and fail-closed permissions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- api, authorization, database, full-stack, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100