Skip to content

CE0463 on engine-routed pluggable widgets (Accordion, Maps, PopupMenu, AreaChart) #548

@ako

Description

@ako

v0.11+ follow-up to #541 (which closed CE0463 on DataGrid + Gallery + filter widgets in #541's scope).

Symptom

Fixture mdl-examples/doctype-tests/32-pluggable-widget-object-lists-v010.test.mdl executes cleanly via `mxcli exec` (the v0.10.0 Phase 1 grammar + executor support landed), but Studio Pro reports CE0463 on every widget instance:

[error] [CE0463] ... at Maps 'map1'
[error] [CE0463] ... at Maps 'map2'
[error] [CE0463] ... at Accordion 'acc2'
[error] [CE0463] ... at Pop-up menu 'menu1'
[error] [CE0463] ... at Pop-up menu 'menu2'
[error] [CE0463] ... at Area chart 'chart1'

`acc1` (Accordion with plain text-header groups, no custom header content) passes — so part of the engine path works.

Why it's separate from #541

#541 closed CE0463 via 5 fixes scoped to DataGrid + Gallery + their filter widgets:

  • AllowUpload field — applied to all 30 templates (helps engine widgets too)
  • WidgetObject.Properties reorder — only 5 specific templates needed it
  • Filter widget CustomWidget envelope (Appearance / Conditional* / LabelTemplate) — buildFilterWidgetBSON-specific
  • TextTemplate Translation defaults — 4 templates
  • Boolean default alignment — only datagrid.json

The engine-routed widgets (Accordion, Maps, PopupMenu, AreaChart, etc.) go through a different code path: `PluggableWidgetEngine.Build()` → `WidgetObjectBuilder` → `Finalize` → `serializeCustomWidgetWithRawType`. The full Mendix BSON envelope is written, but the engine widgets still fail CE0463 — meaning there's a drift in the embedded template (or the augmentation logic, or the EnsureRequiredObjectLists defaults) specific to these widget families that #541's audit didn't surface.

Investigation methodology (proven, reuse from #541)

Per `.claude/skills/debug-bson.md` and `docs/03-development/WIDGET_BSON_VERSION_COMPATIBILITY.md`, per failing widget family:

  1. `mxcli exec` fixture feat(mdl): close MDL-NDSL gap — missing page/widget properties #32 against a fresh Mendix 11.9 project
  2. Snapshot BSON of one failing widget (e.g. `acc2`)
  3. Open project in Studio Pro 11.9, right-click → "Update widget"
  4. Snapshot again
  5. Diff (UUID-normalized) → the diff IS the fix

Each pattern that appears typically yields a 1-3 line patch and unblocks all instances of that widget family.

Expected output

Out of scope

Priority

Medium. v0.10.0 ships without these (headline goal was DataGrid + Gallery). Closing this unlocks Phase 1's other object-list-bearing widgets for production use.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions