70 lines
2.6 KiB
Markdown
70 lines
2.6 KiB
Markdown
# GovOPlaN Distribution Lists
|
|
|
|
<!-- govoplan-repository-type:start -->
|
|
**Repository type:** module (domain).
|
|
<!-- govoplan-repository-type:end -->
|
|
|
|
`govoplan-dist-lists` will own reusable operational distribution lists
|
|
(`Verteiler`) for GovOPlaN. Distribution lists are broader than address lists:
|
|
they can resolve contacts, raw addresses, identities, users, groups,
|
|
organization units, functions, roles, and later nested lists into immutable
|
|
recipient snapshots for campaigns, postbox messages, notifications, scheduling,
|
|
polls, consultations, approvals, workflow, and case operations.
|
|
|
|
The module is intentionally initialized as a documentation and manifest seed
|
|
first. Classical address lists remain in `govoplan-addresses`; this module will
|
|
take over the mixed operational recipient model once the address-owned list
|
|
primitive is stable.
|
|
|
|
## Boundary
|
|
|
|
Distribution Lists owns:
|
|
|
|
- reusable mixed recipient definitions
|
|
- German-administration `Verteiler` semantics
|
|
- expansion of mixed entries into concrete delivery/recipient targets
|
|
- snapshot DTOs with source revision and provenance
|
|
- stale-source detection for expanded entries
|
|
- eligibility and policy explanations for disabled recipient entries
|
|
- audit evidence for who was resolved at execution time
|
|
|
|
Distribution Lists does not own:
|
|
|
|
- contacts, vCard/CardDAV address books, or address-only lists; those belong in
|
|
`govoplan-addresses`
|
|
- mail transport, queues, or mailbox access; those belong in `govoplan-mail`
|
|
- campaign versions, message rendering, or delivery evidence; those belong in
|
|
`govoplan-campaign`
|
|
- workflow/Umlauf execution state, ordering, deadlines, escalation, or task
|
|
state; those belong in `govoplan-workflow` and `govoplan-tasks`
|
|
- global identity, organization, tenancy, access, or policy engines
|
|
|
|
## Key Distinction
|
|
|
|
```text
|
|
AddressBook -> contacts and contact points
|
|
AddressList -> address-domain grouping of contacts/contact methods
|
|
DistributionList -> operational Verteiler with mixed recipient entry types
|
|
Umlauf -> workflow execution over recipients, actors, tasks, and deadlines
|
|
CampaignVersion/PostboxMessage/etc. -> immutable snapshot of expanded recipients
|
|
```
|
|
|
|
## Development Install
|
|
|
|
```bash
|
|
cd /mnt/DATA/git/govoplan
|
|
./.venv/bin/python -m pip install -e ../govoplan-dist-lists
|
|
```
|
|
|
|
Focused manifest verification:
|
|
|
|
```bash
|
|
cd /mnt/DATA/git/govoplan-dist-lists
|
|
PYTHONPATH=src:/mnt/DATA/git/govoplan-core/src /mnt/DATA/git/govoplan/.venv/bin/python -m unittest discover -s tests
|
|
```
|
|
|
|
## Design Documents
|
|
|
|
- [Distribution lists architecture](docs/DISTRIBUTION_LISTS_ARCHITECTURE.md)
|
|
- [Implementation plan](docs/IMPLEMENTATION_PLAN.md)
|