GithubHelp home page GithubHelp logo

tubbz-alt / email-alert-frontend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alphagov/email-alert-frontend

0.0 1.0 0.0 1.86 MB

Serves email alert signup pages on GOV.UK

Home Page: https://docs.publishing.service.gov.uk/apps/email-alert-frontend.html

License: MIT License

Ruby 77.63% HTML 17.51% Shell 0.25% JavaScript 2.88% Dockerfile 0.27% SCSS 1.46%

email-alert-frontend's Introduction

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

email-alert-frontend's People

Contributors

1pretz1 avatar alex-ju avatar andysellick avatar barrucadu avatar benjamineskola avatar benthorner avatar bevanloon avatar bilbof avatar cbaines avatar cdccollins avatar chao-xian avatar chrisbashton avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar elliotcm avatar emmabeynon avatar gpeng avatar injms avatar issyl0 avatar karlchillmaid avatar kevindew avatar koetsier avatar murilodalri avatar rubenarakelyan avatar sihugh avatar thomasleese avatar tijmenb avatar tommyp avatar tuzz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.