Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Email alert frontend

A frontend for creating and managing email subscriptions.



This app provides three routes for signing up to email:

  • A /email-signup?link=/:base_path route [example].

This route supports signup to several types of content. It was originally specific to the taxonomy (despite the generic name), and then got re-purposed for other document types.

  • A legacy /:base_path/email-signup route [example].

Each of these routes corresponds to a content item with an email_alert_signup schema. At the time of writing, /foreign-travel-advice/* still uses this route.

  • A /email/subscriptions/new route [example].

This route enables any other application to offer a fully customised email signup experience that is not reliant on the content store.

It is used by apps like finder-frontend, where a new subscriber list is created from the combination of selected filters.

Double Opt-In

In order to verify the email for a new subscription:

* Note that the token strategy has changed over time.


This allows the user to list, modify and delete their subscriptions [login]. It uses a similar, but separate email/token process to authenticate a user, establishing a session for them to make their changes.


Tags and links

Uniquely define a list people can subscribe to. The criteria within are used to figure out whether an update is relevant subscribers in the list. Defined in the docs for email-alert-api.

tags: { topics: { any: ["business-tax/vat"] } }
links: { topics: { any: ["1ddaaacb-0981-4abc-a532-a5111f2bea6b"] } }

Legacy tags and links (yay)

These terms are also used by the legacy email_alert_signup schema. Note that the flat lists of base paths or Content IDs are interpreted as "any" in the above definition.

"tags": { "countries": ["foreign-travel-advice/canada"] }
"links": { "countries": ["f402b8de-2e99-4ff3-949f-31fe65796cae"] }

Running the test suite

$ bundle exec rake


MIT License

You can’t perform that action at this time.