Point It at an Object, Get a Dashboard: Schema-driven data visualization — built as a Liferay Client Extension
Presenter: Tiago de Souza Campelo Silva, Software Engineer, Liferay
Every Liferay developer has built the Object that quietly fills up with great data — and then fielded the question, “can we get a chart of that?” The instinct is to hand-code a chart-per-query, or reach for a separate tool. But Liferay already gives you the data and the Headless APIs for free, so let’s turn that into dashboards right on the platform. In this deep dive we build a custom-element Client Extension that puts an interactive chart in front of any Liferay Object. Drop it on a page, point it at an Object — Sales Orders, support cases, anything — and because the extension reads the Object’s definition, it offers the right dimensions and measures and renders a live chart from Headless data with no per-chart code. Then we go after the part the tutorials skip: aggregation. Object endpoints filter, sort, and paginate but don’t group-by, so we walk the real spectrum — grouping client-side for small sets, filter-then-aggregate to trim the payload, and pushing group-by to a microservice when the row counts get serious — and name exactly when to switch. Compose a full dashboard by dropping several configured widgets on a page; the page builder is your layout. You’ll leave with the scaffold, the schema-to-config trick, the aggregation patterns, and a theme-native charting widget that turns any Object into a self-serve dashboard.