Orchestra administers itself in two places, and the split is a good one: Structure > Orchestra holds the rows an operator observes and drives, while Configuration > Workflow > Orchestra holds what a site builder configures. Instances belong in the first. Workflows, Tenants, Settings, Audit trail and Views belong in the second, and are there.
Statuses are in the first, and should not be. A status is a configuration entity (orchestra_status, a ConfigEntityType with config_prefix: status), exported and deployed with the site exactly like a tenant. Tenants, its closest sibling, are administered under Configuration. So the same kind of thing is reached two different ways depending on which one you want, and Structure > Orchestra mixes a vocabulary a site builder maintains in with the live process rows.
This surfaced while placing the delegation screens in #3613914: A user who is away has no way to let someone else act on their tasks. Delegations are runtime data somebody declared, so they went under Structure beside Instances; applying the rule deliberately made it obvious that Statuses is on the wrong side of it.
What to change
- orchestra_ui/src/Hook/OrchestraUiHooks.php: the $base the status link templates are built from, currently /admin/structure/orchestra/statuses, becomes the configuration path. The collection, add, edit and delete templates all derive from it, so it is one line.
- orchestra_ui.links.menu.yml: orchestra_ui.statuses moves from parent: orchestra_ui.structure to the modeler_api-provided Orchestra item the rest of the configuration hangs off, beside Tenants (weight 20).
- Config Translation follows the entity link templates, so the per-language status label forms move with it and need no separate change. Worth confirming in the browser rather than assumed.
- Docs: concepts.md and roadmap.md each name the old location in prose.
Worth deciding
- A bookmarked /admin/structure/orchestra/statuses would 404 afterwards. Pre-1.0 that is probably acceptable and no redirect is warranted, but it is the one user-visible cost and should be a decision rather than an oversight.
- Once Statuses leaves, Structure > Orchestra holds Instances and Delegations, which is a coherent group: the things that exist because the engine ran.
No behavior changes, and nothing about how statuses work; this is only where they are administered from.
Issue fork orchestra-3613944
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
Comment #3
mably commentedComment #5
mably commented