Migrate project config to global config. Remove option to create Project-level configs

Description

All configuration should be stored on global level. First, we have to migrate project config to global level following these rules:

Migrate to global level if different from default.
If global level already exists for project. Merge it.
If global level already exists for project but it is related with many projects. Extract it to new global config. Merge it.

Ideas how to do that:

  1. Liquibase migration - it would be best to perform it as a single SQL migration runned immediately when new app version is started. However, due to convoluted nature of operations that need to be performed, this may be hard to achieve.
  2. If the former is not possible, we will need a code that will handle both new and old configuration + migration job. After running the migration job, we can safely remove parts of the code refering to the old config.

Finally, we should remove button to create Project level config. In both cases we should do this as soon as possible.

Linked issues

is blocked by
Issue Type Icon ESFJ-780 Add “Default shared fields (shared issue)”, “Default filter columns (shared filter)” to global config Priority: Medium
Released

Activity

Automation for Jira 19 February 2024, 13:19

Hello @Mariusz Szymański,

Please merge code to dev branch.
This is the best moment to add more information that can be helpful to prepare release notes.

  • Can you prepare short overview of change that can be used in release notes?
  • Please provide short GIF that showcase feature.
  • If GIF make no sense, can you provide image that highlights feature that can be used in release notes (cropped & annotated)?
Mariusz Szymański 19 February 2024, 09:26

@Parsa Shiva I don’t know why, but there was some older (pre-migration) code version deployed on QA… So, not the issue with my code.

Parsa Shiva 17 February 2024, 15:43

@Mariusz Szymański Following issue occurs - QA environment.

The project configuration is still available regardless of migration.

Mariusz Szymański 14 February 2024, 16:28

@Parsa Shiva As we checked, this functionality works fine; however, global default config and default project config are not created equal. The difference here are smart checklist and issue checklist fields that are less restrictive on default global config level (set to true by default). I assume we can’t risk accidentaly turning this on on shares, so it should stay as is. If the configs are in fact equal, the migration will be skipped.

Parsa Shiva 14 February 2024, 15:57

@Mariusz Szymański Currently we need to address the scenario when a project has identical configuration with the default global configuration. In which case no new configuration with association of that project should be created. It should fall under the default global configuration.

Parsa Shiva 10 February 2024, 13:20

@Mariusz Szymański Ready for QA environment push.

The setup is ready for the next and last test. 🤞
Global and project configs are double checked and recorded by screenshots.
We should be able to finalise it.

Parsa Shiva 2 February 2024, 16:05

@Mariusz Szymański Please push to QA, projects set for migration test.

Parsa Shiva 1 February 2024, 17:54

Possible combinations

Scenario count p1 p2 g Result
1 Default Default Default Default
2 Custom A* Default Default Custom A + Default
3 Custom B Default Custom B (1:1) Default + Custom B
4 Custom C* Default Default + Custom (p1+p2) Custom C* + Default
5 Custom D* Custom E* Default + Custom (p1+p2) Custom D* + Custom E* + Default
Automation for Jira 31 January 2024, 09:45

Hello @Mariusz Szymański ]

This is the best moment to add more information that can be helpful for tester.

  • What areas are affected?
  • What are potential edge cases?
  • Was it checked for XSS problems?
  • Does change affect security, is new data exposed?

Please attach - Before / After screenshot if possible.

Krzysztof Bogdan 23 January 2024, 13:58

@Mariusz Szymański I will assign you here because this task have no PR

Mariusz Szymański 19 January 2024, 14:02

This is done together with

Automation for Jira 19 January 2024, 14:00

Hello @Krzysztof Bogdan,
Task is ready for review.

@Mariusz Szymański please make sure reviewer
have easy access to contend to be reviewed.

If this is code change. Please make sure PR is created.
If this is new documentation, blogpost, etc. Please provide link to page.