Framework
Think Arke
Low level Entities
Parameter

Parameter

The parameters extend the attributes of our entity to describe it.

Remember that when you create a parameter you are always creating a unit that has as arke_id the pre-defined "type" parameters.

Initializing a project we already have list of usable arke as type of your parameter. So we have available the arke boolean, string, integer, float etc. This parameter types are grouped under the system group parameter.

In this way if you want to create a new parameter you just have to do the same things that you have to do to create a unit, namely define the arke (in this case the type).

Persistence

The parameters information are stored inside our Database.

We have the id column that stores the Universally Unique Identifier (UUID), the arke_id column that stores the arke identifier, the data column that stores parameters definition and their values, the metadata column for additional info, the inserted_at column to indicate when record is created and the updated_at column to indicate when record is updated.

In the arke_system database on arke_unit table we find the pre-defined parameters. SystemParametersDBView

In the arke_system database on arke_unit table we find the system group parameter. SystemParametersDBView2

Inside our project we'll find always in the arke_unit table our custom parameters.

Link between parameters and Arke

The relation between Arke and its parameters is stored in the arke_link table. If they are pre-defined parameters these are stored on arke_system, otherwise are stored in our project.

We have the type column that stores the link_id, the parent_id/child_id that stores the unit that we want to link to and metadata that define additional link information.

SystemParametersDBView3

RESTful Endpoints

When you create a Parameter a set of default API are generated to manage it, the API could be authenticated and could have restricted permissions, additional params are ready-to-use like sorting, filtering and more. Discover them in the dedicated RESTful API section.