POC - Cascading settings from workspace to groups, subgroups and sub-projects
Determine a technical approach for : &4419
As a way to prove this out, I'd like to use delayed project deletion as a test case. More details here.
The desired behavior would be that a default value for this setting can be determined and then changed for all groups in an instance at once. This POC would implement this setting but should be extendable so that it could be used for any setting at the group level.
- An instance administrator can define a workspace setting and push to all groups.
- A group maintainer+ can define a setting and push to all sub-groups and projects.
- When a new group does not have a defined setting, it will use the value of the direct ancestor group (immediate parent), or the workspace setting if it is a top level group already
- The workspace or direct ancestor group can toggle another setting that prevents subgroups from overriding the setting.
- If overrides are not prevented, then group administrators can toggle the setting.
Availability & Testing
What risks does this change pose to our availability?
Since we are focusing on only delayed project deletion in this POC, the change is low risk to availability.
What additional test coverage or changes to tests will be needed?
- When project's parent group has a different value set for delayed project deletion than the grand parent group and prevent override is
false
:- Test that a newly created project takes the value from the parent group.
- Test that an existing project takes the value from the parent group.
- Set prevent override to
true
on the grand parent group and ensure that the project now has the value from the grand parent group.
Repeat the above steps with by replacing the grand parent group setting with instance level setting and parent group setting with a top level group setting.