Newsletter Document Flow
Campaign Draft → Scheduled → Sending → Sent / Cancelled, MudMenu Edit/Delete gates, and send-queue statuses.
Newsletter Document Flow
Campaigns use CampaignStatus. The campaigns list has a MudMenu for Edit/Delete (gated by status). Send queue entities exist in the backend; there is no dedicated SendQueue page in EGKitsNewsletter today. Decline Rejection / Decline Cancellation do not apply.
Hub: Target Document Flow. Overview: Newsletter. Contacts: Mail Document Flow.
- Draft
- Scheduled / Sending
- Sent
- Cancelled / Failed
Campaign (`CampaignStatus`)
#Statuses
Draft (0), Scheduled (1), Sending (2), Sent (3), Cancelled (4)
Domain: Schedule(), MarkSending(), MarkSent(), Cancel().
Campaign lifecycle — Draft through Sent
flowchart TB Start((New campaign)) --> Draft[Draft] Draft -->|Schedule send| Scheduled[Scheduled] Draft -->|Send now| Sending[Sending] Scheduled -->|Start send job| Sending Sending -->|Send complete| Sent[Sent] Draft -->|Cancel campaign| Cancelled[Cancelled] Scheduled -->|Cancel campaign| Cancelled class Start egkStart class Draft egkDraft class Scheduled,Sending egkActive class Sent egkSuccess class Cancelled egkTerminal
| Control (UI) | Enabled when | Behavior |
|---|---|---|
| Edit / Delete (MudMenu) | Status < 2 (Draft / Scheduled) |
Disabled when Sending / Sent / Cancelled |
| Send Now | Campaign view; status code < 2 | Starts send pipeline |
CampaignStatusChip maps 0–4 to the labels above.
Queue & related (backend)
| Type | Statuses |
|---|---|
Send queue (SendQueueStatus) |
Pending, Processing, Sent, Failed, Cancelled |
| Outbox item | Pending, Sending, Sent, Failed, Cancelled |
| Subscriber | Pending, Active, Unsubscribed, Bounced, Forgotten |
| Workflow run | Pending, Running, Completed, Failed, Cancelled, Waiting |
| Email log | Queued, Sending, Sent, Delivered, Bounced, Failed |
Send-queue methods include StartProcessing, MarkSent, MarkFailed, Cancel, RequeueNow, DeferUntil — operated by the send pipeline, not a Blazor Actions menu.
#Post-action sync
Campaign lists refresh after schedule/send/cancel. Failed sends mark queue items Failed without inventing Approve/Reject menus.
#Scenarios
| Scenario | Result |
|---|---|
| Schedule draft | → Scheduled |
| Send now while Draft | → Sending then Sent |
| Edit after Sent | Edit/Delete disabled |
| Expect Approve/Reject | Not part of Newsletter |