TenantAtlas/specs/015-policy-picker-ux/spec.md
Ahmed Darrazi 5f1f3b0bfd feat: improve backup policy picker UX
- Replace Add Policies picker with a modal table (filters + multi-select + select-all filtered)

- Add has-versions filter and external id short display

- Group row actions and add bulk remove for backup items

- Add/adjust tests for picker and bulk remove
2026-01-02 14:58:10 +01:00

38 lines
2.1 KiB
Markdown

# Feature Specification: Policy Picker UX (015)
**Feature Branch**: `015-policy-picker-ux`
**Created**: 2026-01-02
**Status**: Draft
## User Scenarios & Testing
### User Story 1 — Disambiguate duplicate policy names (Priority: P1)
As an admin, I want policy options in the “Add Policies” picker to be clearly distinguishable, so I can confidently select the correct policy even when multiple policies share the same display name.
**Acceptance Scenarios**
1. Given multiple policies with the same display name, when I open the “Add Policies” picker, then each option shows additional identifiers (type, platform, short external id).
2. Given a policy option, when I search in the picker, then results remain searchable by display name.
### User Story 2 — Add policies efficiently (Priority: P1)
As an admin, I want to browse and select policies in a table with filters and multi-select, so I can add the right set of policies without repetitive searching.
**Acceptance Scenarios**
1. When I open the “Add Policies” picker, then I see a table with policy rows and selectable checkboxes.
2. When I filter by policy type / platform / last synced / ignored / has versions, then only matching policies are shown.
3. When I click “select all”, then only the currently filtered results are selected.
## Requirements
### Functional Requirements
- **FR-001**: The “Add Policies” picker MUST be presented as a table inside the modal.
- **FR-002**: Each policy row MUST show: display name, policy type, platform, and a short external id.
- **FR-003**: The picker MUST support multi-select.
- **FR-004**: The picker MUST provide filtering for: policy type, platform, last synced, ignored, and has versions.
- **FR-005**: The picker MUST support “select all” for the currently filtered results (not all policies in the tenant).
## Success Criteria
- **SC-001**: In tenants with duplicate policy names, admins can identify the correct policy from the picker without trial-and-error.
- **SC-002**: Admins can add large sets of policies efficiently using filters + multi-select.