-
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
Graph UI - recording user annotations #17914
Comments
Original comment by @markharwood: Here's a demo of this working with a new annotator plugin: LINK REDACTED Thoughts, @skearns64 ? |
Original comment by @markharwood: @uboness can I open-source the "annotator" plugin used in LINK REDACTED ? My assumption is that end-users will want to capture many and varied attributes as part of a Graph annotation (author, date, tags, risk flag, priority, completedYN ....) and they can use this plugin as the starter template for this data entry. |
Original comment by @markharwood: Had a discussion 28/Oct/16 with @skearns64 and @uboness where we reached some conclusions but there are still a lot of issues to consider. Details below. We dismissed option 1 in the proposal above (using a plugin outside of Graph, accessed via a drill-down link) and opted for option 2/3 where annotations are a new first-class feature of Graph. Agreed principles of annotations design
It can be helpful to think of systems as having Things we haven't agreed: what should we record in an annotation?
These are all potentially useful features to consider but they lead us towards a general issue: Problem: drawing the line between annotations and "reference data"It is difficult to rationalize why a system for pulling in hand-authored Graph annotations might not also generally be applied to tackling theLINK REDACTED of pulling in "reference data" in a normalized form of data. Why should Graph be the only Kibana plugin capable of labelling product "SKU 439026" in a meaningful way to end users? Why should this reference data be tied up in a There's a continuum of use cases here which range from:
All of these are look-ups and it's hard to know where to draw the line here. Thoughts, @skearns64 and @uboness ? |
Original comment by @skearns64: I suggest we start simple, with well-defined annotation types. I'm trying to imagine the Graph Annotation API, and I would guess that it accepts two types of annotations:
I wouldn't rush to have the vertex metadata contain a "display name," as I agree that this is something needed in Kibana more widely, and I don't think that it is (yet) the most important feature for Graph. If I'm wrong about that, we might have to do something special for Graph and adopt/adapt whatever method Kibana provides in the future. |
Original comment by @markharwood: I agree that it is useful to think of the 2 annotation categories ( Link visualization is definitely "a graph thing" so I'm comfortable tackling the linked-vertex part of annotations but I feel uncomfortable about tackling |
Original comment by @skearns64: I see your point, and at a high-level, I agree. However, I would imagine that in practice, you would want to annotate the |
Original comment by @markharwood: Following a conversation with @skearns64 we have agreed to park this feature for the moment. Much of the functionality in associating metadata to vertices/terms has utility outside of the Graph plugin. Graph should not be the only Kibana feature that is capable of providing additional details behind the raw indexed terms we show in results. A more general framework is required for pulling in reference data regardless of the visualization tool used to show results. This requires a common model definition and raises questions about how that is bundled into elasticsearch or xpack or kibana. There are many questions here so we need to think about this problem more broadly. |
Pinging @elastic/kibana-data-discovery (Team:DataDiscovery) |
Pinging @elastic/kibana-visualizations @elastic/kibana-visualizations-external (Team:Visualizations) |
Closing this because it's not planned to be resolved in the foreseeable future. It will be tracked in our Icebox and will be re-opened if our priorities change. Feel free to re-open if you think it should be melted sooner. |
Original comment by @markharwood:
Following a recent conversation with a user (he investigates things like LINK REDACTED). We discussed the option of allowing investigators to attach notes to vertices of interest as part of the investigation process. Other investigators working in different workspaces could then pull in notes from other investigations as part of "spidering around" the original data.
Index configuration
This could be achieved by having a side-index to the main content eg. if you had the
panamapapers
index you could have apanamapapers_notes
index to record investigator notes.The Graph UI could then be configured with an index pattern of
panamapapers*
to pull in content from both of these indices. The panama vertices and any associated notes would automatically be linked in the UI on the basis of sharing the same term.Capturing annotations
As a result of the newLINK REDACTED feature we have a hook for performing custom actions on selections in the Graph UI. This issue proposes that we could use this feature to take a user to an "add annotation" page which could be used to enter content that is then added as fields in a new doc to the choice of index (e.g.
panamapapers_notes
) along with fields for the selected vertices passed in the URL. Once indexed, the user can then return to the Graph app and expanding from the selected vertices should then pull in the new content added to thepanamapers_notes
side index.How far should we go in the first instance?
The question is to what extent we support this feature. In order of complexity/sophistication I see the following implementation options:
For now option 1 feels like a "safe" option as it does not require any changes to core and could be open-sourced as an example annotator that can be customised in terms of what people want to capture in notes etc.
The text was updated successfully, but these errors were encountered: