Skip to content

MDL round-trip validation: CALCULATED attribute missing microflow binding & DESCRIBE DEMO USER missing ENTITY clause #1

@engalar

Description

@engalar

Summary

During end-to-end round-trip validation of mxcli MDL capabilities (create → describe → compare), the following issues were discovered.

Test Environment

  • Mendix version: 11.6.4
  • mxcli: latest
  • Project: GenAIDemo (with WorkflowCommons module, workflows, demo users)

Issue 1: CALCULATED attribute lacks microflow binding → CE0026

Steps to reproduce:

CREATE PERSISTENT ENTITY RTTest.CalcEntity (
  BaseValue: Integer DEFAULT 100,
  Multiplier: Integer DEFAULT 2,
  Result: Integer CALCULATED
);

Expected: Either syntax to specify the calculation microflow (e.g., CALCULATED BY RTTest.MF_CalcResult), or a clear error at MDL execution time.

Actual: Entity is created successfully, but Studio Pro reports:

CE0026  No microflow selected.  Attribute 'RTTest.CalcEntity.Result'  Domain model  RTTest

The CALCULATED keyword creates a virtual/calculated attribute but provides no way to bind the required calculation microflow, making it unusable without manual Studio Pro intervention.

Suggestion: Add syntax like:

Result: Integer CALCULATED BY RTTest.MF_CalcResult

Issue 2: DESCRIBE DEMO USER does not round-trip ENTITY clause

Steps to reproduce:

-- Create with ENTITY clause (works correctly)
CREATE DEMO USER 'demo_tester' PASSWORD 'TestPassword1!' ENTITY Administration.Account (RTTestRole);

-- Read back
DESCRIBE DEMO USER 'demo_tester';

Expected output:

CREATE DEMO USER 'demo_tester' PASSWORD '***' ENTITY Administration.Account (RTTestRole);

Actual output:

CREATE DEMO USER 'demo_tester' PASSWORD '***' (RTTestRole);

The ENTITY Administration.Account clause is accepted during creation but lost on DESCRIBE, breaking round-trip fidelity.


Issue 3: CREATE WORKFLOW not supported

DESCRIBE WORKFLOW outputs a structured representation including USER TASK, PARALLEL SPLIT, DECISION, CALL MICROFLOW, CALL WORKFLOW, WAIT FOR NOTIFICATION, WAIT FOR TIMER, JUMP TO — but there is no corresponding CREATE WORKFLOW command.

Workflows can only be read, not created or modified via MDL.


Full Round-Trip Test Results

Passing

Feature Create Describe Round-trip
String(length) — 200, 50, 2000, 20
DEFAULT (String, Decimal, Boolean, Integer) ✅ (Decimal 0.00)
NOT NULL + ERROR message
Empty microflow
Microflow with RETRIEVE + RETURN
Page (nested LAYOUTGRID/CONTAINER/DYNAMICTEXT)
Module Role
GRANT entity/microflow/page access
GRANT/REVOKE EXECUTE ON WORKFLOW
User Role (with System.User)
Demo User (basic)
Workflow DESCRIBE (read-only)
Settings (UserEntity, TaskParallelism) unchanged

Failing / Not Supported

Feature Status Error
CALCULATED attribute ❌ Creates but CE0026 in Studio Pro No microflow binding syntax
DEMO USER ENTITY clause ⚠️ Partial DESCRIBE loses ENTITY info
CREATE WORKFLOW ❌ Not supported Parse error
ALTER ENTITY ❌ Not supported Not in grammar

Test Scripts

Available at tests/roundtrip-create.mdl, tests/roundtrip-verify.mdl, tests/roundtrip-cleanup.mdl for reproduction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions