Configure notifications in group/project tree UI
### Problem - Currently, when you want to configure email notifications for a group or a project, you can: - Go to the actual group page or project page, and there will be a dropdown there to choose. This is pretty good because you are in context. But the downside is you can't see the settings of other projects or groups. - So alternatively, you can go to your own profile settings to see a list of all groups and projects in which you can configure notifications, i.e. https://gitlab.com/profile/notifications. - This is a poor experience because you have to dig deep into the settings. And it actually doesn't list all projects that you can change the notification settings on. For some cases, you still have to go back to the first choice. - Furthermore, it is poor product design since that settings UI is replicating all the entire groups and projects of GitLab that you engage in for the specific purpose of notifications. There should be a more DRY design approach. ### Proposal - Retain the current ability to configure notifications on the group and project pages, i.e. on: - https://gitlab.com/gitlab-org - https://gitlab.com/gitlab-org/gitlab-ce - Remove the UI of notification settings in the personal settings. (Keep notification email, global notification level, and the checkbox of receiving your own activity). - Add the ability to configure notifications in the group nesting tree views and the project list i.e.: - The tree view here: https://gitlab.com/gitlab-org - The tree views here: https://gitlab.com/dashboard/groups - The list views here: https://gitlab.com/dashboard/projects It would be in the list item, something like: ![configure-notifications](/uploads/a8d1aef59889b34d1c11153381ac8468/configure-notifications.png) - The benefit is that you can see your notifications in context with your other similar/neighboring groups and projects. - In the future, we would likely want to support additional nesting of notification settings and more powerful customization. For example, a project or a group can choose to inherit the nesting of a notification setting of one of it's parents. With the existing tree view, that makes that design possible. - In the further off future, if we want to pursue combined notifications and todos, that UI may be able to integrated here as well. (See https://gitlab.com/gitlab-org/gitlab-ce/issues/48787.) ![settings](/uploads/7b64c12b9b9ab0d5b3ccae6e04437fc8/settings.png)
issue