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

Link to a specific document #717

Closed
tkuther opened this issue Nov 21, 2013 · 12 comments · Fixed by #2121
Closed

Link to a specific document #717

tkuther opened this issue Nov 21, 2013 · 12 comments · Fixed by #2121

Comments

@tkuther
Copy link

tkuther commented Nov 21, 2013

I wonder if "Method 2" from Rashid's comment in #168 could be made sort of a hidden default, and used to create a "Link to result" based on the (hidden) _id field, for each row.

This would be incredibly usefull. At least our admins really miss this feature to show some specific event (mostly error messages) to some developers. Currently we have to look at the raw message, do a search "_id:" and then use the "share" link. Quite complicated.

At least a "show only this event" that does a query on the _id of the given event would be good to have already.

@davux
Copy link

davux commented Nov 22, 2013

Sorry, I created #721 before noticing you created this one. The two ideas are a bit different, but I'd rather participate to this discussion so I closed the one I created. Here is my proposal:

It would be great to have a notion of "link to a document".

The URL should be derived from the document id only (no dashboard). Of course, when clicked from within a dashboard, such links would "pop-over" the dashboard, but if you enter the permalink directly you should be able to view a standalone version of the document.

One use case would be to mention a document to other people. The table panel could also be configured to use such pop-over links instead of unfolding the line you clicked.

@gimpel: Does that sound good?

@tkuther
Copy link
Author

tkuther commented Nov 22, 2013

Sounds good to me.

I think this could be kept very simple, like a special page that takes the required parameters, opens in a new tab, runs the search, and displays only the event's details table. No panels or other fancy dashboard stuff required. E.g. /event/show?index=logstash-xyz&id=TheHashOfTheEvent

@davux
Copy link

davux commented Nov 22, 2013

Oh, you're right about the index, it needs to be given in the URL as well.

But I'm not sure to understand: why run a search at all? A document exists by itself, you can simply query it in Elasticsearch with http://example.com:9200/index_name/_all/document_id and format it in HTML.

What I said about pop-overs is just that ajax technique based on onclick that's widely used for images, but it's just an implementation detail.

@rashidkpc
Copy link
Contributor

This shouldn't be too hard at all. Might require a special panel for displaying just one even though? We could also just link directly to the elasticsearch GET response, which would be like one line of code.

@tkuther
Copy link
Author

tkuther commented Nov 25, 2013

A direct link would be OK, but I guess proxying the elasticsearch query would be better for those using apache/nginx proxy to ES.

@davux
Copy link

davux commented Nov 25, 2013

@rashidkpc: I was more thinking of:

  • if you enter the link directly: a standalone page (no dashboard or panel involved)
  • if you click the link from within kibana: a popover window similar to the ones that appear when you click on a field name in the "Fields" column of the result list.

@awheeler
Copy link

awheeler commented Feb 6, 2014

I implemented something like this a little while ago, where I added the link in the event as a new view called share that was just a link:
View: Table / JSON / Raw / Share
The link would take you to a special logstash.json dashboard that understood both from/to URL args and was passed the elasticsearch _id, and the date/time range of the search that found the event.
But, I didn't really like how I did it, and much has changed in the code since then such that a pull is no longer a straight-froward proposition.

@cgagon
Copy link

cgagon commented Mar 19, 2014

Is milestone 5 going to support linking to event documents? I don't see a PR for #180.

@awheeler
Copy link

I've started work on this. First step is supporting url args for any dashboard:
awheeler@2b412a8
Next step is to add the share link.

@awheeler
Copy link

Added the share link, so inside an event it now looks like:
View: Table / JSON / Raw / Share
Please feel free to comment on the implementation in the pull request, or here.

@samdoran
Copy link

samdoran commented Apr 3, 2014

This would be incredibly helpful. As Kibana becomes more important to finding out what is happening on our systems, the need to easily share specific events is only going to increase. I really like the idea of a simple "Share" link on each event, like Alex has implemented in his PR.

@rashidkpc rashidkpc added this to the 4.0.0-BETA3 milestone Oct 7, 2014
@rashidkpc rashidkpc self-assigned this Oct 7, 2014
@rashidkpc rashidkpc changed the title Feature: Get link to result Link to a specific document Oct 7, 2014
@rashidkpc
Copy link
Contributor

Definitely an important feature. I've tagged it Kibana 4.0.0 beta 3.

w33ble pushed a commit to w33ble/kibana that referenced this issue Sep 13, 2018
* timeout property for axios instance

* remove TODOS

* notifier class

* TODO

* second notification with the context

* redirect to home if workpad could not be fetched

* less noisy error checking
w33ble pushed a commit to w33ble/kibana that referenced this issue Sep 13, 2018
* [WIP][Design] Cleanup canvas part 1 (elastic#697)

Part 1 of dave messing around with the design of canvas.

* Converted bootstrap button groups to EUI button groups in text_style_picker (elastic#713)

* Moved elements and assets to workpad_header (elastic#714)

* Adds tabs to sidebar component (elastic#718)

* Changed sidebar to tabbed layout

* Removed unecessary done props from datasource_component and expression

* Removed unused props in toolbar

* [Design] Part 2 of design cleanup (elastic#715)

* hide nonfocus pages

* button group margins

* workpad panel styled

* header rework

* fix toolbar lint

* update to newest EUI, restyle sidebar tabs, some data source cleanup

* move title to footer

* Add some tooltips

* Fixed custom interval input in refresh controls (elastic#722)

* Fixes Editor Toggle (elastic#721)

* Removed unused selectedPage prop from workpad_header/index.js

* Fixed editor toggle

* Design part 3: page view, data sources, lots of cleanup (elastic#731)

Mostly changes around the page selector and data sources. Also fixes some of the hover issues for canvas elements.

* fix css import error

* [Design] Part 4 of design updates to canvas (elastic#732)

[Design] Part 4: selector rewrite

* Move expression editor back to bottom (elastic#733)

* Removed unused prop form sidebar_component

* Moved expression editor to toolbar

* [Design] Part 5: Cleanup and bugfixing before review (elastic#734)

* style up expression editor, fix resize handles

* hide controls when editing is hidden

* remove icons from element dropdown

* fix canvas grid

* Adds Modals (elastic#739)

* Changed datasource_preview to a modal

* Moved workpad_loader to modal

* address feedback (elastic#740)

* asset manager mostly styled (elastic#741)

* [Image function] support src (image url) in addition to dataurl (elastic#632)

* [Image function] support src (image url) in addition to dataurl

* unit test for httpurl

* fix other elements that use image

* clean up the diff

* more clean up diff

* Handle AJAX errors by showing a notification (elastic#717)

* timeout property for axios instance

* remove TODOS

* notifier class

* TODO

* second notification with the context

* redirect to home if workpad could not be fetched

* less noisy error checking

* Fix ES Docs indices select options (elastic#743)

* Catch more AJAX errors, show error in notification banner (elastic#736)

* catch more errors

* if es_fields fails, still render something

* generate default data in ajax fetches in case of failure

* feedback changes

* remove defaulting that catch makes unnecessary

* Remove run API (elastic#742)

It's not used anywhere and is no longer necessary. We can always recreate
it if the need arises.

* [Design] Part 4 of design updates to canvas (elastic#732)

[Design] Part 4: selector rewrite

* Changed icon to 'warning' in simple_failure

* Fixed canvas loading

* Fixed paginate controls file naming

* Changed color dot size

* Added missing aria-labels

* Fixed warnings

* Fixed expression warnings

* Fixed popovers

* Fixed merge conflicts for image_upload

* Changed placeholder text in custom interval input

* Styled debug render function

* Removed bootstrap from expression and show_debugging

* Changed buttons in expression editor

* Changed asset manager to modal

* Added 'canvas__element' class for BWC for custom CSS in old workpads

* Fixed fullscreen interactions and positioning

* Fixed overflow issue in asset manager

* Removed bootstrap in datasource component

* Changed text input to text area in timelion datasource

* Fixed sort field in esdocs

* Updated style of AssetManager

* Changed all inputs to compressed size

* Added max width for datasource_preview modal

* Fixed cursor when hovering over element in fullscreen mode

* Cleaned up tooltips

* Rearranged buttons in workpad_header

* Updated style to update_modal

* Forgot to remove debug line

* Cleaned up arg_add_popover

* Removed codeblock in update_modal

* Added 'dataurl=null' to image element initial expression

* Added null args to repeatImage and revealImage

* Fixed input validation in expression

* Bumped eui to v1.1.0

* fix: make refresh controls clearer

- Change disabled state to 'refresh this page manually'
- Don't show disable control unless auto-refresh is enabled
- Move disabled control under the refresh interval text

closes elastic#759

* fix: close refresh popover on selection

* fix: replace interval placeholder with help text

Closes elastic#757

* fix: replace EuiFormLabel with aria-labelledby

closes elastic#767

* fix: restore send to top/bottom controls

* fix: more usable page controls

- pull controls out of popover
- move PageControls component out of the preview
- fix link use, so controls actually work
- fix page layout for tall pages

* fix: use correct esdocs query value

* fix: better esdocs form labels

* chore: stricter prop type checking

and remove an unused prop check

* fix: style the unknown args datasource fallback

* fix: show correct sort field in esdocs

* fix: page control icon colors

* Fixed workpad_loader modal issue

* Cleaned up home page styles

* Fixed class name on confirm modal. Removed unused style in main.scss

* fix: flatten the workpad styles

easier to override them, which is handy for fullsceen and other cases

* fix: better fullscreen overrides

* chore: remove unused allowFullScreen props

* fix: workpad size in fullscreen mode

* chore: convert Positionable to a class component

* fix: map font object to flot spec

* fix: use flot font spec for flot output

* test: add font spec test, fix plot & axisconfig tests

* Fixed input refs in datacolumn

* Removed unnecessary styles

* chore: remove debugging console logs

* Fixed prop type error in expression form

* Fixed expression form bouncing from error messages

* fix: page controls visible with scroll bar

* fix: delete element click handler

* chore: bump EUI to 3.0.0

this is the version that will be landing in Kibana

* fix: match ContextMenu class to css rule

* chore: remove unused code

* chore: tiny update modal code refactor

* Replaced & with prefixes in asset_manager and suggestion SCSS files

* Replaced EUI link/icon with EuiButtonIcon

* Changed label for index pattern in esdocs form

* fix: add aria-label to EuiButtonIcon

* fix: restore highlight on hover

and remove the now unused ElementControls component

* chore: update classNames

use the new class naming convention

* chore: remove unused components

* Disabled selection and dragging for img in revealImage

* Add toolbar tray close button (elastic#842)

* Fixed range and percentage arg types (elastic#843)

* Change to preview images

* Chore: naming convention

* Fix EUI Tooltip component content props (elastic#850)

* Fix a small typo in a button icon and tooltip (elastic#851)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants
@tkuther @davux @awheeler @rashidkpc @cgagon @samdoran and others