TenantAtlas/specs/015-policy-picker-ux/spec.md
ahmido 76e10fc404 015-policy-picker-ux (#21)
Replaces the “Add Policies” picker with a modal table (search, pagination, multi-select).
Adds filters: policy type, platform, last synced, ignored, has versions; “Select all” applies to the current filtered results.
Improves identifiers shown (short external id), and fixes has-versions filtering behavior.
Backup set items table: groups row actions (View policy / Remove) into an action group.
Adds bulk action to remove multiple backup items at once.
Updates/adds tests covering the picker table bulk add and backup items bulk remove.

Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local>
Reviewed-on: #21
2026-01-02 13:59:15 +00:00

2.1 KiB

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.