collective.multiworkflow.chain#
The workflow chain adapter.
Registered for
IAdditionalWorkflows and the workflow tool, making it more specific than
Plone's default chain adapter, which is registered for Interface. It never
replaces the chain configured for a type — it only appends.
- collective.multiworkflow.chain.additional_workflows_chain(context: Any, tool: Any) tuple[str, ...][source]#
Append contributed workflows to the chain configured for the type.
The base chain is read by calling Plone's default adapter function directly. That function resolves the chain from the tool's own
_chains_by_typemapping rather than throughgetChainFor, so this call cannot re-enter adapter lookup and no recursion guard is needed.A contributed id that no workflow in the tool answers to is logged and skipped: a bad declaration must never break chain lookup, because a failure here would make the object unusable rather than merely misconfigured.
- Parameters:
context -- the content object providing a participating marker.
tool -- the
portal_workflowtool.
- Returns:
the base chain followed by the contributed workflows, in order and deduplicated.