Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
app
 
 
bin
 
 
 
 
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Email alert frontend

A frontend for creating and managing email subscriptions.

Overview

Signup

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.

Manage

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.

Nomenclature

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

Licence

MIT License

You can’t perform that action at this time.