Navigate to one dashboard from another

Dillon Hoefener shared this question 51 days ago
Answered

I have a use case where we have two dashboards, one that is a higher level executive view of overall performance over all regions. The 2nd is a lower level view that shows the reasons why performance is good or bad. The idea with this, is to include a button on the first high level dashboard that will navigate into the more detailed dashboard with all the same filters and drill path that was selected on the first.

I have gotten pretty close setting this up. I'm able to use the button on the first dashboard to launch into the 2nd and then use the JS API functions to get the functionality I want for default values.

My question/concern with this is that I have to use a URL to navigate to the detailed dashboard that contains the UUID for that dashboard, and I'm not sure if this is sustainable when we create new versions and everything, the URL need to be dynamic in the dashboard JS to find the most recent version of the dashboard.

Questions:

1. Is there a way to get the UUID value of a different dashboard from code mode in the dashboard you're working in so I could construct the URL.

1a. If so, how would I go about passing in the necessary tab token into this URL? Not sure where to get this from.

I didn't see any API functionality that seemed to do what I'm looking for. Any tips would be appreciated.

Thanks

Comments (6)

photo
1

Hi Dillon,


Thanks for your message.


The UUID of Dashboards can simply be found in the URL of the desired Dashboard.


/971df9a873821c71948bd950cefa1160


You should not need to pass through the tab token to the new Dashboard URL, I believe this is stored by the web browser as a session cookie and will be added to the URL automatically.


An easier way to achieve what you are looking for is to use the Actions feature within the Properties Panel of a Button, for example. Using the 'Go To' feature, you can insert the Dashboard UUID (Report ID - it's the same) or the URL for the Dashboard that you wish to open. This article explains more.


/9d7324360d31bc8627478a8c91b9ee36


Let me know if this helps.


Kind regards,

Simon

photo
1

Hi Simon,

Thanks for the response. I don't think I was clear with my question. I'm aware of everything you've mentioned, but my concern basically lies with getting a dashboard's UUID programmatically based on its name.

I currently have a setup where I'm already linking from one dashboard to another based on a hardcoded URL tied to a button in code mode with the target dashboard's UUID included that is working fine. My concern is if the target dashboard's UUID changes when changes are made to the dashboard or new versions/copies are made.

1. Can you tell me what changes to a dashboard will cause a UUID change? Does importing a dashboard into a new YF instance give it a new UUID?

2. Is there a way via code mode/JS API to retrieve the a dashboard's UUID?

Thanks

photo
1

Hi Dillon,


Ah ok, so a Dashboard/ Report (piece of content's UUID) never changes. The only thing that changes is the ID of the piece of content, which updates iteratively with each edit after it's been created. You should never use Dashboard ID, Report ID, Story ID etc for this reason. The only other way a piece of content's UUID would change is if a copy were to be made of it, which would result in a new piece of content with a new UUID.


Does this clear things up for you?


Kind regards,

Simon

photo
1

Hi Dillon,


I hope you've been well!


I'm just messaging to see if the explanation provided earlier clears things up for you, and if you have any further questions. Please feel free to respond here and I will get back to you shortly, otherwise, let me know if this no longer requires assistance and I will go ahead and mark this as answered.


Kind regards,

Simon

photo
1

Hi Simon,

Yes, that clears things up. So I just need to make sure I update the URL manually if a new copy is made of the target report with the new UUID. It is a frequent practice to make copies when creating new versions so I was just wondering if there was a dynamic way to get the UUID of a dashboard based on its name.

That might be a useful enhancement to add as an API function call. Get dashboard UUID by name.

Thanks

photo
1

Hi Dillon,


I'm glad to hear that.


I've gone ahead and made a public idea post on your behalf, outlining the Enhancement Request. I'll continue correspondence there, and keep you updated with any changes.


For the moment, I'll go ahead and mark this question as answered - feel free to re-open it at a later date if you have any further questions.


Kind regards,

Simon