Flyspray - The bug killer!

  • Status Planned   Reopened
  • Percent Complete
    20%
  • Task Type Feature Request
  • Category Backend/Core
  • Assigned To
    Yunzhong He
  • Operating System All
  • Severity Low
  • Priority Very Low
  • Reported Version 0.9.9.7
  • Due in Version 1.1 devel
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Flyspray - The bug killer!
Opened by Jordan Mendler - 17.01.2013
Last edited by peterdd - 10.12.2015

FS#1812 - Multiple email addresses

An account should be able to have multiple email addresses associated with it. For example, my primary email might be jordan@thevelozgroup.com, but I should also be able to log in via jordanmendler@gmail.com or other addresses I add.

The task blocks this from closing
ID Project Summary Priority Severity Assigned To Progress
1819 Flyspray - The bug killer! FS#1819 - Communicate via email Very Low Low
0%
Project Manager
peterdd commented on 25.11.2015 10:51

Reopened and set to only 20%, because:

  • currently only used for create user, not edit user.
  • currently the primary email of {users} is just copied to user_emails, so it is currently 2 times stored.
  • id-field of the table {user_email} is the user_id referencing table {users}, so it should be named like this. It is not a real table id, a user account can have multiple emails,oauths,jabbers..
  • Having this feature enabled, it adds more complexity that must be considered:
  1. Notifications: should Flyspray send notifications to every email (when NOTIFY_EMAIL or NOTIFY_BOTH is set currently) of that user account or only to the main email account? Possible configuration options - like one email that receives all notifications, and another email that receives only the most important or a daily summary)
  2. Are the email addresses unique or can several user accounts have the same email?
  3. The same problems for jabber, oauth, ...
  • The UI for managing multiple emails, multiple jabber, multiple oauth must be planned(!) and written
  • Should we store one adress (email,jabber,oauth) or together in a user_email entry:
user_idemail_addressjabber_idoauth_uidoauth_provider
3user3@example.comuser3xmpp@example.com12345github
3user3second@example.com12345facebook

or

user_idemail_addressjabber_idoauth_uidoauth_provider
3user3@example.com
3 user3xmpp@example.com
3 12345github
3 12345facebook
3user3second@example.com

Or should we do a complete table change with type(email,jabber,oauth, ..) field:
table user_address:

user_idaddress_typeaddressadress_provideraddress_statusnotificationsnotification_sending
3emailu3@example.comNULL1(enabled)ALLimmediatly(id0)
3emailu3s@example.comNULL1TASK_CLOSE, TASK_EDITdaily summary(id)
3xmpp(jabber)u3x@example.comNULL1ALL0
3oauth12345github1 (enabled) NULLNULL
3oauth12345facebook0 (disabled) NULLNULL
3sms+49 555555NULL1TASK_NEW0
3webserviceclubmate-wodkabarmixingrobot1TASK_CLOSE0
3whatsapp, other proprietary080012345NULL0ALL0
  1. Permissions and edit/delete handling.

Unique index: [address_type,address,address_provider] (working also with NULL or empty string?)
or merge address and adress_provider..

Project Manager
peterdd commented on 07.12.2015 13:11

The more I think about it we should consider something like the third option, an new table

'user_address' (or 'users_addresses')

For FS1.2 maybe.

This removes current limitations and makes adding additional address types and notification channels easy. And the current table user_emails isn't really used. (only when people registering, but no usage later)

Project Manager
peterdd commented on 30.12.2015 14:21

TODO: Each additional given Email address must be also validated in the same way like the primary email address to avoid abuse of email addresses.

E.g. send a link with token to this email that the receiver must click to validate the additional email with a user account in flyspray.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing