Publisheradvanced

Bursting: Splitting and Delivering Reports at Scale

Explain how BI Publisher's bursting engine splits a single large report into per-recipient documents and delivers each via different channels automatically.

Bursting is BI Publisher's signature high-volume feature: instead of generating one giant PDF containing every customer's invoice and manually splitting/emailing it, bursting runs the data model once, automatically partitions the results by a chosen key (customer, region, cost center), and delivers a personalized document to each recipient through whatever channel is appropriate for them — all from a single scheduled job. Interviewers ask about this because it's the feature that makes BIP genuinely valuable at enterprise scale, not just a fancy template engine.

It's like a mail room that receives one giant stack of company-wide mail, automatically sorts it by addressee, stuffs each person's specific pages into their own envelope, and sends each envelope via whatever method that person prefers (post, courier, or digital) — all without a human manually sorting a single page.

Key Concepts

1
Mechanically, bursting requires a bursting query (or the main data model itself, split via a specified key element) that determines the grouping — typically the same field used for the master group in the data model (e.g., CUSTOMER_ID) — plus a delivery mapping that resolves, per group, the recipient's email address, output format, delivery channel (email, fax, printer, FTP, WebDAV, or a content server), and even which specific template/locale to use (enabling one bursting job to send French-templated invoices to French customers and English-templated invoices to everyone else, in the same run).
bursting querydelivery mappingkeyCUSTOMER_ID
2
A bursting-enabled report is configured via the Bursting definition in the report's Data Model, referencing a bursting SQL query whose result set typically looks like: KEY, EMAIL, ATTACHMENT_FORMAT, TEMPLATE, LOCALE, PARAMETER columns — one row per recipient/group. When the job runs, BI Publisher generates one output document per key value (filtering the main data model's results to just that key), applies the specified template, and hands it off to the configured delivery channel.
BurstingKEY, EMAIL, ATTACHMENT_FORMAT, TEMPLATE, LOCALE, PARAMETER
3
A senior-level point to raise: bursting jobs at real scale (tens of thousands of recipients) need to be monitored for partial failures — one bad email address or a downstream delivery timeout shouldn't silently drop that one customer's invoice without any record, so production bursting jobs should log delivery status per recipient and support re-running failed deliveries without regenerating the entire batch.