Skip to content

Input widget bound to a page variable: MDL cannot write it (MDL-WIDGET34) and DESCRIBE PAGE silently drops the binding #1235

Description

@kaspergff

Environment: mxcli nightly-20260927-95091765 (2026-09-27T08:03:29Z), Mendix 11.12.1, Windows 11.

Summary: An input widget (checkbox, text box, …) bound directly to a page variable (Forms$PageVariable.LocalVariable) cannot be expressed in MDL, on either the write or the read side. On read, DESCRIBE drops the binding silently, so a DESCRIBE → exec round-trip turns a bound widget into an unbound one without any warning.

This is the input-widget counterpart of #977 (ContentParams bound to a page variable) and #565 (DESCRIBE of a ClientTemplateParameter bound to a page variable).

Steps to reproduce — write side

create or replace page MyModule.Order_Overview (
  Title: 'Orders',
  Layout: Atlas_Core.Atlas_Default,
  Variables: { $ShowAll: Boolean = 'true' }
) {
  checkbox cbShowAll (Label: 'Show all', Attribute: $ShowAll)
}

Actual (mxcli check)

checkbox `cbShowAll`: `Attribute: $ShowAll` is not an attribute binding MDL can store — the widget would be written with no binding at all, inside a data view or outside one. [...] [MDL-WIDGET34]

Steps to reproduce — read side

  1. In Studio Pro, create a page with a Boolean page variable ShowAll and a checkbox whose value is bound to that page variable.
  2. mxcli describe page MyModule.Order_Overview

Actual: the checkbox is printed as checkbox checkBox1 (Label: 'Show all'): no binding, no comment, no warning. mxcli bson dump --type page does contain the binding (Forms$PageVariable with LocalVariable: "ShowAll"). Executing the DESCRIBE output writes an unbound checkbox.

Expected

  • Write: Attribute: $ShowAll (or a dedicated keyword) on an input widget writes the page-variable binding.
  • Read: DESCRIBE prints that same form. At minimum, until writing is supported, DESCRIBE should emit a warning/comment that the widget has a page-variable binding MDL cannot represent, so a round-trip is not silently lossy.

Workaround: a non-persistent helper entity with a data view around the widget.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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