feat(workflow): document destructive definition changes
Module Package Release / publish-packages (push) Successful in 11s

This commit is contained in:
2026-08-24 11:47:25 +02:00
parent fa0bdde839
commit 4aa19840bc
7 changed files with 20 additions and 7 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "govoplan-workflow" name = "govoplan-workflow"
version = "0.1.21" version = "0.1.22"
description = "Optional visual authoring and inspection workspace for GovOPlaN Workflow Engine." description = "Optional visual authoring and inspection workspace for GovOPlaN Workflow Engine."
readme = "README.md" readme = "README.md"
requires-python = ">=3.12" requires-python = ">=3.12"
+1 -1
View File
@@ -1,3 +1,3 @@
"""Optional GovOPlaN Workflow editor and compatibility package.""" """Optional GovOPlaN Workflow editor and compatibility package."""
__version__ = "0.1.21" __version__ = "0.1.22"
+10 -3
View File
@@ -35,7 +35,7 @@ from govoplan_workflow_engine.backend.manifest import (
MODULE_ID = "workflow" MODULE_ID = "workflow"
MODULE_NAME = "Workflow" MODULE_NAME = "Workflow"
MODULE_VERSION = "0.1.21" MODULE_VERSION = "0.1.22"
SEMANTIC_SUBJECT_CAPABILITY = semantic_documentation_subject_capability(MODULE_ID) SEMANTIC_SUBJECT_CAPABILITY = semantic_documentation_subject_capability(MODULE_ID)
@@ -270,7 +270,10 @@ manifest = ModuleManifest(
"catalogue, immutable revision comparison, activation controls, " "catalogue, immutable revision comparison, activation controls, "
"instance inspection, and governed override/reset experience. " "instance inspection, and governed override/reset experience. "
"Definitions and instances remain owned and executed by the " "Definitions and instances remain owned and executed by the "
"headless Workflow Engine module." "headless Workflow Engine module. Deleting a flow or node changes only "
"the editable draft until that definition is saved; deleting a workflow "
"removes its definition revisions and requires explicit confirmation. "
"Retained execution and audit evidence remains governed by Workflow Engine."
), ),
layer="available", layer="available",
documentation_types=("admin", "user"), documentation_types=("admin", "user"),
@@ -289,10 +292,14 @@ manifest = ModuleManifest(
"summary": "Optionale Erstellung, Validierung, Revisionsprüfung und Betriebssteuerung für Workflow Engine.", "summary": "Optionale Erstellung, Validierung, Revisionsprüfung und Betriebssteuerung für Workflow Engine.",
"body": ( "body": (
"Workflow ergänzt den visuellen BPMN- und nativen Graph-Editor, den Definitionskatalog, den Vergleich unveränderlicher Revisionen, Aktivierungssteuerung, Instanzprüfung und gesteuerte Eingriffe zum Überschreiben oder Zurücksetzen. " "Workflow ergänzt den visuellen BPMN- und nativen Graph-Editor, den Definitionskatalog, den Vergleich unveränderlicher Revisionen, Aktivierungssteuerung, Instanzprüfung und gesteuerte Eingriffe zum Überschreiben oder Zurücksetzen. "
"Definitionen und Instanzen bleiben Eigentum des ohne eigene Bedienoberfläche betriebenen Moduls Workflow Engine und werden dort ausgeführt." "Definitionen und Instanzen bleiben Eigentum des ohne eigene Bedienoberfläche betriebenen Moduls Workflow Engine und werden dort ausgeführt. Das Löschen eines Flusses oder Knotens verändert nur den bearbeitbaren Entwurf, bis die Definition gespeichert wird. Das Löschen eines Workflows entfernt dessen Definitionsrevisionen und verlangt eine ausdrückliche Bestätigung. Aufbewahrte Ausführungs- und Auditnachweise bleiben durch Workflow Engine geregelt."
), ),
} }
}, },
metadata={
"kind": "reference",
"help_contexts": ["workflow.action.delete-definition-parts"],
},
order=76, order=76,
), ),
), ),
+1 -1
View File
@@ -11,7 +11,7 @@ class WorkflowManifestTests(unittest.TestCase):
manifest = get_manifest() manifest = get_manifest()
self.assertEqual("workflow", manifest.id) self.assertEqual("workflow", manifest.id)
self.assertEqual("0.1.21", manifest.version) self.assertEqual("0.1.22", manifest.version)
self.assertEqual(("workflow_engine",), manifest.dependencies) self.assertEqual(("workflow_engine",), manifest.dependencies)
self.assertEqual( self.assertEqual(
{"workflow.definition_graph", "workflow.definition_catalogue", "workflow.bpmn_interchange"}, {"workflow.definition_graph", "workflow.definition_catalogue", "workflow.bpmn_interchange"},
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@govoplan/workflow-webui", "name": "@govoplan/workflow-webui",
"version": "0.1.21", "version": "0.1.22",
"private": true, "private": true,
"type": "module", "type": "module",
"main": "src/index.ts", "main": "src/index.ts",
@@ -101,6 +101,8 @@ export default function WorkflowInspector({
</span> </span>
<Button <Button
variant="ghost" variant="ghost"
helpContextId="workflow.action.delete-definition-parts"
helpModuleId="workflow"
className="workflow-inspector-delete" className="workflow-inspector-delete"
onClick={() => onEdgeDelete(edge.id)} onClick={() => onEdgeDelete(edge.id)}
disabled={readOnly} disabled={readOnly}
@@ -232,6 +234,8 @@ export default function WorkflowInspector({
</> : null} </> : null}
<Button <Button
variant="ghost" variant="ghost"
helpContextId="workflow.action.delete-definition-parts"
helpModuleId="workflow"
className="workflow-inspector-delete" className="workflow-inspector-delete"
onClick={() => onDelete(node.id)} onClick={() => onDelete(node.id)}
disabled={readOnly} disabled={readOnly}
@@ -874,6 +874,8 @@ export default function WorkflowPage({
destructiveActions={draft.id && draft.standard?.kind !== "baseline" ? ( destructiveActions={draft.id && draft.standard?.kind !== "baseline" ? (
<IconButton <IconButton
label="Delete workflow" label="Delete workflow"
helpContextId="workflow.action.delete-definition-parts"
helpModuleId="workflow"
icon={<Trash2 size={16} />} icon={<Trash2 size={16} />}
variant="danger" variant="danger"
onClick={() => setDeleteOpen(true)} onClick={() => setDeleteOpen(true)}