All Apps and Add-ons

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


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">

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


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