Skip to content

a layout whose placeholder is not named Main passes check AND exec, then fails CE0848 — and there is no DROP LAYOUT #1063

Description

@marclehane-creator

Re-confirmed unchanged on 0.21.0 (2026-09-07).

  • Repro.
    CREATE OR REPLACE LAYOUT ProbeSecond.App_Other (layouttype: 'Responsive', class: 'layout-atlas') {
      scrollcontainer layoutContainer { region center (Class: 'region-content') { placeholder Content } }
    }
  • Measured. mxcli check -p --referencesCheck passed!; execCreated layout;
    mx checkCE0848 "No placeholder with the name 'Main' found. There should be exactly one."
    at Layout 'ProbeSecond.App_Other'.
  • This contradicts the release notes' own rationale. 0.20.0 argues that which placeholder is
    "main" is a naming convention (22 of 22 Atlas layouts name one Main, and a page binds by
    qualified name anyway), and on that basis declines to expose MainPlaceholderName as a header
    property. mxbuild enforces it as a rule. Since mxcli now writes layouts, it should enforce
    the same rule the builder does — a one-line check at the point the layout is built.
  • Compounding: there is no DROP LAYOUT verb. DROP LAYOUT Mod.Name is a parse error
    (no viable alternative at input 'DROPLAYOUT'), and no drop form appears anywhere under
    mxcli syntax layout / layout.alter / layout.show. A layout is creatable and alterable but
    not removable — unique among the doctypes mxcli writes (pages, microflows, entities, queues,
    rules and folders all have one). So a layout authored with the wrong placeholder name cannot be
    deleted headlessly; it must be repaired with CREATE OR REPLACE LAYOUT.
  • Related, same area: placeholder Name { } — the page spelling, with braces — passes
    mxcli check inside a layout and is then refused by exec with
    "layout X declares no placeholder: a page's content has nowhere to go. Add placeholder Main…".
    In a layout the placeholder is bare. The exec message is excellent; the check that preceded
    it validated the wrong grammar.

mxcli 0.21.0 (mxcli-windows-amd64.exe, 2026-09-06 build), Mendix 11.11.0 / 11.12.x, Windows 11. Each item was re-measured on a fresh app with a control of the same construct type, and every mx check verdict is the literal The app contains: N errors. line. We keep the full register with repros in our repo; happy to share more detail.

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