Metadata
Updated
Every application object is a row in a Meta* table, plus the json file the workspace syncs. The kernel loads that description and generates tables, entities, API, and screens.
The kinds the kernel knows:
| Kind | Purpose | Kind page |
|---|---|---|
| Dictionary | A catalog of records plus its fields | Dictionary |
| Document | Header, table parts, subtypes-as-states, commands | Document |
| Register | Totals / movements, or information (IR_) |
Accumulation register, Information register |
| EDT | The type of a field (scalar, Reference, Enum) |
EDT |
| TablePart | The type of a document's lines | Table part |
| LinkTable | An M:N link | Link table |
| NumberSequence | The human ID / Number |
Number sequence |
| GlobalConstant | Named constants | Global constant |
| Enum | Stored as an integer | Enum |
| WebService | RPC /api/rest/{Name} |
Web service |
| DataEntity | OData /odata/{Name} |
Data entity |
| Form layout | A screen that is not a record card | Form |
| Print form | A sheet bound to a document or dictionary | Print form |
| Menu | How the user reaches an object | Menu |
| Service | Logic any script can GetService |
Service |
| Job | A scheduled or on-demand script in a model | Job |
IMetadataService is introspection of this catalog.
In-app ⓘ guides are MetaGuide rows. The source of the defaults is wiki/guides/<key>.md, seeded into Core. A user-edited guide is never overwritten. See In-app help.
Related#
- Models and layers — who owns a metadata row
- Identity —
MetaIdon every row - Scripts — behaviour that metadata cannot express
- Schema — physical tables from this description
- Data package — seed JSON, not a
Meta*row. Live sync skips it.
Where next#
Was this page helpful?