ZuloOne
English
Sign in
Menu

How the system is assembled

Updated

ZuloOne is metadata plus C# scripts. An application object is a json description. Behaviour that metadata cannot express is a script. From those two the platform generates the tables, the entity classes, the REST API, and the screens.

Note

Adding a module means adding metadata and scripts in a model. It does not mean a new controller, a migration, or a UI component. Those are kernel work.

This page is the kernel map. Kinds of metadata hang under Kinds. One object at a time hangs under Sales, Purchasing, Warehouse — the catalog. There are no SQL migrations. Schema builds physical tables without foreign keys in the database. Scripts stay sandboxed: no file system, network, or process APIs.

Kernel#

Piece What it is
Models and layers The unit of ownership and of transfer. Extensions only look down.
Metadata The Meta* rows. The kinds of object the kernel knows.
Identity MetaId is the PK. ID is the human number. Keys are not portable.
Permissions Roles and MetaObjectPermissions. A command with no Execute row is open.
Scripts Events, commands, postings, services. Compiled in process, sandboxed.
Schema SchemaSynchronizer makes physical tables. There are no FKs in the database.
Runtime CRUD, events, posting, SignalR, the compiler in memory.
Posting IDocumentPostingService, Mix, tx scripts, the posting boundary.
Totals IRegisterMovementService / ITotalsManager, Mix, totals drivers.

Kinds#

A kind page is the vocabulary. An object card is one entity.

Kind Role
Model A deliverable folder with a version
Dictionary Master data
Document An operation with states
Table part The lines of a document
Link table An M:N link (LT_)
Command The button that changes a document's state
Posting script The movements a state writes
Accumulation register Totals that documents move
Information register A slice of values over time
EDT The type of a field
Enum A closed list stored as an integer
Global constant A named value the model ships
Service Logic more than one script calls
Job A scheduled or on-demand script in a model
Web service RPC /api/rest/{Name}
Data entity A public OData collection
Form A screen that is not a record card
Print form A MetaPrintForm bound to a document or dictionary
Menu How the user reaches an object
Number sequence The human ID / Number
Data package Seed JSON the model ships

How to create each of these is What to create, not this tree.

The catalog lists each object on its own card. This tree is the map of those cards.

See also#

Was this page helpful?