CMS · Push notification list & publishing

Lists push notifications with subject, segment, frequency, date window, status and delivery stats (active app users, sent, opened), with publish, duplicate, detail, edit and delete actions.

AreaCMS
Routescms.push-notifications · cms.push-notifications.index · cms.push-notifications.show
Centre modulescms
Staff levelsroot · admin · manager · crmmanager · weboperator · content_creator
Modelspush-firebase-config · push-notification
UI labeltitle.header.push-notifications / menu.navbar.push-notification.index
Coverage4 use cases · 2 happy · 4 failure

How it works

Four statuses (draft, scheduled, active, archived). Duplication has a dedicated temporal guard: a push scheduled in the past cannot be duplicated (cms.push-notification-duplicated-startdate-after-now-error), because the copy would otherwise be born invalid. Duplicates are named with the cms.push-notification.copy-of prefix. The list also surfaces the filters a push targeted, so it is auditable after the fact.

Use cases

Why someone opens this (4)

  • Checking how many app users a push reached and how many opened it.
  • Re-sending a successful notification by duplicating and rescheduling it.
  • Publishing a prepared draft at the right moment.
  • Auditing which audience a past notification went to.

Path map

flowchart LR
    F(["Push notification list and publishing"]):::feat
    F --> H1["Draft published"]:::ok
    F --> H2["Notification duplicated and rescheduled"]:::ok
    F -.-> X1["Duplicating a past notification"]:::bad
    F -.-> X2["Duplication fails"]:::bad
    F -.-> X3["Invalid record"]:::bad
    F -.-> X4["Action not permitted"]:::bad
    classDef feat fill:#6a4a8f,stroke:#6a4a8f,color:#ffffff,font-weight:bold
    classDef ok fill:#e3f1ea,stroke:#0d6b42,color:#0d4a2e
    classDef bad fill:#f7e6e2,stroke:#9a2d1c,color:#6e1f13

Happy paths

Draft published

  1. User opens the list and clicks publish on a draft.
  2. The notification moves to scheduled/active and begins delivering at its start datetime.
  3. Sent and opened counts populate on the list.

Notification duplicated and rescheduled

  1. User duplicates a notification whose start date is still in the future.
  2. A copy is created with the copy-of prefix.
  3. The user adjusts the date and publishes it.

Failure paths

QA checklist

Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.

  • ✅ Draft published
  • ✅ Notification duplicated and rescheduled
  • ⛔ Duplicating a past notification
  • ⛔ Duplication fails
  • ⛔ Invalid record
  • ⛔ Action not permitted

Implementation


Generated from doc/feature-inventory.json · id cms-push-notification-list · commit 276788ca6