From 930302b5353bfd9cd8ea6b0e0eec5804d5881446 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Tue, 8 Sep 2026 01:32:31 +0200 Subject: [PATCH] Release govoplan-datasources v0.1.25: unify interface contracts and documentation --- pyproject.toml | 4 +-- src/govoplan_datasources/__init__.py | 2 +- src/govoplan_datasources/backend/manifest.py | 17 ++++++++++- webui/package.json | 4 +-- .../features/datasources/DatasourcesPage.tsx | 30 +++++++++---------- 5 files changed, 36 insertions(+), 21 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0faf118..cf733a8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta" [project] name = "govoplan-datasources" -version = "0.1.24" +version = "0.1.25" description = "Governed datasource catalogue, staging, and materialization lifecycle for GovOPlaN." readme = "README.md" requires-python = ">=3.12" license = "AGPL-3.0-or-later" authors = [{ name = "GovOPlaN" }] -dependencies = ["govoplan-core>=0.1.20"] +dependencies = ["govoplan-core>=0.1.45"] [tool.setuptools.packages.find] where = ["src"] diff --git a/src/govoplan_datasources/__init__.py b/src/govoplan_datasources/__init__.py index d08f8e7..0e0d125 100644 --- a/src/govoplan_datasources/__init__.py +++ b/src/govoplan_datasources/__init__.py @@ -1,3 +1,3 @@ """GovOPlaN Datasources module.""" -__version__ = "0.1.24" +__version__ = "0.1.25" diff --git a/src/govoplan_datasources/backend/manifest.py b/src/govoplan_datasources/backend/manifest.py index ddcd293..1420b1e 100644 --- a/src/govoplan_datasources/backend/manifest.py +++ b/src/govoplan_datasources/backend/manifest.py @@ -68,7 +68,7 @@ from govoplan_datasources.backend.payloads import ExternalArtifactPayloadBackend MODULE_ID = "datasources" MODULE_NAME = "Datasources" -MODULE_VERSION = "0.1.24" +MODULE_VERSION = "0.1.25" DATASOURCE_INTERFACE_VERSION = "0.2.0" ARCHITECTURE = ModuleArchitectureDeclaration( @@ -487,6 +487,21 @@ manifest = ModuleManifest( ), architecture=ARCHITECTURE, documentation=( + DocumentationTopic( + id="datasources.workspace-layout", + title="Datasources workspace actions", + summary="Find collection-wide commands in their consistent workspace position.", + body="Reload and Add datasource or stage 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. Catalogue, staging, and origin filters remain in the collection pane. Snapshot and freeze actions remain with their selected resource. 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": "Datenquellen: Aktionen im Arbeitsbereich", + "summary": "Sammlungsweite Aktionen an ihrer einheitlichen Position im Arbeitsbereich finden.", + "body": "Neu laden und Datenquelle oder Staging hinzufügen 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. Katalog-, Staging- und Herkunftsfilter bleiben im Sammlungsbereich. Snapshot- und Einfrieraktionen bleiben bei der ausgewählten Ressource. 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="datasources.data-subject-requests", title="Datasources data-subject requests", diff --git a/webui/package.json b/webui/package.json index 1261c62..b16b45d 100644 --- a/webui/package.json +++ b/webui/package.json @@ -1,6 +1,6 @@ { "name": "@govoplan/datasources-webui", - "version": "0.1.24", + "version": "0.1.25", "private": true, "type": "module", "main": "src/index.ts", @@ -17,7 +17,7 @@ "typecheck": "tsc --noEmit" }, "peerDependencies": { - "@govoplan/core-webui": "^0.1.18", + "@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/datasources/DatasourcesPage.tsx b/webui/src/features/datasources/DatasourcesPage.tsx index 615a18e..13a9eb5 100644 --- a/webui/src/features/datasources/DatasourcesPage.tsx +++ b/webui/src/features/datasources/DatasourcesPage.tsx @@ -315,6 +315,21 @@ export default function DatasourcesPage({ return ( + void reload(selectedDatasourceRef), loading: loading || working }} + contextActions={Data} + createAction={} + variant="primary" + onClick={() => setAddOpen(true)} + disabled={!canStage && !canManage} + disabledReason={!canStage && !canManage ? DATASOURCES_I18N.manageReason : undefined} + />} + /> - void reload(selectedDatasourceRef), loading: loading || working }} - contextActions={Data} - createAction={} - variant="primary" - onClick={() => setAddOpen(true)} - disabled={!canStage && !canManage} - disabledReason={!canStage && !canManage ? DATASOURCES_I18N.manageReason : undefined} - />} - />
ariaLabel="Datasource view"