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

[Search][DLS] UX improvements #193945

Merged
merged 19 commits into from
Oct 4, 2024
Merged

Conversation

JoseLuisGJ
Copy link
Contributor

@JoseLuisGJ JoseLuisGJ commented Sep 25, 2024

Summary

This PR add several changes ir order to bring more consistency and better UX managing Content Indices and Access Control Indices:

  • The AccessControlIndexSelector will have always a min-width to display without line breaks the content for better reading
  • Remove Browse documents title in Documents section and Sync rules.
  • Same gutter and space for each tab section content using a more condensed design
  • Index Mappings tabbed name section has been renamed simple Mappings
  • The Overview table sync now is managed by the same <AccessControlIndexSelector/> as it is in Documents and Mappings sections
  • The <AccessControlIndexSelector/> componen now can be more cusomized, passing custom title and description, error status, fullWidth and some more.
  • The search_index.tsx file for rendering indices was fixed to use same spacing and tabs size

CleanShot 2024-09-24 at 15 41 47

Checklist

Delete any items that are not applicable to this PR.

Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release.

When forming the risk matrix, consider some of the following examples and how they may potentially impact the change:

Risk Probability Severity Mitigation/Notes
Multiple Spaces—unexpected behavior in non-default Kibana Space. Low High Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces.
Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. High Low Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure.
Code should gracefully handle cases when feature X or plugin Y are disabled. Medium High Unit tests will verify that any feature flag or plugin combination still results in our service operational.
See more potential risk examples

For maintainers

@JoseLuisGJ JoseLuisGJ self-assigned this Sep 25, 2024
Copy link
Member

@efegurkan efegurkan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good in general.

There are a few changes needed before merging.

@JoseLuisGJ JoseLuisGJ marked this pull request as ready for review September 27, 2024 10:05
@JoseLuisGJ JoseLuisGJ requested review from a team as code owners September 27, 2024 10:05
defaultMessage: 'Browse document level security syncs',
}
),
error: errorOnAccessSync ? true : false,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NitPick- non blocking: errorOnAccessSync and errorOContentSync should be enough. Ternary operator ( something ? return1 : return2;) is not necessary

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. Already fixed.

Copy link
Member

@efegurkan efegurkan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, one small nitpick

@efegurkan efegurkan added v9.0.0 Team:EnterpriseSearch release_note:skip Skip the PR/issue when compiling release notes labels Sep 27, 2024
@efegurkan efegurkan added the backport:version Backport to applied version labels label Sep 27, 2024
Copy link
Contributor

@mdefazio mdefazio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job on this and cleaning up some UI things.

I think we will want to revisit the mappings page layout so the dropdown doesn't sit above the rest of the other options. But I know that might be a bigger change than it seems.

My other question is around the copy here:

CleanShot 2024-09-27 at 09 32 46@2x

CleanShot 2024-09-27 at 09 33 08@2x

Do we want to always say Access control? Or Document level security?

I also think the description is a little vague. Is this dropdown simply targeting either the content index or the DLS index in all the various tabs? I wonder if we can then be more explicit in the description or title with this.

For example:

Overview:
Content syncs: Browse recent syncs with the content index
Access control syncs: Browse recent syncs with the document level security index

Documents:
Content index: Browse documents from the content index
Access control index: Browse documents from the document level security index

Let me know if you've discussed this already or if you think these are not blockers and I'll approve so we can move forward.

Nice work on getting more PRs in!!

@JoseLuisGJ
Copy link
Contributor Author

Good point @mdefazio. I'm curious what @leemthompo thinks about this.
cc: @danajuratoni @seanstory @jedrazb

@seanstory
Copy link
Member

Do we want to always say Access control? Or Document level security?

"Access Control" is the type of sync, and "Access Control Lists" are the output of one of those syncs.

These are used for the Document-Level Security feature.

My suggestion would be:

Overview:
Content syncs: Browse content sync history
Access control syncs: Browse access control sync history

Documents:
Content index: Browse documents ingested by your content syncs
Access control index: Browse access control lists ingested by your access control syncs 

I'm not sure I'd mention DLS/Document Level Security in any it.

@leemthompo
Copy link
Contributor

leemthompo commented Oct 1, 2024

Big ++ to @seanstory's suggestions.

If we wanted to link access control syncs to DLS maybe a tooltip would be a lightweight way of doing so? :)

@JoseLuisGJ
Copy link
Contributor Author

This is how it looks like this tooltip suggested by @leemthompo
CleanShot 2024-10-01 at 13 36 24@2x

Copy link
Contributor

@mdefazio mdefazio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making the updates!

Copy link
Contributor

@daveyholler daveyholler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for jumping on this, Jose!

@danajuratoni
Copy link

Big ++ to @seanstory's suggestions.

If we wanted to link access control syncs to DLS maybe a tooltip would be a lightweight way of doing so? :)

Personally I find tooltips make an already complex page (with drop-down, table, etc ) even busier, but that's just my 2 🪙
I also like Sean's suggestions, with one simplification. We can remove "your" from the descriptions on the Documents view, and make them aligned with the Overview descriptions.

Documents:
Content index: Browse documents ingested by your content syncs
Access control index: Browse access control lists ingested by your access control syncs

@leemthompo
Copy link
Contributor

Agree with @danajuratoni's copy edits and I also think the tooltip might be a little clunky in this spot now that I see the preview.

@JoseLuisGJ
Copy link
Contributor Author

For the tooltip after checking how it feels. I guess we should use the question mark pattern as we do with the underlying table, this feels less intrusive rather than triggering the tooltip on hovering hover the Select component:

CleanShot 2024-10-02 at 14 22 53@2x

@efegurkan
Copy link
Member

@elasticmachine merge upstream

@kibana-ci
Copy link
Collaborator

💛 Build succeeded, but was flaky

Failed CI Steps

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
enterpriseSearch 2.6MB 2.6MB +1.1KB
serverlessSearch 331.4KB 331.3KB -183.0B
total +962.0B

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

cc @JoseLuisGJ

@JoseLuisGJ JoseLuisGJ merged commit 4e65fd2 into elastic:main Oct 4, 2024
24 checks passed
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 8.x

https://github.com/elastic/kibana/actions/runs/11181274990

kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Oct 4, 2024
## Summary

This PR add several changes ir order to bring more consistency and
better UX managing _Content Indices_ and _Access Control Indices_:
- The `AccessControlIndexSelector ` will have always a `min-width` to
display without line breaks the content for better reading
- Remove ~~_Browse documents_~~ title in Documents section and ~~_Sync
rules_~~.
- Same gutter and space for each tab section content using a more
condensed design
- _~~Index~~ Mappings_ tabbed name section has been renamed simple
_Mappings_
- The Overview table sync now is managed by the same
`<AccessControlIndexSelector/>` as it is in _Documents_ and _Mappings_
sections
- The `<AccessControlIndexSelector/>` componen now can be more
cusomized, passing custom title and description, error status,
_fullWidth_ and some more.
- The `search_index.tsx` file for rendering indices was fixed to use
same spacing and tabs size

![CleanShot 2024-09-24 at 15 41
47](https://github.com/user-attachments/assets/02bf764d-672a-4b7b-b861-23d98502b912)

---------

Co-authored-by: Elastic Machine <[email protected]>
(cherry picked from commit 4e65fd2)
@kibanamachine
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
8.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Oct 4, 2024
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Search][DLS] UX improvements
(#193945)](#193945)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"José Luis
González","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-10-04T13:57:04Z","message":"[Search][DLS]
UX improvements (#193945)\n\n## Summary\r\n\r\nThis PR add several
changes ir order to bring more consistency and\r\nbetter UX managing
_Content Indices_ and _Access Control Indices_:\r\n- The
`AccessControlIndexSelector ` will have always a `min-width`
to\r\ndisplay without line breaks the content for better reading\r\n-
Remove ~~_Browse documents_~~ title in Documents section and
~~_Sync\r\nrules_~~.\r\n- Same gutter and space for each tab section
content using a more\r\ncondensed design\r\n- _~~Index~~ Mappings_
tabbed name section has been renamed simple\r\n_Mappings_\r\n- The
Overview table sync now is managed by the
same\r\n`<AccessControlIndexSelector/>` as it is in _Documents_ and
_Mappings_\r\nsections\r\n- The `<AccessControlIndexSelector/>` componen
now can be more\r\ncusomized, passing custom title and description,
error status,\r\n_fullWidth_ and some more.\r\n- The `search_index.tsx`
file for rendering indices was fixed to use\r\nsame spacing and tabs
size\r\n\r\n![CleanShot 2024-09-24 at 15
41\r\n47](https://github.com/user-attachments/assets/02bf764d-672a-4b7b-b861-23d98502b912)\r\n\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<[email protected]>","sha":"4e65fd2ece8e8211705db6d613a7c7ce59608e76","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:EnterpriseSearch","v8.16.0","backport:version"],"title":"[Search][DLS]
UX
improvements","number":193945,"url":"https://github.com/elastic/kibana/pull/193945","mergeCommit":{"message":"[Search][DLS]
UX improvements (#193945)\n\n## Summary\r\n\r\nThis PR add several
changes ir order to bring more consistency and\r\nbetter UX managing
_Content Indices_ and _Access Control Indices_:\r\n- The
`AccessControlIndexSelector ` will have always a `min-width`
to\r\ndisplay without line breaks the content for better reading\r\n-
Remove ~~_Browse documents_~~ title in Documents section and
~~_Sync\r\nrules_~~.\r\n- Same gutter and space for each tab section
content using a more\r\ncondensed design\r\n- _~~Index~~ Mappings_
tabbed name section has been renamed simple\r\n_Mappings_\r\n- The
Overview table sync now is managed by the
same\r\n`<AccessControlIndexSelector/>` as it is in _Documents_ and
_Mappings_\r\nsections\r\n- The `<AccessControlIndexSelector/>` componen
now can be more\r\ncusomized, passing custom title and description,
error status,\r\n_fullWidth_ and some more.\r\n- The `search_index.tsx`
file for rendering indices was fixed to use\r\nsame spacing and tabs
size\r\n\r\n![CleanShot 2024-09-24 at 15
41\r\n47](https://github.com/user-attachments/assets/02bf764d-672a-4b7b-b861-23d98502b912)\r\n\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<[email protected]>","sha":"4e65fd2ece8e8211705db6d613a7c7ce59608e76"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/193945","number":193945,"mergeCommit":{"message":"[Search][DLS]
UX improvements (#193945)\n\n## Summary\r\n\r\nThis PR add several
changes ir order to bring more consistency and\r\nbetter UX managing
_Content Indices_ and _Access Control Indices_:\r\n- The
`AccessControlIndexSelector ` will have always a `min-width`
to\r\ndisplay without line breaks the content for better reading\r\n-
Remove ~~_Browse documents_~~ title in Documents section and
~~_Sync\r\nrules_~~.\r\n- Same gutter and space for each tab section
content using a more\r\ncondensed design\r\n- _~~Index~~ Mappings_
tabbed name section has been renamed simple\r\n_Mappings_\r\n- The
Overview table sync now is managed by the
same\r\n`<AccessControlIndexSelector/>` as it is in _Documents_ and
_Mappings_\r\nsections\r\n- The `<AccessControlIndexSelector/>` componen
now can be more\r\ncusomized, passing custom title and description,
error status,\r\n_fullWidth_ and some more.\r\n- The `search_index.tsx`
file for rendering indices was fixed to use\r\nsame spacing and tabs
size\r\n\r\n![CleanShot 2024-09-24 at 15
41\r\n47](https://github.com/user-attachments/assets/02bf764d-672a-4b7b-b861-23d98502b912)\r\n\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<[email protected]>","sha":"4e65fd2ece8e8211705db6d613a7c7ce59608e76"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: José Luis González <[email protected]>
tiansivive pushed a commit to tiansivive/kibana that referenced this pull request Oct 7, 2024
## Summary

This PR add several changes ir order to bring more consistency and
better UX managing _Content Indices_ and _Access Control Indices_:
- The `AccessControlIndexSelector ` will have always a `min-width` to
display without line breaks the content for better reading
- Remove ~~_Browse documents_~~ title in Documents section and ~~_Sync
rules_~~.
- Same gutter and space for each tab section content using a more
condensed design
- _~~Index~~ Mappings_ tabbed name section has been renamed simple
_Mappings_
- The Overview table sync now is managed by the same
`<AccessControlIndexSelector/>` as it is in _Documents_ and _Mappings_
sections
- The `<AccessControlIndexSelector/>` componen now can be more
cusomized, passing custom title and description, error status,
_fullWidth_ and some more.
- The `search_index.tsx` file for rendering indices was fixed to use
same spacing and tabs size

![CleanShot 2024-09-24 at 15 41
47](https://github.com/user-attachments/assets/02bf764d-672a-4b7b-b861-23d98502b912)


---------

Co-authored-by: Elastic Machine <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:version Backport to applied version labels release_note:skip Skip the PR/issue when compiling release notes Team:EnterpriseSearch v8.16.0 v9.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants