Data Elements
A DataElement is at the core of an NS applicationNS Application (NSApplication). A pre-built software stack that provides common enterprise application functionality such as CRUD, search, authentication, and business process modeling out of the box.: it represents a fundamental concept or entity within your applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution.'s business domain. In practice, a data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept. represents an anthropomorphic translation of a real-life object or concept into a digital model. They are named after singular nouns that describe the core concepts of your business domain. For example, in a car rental applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution., you would define data elementsData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept. such as Car, Booking, and Customer.
From a single data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept., the NS applicationNS Application (NSApplication). A pre-built software stack that provides common enterprise application functionality such as CRUD, search, authentication, and business process modeling out of the box. generates everything needed to work with that data in every technology layer: a database table, create/read/update/delete logic, API endpoints, screens to list and edit instances, ...
DataElement capabilities
The data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept. serves as a central piece for many other capabilities.
Fields and Relations
FieldsFieldA property of a DataElement expanded to a database column and user interface input element. store the individual attributes of a DataElement. They're mapped to database columns and user interface inputs. Relations link one data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept. to another, such as a Booking that refers to the Car being rented.
Search
Search operations allow you to find records based on specific fieldsFieldA property of a DataElement expanded to a database column and user interface input element., combinations of fieldsFieldA property of a DataElement expanded to a database column and user interface input element., or custom implementations.
Projections
A ProjectionProjectionA tailored subset of fields on a DataElement designed to encapsulate data for a specific technical or functional view. represents a subset of fieldsFieldA property of a DataElement expanded to a database column and user interface input element. designed to encapsulate data for a specific technical or functional goal, preventing unnecessary data transfer. Data projectionsProjectionA tailored subset of fields on a DataElement designed to encapsulate data for a specific technical or functional view. can serve as input for data operationsData Operation (DataOperation). A type-safe action (e.g., Create, Update, Custom) executed on DataElement instances to modify data or trigger business logic. or task implementations, making it clear which fieldsFieldA property of a DataElement expanded to a database column and user interface input element. are relevant for the business logic.
Three default projectionsProjectionA tailored subset of fields on a DataElement designed to encapsulate data for a specific technical or functional view. exist for every data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept.:
- Details holds all stored fieldsFieldA property of a DataElement expanded to a database column and user interface input element.. Used to create and modify instances, and is the default representation in most backend logic.
- Info holds a reduced set of fieldsFieldA property of a DataElement expanded to a database column and user interface input element., such as the columns shown in a table.
- DataRef holds just enough to refer to one instance without carrying its full content.
Next to these, you can define your own projectionsProjectionA tailored subset of fields on a DataElement designed to encapsulate data for a specific technical or functional view.. A custom projectionProjectionA tailored subset of fields on a DataElement designed to encapsulate data for a specific technical or functional view. makes it explicit which fieldsFieldA property of a DataElement expanded to a database column and user interface input element. a piece of business logic actually needs, and avoids moving data around that nobody uses.
Validations
Validations make sure invalid data never reaches the database. Simple rules on a single value, such as a maximum length or a date that must lie in the past, belong on the fieldFieldA property of a DataElement expanded to a database column and user interface input element.'s ValueType. Rules that involve several fieldsFieldA property of a DataElement expanded to a database column and user interface input element., other data elementsData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept. or other components are implemented as custom validations in the data or logic layerLayerLogical separation of functionality within a single system/application, focused on code organization..
Constraints
A unique combination of fieldsFieldA property of a DataElement expanded to a database column and user interface input element. to identify a DataElement (e.g. A car chassis number should be unique)
Operations
Actions on a DataElement that will update the element or trigger a piece of business logic.
Every data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept. comes with standard CRUD functionality (create, read, update, delete). Domain-specific actions, such as register a booking, are modeled as Data OperationsData Operation (DataOperation). A type-safe action (e.g., Create, Update, Custom) executed on DataElement instances to modify data or trigger business logic. on the data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept. and build on top of that CRUD interface.
ValueTypes
A ValueType represents a custom data type linked to your fieldsFieldA property of a DataElement expanded to a database column and user interface input element.. It encapsulates specific validation rules and influences how data is rendered in the user interface.
And more
Several smaller capabilities can be switched on for a data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept. through model options, without any additional modeling: tracking who created or modified an instance and when (auditing), flagging instances as deleted instead of removing them (soft delete), preventing concurrent updates from overwriting each other (optimistic locking), importing and exporting data as CSV, and customizing the label users see for an instance.
DataElement Types
A data elementData Element (DataElement). A fundamental data concept or entity within an application's domain, acting as an anthropomorphic translation of a real-life object or concept. can be labeled with a type, such as Primary, Registry or History, to categorize it by purpose. This type is currently non-functional: it does not change what is generated.
Fields and Relations
A Field describes a single property of a DataElement. Fields are the basic content of a data element: each
CRUD and Data Operations
CRUD
Search
Data elements can be searched in two ways, and both are integrated through all layers of the application, from the