-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[fleet] Add Integration Preference selector #114432
[fleet] Add Integration Preference selector #114432
Conversation
Pinging @elastic/fleet (Team:Fleet) |
Discussed offline with @clintandrewhall and @joshdover . Before writing the actual filtering logic on the on-change event, should wait on #114429 to merge first, as that one makes changes to how cards/categories are handled client-side. Otherwise, we'd encounter merge conflicts on either end. +1 on UX |
A question around logic came up for this work. I'll describe how I've been thinking about this logic, but will want @mostlyjason and @dborodyansky to confirm before we move forward with it. Elastic Agent (recommended) is selected
Beats is selected
|
@alexfrancoeur Thanks for that table. I'm going to copy and restate it to be perfectly clear: The logic for this change will be to hide cards. The implementation has all possibilities available, and we'll be filtering out some possibilities based on this radio button. With that in mind, here's your table: Elastic Agent (recommended) is selected
Beats is selected
Follow up: is there ever a time when everything is displayed? Should we consider a "display all" option? |
Yes, the logic would be to hide the cards. Based on the radio button, we'll be removing beats or agent cards.
We did explore this option early on but decided against it to avoid duplicative cards. The original purpose of this filter was to provide the user who knows they want beats, with a quick option to only show them. I've updated the table with your language to map the logic I believe we want. @mostlyjason what do you think about the above answers and below logic? Elastic Agent (recommended) is selected
Beats is selected
|
It was a bit late last night when I updated that table, but I think this there is a clarifying point I missed when the Elastic Agent option is selected. Updating the table accordingly. The only real difference between the two is for the Elastic Agent (recommended) is selected
Beats is selected
|
Thanks @alexfrancoeur that table looks good to me! |
After some amazing collaboration and super fast decision making in slack, we have landed on the following logic. There will now be three new filter options to replace the first two.
Each one of these options could benefit from a tooltip. I'm adding some example text to each option below, but could benefit from @gchaps and the teams thoughts and feedback on messaging. Recommended (default) is selectedTooltip
Logic
Elastic Agent only is selectedTooltip
Logic
Beats only is selectedTooltip
Logic
|
Updated design prototype, though I would recommend a slight tweak. Tooltips for Elastic Agent and Beats as stated don't seem to offer any additional information, and we do offer a docs link to explain and compare the shippers already. Also "Filter on..." text seems unnecessary. Proposed design change: |
I'll make these changes right away. |
87d5b6d
to
bbe866d
Compare
bbe866d
to
dbaa8ab
Compare
💚 Build SucceededMetrics [docs]Module Count
Async chunks
History
To update your PR or re-run it, just comment with: |
Tested locally and the filtering functionality matches what we agreed upon above 👍 This doesn't currently persist the preference anywhere, which we can address as a follow up. @alexfrancoeur @mostlyjason do we consider persisting this setting to localStorage as a "must have" for this release? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested functionality on the design side. LGTM. OK skipping persistence given our timing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Functionality and code LGTM
Yeah I think persistence could be a nice to have since users can accomplish their goal to filter with a few extra clicks. I just tested the logic and I noticed that "j. Experimental, has Beats" shows up under the version control and web categories if I select "Elastic Agent only" mode but not under "Recommended" mode. I thought that was odd but not necessarily wrong. We should double check the categories once we've hooked it up to real data. |
💔 Backport failed
To backport manually run: |
Looks like there is an issue with the backport. @clintandrewhall is out. @joshdover or @thomasneirynck do you think this is something one of you could help with? |
@alexfrancoeur @thomasneirynck @joshdover I got the backport. |
discussed offline with @snide . There are a few failing backports from yesterday, that are backing this up. will investigate |
…ide-users-to-saving-ux * 'master' of github.com:elastic/kibana: (133 commits) [DOCS] Indicate reports are a subscription feature (elastic#114653) Update namespace for indices (elastic#114612) [DOCS] Adds Logstash pipeline settings (elastic#114648) Bump EPR snapshot version used for tests (elastic#114529) [Security Solution] [Endpoint] Fleet summary card adjustments (elastic#114291) skip flaky suite (elastic#68400) [Visualizations] fix usage of optional dependencies (elastic#114286) [Security Solution] [Detections] Improves custom query rule upgrade test (elastic#114454) [fleet] Add Integration Preference selector (elastic#114432) [Reporting] Add new `data-render-error` attribute (elastic#114472) Replace EuiCodeEditor with CodeEditor in app-services code (elastic#114316) [data views] add getDefaultDataView method (elastic#113891) [Security Solution] [Endpoint] Event filters uses the new card design (elastic#114126) [fleet] Tweak Header UI (elastic#114704) [APM] Filter on tx metrics for instance stats (elastic#114758) [APM] Fix typo in linting docs (elastic#114764) [Discover] Removing SavedObject usage for savedSearch (elastic#112983) [Fleet] Add Integration Policy Page Improvements (elastic#114556) [Lens] Keep the custom label when transitioning to/from Formula (elastic#114270) [Security Solution][Endpoint] Host Isolation API changes (elastic#113621) ...
Working through the chain: backport of this one blocked by #114870. When that one merges, we should be able to backport this one cleanly. |
Hi @clintandrewhall we have had this issue raised asking where we intend the CC @dborodyansky @dedemorton maybe? |
@hop-dev A single link is going to be a bit awkward because beats and agent are currently documented in different “books. There are a couple of links that could work: https://www.elastic.co/guide/en/fleet/7.16/beats-agent-comparison.html (Describes difference between agent and beats.) https://www.elastic.co/guide/en/fleet/7.16/integrations.html (I’m on PTO this week so please defer to @gchaps |
I believe the original intent was to link to https://www.elastic.co/guide/en/fleet/7.16/beats-agent-comparison.html |
Summary
This PR adds the Integration Preference selector to the Available Packages page.
Oct-12-2021.20-37-57.mp4
It also updates the Storybook mocks to make the tests make sense.