Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Security Solution][DQD] Add New UI For List View + Latest Flyout (Phase 1) #185881

Closed
Tracked by #184158
kapral18 opened this issue Jun 10, 2024 · 3 comments
Closed
Tracked by #184158
Assignees
Labels
8.16 candidate Feature:Data Health Quality Data health quality dashboard and related features Team:Threat Hunting:Explore Team:Threat Hunting Security Solution Threat Hunting Team

Comments

@kapral18
Copy link
Contributor

kapral18 commented Jun 10, 2024

This is a ticket for actual implementation of first 2 UIs from new DQD Historical Checks Story #184158.

Acceptance criteria:

Fully functional UI overhaul for List View
image

Fully functional new ui for checking the latest check in a Flyout.
image

P.S.
The reason for implementing these 2 UIs together is so that we can release these changes standalone as a replacement of current existing DQD functionality and ship the historical tab separately.

@elasticmachine
Copy link
Contributor

Pinging @elastic/security-threat-hunting (Team:Threat Hunting)

@elasticmachine
Copy link
Contributor

Pinging @elastic/security-threat-hunting-explore (Team:Threat Hunting:Explore)

@kapral18
Copy link
Contributor Author

kapral18 commented Aug 12, 2024

blocked by elastic/security-docs#5701

kapral18 added a commit that referenced this issue Aug 21, 2024
…88468)

addresses #185881

## Data Quality Dashboard UI Overhaul (Phase 1)

This PR introduces UI changes to the Data Quality Dashboard, focusing on
improving user experience and improving on existing data quality check
process.

## Notable changes:

- Update List View UI
- Move in-row check expansion into a Flyout
- Remove summary tab from index check 
- Update index check UI
- Add table action to trigger manual individual index check without
opening index check properties
- Add in-flyout button to trigger manual individual check
- Add additional index stats panel within flyout

## Notable technical changes:

- remove prop drilling of new and existing omnipresent props by unifying
them in a series of context providers at the top of DQ dashboard
- introduce TestDataQualityProviders separate from external
TestProviders (renamed to TestExternalProviders) in tests. Change
affected tests.
- introduce `useIndicesCheck` hook to unify logic of index checking to
be able to call index checking from anywhere within DQD code without
relying on flaky and complicated useEffect driven logic of state
updates.
- introduce `useIsMounted`, hook to resolve issues with react state
update leaks
- introduce throttled `useCurrentWindowWidth` to handle custom index
flyout sizing for different screens.
- cleanup and refactor whatever is directly related or affected by
aforementioned code/test changes (including traces of removal of summary
tab)
- add extensive behavioral unit tests

# UI Changes (Before / After)

## List View Layout made more spacious

![image](https://github.com/user-attachments/assets/8cc25285-9a7b-45d9-82f2-55bb7ad4680b)

## Check All Layout made more spacious

![image](https://github.com/user-attachments/assets/c254cfa9-92cf-4971-9737-9c85e253696e)

## Total Stats Rollup converted to badges

![image](https://github.com/user-attachments/assets/68831c84-274d-40d8-b9fa-813e169e8f1e)

## ILM Phase Filter repositioned

![image](https://github.com/user-attachments/assets/85227737-1217-48b9-82b9-dc2d6a24e58c)

## Pattern Title Section

- Rearranged into accordion trigger button. Initially open by default.
- IlmPhase badges and Pattern title are now  stacked horizontally.
- Index check result emoji converted to 'Pass' | 'Fail' badge
- Pattern stats text rearranged as badged text. Incompatible fields show
as red badges (when present), the rest - hollow.


![image](https://github.com/user-attachments/assets/ca3c6e3e-a7ed-4a49-a7a6-9ea4842ac2de)

## Latest Pattern Indices Check Table

- Added a new actions column with 2 actions (from left to right): 
- View details (replaces row expander functionality (and icon) and
instead opens the index check results in a flyout)
- Check now **(NEW)** (adds ability to inline check the index without
opening it.)
- Index check result emoji turned to 'Pass' | 'Fail' badge
- `IlmPhase`, `Size`, `Last Check` columns width is shrunk to give more
space for index name


![image](https://github.com/user-attachments/assets/d9c83d9b-de3a-4153-9ed7-a9823e62f67d)

## Flyout Header

- Added index name with result check badge as title
- Added last check time as subtitle
- Added Tabs section for Latest Check and History **(REMOVED in latest
revision)**


![image](https://github.com/user-attachments/assets/b66617de-2b59-44d5-908b-3fabb3f7087e)

## Flyout Stats Panel

- Added new index stats panel


![image](https://github.com/user-attachments/assets/f21974f5-72b5-4a38-90de-f2ff5b9d1fd0)

## Index Check Fields Tab

- Tabs converted to a button group
- Summary Tab is **REMOVED**
- All field count badges have hollow color, except for red color for
`incompatible fields` tab (when count > 0) and `ecs compliant fields`
tab (when `@timestamp` is missing)


![image](https://github.com/user-attachments/assets/e78218d4-237f-4ad1-95f3-0eb4d57356fa)

## Index Check Fields Callouts

- Callout header is removed (to avoid duplication with active tab name)
- Actions are converted into sticky footer (shows when scrolled sticky
to bottom, otherwise renders after the table)
- Same for every index check fields tab


![image](https://github.com/user-attachments/assets/d8a192e8-cdfd-4691-b862-91abdedcb9b8)

## Compare Table List Values

- List values in compare tables are now horizontally stacked instead of
vertical to save space (applies to all compare tables in each index
check fields tab)


![image](https://github.com/user-attachments/assets/7ef3341d-1be9-41e7-a789-15262fac6de6)

## Compare Table Columns

- `ECS description` field width increased at the expense of `field`
field, to make room for more readable description (applies respectively
to all compare tables within index check fields tabs)


![image](https://github.com/user-attachments/assets/b45235a9-cf3d-4b6d-b65a-eaadc577cf2f)

## Flyout footer

- Add `Check now` button, that checks currently open index again and
updates the results in place.


![image](https://github.com/user-attachments/assets/02b9a63d-6c0c-4eff-aeb6-452ae78f28ea)
@kapral18 kapral18 added the Feature:Data Health Quality Data health quality dashboard and related features label Oct 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.16 candidate Feature:Data Health Quality Data health quality dashboard and related features Team:Threat Hunting:Explore Team:Threat Hunting Security Solution Threat Hunting Team
Projects
None yet
Development

No branches or pull requests

2 participants