guardian / guardian/notifications-tooling
US-45 — Copy a sent notification to another channel.
- 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