Multiple Email addresses
A pull request for this has already been merged.
- #27379 by @Pytal — merged
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
Allow users to set multiple email addresses, and select one as primary address. Confirmation via link is required. Additional addresses are being considered in e.g. share dialogues.
-
\OC(P)\Accounts\ components are extended to support multi-value properties in general and emails in particular https://github.com/nextcloud/server/pull/27189
-
\OCA\Settings\Controller\UsersController methods are discontinued in favor of User Provisining API. Currently they exist in parallel. The User Provisioning API has to be extended accordingly https://github.com/nextcloud/server/pull/27474
-
\OCA\DAV\CardDAV\Converter::createCardFromUser has to be extended to support additional multiple values
-
Mail verification has to be implemented (following the password reset, same mechanisms) – part of https://github.com/nextcloud/server/pull/28422
-
coniguration option for setting notification mails and UI controls – https://github.com/nextcloud/server/pull/28422 and https://github.com/nextcloud/server/pull/28840
-
Email uniquness cannot be guaranteed through DB structure (for they are not unique and would potentially break setups). It is ensured when creating and verifying additional email addresses.
- don' insert an email when one is already known (not safe of race conditions)
- when an email is confirmed, ensure that the same pending addresses are removed (handling a potential race condition)
- And when an email is introduced by the user backend:
- if the additional address state is…
- not verified: → remove it
- verified:
- same user: remove additional i.e. remove duplicate
- different user: write to audit log (this is then something only the admin can resolve)
- don' insert an email when one is already known (not safe of race conditions)
-
occ commands for adding and removing mails; and making one primary
-
Frontend email section in Vue with Integration https://github.com/nextcloud/server/pull/27379
-
Preserve order and scope of additional emails
- When updating an additional email address the order is not preserved
- Scope is also not preserved for the updated email
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.