Summary
Chart widgets (BarChart, ColumnChart, PieChart, LineChart, …) are not authorable via mxcli MDL today, blocking the recommended dashboard recipe. Three distinct gaps, one with a clear root cause.
1. Most chart widgets have no registry definition (P1) — root cause found
exec of pluggablewidget 'com.mendix.widget.web.barchart.BarChart' … fails with "no definition for widget … (run 'mxcli widget init')" even after widget init, which registers only areachart, progressbar, progresscircle, barcodescanner.
Root cause: both ParseMPK (sdk/widgets/mpk/mpk.go, def generation) and getWidgetIDFromMPK (used by FindMPK, augmentation) read only WidgetFiles[0] — the first widget in a package. Charts.mpk is one bundle of 10 widgets (AreaChart, BarChart, BubbleChart, ColumnChart, CustomChart, HeatMap, LineChart, PieChart, TimeSeries, ChartPlayground), with AreaChart first — so only AreaChart ever gets registered/augmented. (ProgressBar/ProgressCircle/BarcodeScanner ship as single-widget .mpks, so they're fine.)
This is the same WidgetFiles[0] limitation noted as latent in #600; Charts is the genuinely-bundled package that triggers it. Fix: parse all widget files per .mpk (def generation, FindMPK registration, and per-widget augment selection).
2. Object-list item (series) datasource can't be expressed (P1)
The grammar accepts series s1 (…) with scalar sub-properties and a { body }, but a custom-named datasource-typed sub-property fails: series s1 (staticDataSource: DATABASE FROM …) errors because the generic IDENTIFIER: value branch only accepts scalar propertyValueV3, not a datasource expression. So a series' actual data binding (staticDataSource / dynamicDataSource, X/Y attributes, aggregation) can't be set — same root limitation as #643 (datasource-typed properties only work via the builtin DataSource: clause, not by name). The existing example mdl-examples/doctype-tests/32-pluggable-widget-object-lists-v010.mdl (OL05) documents this in its own NOTE and only exercises primitive series sub-properties.
3. AreaChart builds with CE0463 (P1, unconfirmed)
The one registered chart (AreaChart) reportedly builds with CE0463 "definition of this widget has changed" (envelope/augment drift) — same class as #600 (embedded 11.6 baseline vs installed Charts 6.x). Not independently reproduced here; needs Studio-Pro verification.
Net / impact
The architecturally-correct dashboard recommendation (Charts widget) currently requires Studio Pro or the experimental MCP backend. Headless/mxcli-only authoring falls back to styled-container "charts."
Fixes
Repro
create or replace page MyFirstModule.Dashboard (Title: 'D', Layout: Atlas_Core.Atlas_Default) {
pluggablewidget 'com.mendix.widget.web.barchart.BarChart' bc (DataSource: DATABASE FROM MyFirstModule.E) { }
}
mxcli exec → "no definition for widget com.mendix.widget.web.barchart.BarChart" (even after mxcli widget init).
Summary
Chart widgets (BarChart, ColumnChart, PieChart, LineChart, …) are not authorable via mxcli MDL today, blocking the recommended dashboard recipe. Three distinct gaps, one with a clear root cause.
1. Most chart widgets have no registry definition (P1) — root cause found
execofpluggablewidget 'com.mendix.widget.web.barchart.BarChart' …fails with "no definition for widget … (run 'mxcli widget init')" even afterwidget init, which registers only areachart, progressbar, progresscircle, barcodescanner.Root cause: both
ParseMPK(sdk/widgets/mpk/mpk.go, def generation) andgetWidgetIDFromMPK(used byFindMPK, augmentation) read onlyWidgetFiles[0]— the first widget in a package.Charts.mpkis one bundle of 10 widgets (AreaChart, BarChart, BubbleChart, ColumnChart, CustomChart, HeatMap, LineChart, PieChart, TimeSeries, ChartPlayground), with AreaChart first — so only AreaChart ever gets registered/augmented. (ProgressBar/ProgressCircle/BarcodeScanner ship as single-widget.mpks, so they're fine.)This is the same
WidgetFiles[0]limitation noted as latent in #600; Charts is the genuinely-bundled package that triggers it. Fix: parse all widget files per.mpk(def generation,FindMPKregistration, and per-widget augment selection).2. Object-list item (series) datasource can't be expressed (P1)
The grammar accepts
series s1 (…)with scalar sub-properties and a{ body }, but a custom-named datasource-typed sub-property fails:series s1 (staticDataSource: DATABASE FROM …)errors because the genericIDENTIFIER: valuebranch only accepts scalarpropertyValueV3, not a datasource expression. So a series' actual data binding (staticDataSource/dynamicDataSource, X/Y attributes, aggregation) can't be set — same root limitation as #643 (datasource-typed properties only work via the builtinDataSource:clause, not by name). The existing examplemdl-examples/doctype-tests/32-pluggable-widget-object-lists-v010.mdl(OL05) documents this in its own NOTE and only exercises primitive series sub-properties.3. AreaChart builds with CE0463 (P1, unconfirmed)
The one registered chart (AreaChart) reportedly builds with CE0463 "definition of this widget has changed" (envelope/augment drift) — same class as #600 (embedded 11.6 baseline vs installed Charts 6.x). Not independently reproduced here; needs Studio-Pro verification.
Net / impact
The architecturally-correct dashboard recommendation (Charts widget) currently requires Studio Pro or the experimental MCP backend. Headless/mxcli-only authoring falls back to styled-container "charts."
Fixes
.mpksupport (this issue's tractable core): register/augment all widgets in a bundled.mpk, not justWidgetFiles[0]. Registers BarChart/ColumnChart/PieChart/LineChart/etc. and also closes the latent bundled-augment gap from DataGrid 2 - Every time I need to upgrade manually since the definition of this widget has changed #600..ai-context/skills/widgets/*.mdshould show a real object-list-item example (per-series datasource) once the grammar supports it.Repro
mxcli exec→ "no definition for widget com.mendix.widget.web.barchart.BarChart" (even aftermxcli widget init).