guardian / guardian/notifications-tooling

US-45 — Copy a sent notification to another channel.

Open
#219 0 comments 0 reactions 0 assignees View on GitHub
. app alert tooling . view send history could feature
Dominant language
TypeScript
Stars
3
Forks
0
Avg merge
1d 9h
Merged PRs (30d)
109

Description

Designs: https://www.figma.com/design/nlTRBsbrjta7EbmsNzAVdh/Notifications-mission--Dispatch-?node-id=2558-32015&t=fLyUyWzLVEHkPIKs-0

## User story

_As a Dispatcher user, I want to use a successfully sent Newsletter Email or App Alert as the starting point for the other notification channel so that I can quickly create a related notification without re-entering the shared content._

## Acceptance scenarios

```gherkin
Feature: Copy a sent notification to another channel

Background:
Given the user has successfully sent a notification

Scenario: Offer Copy to App Alert after sending a Newsletter Email
Given a Newsletter Email has been successfully sent
When the send confirmation page is displayed
Then a "Copy to app alert" action should be available
And the existing "Create a new newsletter email" action should remain available

Scenario: Copy a sent Newsletter Email to an App Alert
Given a Newsletter Email has been successfully sent
And the send confirmation page is displayed
When the user selects "Copy to app alert"
Then the Create App Alert page should be displayed
And compatible information from the sent Newsletter Email should be pre-populated
And the original article should remain associated with the new App Alert
And the new App Alert should not be sent automatically

Scenario: Offer Copy to Newsletter Email after sending an App Alert
Given an App Alert has been successfully sent
When the send confirmation page is displayed
Then a "Copy to newsletter email" action should be available
And the existing "Create a new app alert" action should remain available

Scenario: Copy a sent App Alert to a Newsletter Email
Given an App Alert has been successfully sent
And the send confirmation page is displayed
When the user selects "Copy to newsletter email"
Then the Create Newsletter Email page should be displayed
And compatible information from the sent App Alert should be pre-populated
And the original article should remain associated with the new Newsletter Email
And the new Newsletter Email should not be sent automatically

Scenario: Preserve shared notification information
Given the user copies a sent notification to the other channel
When the destination creation form is displayed
Then shared article information should be pre-populated
And compatible audience or edition information should be pre-populated where applicable
And compatible content fields should be populated where a valid mapping exists

Scenario: Warn the user to review copied content
Given a sent notification has been copied to the other channel
When the destination creation form is displayed
Then a feedback message should be shown at the top of the form
And the message should explain that content and field requirements differ between Newsletter Emails and App Alerts
And the user should be prompted to review the copied content before sending

Scenario: Do not assume channel-specific fields are equivalent
Given a notification is copied to the other channel
When the destination creation form is populated
Then channel-specific fields should follow the rules of the destination channel
And the user should be able to review or amend those fields before sending
And the copied notification should satisfy the destination channel validation before it can be sent

Scenario: Apply destination-channel character limits and validation
Given content has been copied from one notification channel to another
When the destination creation form is displayed
Then the destination channel character guidance should apply
And the destination channel validation rules should apply
And copied content should remain editable

Scenario: Copying does not modify the original sent notification
Given a sent notification has been copied to the other channel
When the user edits the new notification
Then the original sent notification should remain unchanged
And its sent record should remain unchanged

```

## Checklist
**Add cross-channel actions to the send confirmation pages**
- [ ] Add Copy to app alert after a successful Newsletter Email send.
- [ ] Add Copy to newsletter email after a successful App Alert send.

**Pre-populate the destination workflow**
- [ ] Preserve the selected Guardian article.
- [ ] Carry across shared/compatible notification information.
- [ ] Apply the destination channel's field rules rather than treating all fields as equivalent.

**Add the copied-content feedback message**
- [ ] Display the review message at the top of the destination form.
- [ ] Explain that character limits, audiences/editions and channel-specific fields such as Kicker and Alert type may differ.
- [ ] Prompt the author to review the content before sending.

**Apply destination-channel behaviour**
- [ ] Use the appropriate Newsletter Email or App Alert validation.
- [ ] Keep copied fields editable.
- [ ] Require the author to explicitly send the new notification.

**Protect the original send**
- [ ] Do not alter the original sent notification

## Out of scope
- Automatically converting every channel-specific field where no agreed equivalent exists.
- Showing the copied-content feedback message when creating from Latest published content;

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the send confirmation pages and trace the existing actions for creating a new Newsletter Email or App Alert. Follow those flows to the Create App Alert and Create Newsletter Email forms, then inspect their validation and field rules. Done means each channel can copy compatible information, show the review warning, keep the new notification editable and unsent, and leave the original unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.