Models
Un model descriu la forma d'un tipus de dades — un tipus. Pertany a un schema i està format per propietats.
Propietats
Cada propietat té:
- Un nom (per exemple,
email,birthDate,totalAmount). - Un tipus — text, cadena localitzada (un valor per idioma), enter, decimal, booleà, datetime, referència a un altre model, o una col·lecció de qualsevol d'aquests.
- Una descripció que explica el significat de la propietat a humans i agents d'IA.
- Un valor per defecte opcional.
- Opcionalment, una expressió que fa la propietat virtual (calculada en temps de lectura a partir d'altres propietats).
Per a text que llegeixen els usuaris finals i que hauria de canviar segons l'idioma de la interfície — noms, títols, etiquetes — fes servir una cadena localitzada en lloc d'un text normal (vegeu Cadena localitzada).
Restriccions
Més enllà del tipus bàsic, les propietats poden portar restriccions:
- Visualització — ordre, visibilitat, indicador de només lectura, layout
flex, agrupació en seccions. - Restriccions de text — longitud mínima i màxima, patrons regex.
- Restriccions d'enter — valors mínim i màxim.
- Restriccions de datetime — moments mínim i màxim permesos.
- Restriccions de referència — a quin model apunta una referència, cardinalitat (1..1, 1..N, N..N).
- Restriccions de col·lecció — recompte mínim i màxim d'elements.
Aquestes restriccions alimenten els formularis autogenerats i la pàgina d'ajuda per model (vegeu Schemas & Models a l'esquerra).
Versionat
Els models poden estar versionats. Yellow guarda un historial dels canvis perquè les instàncies antigues continuïn sent llegibles fins i tot després que el model evolucioni.