Support flexible rollout strategy in the UX
What does this MR do?
Related to #36380 (closed)
Provides the frontend implementation following on from the API implementation.
Screenshots
Included in this MR are UX tweaks to fix the wonky alignment noticed by @jagood.
Overview of changes:
- Descriptions have been moved to below the main content for each form group. This is the intended location for form group descriptions. See https://gitlab-org.gitlab.io/gitlab-ui/?path=/story/base-form-form-group--default for more details.
- A small callout was added to "Percent of users" to consider using "Percent rollout" instead. This could perhaps be a deprecation warning instead. I wasn't sure here and it would be good to get some UX guidance on this change.
- Default percentage values "100" has been added. Before it would appear blank before being set.
- "Based on" defaults to "Default".
- In the all description copy I uniformly use sentences that do not end with a period.
- When "User List" strategy has a warning, show the warning. Otherwise show the description note. Don't show both.
Strategy | Before | After |
---|---|---|
All users | ||
Percent of users | ||
Percent rollout | New feature added in this MR | |
User IDs | ||
User List (Error) | ||
User List (Note) |
There are also some new badges that will be shown in the feature flag list:
Note: For the following screenshots, pretend that the "id" is "ID". I made that change but I haven't gone back and re-captured all these screenshots.
Based on | Badge |
---|---|
Available ID | |
User ID | |
Session ID | |
Random |
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers - [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
- [-] Label as security and @ mention
@gitlab-com/gl-security/appsec
- [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
- [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by Amy Troschinetz