diff --git a/src/govoplan_dataflow/backend/manifest.py b/src/govoplan_dataflow/backend/manifest.py
index e689a7d..48bc526 100644
--- a/src/govoplan_dataflow/backend/manifest.py
+++ b/src/govoplan_dataflow/backend/manifest.py
@@ -250,7 +250,9 @@ DOCUMENTATION = localize_documentation_topics((
id="dataflow.workspace-layout",
title="Dataflow workspace actions",
summary="Find collection-wide commands in their consistent workspace position.",
- body="Reload and New pipeline use the persistent full-width workspace header at the upper right; Reload sits immediately before creation. Selecting a record, changing filters, or opening an editor does not move these collection-wide commands into the left pane. SQL editing, validation, previews, saving, and execution keep their existing editor scope and bounded safety rules. Existing permissions, disabled-state rules, and unsaved-change guards still apply. Administrators configure authority through the existing permission system; no new permission or automatic operation is introduced.",
+ body="The workspace documentation book sits beside Pipelines; automation and run help sits beside "
+ "the corresponding dialog title, and field help stays with its label. "
+ "Reload and New pipeline use the persistent full-width workspace header at the upper right; Reload sits immediately before creation. Selecting a record, changing filters, or opening an editor does not move these collection-wide commands into the left pane. SQL editing, validation, previews, saving, and execution keep their existing editor scope and bounded safety rules. Existing permissions, disabled-state rules, and unsaved-change guards still apply. Administrators configure authority through the existing permission system; no new permission or automatic operation is introduced.",
layer="static",
documentation_types=("user", "admin"),
audience=("user", "module_admin", "operator"),
@@ -258,7 +260,10 @@ DOCUMENTATION = localize_documentation_topics((
translations={"de": {
"title": "Datenflüsse: Aktionen im Arbeitsbereich",
"summary": "Sammlungsweite Aktionen an ihrer einheitlichen Position im Arbeitsbereich finden.",
- "body": "Neu laden und Neue Pipeline stehen oben rechts in der dauerhaft sichtbaren, arbeitsbereichsweiten Leiste; Neu laden steht unmittelbar vor dem Anlegen. Auswahl, Filterwechsel und Bearbeitung verschieben diese sammlungsweiten Aktionen nicht in den linken Bereich. SQL-Bearbeitung, Validierung, Vorschau, Speichern und Ausführung behalten ihren bisherigen Editorbereich und ihre begrenzenden Sicherheitsregeln. Bestehende Berechtigungen, Deaktivierungsregeln und der Schutz ungespeicherter Änderungen gelten weiterhin. Administratoren konfigurieren Rechte im bestehenden Berechtigungssystem; es entstehen weder neue Rechte noch automatische Vorgänge.",
+ "body": "Das Dokumentationsbuch des Arbeitsbereichs steht neben Pipelines; Hilfe zu Automatisierung "
+ "und Ausführung steht neben dem jeweiligen Dialogtitel, und Feldhilfe bleibt bei der "
+ "Feldbezeichnung. "
+ "Neu laden und Neue Pipeline stehen oben rechts in der dauerhaft sichtbaren, arbeitsbereichsweiten Leiste; Neu laden steht unmittelbar vor dem Anlegen. Auswahl, Filterwechsel und Bearbeitung verschieben diese sammlungsweiten Aktionen nicht in den linken Bereich. SQL-Bearbeitung, Validierung, Vorschau, Speichern und Ausführung behalten ihren bisherigen Editorbereich und ihre begrenzenden Sicherheitsregeln. Bestehende Berechtigungen, Deaktivierungsregeln und der Schutz ungespeicherter Änderungen gelten weiterhin. Administratoren konfigurieren Rechte im bestehenden Berechtigungssystem; es entstehen weder neue Rechte noch automatische Vorgänge.",
}},
),
DocumentationTopic(
diff --git a/tests/test_interface_documentation_contract.py b/tests/test_interface_documentation_contract.py
index cc5bbc1..ebffc15 100644
--- a/tests/test_interface_documentation_contract.py
+++ b/tests/test_interface_documentation_contract.py
@@ -67,12 +67,13 @@ class DataflowInterfaceDocumentationContractTests(unittest.TestCase):
for component in (
"ActionBlockerHint",
- "DocumentationHelpLink",
+ "titleHelp={}",
"useUnsavedDraftGuard",
"ConfirmDialog",
):
self.assertIn(component, page)
self.assertIn("DATAFLOW_NODE_DOCUMENTATION", inspector)
+ self.assertNotIn("helpAction=", page)
if __name__ == "__main__":
diff --git a/webui/src/features/dataflow/DataflowPage.tsx b/webui/src/features/dataflow/DataflowPage.tsx
index bc1783d..efb2006 100644
--- a/webui/src/features/dataflow/DataflowPage.tsx
+++ b/webui/src/features/dataflow/DataflowPage.tsx
@@ -668,11 +668,12 @@ export default function DataflowPage({ settings, auth }: { settings: ApiSettings
return (
}
scope="workspace"
variant="collection"
refreshable
reloadAction={{ onReload: () => void loadPipelines(draft?.id), loading, label: "Refresh pipelines" }}
- contextActions={Pipelines}
createAction={}
@@ -759,7 +760,6 @@ export default function DataflowPage({ settings, auth }: { settings: ApiSettings
}
- helpAction={}
primaryActions={
ariaLabel="Pipeline editor mode"
@@ -1953,6 +1953,7 @@ function DataflowTriggersDialog({
}
className="dataflow-triggers-dialog"
closeDisabled={busy}
onClose={close}
@@ -2009,7 +2010,6 @@ function DataflowTriggersDialog({
{!busy && !triggers.length ? No triggers configured : null}