Problem/Motivation
The personal task lists offer no way to narrow what they show. my_tasks exposes its two sorts (created and label), so the exposed form is already rendered on the page, but every filter on the view is a scoping filter and none is exposed. On a site where one engine serves several applications, a person sees one undifferentiated list.
The piece needed for this already exists and is used nowhere. orchestra_views ships WorkflowFilter (#[ViewsFilter("orchestra_workflow")]), an InOperator that offers the workflow labels rather than machine names, and deliberately scopes the option list to the acting tenant:
on a multi-tenant site the labels of another tenant's workflows are not this operator's to read: the query is tenant-scoped either way, so an unscoped list would disclose the names while returning nothing for them.
OrchestraViewsHooks wires it to orchestra_instance.definition under the title Workflow. An exact search for that filter id across the shipped views returns nothing: the handler was written and never placed.
Proposed resolution
Place it, exposed, on the personal task lists. Nothing new is needed to support it:
my_tasksalready declares a requiredinstancerelationship, so the process instance is joined on every row already and the filter costs no new join.orchestra_inbox_viewsalready depends onorchestra_views, so the handler is available where the view lives.- The exposed form is already on the page for the sorts, so the filter joins a block that renders today rather than adding one.
The history display is a separate display with its own filters, so it takes the same filter or the two tabs behave differently.
Remaining tasks
The view ships in config/optional, which is only read when the module is installed, so an existing site does not pick the filter up from the shipped file. The update path for sites that already have the view is part of this issue.
Grouping the workflows themselves, so the lists can be narrowed by a category rather than one workflow at a time, is a larger question and belongs with the plan issue about organizing the inbox.
AI-Generated: Yes (Claude Code was used to survey the shipped views, the filter handlers and the views data, and to draft this issue summary and the change.)
Issue fork orchestra-3624942
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