On Mar 17, 2016, at 11:27 PM, Aditya Divekar wrote:
Suppose you have a user with two linked addresses, one of which is the preferred address. Only the preferred address has a display name, and the user does not. Now in the scenario where the other linked address(not the preferred one) is subscribed to a mailing list without providing a display name, it would be natural to check if the user has a display name, and use that if it exists. But the user too does not have a display name in this case. In such a case should we perform a further check and try to use the preferred address's display name if it exists or simply use an empty string instead?
In the opinion I gave, in case we are not supplied with a display name, we should check the user display name followed by the preferred address display name, and use them in the specified order respectively. If none exist, empty string would be used.
In a more general scenario, as pointed out by Barry to question this method, suppose a user has multiple linked addresses, only one of which has a display name, and its neither the preferred address, nor the subscribed address. Should the display name search algorithm find that one too, since it still is a linked address for the user and hence contains valid user information?
One other comment. In the more general case I outlined (i.e. your last paragraph), *if* we decide to use display_names in other linked addresses, we can only use ones that are associated with validated addresses. A user's preferred address will always be validated.
The other thing about the more general case is that there's no natural ordering. So yes, we could use the preferred address first, and then pick an arbitrary ordering criteria for falling back to all linked, validated addresses. That could be alphabetical by email address, or chronological by validation or registration date.
Cheers, -Barry