Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup notifications for events from task manager #124

Open
snazare opened this issue Aug 6, 2024 · 1 comment · May be fixed by #145 or #175
Open

Setup notifications for events from task manager #124

snazare opened this issue Aug 6, 2024 · 1 comment · May be fixed by #145 or #175
Assignees

Comments

@snazare
Copy link

snazare commented Aug 6, 2024

Please setup notifications (in platform and email) for the following events in the Task Manager (Pro) application:

  • status change
  • due date change
  • project assignment
  • priority update
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Oct 11, 2024
* Added notifications when fields `assignee`, `project`, `duedate`, `status`, `priority` change
* [WIP] Debugging statements all around
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Oct 22, 2024
* [WIP]
* Added proper formatting for duedate using the format specified in datemacro.config
* Refactoring
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 5, 2024
* Added notification when creating an event with the assignee field set
* Updated comments
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 5, 2024
* Fixed task side panel display when no due date is set
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 7, 2024
* Changed event icon to be consistent with the AWM panel icon
* Removed skip checkstyle
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 8, 2024
* Moved unrelated change to its own PR
* Listener now listens to XObjectUpdatedEvent
* Removed unused field targetedUsers
* Refactoring
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 8, 2024
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 8, 2024
* Current and previous objects were mistakenly swapped
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 8, 2024
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 11, 2024
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 12, 2024
* Formatting, refactoring
* Renamed localizationParameter field to eventInfo
* Used document version archive to get the previous version
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 19, 2024
* Moved some date logic to velocity so it's all together (the display is a little broken for now)
* Chenged the way the previous document version is obtained
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 19, 2024
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 19, 2024
* Notification now displays the title of the task instead of the title of the parent document
@KebabRonin
Copy link

KebabRonin commented Nov 28, 2024

Who should receive notifications

  • Users should be able to receive notifications for a task they are not assigned to.
  • Similarly, users should be able to ignore updates for a task they are assigned to.
  • Users should stop receiving notifications when they are unassigned.
  • Received notifications should use the 'watch page' feature in XWiki, respecting any other notification filters the user might have, like ignoring self or system events).
  • NOTE - Users will not receive notifications for tasks they are already assigned to before upgrading to this version of TaskManager. This is so the upgrade process doesn't take too long if there are many tasks (would need to scan through all of them to determine who receives what).
    • If there is demand, we can publish a script which enables notifications for older tasks, to be run by admins if they want.

Notification messages

  • There should be one notification for each modified field.
  • The Notifications are only sent when the following properties are changed:
    • assignee (can be unset) | Different messages for current user assigned/unassigned or nobody assigned.
    • due date (can be unset) | Different messages if the new due date is later or earlier than the previous one.
    • project
    • status
    • priority
  • The Notifications should contain the previous value of the changed field where possible.

Subscribing to a task

  • The user must enable the TaskManager event notifications from the User Administration page.
    • TaskManager events are all part of only one 'category', as opposed to multiple like the pages app (where users can receive notifications only for page updated, deleted, created instead of getting all notifications).
  • The user must also watch the pages of the tasks they wish to receive.
    • Watching the entire TaskManager space will implicitly watch all pages, and thus send notifications for all tasks, even where the user is not assigned.
    • The TaskManager space is watched by default for all users (can be disabled if the Admin adds a Custom Filter to ignore task events on TaskManager space-> all new users will not get task notifications).
    • To stop receiving notifications for some tasks in a common space, a user can unwatch the space the tasks are in.
  • Users will automatically watch tasks when they are assigned.
    • Users can unwatch the page if they don't want notifications for that task.
      • When they are assigned again, the task will be added as watched again.
    • When a user is unassigned, they automatically unwatch the page.
  • Task macros in a page:
    • If the page is non-terminal, then the tasks are children of the page. Unwatching the page with children will disable notifications for those tasks (the page can still be watched without children to get notifications for the page, without notifications for the tasks)
    • If the page is terminal this doesn't work, and the user must unwatch the 'Tasks' sibling page. If there are multiple terminal pages with task macros in a space then all tasks will belong to that space. If a user wants to unwatch just one page, they will have to unwatch each task manually.

KebabRonin added a commit to KebabRonin/application-task that referenced this issue Nov 28, 2024
* Auto (un)watch pages
* Refactoring, Formatting
* Added more fields for the converted events, to more closely mimic the original implementation
@oanalavinia oanalavinia linked a pull request Dec 2, 2024 that will close this issue
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Dec 4, 2024
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Dec 6, 2024
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Dec 9, 2024
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Dec 16, 2024
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Jan 13, 2025
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Jan 20, 2025
* Changed date picker setter
* Fixed email tests
@snazare snazare moved this to In Progress in Pro Apps Roadmap Feb-March 2025 Feb 4, 2025
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Feb 4, 2025
* Fixed email notification display
* Fixed NPE
* Refactoring
* Changed date display to be more in line with other notifications
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Feb 5, 2025
@KebabRonin KebabRonin linked a pull request Feb 5, 2025 that will close this issue
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Feb 24, 2025
KebabRonin added a commit to KebabRonin/application-task that referenced this issue Feb 26, 2025
* Fix duplicating watched page filters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment