Skip to content

Feature request: CREATE LAYOUT support in MDL #147

@engalar

Description

@engalar

Description

MDL currently supports creating pages, snippets, microflows, entities, navigation, and many other Mendix artifacts — but not Layouts. This forces developers to switch to Studio Pro for layout creation, breaking the CLI-first workflow.

Use Case

When building a branded enterprise application, we need a custom layout that:

  • Replaces the standard Atlas navigation with a custom branded top bar
  • Includes a company logo in the header area
  • Adds "Back" navigation placeholders for secondary pages
  • Breaks the conventional Mendix app appearance

Currently, the only option is to use existing Atlas layouts (Atlas_TopBar, Atlas_Default, etc.) and try to simulate custom navigation using page-level containers. This produces suboptimal results because:

  1. The standard Atlas navigation still shows alongside custom widgets
  2. Layout-level placeholders cannot be defined or customized
  3. Every page must duplicate header/navigation widgets instead of inheriting from a layout

Proposed Syntax

CREATE LAYOUT MyModule.Custom_Layout (
  LayoutType: Responsive,
  Platform: Web
) {
  CONTAINER ctnTopBar (Class: 'custom-topbar', Style: '...') {
    IMAGE imgLogo (WidthUnit: pixels, Width: 140)
    PLACEHOLDER Navigation
  }
  PLACEHOLDER Main
  PLACEHOLDER Footer
};

-- Pages reference the layout
CREATE PAGE MyModule.Dashboard (
  Title: 'Dashboard',
  Layout: MyModule.Custom_Layout
) { ... }

Impact

Without layout support, AI agents using mxcli cannot produce fully branded applications end-to-end. Layout creation remains the one artifact that always requires Studio Pro manual intervention.

Workaround

Currently using Atlas_Core.Atlas_TopBar and adding branded CONTAINER widgets at the top of each page. This duplicates UI code and doesn't truly customize the navigation structure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions