-
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
Document URL Parameters #4338
Comments
+1. I wanted use a link with filters, but the syntax was just to alien. |
+1 I am integrating dashboards and discover in Tableau and I need more documentation about the parameters in URL. Thanks |
+1 Need to be able to generate those URLs programmatically, based on some parameters. |
+1 Any documentation would be a great benefit. |
+1. I was able to reverse engineer some of it from looking at the source, but it's still a bit confusing! |
+1 |
1 similar comment
+1 |
I'm using something similiar with Kibana3, but more features and options would be very welcome.
|
+1 |
My guess is that we are not going to do this any time soon because we have to come up with a workable solution for the whole IE11 URL length thing (#6531). Which means that RISON stuff might disappear or we will replace it with some other mechanism which allows us to override stuff from the URL via args. At that time we will be sure to document it. |
In my experience, when setting the absolute
This might be very old news to some readers: if you roll your own URL, you can specify
then Kibana (here, I'm using 5.0) replaces the URL with equivalent
If your zone designator uses a plus (
then Kibana (at least, in Google Chrome, if the browser makes a difference here) replaces those values with:
Kibana developers: at your discretion, you might choose to trap this. Or leave it as is: "user beware" ("meddle with Kibana URLs at your peril")? Some readers might find some of the above useful in the documentation requested/proposed by this issue. |
Is this issue solved? |
+1 |
I want to be able to link machine learning to discover based on the ml results. |
+1 4 years for a documentation request is a very long time. |
@bmorelli25: Was this issue completed by your #104 documentation tasks? |
No. Marjorie referenced this issue by mistake. |
Pinging @elastic/kibana-app-arch (Team:AppArch) |
To provide a bit of context: one of the reasons these parameters have remained undocumented is because our approach to state management has been changing as we work on migrating core Kibana applications to the new platform. As part of this effort, the source of truth for global state is shifting away from URLs and into the individual plugin APIs themselves. URL state management then becomes an implementation detail of individual applications, rather than existing as a global concept across Kibana. More details on the thinking behind this can be found in #39855. The implication here is that each application (Discover, Dashboard, etc) will ultimately determine whether to store state in the URL, and if so, whether to document this state as a public part of their plugin's API. As these apps get closer to completing the migration, we expect some of these longer-term contracts to be identified (and documented 🙂). Also worth mentioning - the idea of a direct access link service has been brought up in the past, which is something that has potential to address some of the use cases discussed here. Feel free to follow along on that issue if it is a topic of interest to you. |
It's been quite a long time since I had initially brought up this issue (over 4 years!). I appreciate the follow up. I'm not currently using Kibana at I took a look at the direct access link service and, while that's a cool and useful idea, it does require access to the Kibana API; which is a dependency that I wouldn't want to rely on when an exceptions/errors are happening in my service. Also, it would not be possible if my services were isolated from Kibana. This issue recommends documenting the URL scheme to provide a contract with users of Kibana so that they can reliably assemble links to those queries without depending on access to an API. If providing such a contract is a no-go, perhaps the use-case can still be served some other way? Although this is out of scope of this issue, Here is my suggestion (assuming it does not already exist):
This has the advantage of not requiring any access to the API to create these links and pushes the definition of that parameter contract to the end-user; freeing Elastic from the responsibility of maintaining such a contract. Perhaps this could even be an extension of the direct link access service? |
@justenwalker Sorry for the delay, and thanks for your note. The "stored procedures" idea is an interesting one; I'm reposting it over in #25247 for any further discussion. I had also brought up the idea of a client-side "redirect app" which could solve the problem of an environment that's isolated from Kibana. Basically an app which proxies a predefined state object to a destination app without needing to worry about whether that app happens to store state in the URL. e.g. In terms of the original concern raised here, I think my previous comment is the best summary of the current status on this issue for the time being:
Having apps get to the place of identifying an interface for their public state will be a prerequisite to writing up detailed documentation. This is in discussion right now, but involves a lot of moving pieces and coordination among various teams working on Kibana. Ideally apps will begin formalizing their state with TS interfaces, which would at least be a step in the right direction in the interim. I'll avoid diverting too much further off-topic, but expect to hear more on that over in #25247 as well. |
Thank you for contributing to this issue, however, we are closing this issue due to inactivity as part of a backlog grooming effort. If you believe this feature/bug should still be considered, please reopen with a comment. |
The format of the URL parameters is RISON, but there is no documentation around the structure of this object. It doesn't appear to be a raw ES query object converted from JSON to RISON. Aside from reverse-engineering by reading the source code - there should be some documentation about the structure of the objects passed so that URLs can be easily generated by external systems.
Example use-case
The text was updated successfully, but these errors were encountered: