neon-jungle / wagtail-birdsong

Create, send, preview, edit and test email campaigns from within Wagtail
BSD 3-Clause "New" or "Revised" License
103 stars 27 forks source link

Feature: Double opt-in #40

Open unicode-it opened 1 year ago

unicode-it commented 1 year ago

!! Warning !! By enabling this feature without garantueeing that field is_confirmed is True of the old contacts, the ones who are older than a week will be deleted when campaign saving is triggered!

This PR extends Birdsong by a double opt-in feature necessary in the EU according to it's GPDR. The idea is:

Therefore the model was extended by user creation date, confirmation date and confirmation. The deletion of unconfirmed contacts older than a week is triggered by a signal, whenever the save method of campaign is called. Additionally, Birdsong settings were added to the admin menu settings. There the double opt-in feature can be enabled and the content of the confirmation e-mail can be set.

Furthermore, redirect pages can be specified in those settings. Redirect after

david-smejkal commented 1 year ago

Just a heads up. Some of the code in this feature clashes with functionality proposed in #36

Let's work together and make these two features compatible to make reviewing easier for @seb-b

unicode-it commented 1 year ago

@david-smejkal Thank you for your suggestions!

@seb-b Before we go any further it would be useful for us to know if you are interested in the feature? Please let us know.

seb-b commented 8 months ago

Apologies for the delay.

The idea of double opt-in makes sense but this does suffer from a bit of the same problems as #36. I think we could cut a lot of the features in this PR and it'd be mergeable.

As a general rule of thumb this project is intended for dealing with campaigns and contacts only. We're not really interested in adding features that would be added to a website (e.g. subscribe forms/views/blocks), that should be entirely left up to the implementer since the contact model can be customised and we don't want to make any assumptions about how the site has been developed (e.g. which template engine/styling used/is it headless?). There are bits of this PR that do make sense though like a confirmation url since that will be embedded in the emails, the birdsong settings section and the default contact model changes.