Files & conventions
Genie models are small XML files. Every element and attribute below is read by the parsers in
Genie.Source, and the runtime migrates them into the database at startup. This section is the
complete authoring reference; worked examples live in sample/Inventory/models.
File types
Section titled “File types”| File | Defines | Consumed by |
|---|---|---|
*.entity.xml |
a database entity (table) | source generator (compile-time → EF) and runtime migration (EntityStore) |
*.view.xml |
a grid and/or form over data | runtime migration (ViewStore) |
*.sql |
a stored procedure / function / SQL view | runtime migration (executed) |
*.navbar.xml |
the navigation tree | runtime migration (navigation store) |
*.wizard.xml |
a multi-step wizard | imported via the Wizard Designer UI (not auto-migrated) |
*.workflow.xml |
a state-machine workflow | imported via the Workflow Designer UI (not auto-migrated) |
There is no *.model.xml, *.table.xml, or *.form.xml — a view file is always *.view.xml,
and its root element (<Table> or <Form>) parses to one unified ObjectView.
Parsing rules
Section titled “Parsing rules”- Element names are case-sensitive (they map to enums); attribute names are case-insensitive.
- A missing required attribute is a hard parse error; optional attributes fall back to a default.
- Processing order at startup: entities → views → SQL → navbar.
Where to go next
Section titled “Where to go next”- Entities —
*.entity.xml: fields, indexes, search, logging. - Views —
*.view.xml: the root object and its SQL blocks. - Editor fields & datasets — create/edit form fields.
- Layout — arranging the form.
- Column & field expressions — grid columns, styling, and the smart field rules.
- Actions & row actions — toolbar and row actions, filters, quick-search.
- Bulk import & handlers —
<ImportConfig>and custom handlers. - Sub-views — embedded child grids.
- CartTable — the inline line-item editor.
- Navbar —
*.navbar.xml. - SQL objects —
*.sql.