Skip to main content

Base Components

Every 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. can add Base Components: ready-made components that handle common, cross-cutting concerns so you don't have to build them yourself. They're not automatically part of every applicationApplicationThe overarching model container grouping all components, domain logic, and configurations for an enterprise solution., but adding one is as simple as adding any other component dependency.

Account Component​

The account component contains a number of 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. to manage user interaction such as login and data access:* Account, User, UserGroup ,Profile and DataAccess.

A user belongs to an account (i.e. an organization) and has a certain profile (e.g. user, administrator, super user). A user can also belong to a certain user group.

Data access can be configured at 3 levels: for a usergroup, for a profile and for an individual user.

Access to the following elements can be configured:

  • 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.
  • Data operationsData Operation (DataOperation). A type-safe action (e.g., Create, Update, Custom) executed on DataElement instances to modify data or trigger business logic.
  • API endpoints

For each element, we define 4 levels of access: view, create, edit and remove. Two authentication mechanisms are supported out of the box:

  • built-in username/password management
  • integration with an external identity provider via OpenID Connect

Alerting Component​

The alerting Component is a base component to handle the concern of sending alert messages to channels such as email or Slack. It implements a publish-subscribe mechanism for sending those messages. Alerts are published to named topics, and subscriptions route them from a topic to one or more channels. The component is designed with modular re-usable components that define fixed interfaces to add functionality. Through a combination of model options and expandersExpanderA unit of generation that combines a data tree instance (functional M1 model) with a template to generate an artifact. , it is possible to add additional (or replace) channel types if support for a different platform or a different implementation is needed.

Assets Component​

The assets component adds file upload and download functionality. It allows you to store files, and link them to the related 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. (e.g. a drivingLicense photo linked to a Booking 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 assets components handles:

  • File storage in database or disk
  • Upload interface to browse and link files
  • Download interface
  • Implementations to read and manipulate files in business logic

The assets component supports three types of assets.

Mailing Component​

The mailing component adds mailing capability to 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.. The component provides a simple interface to create emails and adds a workflow implementation that handles the actual email delivery through an external mail server you configure.

Utils Component​

The utils component provides 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. that can be used to configure values at runtime. In some cases, settings or configuration parameters might be dynamic and depend on your environment, client or time.

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. ParamTargetValue has three attributes to define a configuration:

FieldFieldA property of a DataElement expanded to a database column and user interface input element.Description
ParamName for the parameter
TargetAdditional tag. At least one triplet should have target default.
ValueValue for this param-target combination