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

[Dashboard] Navigation Embeddable #125313

Closed
ThomThomson opened this issue Feb 10, 2022 · 11 comments
Closed

[Dashboard] Navigation Embeddable #125313

ThomThomson opened this issue Feb 10, 2022 · 11 comments
Labels
Feature:Dashboard Dashboard related features Feature:Embedding Embedding content via iFrame impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:needs-research This issue requires some research before it can be worked on or estimated Project:Dashboard Navigation Related to the Dashboard Navigation Project Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas

Comments

@ThomThomson
Copy link
Contributor

ThomThomson commented Feb 10, 2022

We should create a Navigation Embeddable which allows authors to create a horizontal or vertical tree of links and folders.

Nav Links

  • Nav links should be able to point to saved objects within Kibana. Saved Object references will be used to ensure these links are hard links.
  • Links should have the option to "preserve filters", "preserve time range" and "preserve query" on navigation.
  • Links should also be able to point to external URLs. These links would work similarly to the URL drilldown, but without any variables. They would use the external link format from EUI.

Layout & Folders
The vertical layout could use the Collapsable nav component from EUI, where folders can be the collapsable sections.

The horizontal layout would need some sort of new component, although there are some EUI components which could be used, including Popovers, the Filter Group etc.

On Dashboards
The Navigation Embeddable could be placed in a panel inside the normal flow of the dashboard. Additionally, it could be possible to have a special navigation tray at the top of the dashboard, near where the Controls sit, to have a dedicated space for navigation.

Impact
This use case is one of the primary usages of the Markdown embeddable. using the markdown embeddable in this way leads to many problematic soft links. Creating a specific navigation embeddable would greatly reduce this problem.

Automatic Population Via Tags
A new req which would fit into this embeddable very well was brought up by @VijayDoshi. This requirement would allow the author to specify a tag or multiple tags, and on load the embeddable would search for saved dashboards that match, and create a navigation item for each. With this feature dashboard authors would no longer be required to maintain lists of links to related dashboards, they could be automatically created.

@ThomThomson ThomThomson added Feature:Dashboard Dashboard related features Feature:Embedding Embedding content via iFrame Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas loe:needs-research This issue requires some research before it can be worked on or estimated impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. labels Feb 10, 2022
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-presentation (Team:Presentation)

@alexfrancoeur
Copy link

After listening to a recent content management working group recording, I'm dropping this comment in to provide some context from the Shared UX / Content Management perspective after #134255 was closed.

One of our objectives is to "design and build assets to support users navigating to content". While not a formalized solution, and we're going to kick off some UX research around this shortly, one concept we've been kicking the tires on is an embeddable navigation component. While this issue focuses on dashboard navigation specifically, I think there is value in generalizing to additional saved objects. This opens the door to adoption outside of dashboards to provide streamlined navigation experiences across Kibana and within specific solutions and applications. Think homepages, overview pages, dashboards, etc. One of the ways I've starting thinking about this approach first, is a common set of core metadata and schema we can use build these experiences. Any additional saved objects added just work. @sebelga is making progress on updating the table component to enable exactly these types of experiences.

Here's a quick visionary view of how I've been thinking of this component (riffed off of @MichaelMarcialis original designs for homepage improvements)

AlexF - Home Page Near-Term Wireframes@2x

I share this information not to side track any work, but just to make sure that as we start to think about this functionality we do so in alignment. A dashboard panel experience is a great and welcome first step, but I believe there is much more we can do here. Depending on priorities and planning, it's possible the Shared UX team may be able to start tackling this first and vice-versa. Once we have some findings out of our UX research, I'll be sure to circle back with this team as well.

@ThomThomson
Copy link
Contributor Author

@alexfrancoeur, this is looking great so far from a design standpoint, thank you for sharing this here!

I believe we should combine these efforts - has anyone started architecting this yet?

If we architect this with the embeddable infrastructure, we could potentially create something that can store its own configuration as a saved object or by value in another saved object and can be used anywhere within Kibana, including on dashboards, in solutions, and in home pages. These are really exciting designs!

@alexfrancoeur
Copy link

We do not have anyone architecting this at the moment. Next week we are kicking off a user research initiative in which I'd like to focus on content discovery and reducing time to value. My hypothesis is that this type of functionality will dramatically simplify workflows and UX for navigating Kibana, but I'd like to validate that before diving in. Plus, the shared UX team is still relatively small with competing priorities (🎻 - right? 😜 ) and we simply haven't gotten to this yet. I feel pretty good about this approach, but let's see what our users say. That being said, if your team has the bandwidth to take this on sooner than later - let's talk 😉

I'd love to see this as an embeddable. The high level approach you suggested makes sense to me!

@ThomThomson
Copy link
Contributor Author

We don't have enough bandwidth to prioritise actually building this right now haha, but that shouldn't stop us from thinking about it!

Something that I'm wondering @alexfrancoeur, is where these designs will be implemented (other than dashboard) and where it will be stored? Will this be implemented alongside user profiles as a favorites / personalized home page? Will there be a new home page per-space with menus like this that anyone can author?

There are a lot of open questions, but building it as an embeddable does seem to be the best choice no matter what.

@alexfrancoeur
Copy link

All questions to be answered in good time 😄 I'd like to see where some of this UX research goes in the next few weeks, but I'm hoping that this use case is one we can focus on in the shared UX team in the near - mid term roadmap. Stay tuned! If we get to this one first, we'll be sure to include you as a primary stakeholder.

@P1llus
Copy link
Member

P1llus commented Dec 2, 2022

@ThomThomson @alexfrancoeur did we happen to get anything further on this topic? We are currently creating these navigation panels manuallt which is okay, but takes time of course :)

@ThomThomson
Copy link
Contributor Author

Hi @P1llus, we have this on our roadmap, but work hasn't yet begun, and we don't have an estimated release unfortunately. This is an important change, but other work has taken higher priority.

@nicpenning
Copy link

This sounds like a great feature. 👍

@ThomThomson
Copy link
Contributor Author

One additional piece that we could fulfil with this is the ability to scroll the dashboard to a panel id. This would definitely be a follow-up piece for a later version of the nav embeddable but I wanted to call it out here so we don't lose track of it.

@ThomThomson ThomThomson added the Project:Dashboard Navigation Related to the Dashboard Navigation Project label Apr 10, 2023
@ThomThomson ThomThomson changed the title [Dashboard][Embeddable] Navigation Embeddable [Meta] Navigation Embeddable Implementation Apr 10, 2023
@ThomThomson ThomThomson changed the title [Meta] Navigation Embeddable Implementation [Dashboard] Navigation Embeddable Apr 10, 2023
@ThomThomson
Copy link
Contributor Author

We have now formally started working on this project, and it has been further broken down into a new meta issue. Closing this issue in favour of #154354.

@nickpeihl nickpeihl self-assigned this May 2, 2023
@nickpeihl nickpeihl removed their assignment May 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Dashboard Dashboard related features Feature:Embedding Embedding content via iFrame impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:needs-research This issue requires some research before it can be worked on or estimated Project:Dashboard Navigation Related to the Dashboard Navigation Project Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas
Projects
None yet
Development

No branches or pull requests

6 participants