forked from mendixlabs/mxcli
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Summary
Boundary events (timer-based interrupting/non-interrupting) are fully supported in BSON parsing and writing, but there is no MDL syntax to declare them. Users must create boundary events in Studio Pro and cannot manage them via MDL scripts.
Gap
| Layer | Status |
|---|---|
| BSON Parser | ✅ Fully implemented |
| BSON Writer | ✅ Fully implemented |
| MDL Grammar | ❌ No syntax |
| MDL Executor | ❌ No handler |
Key Files & Lines
Grammar — where to add the rule
mdl/grammar/MDLParser.g4:2223-2231—workflowActivityStmtalternatives; addworkflowBoundaryEventStmtmdl/grammar/MDLParser.g4:2234-2245—workflowUserTaskStmt; add optionalBOUNDARY EVENTclause
AST — where to add the node
mdl/ast/— addWorkflowBoundaryEventNodestruct
Visitor — where to build the AST node
mdl/visitor/— implementExitWorkflowBoundaryEventStmt
Executor — where to wire up BSON generation
mdl/executor/cmd_workflows_write.go:159-194—buildWorkflowActivities()dispatch
BSON Writer — already implemented, reference only
sdk/mpr/writer_workflow.go:153-196—serializeBoundaryEvents()sdk/mpr/writer_workflow.go:272-276— boundary events written per activity
BSON Parser — already implemented, reference only
sdk/mpr/parser_workflow.go:599-644—parseBoundaryEvents()sdk/mpr/parser_workflow.go:307-308,354-355,378-379,459-460— per-activity parse calls
Proposed MDL Syntax
USER TASK 'ApproveOrder' 'Approve Order'
PAGE MyModule.ApprovePage
TARGETING MICROFLOW MyModule.GetAssignee
OUTCOMES 'Approve' -> { } 'Reject' -> { }
BOUNDARY EVENT TIMER INTERRUPTING '${PT1H}';Array Marker
BoundaryEvents always uses int32(2) — see writer_workflow.go:155.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels