[Feature] Save and load campaign templates through the template library #71

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

Problem / User Need

Campaign users should be able to save a campaign template to the shared template library and load compatible templates back into a campaign.

Acceptance Criteria

  • A campaign template can be saved to the template library with the correct template type/metadata.
  • Compatible templates can be loaded into campaign setup/review.
  • Required-field mismatches are detected and shown before applying the template.
  • Template loading does not silently overwrite campaign-specific data without confirmation.

Notes / Decisions

Depends on the template-library issue in govoplan-templates.

## Problem / User Need Campaign users should be able to save a campaign template to the shared template library and load compatible templates back into a campaign. ## Acceptance Criteria - A campaign template can be saved to the template library with the correct template type/metadata. - Compatible templates can be loaded into campaign setup/review. - Required-field mismatches are detected and shown before applying the template. - Template loading does not silently overwrite campaign-specific data without confirmation. ## Notes / Decisions Depends on the template-library issue in `govoplan-templates`.
Author
Owner

Implemented and published.

  • Core 3c7a593 carries typed required-field contracts in content-library draft requests.
  • Templates 5de54cc persists those requirements on immutable draft revisions and includes their paths in audit evidence.
  • Campaign b6af766 derives requirements from placeholders, exposes live-draft compatibility diagnostics before apply, and requires explicit confirmation before replacing a non-empty differing subject or body.
  • Existing optional capability boundaries are preserved; no database migration is required.

Verification: Templates 10 tests; Campaign 387 tests plus 18 subtests; Core API/contract smoke 73 tests; Campaign WebUI template tests and production build; changed-file Ruff; manifest and contract checks; full focused workspace gate with 57 WebUI permutations and 7 browser conformance tests.

Implemented and published. - Core `3c7a593` carries typed required-field contracts in content-library draft requests. - Templates `5de54cc` persists those requirements on immutable draft revisions and includes their paths in audit evidence. - Campaign `b6af766` derives requirements from placeholders, exposes live-draft compatibility diagnostics before apply, and requires explicit confirmation before replacing a non-empty differing subject or body. - Existing optional capability boundaries are preserved; no database migration is required. Verification: Templates 10 tests; Campaign 387 tests plus 18 subtests; Core API/contract smoke 73 tests; Campaign WebUI template tests and production build; changed-file Ruff; manifest and contract checks; full focused workspace gate with 57 WebUI permutations and 7 browser conformance tests.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-campaign#71