responsible-ai-collaborative / aiid

The AI Incident Database seeks to identify, define, and catalog artificial intelligence incidents.
https://incidentdatabase.ai
Other
168 stars 35 forks source link

Email Notifications #855

Closed smcgregor closed 1 year ago

smcgregor commented 2 years ago

The first step towards making the database more wiki-like in its composition of incidents is to make it subscribeable by email. It is also something that can help increase traffic to the website and drive the development of the incident analysis community.

User stories we will open issues around include,

  1. [ ] "I want to register for an account on the AIID so I can subscribe to things"
  2. [ ] "I want to sign up to email notifications for new incidents so I can track what is happening in the world"
  3. [ ] "I want to sign up for email notifications of changes to specific incidents so I can track when there are new developments"

Meeting these user stories will require,

  1. Improving and unhiding the user account forms
  2. Confirming the roles and permissions of users are applied properly across the site
  3. Adding the ability for the site to send notification emails
  4. Adding subscribe/unsubscribe buttons to the citation page and the landing page

See Initiative #845

CC @pdcp1 for picking this up from next week.

pdcp1 commented 2 years ago

@smcgregor I think the first step is to add a sign-up form, so new users can create Realm user accounts. My idea is to allow users to create a new account using:

Let me know if that sounds good to you or if you want to include another auth source or exclude one of the above.

smcgregor commented 2 years ago

I am good with adding non email/password auth sources only so long as the identity ultimately rests on email and we maintain the ability to send the accounts emails. Otherwise, I think we can stick with email and password. I think much of the auth functionality (at least for the email/password strategy) is in decent shape, but it is all hidden menu stuff that only a small number of people are given direct links to.

pdcp1 commented 2 years ago

@smcgregor Do you have a preferred or sponsor email delivery tool like Sendgrid, Mailchimp, Mandrill, etc.? If not, I can analyze quickly which one offers a free tier or Open Source tier that fits with the requirements of this issue.

smcgregor commented 2 years ago

I do not, we are flexible here.

On Tue, Aug 23, 2022, 6:02 PM Pablo Costa @.***> wrote:

@smcgregor https://github.com/smcgregor Do you have a preferred or sponsor email delivery tool like Sendgrid, Mailchimp, Mandrill, etc.? If not, I can analyze quickly which one offers a free tier or Open Source tier that fits with the requirements of this issue.

— Reply to this email directly, view it on GitHub https://github.com/responsible-ai-collaborative/aiid/issues/855#issuecomment-1225044548, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAP2DGQGDCX7FHZPHIZOYLV2VYCLANCNFSM54TT54FQ . You are receiving this because you were mentioned.Message ID: @.***>

smcgregor commented 2 years ago

Received this:

Let's verify your single sender so you can start sending email.
[notifications@incidentdatabase.ai](mailto:notifications@incidentdatabase.ai)

Your link is active for 48 hours. After that, you will need to resend the verification email.

Should I verify?

pdcp1 commented 2 years ago

@smcgregor Actually, I put a random email as a sender for now. We should decide which email sender we want to use. Does notifications@incidentdatabase.ai sound good to you?

smcgregor commented 2 years ago

Sounds good to me, we may switch it to no-reply@ in the future, but I like having a real email at the start so people can reply if something goes wrong.

pdcp1 commented 2 years ago

@smcgregor Got it! You should receive a new email to verify notifications@incidentdatabase.ai, please verify that email address and let me know.

smcgregor commented 2 years ago

I clicked the link but it presented me with a sendgrid login page. Should I login?

pdcp1 commented 2 years ago

@smcgregor send me the verification link so I can click it. Sounds like the Sendgrid account creator has to click and verify.

smcgregor commented 2 years ago

Done.

pdcp1 commented 2 years ago

@smcgregor We need to define a Sendgrid tier to use. I'm currently using the free tier but it only allows us to send 100 emails/month. I think we are good with the cheapest one, the Essentials tier (50K emails/month) https://sendgrid.com/pricing/ Let me know how you want to proceed.

smcgregor commented 2 years ago

Let's sign up for the essentials account and subsequently, contact them for a discount:

Do You Offer Assistance or Discounts for Early-Stage Startups or Non-Profit Organizations?
Yes, we do! Eligible startups can apply to join our Accelerate program. You'll receive valuable insight from our experienced mentors as well as special pricing on email solutions. Documented non-profit organizations (501c3) and social enterprises can also contact us to receive a 25% discount on email solutions after sign up.

Get started: [Contact Sales](https://sendgrid.com/contact-us-form/)

Please let me know what I need to do on my end!

pdcp1 commented 2 years ago

@smcgregor I just send you an invite to the Sendgrid account. Once you accept it, please go to the Billing section: https://app.sendgrid.com/account/billing and add a payment method. After that, let me know so I can continue with the plan change to Essentials. Thanks!

smcgregor commented 2 years ago

@pdcp1 Done.

pdcp1 commented 2 years ago

@smcgregor In addition to that, we need to authenticate the incidentdatabase.ai domain on Sendgrid. Which Domain Name Server (DNS) host do you use? I will need help from you or the person with access to the DNS to add some records

smcgregor commented 2 years ago

We use Netlify's DNS. You can DM me the records you would like added.

pdcp1 commented 2 years ago

@smcgregor Oh got it. Instructions to add the DNS records were sent to you by email.

smcgregor commented 2 years ago

@pdcp1 Will do, likely after lunch.

pdcp1 commented 2 years ago

@smcgregor The domain verification works as expected! I upgraded the plan to Essentials. Thanks!

pdcp1 commented 2 years ago

@smcgregor I contacted SendGrid support team to apply for the non-profit company discount. They answer:

You'll want to reach out to our specialists by filling out the contact form here: https://www.twilio.com/solutions/nonprofit This team will reach out to you through the email provided on that form for our nonprofit program.

I just filled out that form and I'm waiting for an answer. I will keep you posted.

pdcp1 commented 2 years ago

@smcgregor I have an answer from Sendgrid support. It looks like the 25% discount only applies to Premium subscriptions, not Essentials subscriptions 👎 So, we can continue with the Essentials plan (50K emails per month) and, if we need more capacity, upgrade to Premium/Pro.

This is the answer from Sendgrid support.

Hello,

Thanks for reaching out to SendGrid support. My name is George and I'm more than happy to assist you with this inconvenience.

Unfortunately we do not provide discounts for the Essential subscription package although if needed, we can provide a one time 25% discount if you will upgrade the account to a Premium subscription. The upgrade will also come with a dedicated ip which you can manage, also you will have full control over the reputation of your domain/ip without being affected by other users bad sending habits.

If considering this route it will be important to warm up your IP. Below. is documentation explaining that. 

Warming Up an IP Address[ https://sendgrid.com/docs/ui/sending-email/warming-up-an-ip-address/](https://sendgrid.com/docs/ui/sending-email/warming-up-an-ip-address/)
Email Guide for IP Warm Up[ https://sendgrid.com/resource/email-guide-ip-warm-up/](https://sendgrid.com/resource/email-guide-ip-warm-up/)
What Is and What Isn’t an IP Warm Up?[ https://sendgrid.com/blog/what-is-and-what-isnt-an-ip-warm-up/](https://sendgrid.com/blog/what-is-and-what-isnt-an-ip-warm-up/)
How to Warm Up an IP Address[ https://sendgrid.com/blog/how-to-warm-up-an-ip-address-how-much-and-when/](https://sendgrid.com/blog/how-to-warm-up-an-ip-address-how-much-and-when/)
Shared and Dedicated IPs: Which Should You Choose?[ https://sendgrid.com/blog/shared-and-dedicated-ips-which-should-you-choose/](https://sendgrid.com/blog/shared-and-dedicated-ips-which-should-you-choose/)

Feel free to reach back out to us and we’d be happy to help!

Best regards,
George C. | Technical support Engineer Twilio-Sendgrid
pdcp1 commented 1 year ago

@smcgregor It looks like this epic is live on Production a while ago. So I think we can close this.

smcgregor commented 1 year ago

Sounds good. Closing.