Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Live Breakdown

No security coverage Under active development

Live Breakdown shows how a total splits into parts, live. It renders a donut chart and a table in a block, and updates them in the browser within about a second of new data arriving, without page reloads or Ajax calls on a timer.

It works for any "share of total" data: traffic by source, votes by option, tickets by status, sales by region, or market share by venue.

How it works

A small companion service written in Go (standard library only) holds the current data and pushes updates to browsers with Server-Sent Events. Drupal provides the block, the settings, and a publish form. The live stream goes straight from the Go service to the browser, so open tabs never hold a PHP-FPM worker.

Features

  • Live updates over SSE. One long-lived connection per browser replaces repeated polling requests.
  • Handles bad networks. The widget reconnects automatically. It detects proxies that accept the stream but never send data, falls back to polling, and switches back to live streaming when it can.
  • Cache-friendly. The block is fully cacheable. The snapshot route sends public, max-age=2, so
    Varnish or a CDN can absorb the polling traffic.
  • Saves resources. Updates pause when a tab is in the background, and several blocks on one page share a single connection.
  • Publish form. Admins can enter names and values by hand and push them to every open page right away.
  • Accessible and themeable. Colors use the Okabe-Ito palette, which is safe for colorblind readers, and the
    chart has a text summary for screen readers. Every color is a CSS custom property (--lb-*) that your theme can
    override.
  • Clear status. A badge tells readers whether the data is live, reconnecting, polling, paused, or offline.

Requirements

  • Drupal 11
  • The bundled Go service (Go 1.22 or later), reachable by both PHP and browsers

Getting started

  1. Install the module: composer require 'drupal/live_breakdown:^1.0@alpha', then drush en live_breakdown.
  2. Start the Go service, which ships inside the module: from web/modules/contrib/live_breakdown/go-service, run go run .
  3. Set the service URL and stream URL at Configuration › Web services › Live Breakdown.
  4. Place the Live Breakdown: live share chart block.

The README covers running the service inside DDEV, the publish token, and deploying to production.

Connecting your own data

The Go service ships with a simulator so you can see it working right away. For real data, replace the simulator with a
reader for your feed, or push updates from Drupal or any other system to the POST /publish endpoint. The hub and HTTP layer don't change.

Ask your assistant about Live Breakdown

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
3
Tracked since
Nov 2026
Latest release
1 hour ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core PHP Release date
1.0.0-alpha2 Pre-release 11 Nov 2, 2026
1.0.0-alpha1 Pre-release 11 Nov 2, 2026
1.0.x-dev Dev 11 Nov 2, 2026