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

[Spacetime] [Discover] Add demo of possible in-product help to Discover #123888

Conversation

Heenawter
Copy link
Contributor

@Heenawter Heenawter commented Jan 27, 2022

⚠️ This PR serves as a demo only - it contains a lot of unmergeable code.

Linked to https://github.com/elastic/kibana-team/issues/432
Relies on #122087

Summary

This PR adds in-product help to Discover. It addresses these goals:

  • Improve the empty state of Discover to include extra guidance on how to view data.
  • Add a product tour to Discover, which is one of the most heavily utilized applications. See this issue for details.
  • Add pop-over docs to Discover to cover key concepts of the UX. See this issue for details.

Empty state

The updated empty state guides users to take action when Discover shows no results.

2022-01-28_DemoDiscoverEmptyState.mp4

Hack Details/Notes

  • We currently have to trigger the opening of the Query search and the DatePicker via forcing click events after using the data-test-subj to select the appropriate item - obviously, this is not ideal and is addressed in the linked feature request.

Tour of Document Explorer

A tour introduces the features of the new Document Explorer. The tour includes both text and animated gifs to convey the information.

2022-01-28_DemoDiscoverTour.mp4

Hack Details/Notes

  • Since certain HTML elements were not able to be targeted via EuiTour natively (such as the Columns button), we had to add two hidden toolbar options to the Discover grid for the sake of floating a beacon near the Columns and Row Height buttons.
  • The current way of handling EuiTour components means you have to pass around the Tour object to multiple parts of Discover - this is not an ideal solution for something that may only seen once, such as a tour; the linked feature request addresses this concern.

Help on fields

A pop-up describes the field types.

Screen Shot 2022-01-28 at 11 51 48 AM

Help on Surrounding documents view

This tooltip was added to answer a common user question of why filters are not active in the Surrounding documents view.

image (9)

Related Feature Requests

@Heenawter Heenawter changed the title [Spacetime] [Discover] Add extra in product help [Spacetime] [Discover] Add demo of possible in-product help to Discover Jan 27, 2022
@Heenawter Heenawter force-pushed the spacetime_discover-in-product-help_2022-01-25 branch 2 times, most recently from 5f10cd9 to f858c4d Compare January 28, 2022 16:57
@Heenawter Heenawter force-pushed the spacetime_discover-in-product-help_2022-01-25 branch from 8791796 to 46b948a Compare January 28, 2022 21:16
@ryankeairns
Copy link
Contributor

This is awesome, nice work @Heenawter !

@Heenawter Heenawter force-pushed the spacetime_discover-in-product-help_2022-01-25 branch from d81f2f9 to be1f5d5 Compare January 28, 2022 21:45
@Heenawter
Copy link
Contributor Author

This is awesome, nice work @Heenawter !

Thanks so much - it was definitely a team effort!! @andreadelrio @gchaps @shaunmcgough @KOTungseth

@kibana-ci
Copy link
Collaborator

kibana-ci commented Jan 28, 2022

💔 Build Failed

Failed CI Steps

Test Failures

  • [job] [logs] Jest Tests #7 / ContextAppContent test should render discover grid correctly
  • [job] [logs] OSS CI Group #2 / dashboard app using current data dashboard embeddable data grid should expand the detail row when the toggle arrow is clicked
  • [job] [logs] OSS CI Group #2 / dashboard app using current data dashboard embeddable data grid should expand the detail row when the toggle arrow is clicked
  • [job] [logs] OSS CI Group #6 / discover app discover data grid context tests should open the context view with the selected document as anchor
  • [job] [logs] OSS CI Group #6 / discover app discover data grid context tests should open the context view with the selected document as anchor
  • [job] [logs] Jest Tests #7 / Discover component selected index pattern with time field displays chart toggle
  • [job] [logs] Jest Tests #7 / Discover component selected index pattern without time field displays no chart toggle
  • [job] [logs] Jest Tests #7 / Discover component sidebar should be closed if discover:sidebarClosed is true
  • [job] [logs] Jest Tests #7 / Discover component sidebar should be opened if discover:sidebarClosed is false
  • [job] [logs] Jest Tests #7 / Discover component sidebar should be opened if discover:sidebarClosed was not set
  • [job] [logs] Jest Tests #7 / Discover documents layout render complete
  • [job] [logs] Jest Tests #7 / Discover documents layout render complete when loading but documents were already fetched
  • [job] [logs] Jest Tests #7 / Discover documents layout render loading when loading and no documents
  • [job] [logs] Jest Tests #7 / Discover grid view button when another document is expanded, setExpanded is called with the current document
  • [job] [logs] Jest Tests #7 / Discover grid view button when no document is expanded, setExpanded is called with current document
  • [job] [logs] Jest Tests #7 / Discover grid view button when the current document is expanded, setExpanded is called with undefined
  • [job] [logs] Jest Tests #7 / DiscoverGrid Document selection Allows selection/deselection of multiple documents
  • [job] [logs] Jest Tests #7 / DiscoverGrid Document selection copying selected documents to clipboard
  • [job] [logs] Jest Tests #7 / DiscoverGrid Document selection deselection of all selected documents
  • [job] [logs] Jest Tests #7 / DiscoverGrid Document selection no documents are selected initially
  • [job] [logs] Jest Tests #7 / DiscoverGrid Document selection showing only selected documents and remove filter deselecting each doc manually
  • [job] [logs] Jest Tests #7 / DiscoverGrid Document selection showing only selected documents and undo selection
  • [job] [logs] Jest Tests #7 / DiscoverGrid Document selection showing selected documents, underlying data changes, all documents are displayed, selection is gone
  • [job] [logs] Jest Tests #7 / getStateDefaults index pattern with timefield

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
discover 361 374 +13

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
discover 61 64 +3

Async chunks

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

id before after diff
discover 330.4KB 340.5KB +10.1KB

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
discover 51.6KB 51.7KB +123.0B

Saved Objects .kibana field count

Every field in each saved object type adds overhead to Elasticsearch. Kibana needs to keep the total field count below Elasticsearch's default limit of 1000 fields. Only specify field mappings for the fields you wish to search on or query. See https://www.elastic.co/guide/en/kibana/master/development-plugin-saved-objects.html#_mappings

id before after diff
search 12 13 +1
Unknown metric groups

API count

id before after diff
discover 89 92 +3

ESLint disabled in files

id before after diff
apm 15 14 -1
securitySolution 69 68 -1
uptime 5 4 -1
total -3

ESLint disabled line counts

id before after diff
apm 92 89 -3
enterpriseSearch 7 6 -1
uptime 41 38 -3
total -7

miscellaneous assets size

id before after diff
discover 0.0B 2.6MB ⚠️ +2.6MB

References to deprecated APIs

id before after diff
canvas 70 64 -6
dashboard 241 230 -11
discover 207 189 -18
fleet 11 7 -4
inputControlVis 325 295 -30
lens 232 180 -52
maps 1401 905 -496
monitoring 53 41 -12
stackAlerts 183 157 -26
upgradeAssistant 12 7 -5
visDefaultEditor 213 163 -50
visTypeTimeseries 356 341 -15
visTypeVega 25 24 -1
visualizations 119 105 -14
total -740

Total ESLint disabled count

id before after diff
apm 107 103 -4
enterpriseSearch 7 6 -1
securitySolution 513 512 -1
uptime 46 42 -4
total -10

History

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

@Heenawter
Copy link
Contributor Author

Update: This discover tour is officially in the works! 🚀 #131125

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants