From bb6ebf194ad82933ea1423f90f2428d2f90c9e0a Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Tue, 8 Sep 2026 01:32:53 +0200 Subject: [PATCH] Release govoplan-tasks v0.1.23: unify interface contracts and documentation --- package.json | 2 +- pyproject.toml | 4 +-- src/govoplan_tasks/__init__.py | 2 +- src/govoplan_tasks/backend/manifest.py | 17 ++++++++++++- webui/package.json | 4 +-- webui/src/features/tasks/TasksPage.tsx | 35 +++++++++++++------------- 6 files changed, 39 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index f1e6cbd..04ff931 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@govoplan/tasks", - "version": "0.1.22", + "version": "0.1.23", "private": true, "description": "Governed work items and unified work inbox for GovOPlaN.", "type": "module", diff --git a/pyproject.toml b/pyproject.toml index a2f4f7b..3644d5b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta" [project] name = "govoplan-tasks" -version = "0.1.22" +version = "0.1.23" description = "Governed work items and unified work inbox for GovOPlaN." readme = "README.md" requires-python = ">=3.12" authors = [{ name = "GovOPlaN" }] dependencies = [ - "govoplan-core>=0.1.44", + "govoplan-core>=0.1.45", "govoplan-access>=0.1.18", ] diff --git a/src/govoplan_tasks/__init__.py b/src/govoplan_tasks/__init__.py index fdcae09..779e98b 100644 --- a/src/govoplan_tasks/__init__.py +++ b/src/govoplan_tasks/__init__.py @@ -1,3 +1,3 @@ """GovOPlaN Tasks module.""" -__version__ = "0.1.22" +__version__ = "0.1.23" diff --git a/src/govoplan_tasks/backend/manifest.py b/src/govoplan_tasks/backend/manifest.py index a091810..2fc5df4 100644 --- a/src/govoplan_tasks/backend/manifest.py +++ b/src/govoplan_tasks/backend/manifest.py @@ -49,7 +49,7 @@ from govoplan_tasks.backend.service import SqlTaskService MODULE_ID = "tasks" MODULE_NAME = "Tasks" -MODULE_VERSION = "0.1.22" +MODULE_VERSION = "0.1.23" READ_SCOPE = "tasks:item:read" WRITE_SCOPE = "tasks:item:write" ADMIN_SCOPE = "tasks:item:admin" @@ -136,6 +136,21 @@ ROLE_TEMPLATES = ( ) DOCUMENTATION = ( + DocumentationTopic( + id="tasks.workspace-layout", + title="Tasks workspace actions", + summary="Find collection-wide commands in their consistent workspace position.", + body="Reload and Create task 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. Search and status filters stay in the task list; completion, ownership, and other task-specific actions remain with the selected task. 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"), + order=5, + translations={"de": { + "title": "Aufgaben: Aktionen im Arbeitsbereich", + "summary": "Sammlungsweite Aktionen an ihrer einheitlichen Position im Arbeitsbereich finden.", + "body": "Neu laden und Aufgabe anlegen 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. Suche und Statusfilter bleiben in der Aufgabenliste; Abschluss, Zuständigkeit und weitere aufgabenspezifische Aktionen bleiben bei der ausgewählten Aufgabe. 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( id="tasks.data-subject-requests", title="Task data-subject requests", diff --git a/webui/package.json b/webui/package.json index 4cea522..24fb943 100644 --- a/webui/package.json +++ b/webui/package.json @@ -1,6 +1,6 @@ { "name": "@govoplan/tasks-webui", - "version": "0.1.22", + "version": "0.1.23", "private": true, "type": "module", "main": "src/index.ts", @@ -14,7 +14,7 @@ "./styles/tasks.css": "./src/styles/tasks.css" }, "peerDependencies": { - "@govoplan/core-webui": "^0.1.44", + "@govoplan/core-webui": "^0.1.45", "lucide-react": "^1.23.0", "react": ">=19.2.7 <20", "react-dom": ">=19.2.7 <20", diff --git a/webui/src/features/tasks/TasksPage.tsx b/webui/src/features/tasks/TasksPage.tsx index 04b79aa..5f61cc6 100644 --- a/webui/src/features/tasks/TasksPage.tsx +++ b/webui/src/features/tasks/TasksPage.tsx @@ -124,6 +124,23 @@ export default function TasksPage({ settings, auth }: { settings: ApiSettings; a return ( + void load(), loading: loading || busy, label: "i18n:govoplan-tasks.refresh" }} + contextActions={i18n:govoplan-tasks.work} + createAction={canWrite ? ( + + ) : undefined} + /> - void load(), loading: loading || busy, label: "i18n:govoplan-tasks.refresh" }} - className="tasks-sidebar-bar" - contextActions={i18n:govoplan-tasks.work} - createAction={canWrite ? ( - - ) : undefined} - />