Store manual email user options in db entities instead of cookies

Description

Improvements:

  • should save all user preference to db instead of cookies

  • should save Template and Email Importance as well

Support for Cookies will be deprecated. Settings from existing cookies are restored, but new options are saved only to the User Preferences entity.

Backup/Restore: restore is not supported.

GDPR: user preferences will be deleted if owner is anonymized, otherwise recipients are removed.

Environment

None

Preliminary Test Cases

  • Prerequisites:

  • create or have two JIRA application users USER_A and USER_B

  • configure SMTP

  • configure global settings: enable user options

  • configure some manual email defaults for a project, which differs from the global configuration (e.g. add recipients, override flags)

  • Test cases:
    1. Test overrides:

  • create user-sepcific mail address list, which has:

  • new items with respect to the manual e-mail defaults

  • empty input fields (removed all items) => actually, this is not possible due to UI validation (at least one field must be populated with at least one item)

  • unchanged input fields

  • Try the following combinations:

  • add the same item to a different field and remove from the original field (e.g. migrate a recipient from TO to CC field type)

  • remove a user from all fields (remove from the current mail address list)

  • remove all occurrences of a user (from all fields from all referred mail address lists - i.e. from the user preferences of each user)

  • add external recipients and internal users, as well (especially using the legacy screen)

  • compare user preferences of USER_A and USER_B (if they are handled separately)

  • Loading user preferences on both screens (chekc if transition and mapping works correctly):

  • Save preferences on new screen:

  • reload them using the new screen => check if each item loaded into the same entry fields

  • reload them by switching to the legacy screen => check if all items are loaded into the respective fields (Jira user picker + other user picker)

  • Save preferences on the legacy screen:

  • reload them using the old screen => check if each item loaded into the same entry fields

  • reload them by switching to the new screen => check if all items are loaded into the appropriate universal picker fields

  • Cookie migration:

  • for new user (without any saved setting, no cookie):

  • check if cookie won't be saved

  • for a previously configured user (with saved cookie)_

  • check if cookie does not persist after migration (deleted)

  • check if user options have been migrated (preserved) correctly (mapping)
    2. User options disabled => init with global (bulk) / init with manual email defaults (manual for issue)
    3. Test bulk email behavior

  • Reset feature (removing user options): Basically, this has two parts: mail address list & mail options (e.g. what if the user wants to user the mail address list from the manual email defaults, but wants to preserve the mail options at the same time?) => The resetting of the individual parts is not supported at the moment, the reset action clears all settings, except for the screen preference (legacy/new).

Assignee

Patrick Bakos

Reporter

Tibor Hegyi

Labels

Access to limited visibility issues

None

Product platform

None

Module Dependency

User Anonymisation (GDPR)
Backup/Restore

Ready for Development

None

Time tracking

20h

Feature Testing Estimate

1

Components

Sprint

None

Fix versions

Priority

Major
Configure