Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/mailing list #47

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from
Open

Feature/mailing list #47

wants to merge 10 commits into from

Conversation

benlellouch
Copy link
Collaborator

No description provided.

@behradkoohy behradkoohy linked an issue Jun 23, 2020 that may be closed by this pull request
2 tasks
Copy link
Collaborator

@davidswarbrick davidswarbrick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks so much for implementing this! Would be good to add a few comments explaining the SSL setup before merging, and perhaps address a concern about the changes to existing fields on the results template. I've left a couple of comments but otherwise it all looks great, thank you! Are you on the discord server / are the mailchimp login details stored somewhere?

app.py Show resolved Hide resolved
<a class="btn btn-danger btn-email mb-1" onclick="copy_compose('gmail', {{loop.index}}, '{{e.target['email']}}', '{{e.mailto_subject}}')" role="button">Open in Gmail</a>
<a class="btn btn-primary btn-email mb-1" onclick="copy_compose('outlook', {{loop.index}}, '{{e.target['email']}}', '{{e.mailto_subject}}')" role="button">Open in Outlook</a>
<a class="btn btn-info btn-email mb-1" onclick="copy_compose('yahoo', {{loop.index}}, '{{e.target['email']}}', '{{e.mailto_subject}}')"role="button">Open in Yahoo Mail</a>
<a class="btn btn-danger btn-email mb-1" data-toggle="modal" data-target="#newsletterModal" onclick="copy_compose('gmail', {{loop.index}}, '{{e.target['email']}}', '{{e.mailto_subject}}')" role="button">Open in Gmail</a>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are the data-toggle and data-target fields necessary to be added on the buttons to send a template with a specific email provider?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the data-toggle and data-target trigger the modal pop up to display, I could make so that there is a listener for these buttons instead but that seems to add unnecessary js code.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for clarifying on that, agree it's preferable to a listener, however I was questioning what the effect will be - is it so that when someone clicks "Open in Gmail" they get a popup asking them to subscribe to the mailing list? Because that doesn't seem ideal and wouldn't capture people on mobile (for whom these buttons don't show, but make up a large chunk of the users).

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rafeeJ since you've tried it out perhaps you could address this concern? otherwise very happy to approve it for staging

app.py Show resolved Hide resolved
templates/results.html Show resolved Hide resolved
@behradkoohy
Copy link
Collaborator

@davidswarbrick I think Rafee set up a MailChimp on the gmail, the keys needed for it are stored in config vars in Heroku (which we need to update when we move this to prod)

@rafeeJ
Copy link
Collaborator

rafeeJ commented Jun 23, 2020

I’ll try this PR tomorrow so we can merge it ASAP

@rafeeJ
Copy link
Collaborator

rafeeJ commented Jun 23, 2020

Ok I just tried it out and I absolutely love the modal.

However, for the modal body, I think it should read:
Consider subscribing to our newsletter to receive updates about new templates and upcoming features

I only really want to use this mailing list for updating people when a new template comes out, but maybe we could stretch to new features. Not sure. @davidswarbrick what do you think?

@davidswarbrick
Copy link
Collaborator

In general - does adding a mailing list necessitate some inclusion of a GDPR statement (regarding email storage)? probably worth filing a bug request for it as it'll certainly be useful for moderation/admin page email storage.

@rafeeJ
Copy link
Collaborator

rafeeJ commented Jun 23, 2020

@behradkoohy Did you manage to access the mailchimp account to get API keys? Or do you need to generate some?

I tried to sign up and it didn't seem to add me to any mailing lists.

@benlellouch
Copy link
Collaborator Author

@rafeeJ You have been added to the mailchimp database, there is no email notification set up yet.

@benlellouch
Copy link
Collaborator Author

I can set up an automated campaign which welcomes new users, I'll have a look at that tomorrow.

@behradkoohy
Copy link
Collaborator

@davidswarbrick (I'll comment this on the issue that Rafee created as well)
https://www.litmus.com/blog/5-things-you-must-know-about-email-consent-under-gdpr/

By the sounds of it, we need to have a way of tracking consent and when it is given and we need to have a way of unsubscribing. The former is something we can track when the server receives the call from the modal that @benlellouch has implemented. The latter is slightly more difficult, I'm thinking we should have a writeforchange.uk/unsubscribe where the user can enter their email address and we remove them from the consent collection?

@benlellouch
Copy link
Collaborator Author

I guess the tracking of consent could be done through mailchimp (if he is subscribed then he has given consent, we could probably add some type of form in the modal explicitly saying that if you subscribe to our list you are explicity giving us consent to store you email address). There three ways of "unsubscribing" someone in mailchimp:

  • you can unsub them meaning that they are still part of the audience but won't receive anything
  • you can archive them which a soft delete from the audience but you can re-add them later
    -finally you can permanently delete a contact which renders you unable to add them back to the audience

So the way we could do it is that our website only archives people when they ask to unsubscribe and if they want their data to be completely removed, they could drop us an email ( we could probably make an email template for that haha).

@benlellouch
Copy link
Collaborator Author

Actually there is an option to completely remove someone from the audience through the api. So we could have two different forms explaining what each one does.

@benlellouch
Copy link
Collaborator Author

Added ability for user to unsub from newsletter and to perm delete his profile (GDPR stuff). I have noticed my casing is very inconsistent, I will fix that and make a few other tweaks.

@benlellouch
Copy link
Collaborator Author

The messages on the modal need to be revised/more informative

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement mailing list signup
4 participants