Content
View differences
Updated by Parimal Satyal over 4 years ago
**As** a user
**I want to** see at least one high-level reason of why notification has been sent
**so that** I can evaluate the importance of a notification.
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/22143/content"></div></figure>
**Acceptance criteria**
* The author is shown as a link with the name (instead of the avatar).
* The reason of the notification is shown in an abbreviated form
* The full list of what to render on every changed is below in the "Update Strings" sections to be provided by <mention class="mention" data-id="72513" data-type="user" data-text="@Parimal Satyal">@Parimal Satyal</mention>
* Preliminary ideas:
* The preview is structured like:
* **Status** changed from New to **Closed** 1 hour ago by [Niels Lindenthal](https://community.openproject.org/www.openproject.org) and 2 other updates.
* For long texts and comments the diff is not shown.
* **Comment** added 1 hour ago by [Niels Lindenthal](https://community.openproject.org/www.openproject.org) and 2 other updates.
* **Description** changed 1 hour ago by [Niels Lindenthal](https://community.openproject.org/www.openproject.org) and 2 other updates.
* **Subject** changed 1 hour ago by [Niels Lindenthal](https://community.openproject.org/www.openproject.org) and 2 other updates.
* The sorting is done, within done by the following priorities:
* Within an aggregated journal entry, entry by the following priority:
* **User is @mentioned in a comment**
**Comment with @mention**
* **Comment without @mention**
* **Assigned to me**
* **Accountable set to me**
* **Removed as assignee**
* **Removed as accountable**
* **Status changed**
* **Priority changed**
* **Version changed**
* **Date changed**
* **Subject changed**
* **Description changed**
* **New comment(s)**
* **Assignee/Accountable changed (but not me)**
* **Files added**
* **Custom fields changed**
* **Parent changed**
* The list of reasons to display is a closed set of events that the user has chosen to be notified about in their user settings. For any work package item in Notification Center, the list of reasons must ignore the reasons from the above priority list that do not interest the user.
* This means a lower-priority reason might actually be displayed instead of a higher priority one, if the user did not choose to be notified of that higher priority event. _Eg. if the user is has enabled notifications for "all date changes" and the work package has since also had a status change, the reason for notification remains the change of date. This is because the list of reasons is limited (for that work package, depending on settings) to the list of subscribed reasons for being notified._
* If the work package is watched, all events are reasons for notification, so the entire list should be considered.
* These settings must take project-level settings into accountl; _eg. a work package in project A might have a different set of reasons for notification as project B._
* If the notification row aggregates multiple notifications, the change highest up in above's priority list is chosen.
* chosen. If two notification changes are tie for the same priority, the youngest one is used.
* used. The notification within the aggregated row from which the change is highlighted determine the user name and timestamp of the notification.
_E.g. E.g. in a notification row that aggregates a version being changed one hour ago by user A and a comment with a mention two hours ago by user B, the change will display a comment with a mention was done two hours ago by user B._ B.
* The importance of journal changes is also applied to the aggreggated list of changes in the activity tab.
_Eg. tab. e.g. "Assigned to" is always rendered before "Parent changed"_
**Update Strings**
_Notes_
* Brevity is prioritised so additional information is only provided where judged critical
* {time} is expressed relatively, as in "3 hours ago"
* {user} is expressed as a link
* The **parts in bold** are meant to really be in bold
* I've not included the "and {n} other updates" in these examples, but they would be present where relevant
* We need to produce a similar list for other languages (what is the localisation process?)
_Strings (in order of priority)_
* _Comment with @mention_
**Mentioned** {time} by {user}
* _Assigned to me_
**Assigned to you** {time} by {user}
* _Accountable set to me_
**Accountable set to you** {time} by {user}
* _Assignee changed (from me to someone else)_
**Removed as assignee** {time} by {user}
* _Accountable changed (from me to someone else)_
**Removed as accountable** {time} by {user}
* _Status changed_
**Status changed from {old status}** {time} by {user}
* _Priority changed_
**Priority changed to {new priority}** {time} by {user}
* _Version changed_
**Version changed** from {old version} to {new version} {time} by {user}
* _Date changed_
**Date changed** to {new date} {time} by {user}
* _Subject changed_
**Subject changed** {time} by {user}
* _Description changed_
**Description changed** {time} by {user}
* _New comment_
**New comment** {time} by {user}
* _Assigned changed (but unrelated to me)_
**Assignee set to {new user}** {time} by {user}
* _Accountable changed (but unrelated to me)_
**Accountable set to {new user}** {time} by {user}
* _Files added_
**New files added** {time} by {user}
* _Custom fields changed_
**{Custom field} updated** {time} by {user}
* _Parent changed_
**Parent changed** {time} by {user} changed"
**Out of scope**
* Change the details in the daily email (_described in <mention class="mention" data-id="38948" data-type="work_package" data-text="#38948">#38948</mention> )_
**I want to** see at least one high-level reason of why notification has been sent
**so that** I can evaluate the importance of a notification.
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/22143/content"></div></figure>
**Acceptance criteria**
* The author is shown as a link with the name (instead of the avatar).
* The reason of the notification is shown in an abbreviated form
* The full list of what to render on every changed is below in the "Update Strings" sections
* Preliminary ideas:
* The preview is structured like:
* **Status** changed from New to **Closed** 1 hour ago by [Niels Lindenthal](https://community.openproject.org/www.openproject.org) and 2 other updates.
* For long texts and comments the diff is not shown.
* **Comment** added 1 hour ago by [Niels Lindenthal](https://community.openproject.org/www.openproject.org) and 2 other updates.
* **Description** changed 1 hour ago by [Niels Lindenthal](https://community.openproject.org/www.openproject.org) and 2 other updates.
* **Subject** changed 1 hour ago by [Niels Lindenthal](https://community.openproject.org/www.openproject.org) and 2 other updates.
* The sorting is done, within
* Within
*
* **Removed as accountable**
* **Status changed**
* **Assignee/Accountable changed (but not me)**
* The list of reasons to display is a closed set of events that the user has chosen to be notified about in their user settings. For any work package item in Notification Center, the list of reasons must ignore the reasons from the above priority list that do not interest the user.
* This means a lower-priority reason might actually be displayed instead of a higher priority one, if the user did not choose to be notified of that higher priority event. _Eg. if the user is has enabled notifications for "all date changes" and the work package has since also had a status change, the reason for notification remains the change of date. This is because the list of reasons is limited (for that work package, depending on settings) to the list of subscribed reasons for being notified._
* If the work package is watched, all events are reasons for notification, so the entire list should be considered.
* These settings must take project-level settings into accountl; _eg. a work package in project A might have a different set of reasons for notification as project B._
* If the notification row aggregates multiple notifications, the change highest up in above's priority list is chosen.
*
*
_E.g.
* The importance of journal changes is also applied to the aggreggated list of changes in the activity tab.
_Eg.
**Update Strings**
_Notes_
* Brevity is prioritised so additional information is only provided where judged critical
* {time} is expressed relatively, as in "3 hours ago"
* {user} is expressed as a link
* The **parts in bold** are meant to really be in bold
* I've not included the "and {n} other updates" in these examples, but they would be present where relevant
* We need to produce a similar list for other languages (what is the localisation process?)
_Strings (in order of priority)_
* _Comment with @mention_
**Mentioned** {time} by {user}
* _Assigned to me_
**Assigned to you** {time} by {user}
* _Accountable set to me_
**Accountable set to you** {time} by {user}
* _Assignee changed (from me to someone else)_
**Removed as assignee** {time} by {user}
* _Accountable changed (from me to someone else)_
**Removed as accountable** {time} by {user}
* _Status changed_
**Status changed from {old status}** {time} by {user}
* _Priority changed_
**Priority changed to {new priority}** {time} by {user}
* _Version changed_
**Version changed** from {old version} to {new version} {time} by {user}
* _Date changed_
**Date changed** to {new date} {time} by {user}
* _Subject changed_
**Subject changed** {time} by {user}
* _Description changed_
**Description changed** {time} by {user}
* _New comment_
**New comment** {time} by {user}
* _Assigned changed (but unrelated to me)_
**Assignee set to {new user}** {time} by {user}
* _Accountable changed (but unrelated to me)_
**Accountable set to {new user}** {time} by {user}
* _Files added_
**New files added** {time} by {user}
* _Custom fields changed_
**{Custom field} updated** {time} by {user}
* _Parent changed_
**Parent changed** {time} by {user}
**Out of scope**
* Change the details in the daily email (_described in <mention class="mention" data-id="38948" data-type="work_package" data-text="#38948">#38948</mention> )_