docs: make distribution lists the AdreMa capability owner

This commit is contained in:
2026-07-31 14:52:49 +02:00
parent 1444e50d8b
commit 96f42d09f8
4 changed files with 533 additions and 37 deletions
+41 -15
View File
@@ -6,8 +6,12 @@
(`Verteiler`). This module is deliberately separate from `govoplan-addresses`:
address lists are plain address-domain groupings, while distribution lists are
cross-module recipient definitions that may resolve through address books,
identity, organizations, groups, functions, roles, raw addresses, and other
future provider capabilities.
IDM identities and typed groups, organization units and functions, raw
addresses, Dataflow-backed rows, and other future provider capabilities.
Distribution Lists is the core GovOPlaN target for the assessed AdreMa
functionality. It owns the reusable audience and expansion semantics, not the
provider data, rendering, delivery, or workflow state.
## Vocabulary
@@ -28,6 +32,7 @@ future provider capabilities.
Distribution Lists owns:
- distribution-list definitions
- static, parameterized, and dynamic segment revisions
- mixed recipient entries
- provider-neutral recipient entry DTOs
- expansion plans and expansion results
@@ -52,15 +57,22 @@ Initial supported entry types should be provider-neutral:
- `address_email`
- `raw_email`
- `raw_postal_address`
- `identity_principal`
- `idm_identity`
- `idm_group`
- `organization_unit`
- `group`
- `function`
- `role`
- `effective_function_incumbent`
- `dataflow_result`
- `distribution_list`
Each entry should carry a stable source reference, display label, optional
delivery-channel hints, provenance, and a policy/readiness state.
delivery-channel hints, effective time, provenance, and a policy/readiness
state. Access roles are authorization facts and are not recipient types.
Organizations owns unit/function definitions. IDM owns effective-dated
identity-to-function assignments and typed group relationships. Identity
lifecycle status remains separate from selectable business status, which is
represented by a group, function, or effective-dated relationship.
## Capability Direction
@@ -78,14 +90,11 @@ distribution-list ORM or service internals.
Likely consumers:
- Campaign: campaign recipient sources and send snapshots.
- Mail: ad-hoc recipient picking and reusable send groups.
- Postbox: recipient routing and publish snapshots.
- Notifications: notification target groups.
- Scheduling: invitation target groups.
- Poll/Evaluation/Consultation: invited participants and response audiences.
- Workflow/Tasks: Umlauf participant lists and escalation targets.
- Cases/Permits: case routing and responsible-function targeting.
- Campaign: hybrid-channel recipient sources, routing, and delivery snapshots.
- Templates: typed render input for printable and digital output.
- Reporting: parameterized lists, drill-down, and governed export.
- Workflow: `Umlauf` participant lists and guided execution.
- Files/Audit: artifact references and immutable evidence.
## Relationship To Address Lists
@@ -95,4 +104,21 @@ address module remains the owner of contact records and address-only grouping.
The distribution-list module owns mixed operational routing. This prevents
campaign-specific recipient logic from becoming the platform's de facto
Verteiler implementation.
`Verteiler` implementation and keeps reusable AdreMa selections outside
Addresses.
## Provider Graph
- Addresses contributes contact-point candidates, postal purposes,
communication preferences, consent, suppression, and source provenance.
- Organizations contributes units, structures, and function definitions.
- IDM contributes identities, typed groups, effective memberships, and
effective function incumbents.
- Datasources and Connectors contribute governed source states and immutable
fingerprints.
- Dataflow contributes bounded, versioned selection and transformation results.
- Policy contributes eligibility decisions and user-readable provenance.
Expansion records the exact provider revisions and decisions. Templates,
Campaign, Files, Audit, Reporting, and Workflow consume that immutable result
through capabilities and never import Distribution Lists internals.