[Feature] Duplicate, export, and import campaigns with selectable data scope #72

Closed
opened 2026-07-14 20:08:42 +02:00 by zemion · 2 comments
Owner

Problem / User Need

Campaigns should support duplication and portable export/import. Export must allow selecting which data is included, for example exporting campaign configuration but not recipients.

Acceptance Criteria

  • A whole campaign can be duplicated into a new campaign draft.
  • Campaign export supports selectable scopes such as metadata, template/config, recipients, attachments, review state, and delivery history.
  • Campaign import validates compatibility and shows what will be created or skipped.
  • Sensitive data and recipient data can be excluded from export intentionally.
  • Import/export preserves enough provenance for audit and troubleshooting.

Notes / Decisions

Needs design for data scopes, privacy defaults, and whether delivery/protocol history is exportable.

## Problem / User Need Campaigns should support duplication and portable export/import. Export must allow selecting which data is included, for example exporting campaign configuration but not recipients. ## Acceptance Criteria - A whole campaign can be duplicated into a new campaign draft. - Campaign export supports selectable scopes such as metadata, template/config, recipients, attachments, review state, and delivery history. - Campaign import validates compatibility and shows what will be created or skipped. - Sensitive data and recipient data can be excluded from export intentionally. - Import/export preserves enough provenance for audit and troubleshooting. ## Notes / Decisions Needs design for data scopes, privacy defaults, and whether delivery/protocol history is exportable.
zemion added
status
in-progress
and removed
status
ready
labels 2026-08-22 03:36:11 +02:00
Author
Owner

Implementation started. The existing governed copy flow already satisfies the duplication acceptance criterion. The remaining slice will add a versioned portable package, privacy-safe selectable scopes, compatibility preview, explicit import apply, RBAC, audit provenance, WebUI actions, documentation, and tests. Configuration-only export will be the default; recipient and operational evidence require explicit selection and their existing fine-grained permissions.

Implementation started. The existing governed copy flow already satisfies the duplication acceptance criterion. The remaining slice will add a versioned portable package, privacy-safe selectable scopes, compatibility preview, explicit import apply, RBAC, audit provenance, WebUI actions, documentation, and tests. Configuration-only export will be the default; recipient and operational evidence require explicit selection and their existing fine-grained permissions.
Author
Owner

Implemented and released in Campaign v0.1.24.

Evidence:

  • Campaign commit 3934e7f (feat(campaigns): add portable campaign transfers)
  • Workspace catalog commit f1eebd8
  • Release tag v0.1.24

Acceptance coverage:

  • Duplicate already creates an independent draft with explicit selectable recipient, attachment, sharing, policy, and mail scope, without operational evidence.
  • Portable export/import now supports explicit metadata, template/configuration, recipient, attachment-rule, aggregate review-state, and delivery-history scopes.
  • Metadata and template/configuration are the privacy-safe defaults. Secrets, credential references, infrastructure locators, password-field values, and attachment bytes are never exported.
  • Preview reports source provenance, checksum, compatibility, warnings, planned creations, and skipped evidence before apply.
  • Apply requires the exact previewed SHA-256 and always creates a new local draft; imported review/delivery evidence is informational and never replayed as live state or jobs.
  • Recipient and delivery-history scopes have additional fine-grained permissions; unauthorized recipient import can still be safely previewed and deselected.
  • Export/import audit events contain matching bounded provenance and hashes.
  • WebUI uses shared dialogs, fields, toggles, and semantic action bars, including Reload on the refreshable editor.
  • User/admin documentation and German translations describe workflow, permissions, limitations, redaction, provenance, and local revalidation.

Verification:

  • Campaign backend: 451 tests passed, 26 subtests.
  • Campaign WebUI lifecycle, accessibility, import-utility, policy, template-preview, collaboration, and work-surface checks passed.
  • Manifest registry: 68/68.
  • Full workspace focused suite passed, including 59 module permutations, full-product production build, and 8 browser conformance tests.

The repository and release catalog are published; closing as complete.

Implemented and released in Campaign v0.1.24. Evidence: - Campaign commit `3934e7f` (`feat(campaigns): add portable campaign transfers`) - Workspace catalog commit `f1eebd8` - Release tag `v0.1.24` Acceptance coverage: - Duplicate already creates an independent draft with explicit selectable recipient, attachment, sharing, policy, and mail scope, without operational evidence. - Portable export/import now supports explicit metadata, template/configuration, recipient, attachment-rule, aggregate review-state, and delivery-history scopes. - Metadata and template/configuration are the privacy-safe defaults. Secrets, credential references, infrastructure locators, password-field values, and attachment bytes are never exported. - Preview reports source provenance, checksum, compatibility, warnings, planned creations, and skipped evidence before apply. - Apply requires the exact previewed SHA-256 and always creates a new local draft; imported review/delivery evidence is informational and never replayed as live state or jobs. - Recipient and delivery-history scopes have additional fine-grained permissions; unauthorized recipient import can still be safely previewed and deselected. - Export/import audit events contain matching bounded provenance and hashes. - WebUI uses shared dialogs, fields, toggles, and semantic action bars, including Reload on the refreshable editor. - User/admin documentation and German translations describe workflow, permissions, limitations, redaction, provenance, and local revalidation. Verification: - Campaign backend: 451 tests passed, 26 subtests. - Campaign WebUI lifecycle, accessibility, import-utility, policy, template-preview, collaboration, and work-surface checks passed. - Manifest registry: 68/68. - Full workspace focused suite passed, including 59 module permutations, full-product production build, and 8 browser conformance tests. The repository and release catalog are published; closing as complete.
zemion removed the
status
in-progress
label 2026-08-22 04:18:35 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-campaign#72