All Apps and Add-ons

Sideview Utils: How to put a TimeRangePicker on DashboardA to push a selected timerange to URLLoader on DashboardB?

subtrakt
Contributor

Hello, does anyone have suggestions on accomplishing the following?

I have 2 identical dashboards that work perfectly

Dashboard "A" refreshes every 100s with underlying scheduled searches. For the underlying XML modules, useHistory is set to true and autorun="true"

Dashboard "B" has a timerangepicker and uses the same scheduled searches but useHistory is set to false and autorun="false"

Is there any way to put a dormant timerange picker on Dashboard "A" that uses a nested redirector module so once the user selects a timerange on the dormant timerange picker, a popup to dashboard "B" is performed with the predefined timerange?

Here's where i'm at w/ the dormant timerange picker on dashboard "A"

<module name="TimeRangePicker" layoutPanel="viewHeader" autoRun="False">
     <param name="default">Last 60 minutes</param>
     <param name="searchWhenChanged">True</param>
        <module name="Redirector">
    <param name="url">dashboardB</param>
    <param name="arg.earliest">-$search.timeRange.earliest$</param>
    <param name="arg.latest">$search.timeRange.latest$</param>
    <module name="URLLoader" layoutPanel="viewHeader" autoRun="True">
    </module>
    </module>
    </module>

Would dashboard "B" need the URLLoader module to accept the URL with a timerange selected from DASHBOARD "A" ?

 <module name="URLLoader" layoutPanel="viewHeader" autoRun="True">
    <param name="keepURLUpdated">True</param>   
0 Karma

sideview
SplunkTrust
SplunkTrust

Yes that would work. Some key parts.

1) You definitely need a URLLoader in Dashboard B. It needs to be upstream from anything that needs to prepopulate from the URL, or use $foo$ tokens from the URL. You want no URLLoader in Dashboard A.
2) pass any args you need from A to B with the Redirector, ie <param>$search.timeRange.earliest$ and <param>$search.timeRange.latest$
3) If autoRun is false on Dashboard B itself, you'll want to pass a <param>True arg in your Redirector on Dashboard A, to override it.

4) Never nest autoRun. Meaning never have any autoRun="True" on any module that is itself contained (ie downstream) from any other module with autoRun="true". It serves no purpose and has bad side effects. autoRun cascades anyway, which is why it serves no purpose. Also, autoRun="False" is meaningless and does nothing, trust me.

0 Karma
Get Updates on the Splunk Community!

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...

Introducing the 2024 Splunk MVPs!

We are excited to announce the 2024 cohort of the Splunk MVP program. Splunk MVPs are passionate members of ...

Splunk Custom Visualizations App End of Life

The Splunk Custom Visualizations apps End of Life for SimpleXML will reach end of support on Dec 21, 2024, ...