Problem/Motivation

The Status node feature (added in #3611246) inlines a status on each node: a label and a set of CSS classes, authored per node.

Requesters want to filter their requests by status, choosing the value from a select list. Filtering makes a status a first-class concept with a stable identity and an enumerable set of values, which the inline model cannot provide: the same status re-typed on several nodes drifts in label and styling, a filter has no single label per value, and each occurrence is translated separately.

Proposed resolution

  • Add an orchestra_status configuration entity: a status vocabulary keyed by machine name, carrying its label and a palette class. It is tenant-scoped exactly like a workflow: an empty tenant means shared across all tenants, a tenant id means visible only in that tenant.
  • Resolve the statuses available in a tenant (shared plus scoped) through a single catalogue service, so the node editor, the display and the filter all apply the same rule.
  • Reduce the Status node feature to a select that references a status by machine name, scoped to the workflow's tenant.
  • Store the current status machine name on the process instance as a queryable column, written transactionally through the existing guarded state-transition primitive rather than a separate entity save.
  • Add a per-user status filter to the "My requests" page, offering only the statuses actually present in the acting user's own requests.

Remaining tasks

Implementation, kernel and functional tests, example configuration, documentation and French translation.

Issue fork orchestra-3611370

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

mably created an issue. See original summary.

mably’s picture

Status: Active » Needs review

  • mably committed e569810f on 1.x
    feat: #3611370 Replace inline node statuses with a tenant-scoped status...
mably’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.