"Push" event to other dashboards / users

Hey everyone, I’m just wondering if there’s a way to create some kind of event in one dashboard that would trigger an event to all other dashboards and/or users?

More specifically, I’m thinking that if one user executes a writeback to our database, I’d like to trigger a refresh event for everyone else who is viewing those data. They may be on the same dashboard, or other dashboards, if that matters.


1 Like

Hello @ken,

This can be achieved using the following scenario. I think there are also some other possibilities but it depends on your requirements.
You can have a separate database, with a stored procedure which is writing/deleting/updating a specific table. After this, you have to build the CRUD mechanism in Dundas and the users will be able to insert/update/delete values from that table. This will be your trigger.
In order to change the dashboards layout, design, values, charts etc. based on users input you have to configure in each dashboard (where you would like to change something) a timer which is checking the existing value for the table. The timer will run at every 5-10 seconds and will contain a script. As an example, if the value of the table is “No”, the dashboard will stay unchanged. If the value of the table will be set to “Yes” (user interaction), the timer will “see” this change and will run a specific script.

In your case, you can take as a trigger the timestamp of “Table last updated” or the rows number of the table. The timer will periodically check this value and based on a script the page will be refreshed.
For this case, another solution could be the data auto refresh interval option combined with the other options bypass data cache etc. https://www.dundas.com/support/learning/documentation/create-view-content/refresh-data-in-dundas-bi

Hope this helps!

1 Like

Thanks, that got my thinking going.

So I’m thinking that for my application, a global variable might be helpful here. When a writeback executes, and its table refreshes, set the value of the global value to ‘stale’. Then a timer looks at that value and executes a trigger to refresh data if it says ‘stale’.

What I’m trying to avoid is frequent table pings. I find that, over time, they tend to become more taxing to a database than you’d expect, partly because they accumulate as the project(s) grow.

So what about this - can I trigger a data cube refresh from an event? That might work. Your link had some good basic info, but it stopped short of this level of stuff unfortunately.

Hello @ken,

Regarding the global variables, there are several posts here. You can search for these but I do not know if you will find exactly this use case.
You can trigger a cube refresh from an event but also on the dashboard side you have to refresh a visualization in order to trigger the event.
I think (never tried) it is possible to integrate a global variable with an external package without being required to update and check a dashboard table.