-
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
[Event Annotations] individual annotation editing from library #158774
Comments
Pinging @elastic/kibana-visualizations @elastic/kibana-visualizations-external (Team:Visualizations) |
@MichaelMarcialis I understand that we'll be using a count of records over time visualization with whatever data view is attached to the particular annotation group. A couple questions
|
Great questions, @drewdaemon . I'll attempt to provide some answers below:
I seem to have overlooked this possibility when I suggested using a Discover-like document count histogram for the preview visualization. Would I be correct in assuming that it wouldn't be desirable to use the first available date field in those situations, as it would have the potential to yield unhelpful or unexpected preview visualizations? Would it be better to take the approach that we are planning to use for the color mapping preview? There we are planning to simply display a preview visualization using dummy data for the purpose of allowing users to preview their colors. Could we take a similar approach here and just display a dummy time series visualization? Or would that be confusing for users (mixing of dummy and real data), as the annotations would be using real data from their data view? CCing @markov00 and @gvnmagni to get their thoughts.
For the sake of performance and consistency with Lens, my initial thinking was that we could simply default to the "Last 15 minutes" date range (regardless if the annotation is a static date or custom query). In retrospect, the problem with this approach is that users may create one or more annotations that fall outside that default time window and become confused if they forget to change their preview date range. I suppose one alternative would be to offer a new "Auto" date range option that attempts to best apply a time window that shows each annotation at least once. Thoughts? CCing @ninoslavmiskovic as well.
If the user has previously created an annotation group and the data view it used has since been removed, I imagine we should 1) show the data view selector in an erroneous state and also 2) show an empty prompt explaining the situation in the visualization preview area. Let me know if you want a quick wireframe of that, or if my description is enough to go by for now. |
I feel that a fake series is a good choice. To make it clear we should render it in a way that is clearly not real data but some sort of demo. For example a mix of these things could work:
|
I totally agree, it should absolutely work fine! |
It is a bit difficult for me to follow how the preview will work with fake data. |
@stratoula I'm not following you, let me try to understand better your example. |
Ok now I get your proposal. I thought that we are removing the dataview dependency which is important for having data.
is valid. What if the values we get are on a timespan that doesnt exist on our fake data? Or are we going to generate them automatically based on the timespan returned from the annotations query? My point is as we need the dataview to fetch the results, which is the advantages of having fake data instead of a real data based on the dataview that the users have set for the annotations? |
If the data view is missing on a query-based annotation group, I believe we probably don't even need to display that group. The annotations are lost (because the dataview is no more available) so I don't see the need and the advantage to edit annotations or previewing them. Probably editing the dataview to match an existing one is the only thing to do here.
We will build fake data based on the timestamp of the resulting annotations. We can do a multi-step passage where first we count how many annotations are within a bit "time span" and we then try to reduce it to show just a smaller set.
This is true for query-based annotations, not for static ones. Using real data could take more time to query then quickly see just the annotations + a client side generated array of numbers. |
I absolutely agree for the static ones, my concerns are mostly for the query based ones |
+++ on this. We could possibly have an error/warning state and allow the users to change the dataview |
Before we discuss this topic in our next visualization editor weekly sync, I'd like to attempt to summarize the above. Please let me know if this makes sense and if we all agree with the following (for the annotation creation, editing, and preview experience in the visualize library)? I can plan to provide design support as needed early next week. Summary
Questions
|
I think before we agree if we want fake data or real data we need to agree on which is the purpose of the preview. So for example if we only want to show to the users how the annotations are going to look does it make sense to also have fake annotations? If not, as I said above, I am not sure how query annotations based on real data and chart with fake data can easily work together. About Michael's questions my personal opinion is:
Yes we should, in my mind preview is a reusable component which should be easily reused everywhere we want to add a preview
I think that this is a product question but there are no technical difficulties so I think we should
Same as above
This depends on the decision we are going to take about the fake vs real data.
Hmmm I am not sure about it, I think we can. If we can +1 from me, it will be a nice UX |
Yes, we can. We're already fetching the data view object to show the data view column on that view. We'll know if it's missing. |
Also, ditto to everything @stratoula said. |
My 2 cents on this. First, it feels like a "preview" issue in general, so maybe we should upgrade the title :) Second, great input from everybody. Third, my comments :
To summarize: "Previews should be fast and simple and leave the user with an indication of "what is on the other side"" |
Thanx @ninoslavmiskovic for sending us your thoughts. We have it on our weekly sync today so we can discuss it synchronously all together. |
To sum up from the meeting (feel free to correct/edit)
|
@drewdaemon You captured it well 👌🏻 Small comment worth noting down: The reason why we moved away from "just a preview" is that the underlining work for making it a full editing experience is well on the way 😃 and it makes sense to have a full editing experience when we are enabling the full configuration options. Also, I still think it makes sense to work on a "Preview" when the user hovers over Saved Object items on the list view. ++ We should consider the balance between "full editing experience" vs "preview for saved color palettes work and other editing experiences on the list view.. |
Yeah, I like this idea. Here's an issue. |
Based on our most recent discussions in the weekly sync regarding this issue, I've put together some quick updated wireframes for the annotation preview interface. I've shared these with @drewdaemon and he's currently investigating whether these suggestions will work or if additional design support is needed. |
Just realized that we never resolved this
I think this would be straightforward with manual annotations. For query-based annotations, the only way I think this could work would be with a request to Elasticsearch to fetch the timestamps for the annotations themselves. My suggestion is to move forward with the last 15 minutes as the default time range and consider this as an optional follow-up. Any objections? |
## Summary Resolve #158774 Part of #159053 <img width="1920" alt="Screenshot 2023-09-13 at 2 00 25 PM" src="https://github.com/elastic/kibana/assets/315764/69cfe07e-d442-462b-91c5-395d6040c383"> <img width="1920" alt="Screenshot 2023-09-13 at 2 00 09 PM" src="https://github.com/elastic/kibana/assets/315764/260aedbe-31d0-415a-b387-10a9b13bf9a6"> <img width="1920" alt="Screenshot 2023-09-13 at 2 01 07 PM" src="https://github.com/elastic/kibana/assets/315764/9672010b-d49b-4041-acf1-33d3baec1e9a"> ### Known issues - [ ] ~Responsive layout~ **Proposal:** don't optimize for mobile - [x] Recovering embeddable from problematic data view state - [x] margin around dimension buttons - [x] Functional test coverage ### Checklist - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [x] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) --------- Co-authored-by: kibanamachine <[email protected]> Co-authored-by: Stratoula Kalafateli <[email protected]>
Describe the feature:
#157988 is adding a tab to the visualization library that allows searching and editing annotation groups.
The work for individual annotation editing is actually finished, but gated since the preview got descoped (it didn't make much sense for a user to edit an individual annotation without visual feedback).
We should add the preview from the original designs and reveal the individual annotation editing capabilities.
Technical overview
The preview should be a vertical bar chart with a count of records function. It should use the Lens embeddable to display the visualization.
It will also be used for savable color palettes (described in #101942).Edit: not sure on thisPlan
Removing the circular dependency
We will split the current
event_annotation
plugin into two plugins, creating theevent_annotation_application
plugin which will import the Lens embeddable for the preview.The text was updated successfully, but these errors were encountered: