From 11d45bce251870c79b110348dbef3c13f6fed2d3 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Tue, 28 Jul 2026 21:04:55 +0200 Subject: [PATCH] Register governed Views module --- .env.example | 2 +- docs/REPOSITORY_INDEX.md | 1 + docs/VIEWS_ARCHITECTURE.md | 23 ++++++++++++++++++++++ repositories.json | 1 + requirements-dev.txt | 1 + tools/checks/check-focused.sh | 1 + tools/launch/launch-production-like-dev.sh | 2 +- tools/launch/production-like-dev.sh | 2 +- tools/release/push-release-tag.sh | 1 + 9 files changed, 31 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index 96cddcd..f33b12a 100644 --- a/.env.example +++ b/.env.example @@ -8,7 +8,7 @@ MASTER_KEY_B64= DATABASE_URL=postgresql+psycopg://govoplan:change-me@127.0.0.1:5432/govoplan GOVOPLAN_DATABASE_URL_PGTOOLS=postgresql://govoplan:change-me@127.0.0.1:5432/govoplan -ENABLED_MODULES=tenancy,organizations,identity,access,admin,dashboard,policy,audit,files,mail,campaigns,calendar,poll,scheduling,connectors,datasources,dataflow,workflow,notifications,docs,ops +ENABLED_MODULES=tenancy,organizations,identity,access,admin,dashboard,policy,audit,files,mail,campaigns,calendar,poll,scheduling,connectors,datasources,dataflow,workflow,views,notifications,docs,ops CELERY_ENABLED=true REDIS_URL=redis://127.0.0.1:6379/0 diff --git a/docs/REPOSITORY_INDEX.md b/docs/REPOSITORY_INDEX.md index fd042fb..67a5c24 100644 --- a/docs/REPOSITORY_INDEX.md +++ b/docs/REPOSITORY_INDEX.md @@ -70,6 +70,7 @@ Generated from `repositories.json`. Use that JSON file as the machine-readable s | `govoplan-templates` | `domain` | `../govoplan-templates` | [govoplan-templates](https://git.add-ideas.de/GovOPlaN/govoplan-templates) | | `govoplan-tenancy` | `platform` | `../govoplan-tenancy` | [govoplan-tenancy](https://git.add-ideas.de/GovOPlaN/govoplan-tenancy) | | `govoplan-transparency` | `domain` | `../govoplan-transparency` | [govoplan-transparency](https://git.add-ideas.de/GovOPlaN/govoplan-transparency) | +| `govoplan-views` | `platform` | `../govoplan-views` | [govoplan-views](https://git.add-ideas.de/GovOPlaN/govoplan-views) | | `govoplan-workflow` | `platform` | `../govoplan-workflow` | [govoplan-workflow](https://git.add-ideas.de/GovOPlaN/govoplan-workflow) | ## Connector diff --git a/docs/VIEWS_ARCHITECTURE.md b/docs/VIEWS_ARCHITECTURE.md index 073e666..750fab3 100644 --- a/docs/VIEWS_ARCHITECTURE.md +++ b/docs/VIEWS_ARCHITECTURE.md @@ -104,6 +104,29 @@ Workflow does not import the target module or the Views implementation. 5. Add Workflow instance and step activation. 6. Adopt semantic section/action descriptors module by module. +## Implementation Status + +Implemented in the initial Views slice: + +- Core contract version `1`, stable module/navigation/route identifiers, custom + section/action descriptors, manifest validation, and platform API metadata +- shell navigation, route-boundary, settings, administration, dashboard-widget, + embedded-capability, and organization-action filtering +- `govoplan-views` definitions, immutable revisions, system/tenant/group/user + assignments, user selection, provenance, and stale-surface recovery +- a system and tenant administration editor with unsaved-change protection, + publish/archive controls, assignment management, and server-enforced lockout + prevention +- surface declarations for every currently installed module that contributes a + WebUI, including finer-grained shared administration and settings surfaces + +Still intentionally separate: + +- Policy-owned inherited ceilings and policy decision provenance +- workflow-instance and workflow-step activation of pinned View revisions +- read-only and layout-replacement projections beyond the version `1` + visible/hidden contract + ## Gitea Work Packages - `govoplan#17`: task-focused Views user story diff --git a/repositories.json b/repositories.json index a5b16de..47beb50 100644 --- a/repositories.json +++ b/repositories.json @@ -66,6 +66,7 @@ {"name": "govoplan-templates", "category": "module", "subtype": "domain", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-templates.git", "path": "govoplan-templates"}, {"name": "govoplan-tenancy", "category": "module", "subtype": "platform", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-tenancy.git", "path": "govoplan-tenancy"}, {"name": "govoplan-transparency", "category": "module", "subtype": "domain", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-transparency.git", "path": "govoplan-transparency"}, + {"name": "govoplan-views", "category": "module", "subtype": "platform", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-views.git", "path": "govoplan-views"}, {"name": "addideas-govoplan-website", "category": "website", "subtype": "public-site", "remote": "git@git.add-ideas.de:add-ideas/addideas-govoplan-website.git", "path": "addideas-govoplan-website", "bootstrap_transport": "registered"}, {"name": "govoplan-workflow", "category": "module", "subtype": "platform", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-workflow.git", "path": "govoplan-workflow"}, {"name": "govoplan-xoev", "category": "connector", "subtype": "standard", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-xoev.git", "path": "govoplan-xoev"}, diff --git a/requirements-dev.txt b/requirements-dev.txt index 1442c41..50c1aa9 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -23,6 +23,7 @@ -e ../govoplan-datasources -e ../govoplan-dataflow -e ../govoplan-workflow +-e ../govoplan-views -e ../govoplan-poll -e ../govoplan-scheduling -e ../govoplan-notifications diff --git a/tools/checks/check-focused.sh b/tools/checks/check-focused.sh index 7960b4b..b763017 100644 --- a/tools/checks/check-focused.sh +++ b/tools/checks/check-focused.sh @@ -73,6 +73,7 @@ PY "$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-datasources/tests "$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-dataflow/tests "$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-workflow/tests +"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-views/tests "$PYTHON" "$META_ROOT/tools/checks/check-datasource-composition.py" "$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-mail/tests "$PYTHON" -m unittest tests.test_api_smoke.ApiSmokeTests.test_mailbox_message_listing_reports_total_count diff --git a/tools/launch/launch-production-like-dev.sh b/tools/launch/launch-production-like-dev.sh index 132913b..d3cbf76 100644 --- a/tools/launch/launch-production-like-dev.sh +++ b/tools/launch/launch-production-like-dev.sh @@ -51,7 +51,7 @@ set +a export APP_ENV="${APP_ENV:-staging}" export GOVOPLAN_INSTALL_PROFILE="${GOVOPLAN_INSTALL_PROFILE:-production-like}" -export ENABLED_MODULES="${ENABLED_MODULES:-tenancy,organizations,identity,access,admin,dashboard,policy,audit,campaigns,files,mail,calendar,poll,scheduling,connectors,datasources,dataflow,workflow,notifications,docs,ops}" +export ENABLED_MODULES="${ENABLED_MODULES:-tenancy,organizations,identity,access,admin,dashboard,policy,audit,campaigns,files,mail,calendar,poll,scheduling,connectors,datasources,dataflow,workflow,views,notifications,docs,ops}" export DATABASE_URL="${DATABASE_URL:-${GOVOPLAN_PRODUCTION_LIKE_DATABASE_URL:-postgresql+psycopg://govoplan:govoplan-dev@127.0.0.1:55433/govoplan}}" export GOVOPLAN_DATABASE_URL_PGTOOLS="${GOVOPLAN_DATABASE_URL_PGTOOLS:-${GOVOPLAN_PRODUCTION_LIKE_DATABASE_URL_PGTOOLS:-postgresql://govoplan:govoplan-dev@127.0.0.1:55433/govoplan}}" export REDIS_URL="${REDIS_URL:-${GOVOPLAN_PRODUCTION_LIKE_REDIS_URL:-redis://127.0.0.1:56379/0}}" diff --git a/tools/launch/production-like-dev.sh b/tools/launch/production-like-dev.sh index c332d14..91c8dba 100644 --- a/tools/launch/production-like-dev.sh +++ b/tools/launch/production-like-dev.sh @@ -66,7 +66,7 @@ export DATABASE_URL="${DATABASE_URL:-${GOVOPLAN_PRODUCTION_LIKE_DATABASE_URL:-po export GOVOPLAN_DATABASE_URL_PGTOOLS="${GOVOPLAN_DATABASE_URL_PGTOOLS:-${GOVOPLAN_PRODUCTION_LIKE_DATABASE_URL_PGTOOLS:-postgresql://govoplan:govoplan-dev@127.0.0.1:55433/govoplan}}" export REDIS_URL="${REDIS_URL:-${GOVOPLAN_PRODUCTION_LIKE_REDIS_URL:-redis://127.0.0.1:56379/0}}" export CELERY_ENABLED="${CELERY_ENABLED:-true}" -export ENABLED_MODULES="${ENABLED_MODULES:-tenancy,organizations,identity,access,admin,dashboard,policy,audit,campaigns,files,mail,calendar,poll,scheduling,connectors,datasources,dataflow,workflow,notifications,docs,ops}" +export ENABLED_MODULES="${ENABLED_MODULES:-tenancy,organizations,identity,access,admin,dashboard,policy,audit,campaigns,files,mail,calendar,poll,scheduling,connectors,datasources,dataflow,workflow,views,notifications,docs,ops}" export FILE_STORAGE_BACKEND="${FILE_STORAGE_BACKEND:-local}" export FILE_STORAGE_LOCAL_ROOT="${FILE_STORAGE_LOCAL_ROOT:-$META_ROOT/runtime/production-like/files}" export DEV_AUTO_MIGRATE_ENABLED="${DEV_AUTO_MIGRATE_ENABLED:-false}" diff --git a/tools/release/push-release-tag.sh b/tools/release/push-release-tag.sh index 9498079..8f8901c 100644 --- a/tools/release/push-release-tag.sh +++ b/tools/release/push-release-tag.sh @@ -114,6 +114,7 @@ PACKAGE_MODULE_REPOS=( "$PARENT/govoplan-tenancy" "$PARENT/govoplan-transparency" "$PARENT/govoplan-evaluation" + "$PARENT/govoplan-views" "$PARENT/govoplan-workflow" ) TAG_ONLY_MODULE_REPOS=(