hypothesis / product-backlog

Where new feature ideas and current bugs for the Hypothesis product live
118 stars 7 forks source link

Spike: Remove email required constraint from DB #683

Closed lyzadanger closed 6 years ago

lyzadanger commented 6 years ago

For https://github.com/hypothesis/product-backlog/issues/597, we know that we cannot rely on trusted email address information in LTI data. As such, we need to find a way to establish third-party accounts for LMS users that don't have usable email addresses.

Ideally, we'd be able to remove the email non-nullable constraint from the database, while leaving it required at other levels of the application for now.

However, we need to cap this exercise. If it turns out to be heinously complex or not feasible, we'll want to find a fake-email-like workaround if we must.

This is done when:

seanh commented 6 years ago

I'm still investigating and will flesh this out in more detail later. But based on a first pass, the list of tasks for making user emails optional should be something like:

Various things should be tested after the changes, including:

lyzadanger commented 6 years ago

I consider this piece of work—remove the requirement from the DB layer—done and shipped. I'm creating new issues for the interface level edge-condition cleanup:

Fix issues with the form for changing your email address, when the user has no email address: https://github.com/hypothesis/product-backlog/issues/705

Deal with "Email me when someone replies..." setting: https://github.com/hypothesis/product-backlog/issues/706