A live dashboard reaches a screen in one of two ways. You embed the dashboard’s own web page with the webpage widget, or you push the numbers into a DataSet and lay them out yourself. Embedding takes about five minutes. Getting an unattended player to authenticate against a private dashboard, and keeping it authenticated for the next two years, is the part that takes an afternoon and the part nobody writes about.
This article covers both routes, and the two questions that decide whether the wall is useful or ignored: how often it should refresh, and what it shows when the network is down.
There is no charts widget, so a chart is an embed or an image
Start here, because it saves an hour of looking for a menu item that does not exist. easyCMS has no charts widget. You cannot point the CMS at a spreadsheet and ask it to draw a bar chart.
That leaves three honest routes to a chart on a wall:
- An embedded web page. The dashboard is built and rendered somewhere else, and the screen shows that page. This is what most people mean by a dashboard on signage.
- The dashboards widget, an add-on covering dashboard services such as Power BI.
- A published image. Export the chart as a PNG and play it like any other media. Boring, cached, and it never goes blank. For a figure that changes monthly this is usually the right answer, and building it at the screen’s own resolution keeps it sharp.
If you want charts drawn inside the signage tool itself, some subscription platforms do that better than we do. Platforms built around a library of ready-made apps have tiles for this, and we have no app marketplace at all. If that is the reason the project exists, it is a fair reason to buy one of them instead.
The three sources worth using
Almost every deployment we see uses one of three tools. The rest are variations on the same mechanics.
| Source | How it reaches the screen | Realistic unattended auth | Best for |
|---|---|---|---|
| Looker Studio | Webpage widget pointed at the report’s embed URL | Link sharing set to view access for anyone with the link | Marketing, web analytics, anything already in Google’s stack |
| Microsoft Power BI | Dashboards widget (add-on), or webpage widget | Publish to web where policy allows, otherwise a service account | Finance and operations reporting in a Microsoft shop |
| Grafana | Webpage widget with kiosk mode in the URL | Anonymous read-only access scoped to the internal network | Manufacturing, IT operations, anything with a time series |
Looker Studio
Looker Studio is what Google Data Studio was renamed to in 2022, which is worth saying because half the tutorials online still use the old name. If you followed one of those, nothing has changed except the branding and the URL.
You build the report, set link sharing so anyone with the link can view, and put the report URL into a webpage widget. Reports built for a browser tab usually need a second, wall-specific copy with fewer pages and larger type. That takes ten minutes and is worth doing properly.
Microsoft Power BI
Power BI has a dedicated dashboards widget, but it is an add-on rather than part of the standard widget set, so ask us before you build the layout.
The alternative is the webpage widget pointed at a Power BI embed. This is where most Power BI signage projects stall, because a normal report URL requires a signed-in Microsoft account and a player has nobody to sign it in.
Watch out Power BI’s publish to web feature solves the login problem by making the report readable by anyone on the internet who has the link. That is a genuine publication, not a private share. Many organisations disable it by policy, and if yours has not, check what is actually in the report before you use it for a canteen screen.
Grafana
Grafana is the easiest of the three to put on a wall, for one reason: it usually runs on your own network, so you can grant read-only access by network location rather than by user account. Add kiosk mode to the URL to strip the menus and side panel, set the refresh parameter, and point a webpage widget at it.
That pattern works best in a factory or a server room, where the screen and the Grafana server sit on the same internal network. More on that in digital signage for manufacturing.
The hard part: logging in a player that has no user
A dashboard on your laptop works because you are signed in. A player has no user sitting in front of it, no password manager, and no way to answer a multi-factor prompt. Four approaches actually work, and each one trades something away.
| Approach | Who can see the data | Survives a reboot | Effort | Use when |
|---|---|---|---|---|
| Public read-only link | Anyone with the URL | Yes | Low | The numbers would not embarrass you on a poster |
| Dedicated low-privilege account, signed in on the player | Anyone who reaches the device | Not reliably. Sessions expire and prompts appear | Medium, plus ongoing babysitting | Nothing else is available |
| Network-scoped dashboard with anonymous read | Anyone on that network segment | Yes | Medium, needs a network admin | You host the dashboard tool yourself |
| Scheduled export into a DataSet | Only people who can open your CMS | Yes, it is cached content | Medium, needs a small script | The numbers are simple and it must never break |
Three rules come out of running these in practice.
Never sign a screen into a personal account. When that person changes their password, rotates their MFA device or leaves, the wall goes blank and nobody connects the two events for a week. If you must use an account, make it a dedicated one with access to exactly one report and nothing else.
Treat a signed-in session as temporary. The second approach looks fine on day one and fails on a random Tuesday in month four. If you choose it, put the dashboard in a region rather than across the whole layout, so the fallback is a partial screen rather than a login page displayed at 55 inches.
Check the network path separately. Your player pulls content from the CMS and accepts no inbound connections, so signage itself needs no inbound port opened. A dashboard is a second, different outbound destination, and on a segmented network it often needs its own firewall rule. Sort that out before installation day, not on it. See network requirements.
The fourth approach removes the problem instead of managing it, and we come back to it at the end.
Refresh intervals, and why ten seconds is usually wrong
A dashboard on a desk is read by someone looking for something. A dashboard on a wall is glanced at for three seconds by someone walking past at four metres. Those are different jobs, and the refresh rate is where people get it wrong most often.
A figure that changes every ten seconds cannot be read, cannot be compared with the figure beside it, and cannot be trusted, because the viewer has no idea whether the movement means anything. It also creates a request to the dashboard host every ten seconds per screen, forever.
| What you are showing | Sensible refresh | Reason |
|---|---|---|
| Monthly or quarterly KPIs | Once an hour | The underlying number changes once a month |
| Daily sales, tickets closed, attendance | Every 5 to 15 minutes | Fast enough to feel current, slow enough to read |
| Shift output, line status, current queue | Every 1 to 5 minutes | Operational, but still readable |
| Safety alerts, queue calling, andon | A purpose-built page, not a BI report | A reporting tool is the wrong instrument |
Two refresh rates are in play and people confuse them. The dashboard tool has its own data freshness setting, which controls how often it re-queries the source. The screen has its own cycle, which controls how often the embedded page is loaded again as the layout comes back around. Setting the second one to one minute achieves nothing if the first is set to one hour.
Tip Put a visible “last updated” timestamp on the dashboard itself. It costs one tile and it turns a silently frozen board into an obviously frozen board, which is the difference between a five-minute fix and a five-week one.
What the screen shows when the network drops
Nothing useful. This is the single biggest weakness of embedded dashboards and it deserves to be said plainly.
An easyCMS player downloads images, video, audio, PDFs and layouts in advance and plays them from local storage, so those keep running through an outage. A dashboard is fetched at the moment it plays. When the connection goes, the region is blank or shows a browser error while the layout around it carries on looking healthy, and nobody reports it, because a screen that is on does not look broken. There is more in digital signage without internet.
Three defences:
- Never give a dashboard the whole layout. Put it in a region with cached content beside it. A blank corner reads as a design choice, a blank screen reads as a fault.
- Keep at least one cached item in every rotation. An image or a video that always plays and always works, so the wall stays intentional when the live tile does not.
- Ask us to switch on offline alerts so you hear it from the CMS rather than from a manager. See display monitoring.
Test it before installation by unplugging the network cable on the bench and watching a full loop twice. Ten minutes finds every dead region.
Designing for a wall, not a desk
The most common failure is not technical. It is a dashboard designed for a 27-inch monitor at arm’s length, shown on a wall at four metres, where none of it can be read.
- Four to six tiles, not sixteen. If you cannot say what the screen is for in one sentence, it has too much on it.
- Type large enough to read across the room. As a rough rule, the smallest text should be at least 40 pixels tall on a 1080p canvas. Then stand where the audience will stand and check.
- No tooltips, no hover, no filters, no drill-down. Nobody will touch it, so anything that only reveals its meaning on interaction is invisible. Every number needs its label printed beside it.
- Build at the screen’s own resolution and orientation. A canvas set to the display’s dimensions avoids scrollbars and letterboxing, and portrait needs its own layout rather than a rotated landscape one. See screen resolution and orientation.
- Use colour that means something. Green and red should mean good and bad consistently across every tile, and nothing important should rely on colour alone.
- Say what good looks like. A number with no target is trivia. “142” means nothing. “142 against a target of 130” means something to everyone who walks past.
There is more on what belongs on an office wall in digital signage for internal communication.
When a DataSet beats a dashboard
If your numbers are simple, and most wall numbers are, skip the embedding problem entirely.
A DataSet is a table inside the CMS, filled from a table you type into or a CSV you upload, and rendered as text or a table in a layout region. It caches on the player like any other content, so it keeps showing during an outage. There is no login, no session that expires, and no third-party service to go down.
The pattern that works: a scheduled job exports the numbers from your source system into a CSV, that CSV updates a DataSet, and the layout renders it. The screen never authenticates against anything. Details are in dynamic content with DataSets, and the practical walkthrough is in digital signage from a spreadsheet.
The trade-off is honest: you get numbers and simple tables, not charts. If the chart is the point, embed the dashboard. If the point is that everyone knows yesterday’s output figure, a DataSet is more reliable and less work to keep alive.
The short version
Build the dashboard in Looker Studio, Power BI or Grafana, then put it on the screen with the webpage widget, or the dashboards add-on for Power BI. Decide the authentication approach first, because it constrains everything else. Refresh in minutes, not seconds. Keep the dashboard in a region with cached content around it, and put a timestamp on it. Where the numbers are simple, use a DataSet and remove the failure mode.
If you are not sure which of the four authentication routes fits your setup, email info@myeasycms.com describing where the data lives and who is allowed to see it. The assistant and the guides are free to everyone, and an expert hour is 25€ when you want a person on it.
Related reading: webpages and embedded content, digital signage from a spreadsheet, and digital signage for manufacturing.