First and foremost, existing users notification preference should not change. However it's possible for them to switch to the new defaults.
User preferences
After a lot of back and forth the best trade-off we identified is to have an option, at user preference level, to disable the legacy behavior "As soon as I touch an artifact, I'll be notified". It's more or less the same approach we already took with the the existing preference "Receive emails for actions I do on the platform".
The following mock-up is an example on how user preferences could be reworked (final mock-up needed).
![2717-image-20240724152832-2.png](/plugins/tracker/attachments/2717-image-20240724152832-2.png)
The proposal is to reword "Receive emails for actions I do on the platform" into "Receive email when you are the author of a change" and to introduce "Receive email for all updates after you made a change on an artifact (comment, change values, ...)".
For the later, the goal is disable notifications that comes form being an author of a changeset on an artifact. When a notification should be sent, the list of recipients is built in RecipientsManager with the following strategy :
- Get all fields that can trigger a notification (eg. a "CC field": an open list field bound to users that can notify, an "Assigned to": a select box field bound to user or group that can notify, etc)
- Get all "Commentors", that is to say all users that made a change on artifact. Either comment or field change
- Get all people configured in global notification (receive all updates, receive updates on status change, etc)
By unchecking "Receive email for all updates after you made a change on an artifact (comment, change values, ...)", Tuleap will skip the user from the list of people gathered at step 2 only. If the user is in the notification list at step 1 or 3, they will receive the email anyway.
Tracker preferences
Tracker references should be slightly updated to better reflect the user preferences. The reference screen is
![2719-image-20240724155829-4.png](/plugins/tracker/attachments/2719-image-20240724155829-4.png)
For "Notify me on all updates of artifacts I'm involved (assigned, submitter, cc, comment)" it should be adapted depending on the user preferences:
- "Receive email when you are the author of a change" ✅ & "Receive email for all updates after you made a change on an artifact" ✅
- Notify me on all update of artifacts I touch (assignee, submitter, cc, commentator, change of value, ...)
- "Receive email when you are the author of a change" ✅ & "Receive email for all updates after you made a change on an artifact" ❌
- Notify me on all updates I do on artifacts but not when other users further change artifact, unless I'm creator or assignee. <= that makes very little sense
- "Receive email when you are the author of a change" ❌ & "Receive email for all updates after you made a change on an artifact" ✅
- Notify me when other users change an artifact I touched (assignee, submitter, cc, commentator, change of value, ...)
- "Receive email when you are the author of a change" ❌ & "Receive email for all updates after you made a change on an artifact" ❌
- Notify me when other users change artifacts I created or I'm assigned to (and all fields that can trigger notifications)
This notification page should also have a info about the user preferences that affects the behavior. Maybe an helper like "User preferences can change what notifications you will receive" with a link toward user preferences.