Problem
After upgrading a Marketplace module that ships widgets (e.g. DataWidgets 2.x → 3.x), Studio Pro shows CE9500 consistency errors on pages that contain those widgets. The error indicates that a widget property — specifically the app ID embedded in the widget configuration — no longer matches the widget definition shipped with the upgraded module.
Running mxcli fix widgets reports "0 units changed / nothing to update", so the command does not resolve CE9500.
Root cause
Widget instances stored in the MPR carry an appId (or equivalent identity field) that ties them to the specific version of the widget package that was installed when the page was last saved. When a major-version module upgrade replaces the widget mpk, the appId in existing widget instances on pages goes stale. Studio Pro validates this at open time and raises CE9500 for every stale instance.
fix widgets currently updates th
mxcli fix widgets (or a dedicated mxcli fix widget-ids sub-command) should:
- After updating the widget definition, scan all page and snippet documents for widget instances whose appId references the old widget version.
- Rewrite the stale appId to match the newly installed widget definition.
- Report how many instances were updated (similar to the existing "N unit(s) changed" output).
This would allow a fully headless upgrade pipeline to resolve CE9500 without requiring the developer to open Studio Pro and manually reconfigure each affected widget.
Steps to reproduce
- Open a Mendix 11 project that uses DataWidgets 2.x on several pages.
- Run mxcli marketplace update --to 3.x --force.
- Run mxcli fix widgets -p <project.mpr> — reports 0 changes.
- Open the project in Studio Pro → CE9500 on every page that had a DataWidgets 2.x widget.
Environment
- mxcli v0.21.0
- Mendix 11.12.4
- DataWidgets upgraded from 2.31.0 → 3.11.4
Problem
After upgrading a Marketplace module that ships widgets (e.g. DataWidgets 2.x → 3.x), Studio Pro shows CE9500 consistency errors on pages that contain those widgets. The error indicates that a widget property — specifically the app ID embedded in the widget configuration — no longer matches the widget definition shipped with the upgraded module.
Running mxcli fix widgets reports "0 units changed / nothing to update", so the command does not resolve CE9500.
Root cause
Widget instances stored in the MPR carry an appId (or equivalent identity field) that ties them to the specific version of the widget package that was installed when the page was last saved. When a major-version module upgrade replaces the widget mpk, the appId in existing widget instances on pages goes stale. Studio Pro validates this at open time and raises CE9500 for every stale instance.
fix widgets currently updates th
mxcli fix widgets (or a dedicated mxcli fix widget-ids sub-command) should:
This would allow a fully headless upgrade pipeline to resolve CE9500 without requiring the developer to open Studio Pro and manually reconfigure each affected widget.
Steps to reproduce
Environment