Tuleap 16 est là ! Assistez à l'événement virtuel le 17 octobre à 10h30. Inscrivez-vous ici !

  •  
     
    story #9892 notify group of people in addition to individuals
Summary
Empty
notify group of people in addition to individuals
  • I don't have to maintain external mailing lists or mail aliases for group notification

Covered notifications:

  • In tracker, "Global notification" defined by tracker administrator
  • In git, "Notification" per repository defined by git administrator
  • In docman, "Notification" per doc/folder defined by docman manager

Excluded:

  • Tracker filed "CC" (open list) as they already managed groups
  • SVN Plugin, need a redesign of notifications, will be covered in a dedicated story
  • SVN Core and CVS: legacy, won't be covered.

Behaviour

Changes:

  • New autocompleter to either pick from users or groups
  • New, consistent, display of notifications as a table
  • Storage of notified items will now favor users or groups over email addresses
    • emails can still be used but we won't convert a username to an email when we add a new notification.
  • On send of emails:
    • Emails are deduplicated (given John is part of Developer group and notified individually, he will receive only one message)
    • Permissions apply for groups as they apply for individual

Technical side

  • Autocompleter based on select2 componenet
  • Ajax route to return users and groups (/!\ LDAP)
  • Backend
    • 2 new tables to store user and groups association
    • Existing notifications are not changed and assumed as "email" notif
  • Display
    • Build table with various notification types + ability to remove
  • On send
    • De-duplicate emails (user, groups, email)
    • Ensure email sending validation & filter applies

Special care should be taken to edge cases:

  • When project are removed
  • When user groups are removed
Empty
Status
Empty
Done
Development
  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
Empty
Details
#9892
Manuel Vacelet (vaceletm)
2017-06-08 11:40
2017-01-24 15:27
4577

References
Referencing story #9892

Git commit

tuleap/tuleap/stable

Git notifications table has FlamingParrot L&F f9fa716b7a
Docman notifications table has FlamingParrot L&F 223a57094d
Refactoring: Extract sending of emails in dedicated object 96f254205f
Refactoring: extract getNotifiedMails in a dedicated object a5d24ab850
Tracker global notifications table has FlamingParrot L&F 2e2ac4cf17
Create table to notify users in git cadab1c69d
Display users to be notified in git 5c461c95bf
User can be removed from notifications in git 77ca72a852
Display users even when there are no email in notification cc8c222315
Create table to notify ugroups in git a162e0b0d9
Display ugroups to be notified in git 97e65894f1
Refactoring: correct coding styles errors on RepositoryPaneNotificationPresenter b2651c1500
User group can be removed from notifications in git 38c2693176
Deal with ugroup deletion 1f5864f7d2
Deal with repository deletion f14f783873
Refactoring: cleaning of mails to be notified in a dedicated object 6ecf70526b
Remove the user if she is not anymore member of private project 8aff87a36b
Remove unneeded label 963a154f4d
Deal with project visibility change df9f1d7dae
Deal with site visibility change ce679c3aa8
Delete Tracker global notifications with a checkbox ac7c434791
Add an empty state for Git notification table ed0246a47c
Add an empty state for Tracker global notification table 5177c250bb
Add users or ugroups to notifications table in git 962d580a65
First step of refactoring of Tracker global notifications 058baef1ee
Refactoring: move RequestFromAutocompleter in core 2c8a22d842
Remove hooks.mailinglist from gitolite conf ff6b2ae02c
Do not process a GIt_REPO_UPDATE if mail prefix does not change. 04dd5d7b07
Refactoring: move autocompleter in core 0d942ee77f
Move getUserGroupDisplayName in a dedicated object 0bdc20c1a6
Refactoring: do not use ForgeUGroup in autocompleter 95d7ed2ae5
Refactoring: do not use ForgeUGroup in git notifications 87c8ed82f3
Refactoring: do not depend on User_ForgeUserGroupFactory 297719dc78
Do not translate project history log 1c2744d557
Refactoring: Remove Dao inheritance 0099318446
Database + send to user ea2b2bd769
Refactoring: remove TODO 1a028bb243
Display user with avatar in notifications 86bbe812f0
Remove user from notifications abbcd4d402
Refactoring: now docman notifications use docman table 5222bf988b
Display group with icon in notifications 4ac6ed2243
Refactoring: extract retrieval of users 3a48511afe
Remove ugroup from notifications 6c1ac3a1e7
Refactoring: move notifications list rendering into mustache ef5252a8d5
Deal with ugroup deletion 31e2b100df
Display user avatar in docman notifications table 2a8a4ee302
Introduce edit mode in tracker notifications aa4ffd63cc
Replace delete checkbox by a delete popover 0e420aeda6
Deal with user removed from private project 2ea576cb8e
Display notified people on one line b15952ac5b
Docman notify user groups 0253ca45f5
Deal with project visibility change 317398254a
Add empty state in docman notifications 3444b467c9
Deal with platform visibility change 0c347aeb5d
No orphan icon or comma in notifications table 1c0c806327
autocomplete v2 cd3a426835
Display group with icon in notifications ef14b15927
Deal with ugroup deletion c17691b647
Edit a notification updates just the clicking notification b0567d07bc
Deal with item deletion 49fd2bf365
Error message when entry is not a user nor an email dad296c16d
Fix alignement issue for users without avatars 19e7cad83f
Deal with user removed from private project 4dd84c12cf
reject invalid entries but accept those that are valid 0b18df257a
Do not let the user edit two notifications at the same time c60c6de5c8
Fix translation 880e227df8
Remove ugroup from notifications 2a4ef9d09f
Deal with project visibility change 718af5e917
Deal with platform visibility change fd50c94830
autocompleter v2 e1342b09e2
Refactoring: rename Dao class 8de1a41740
Add ugroup as project admin when we aren't members is invalid e66a330742
Replace contextual help block by tooltip 1b2bd917b7
Redirect after submitting form 67f685175e
False warning in tracker notifications c2dba72751
Manage feedbacks on tracker notifications ac39ce6902
replace remaining notification manager ->exist() calls 21f1f29dc0

Follow-ups

User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • So that
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes