You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

The Record Extended Model (REM) allows you to extend a set of table attributes. 

The table structure of REM repeats the dictionary structure with tables and columns. Instead of columns, Attributes (sys_re_attribute) are used in REM. You can connect REM attributes with a table within the Model (sys_re_model). Besides, you can create attribute collections as universal sets of attributes that can be used in several models at the same time. 

You can access dictionaries related to REM through the Record Extended Model (REM) menu category. 

REM concept


Every table has its own data model specified by the business logic. The data model is represented by the column set. This data model can be extended with a child table containing the same attribute set as the parent one, and individual attributes inaccessible from the parent table. For example, the diagram below shows that all attributes of the User table are inherited by the Employee table:

Attributes extension circuit diagram

When few child tables are available, and the attribute overlap is high, this data model works fine. But when the child table number increases, and the attribute overlap decreases, the management of this data model becomes a challenge. The data model with a large and complicated table inheritance structure has some disadvantages:

  • It is required to allocate more space for record storage.
  • The pace of script execution decreases.
  • It is getting harder to configure the functionality related to the specified dictionary, such as data import, layout setting, etc.

The Request Catalog is an example of such a table: it consists of a parent table for the catalog and a record in the table for each request template with specific attributes.

The Record Extended Model concept addresses the issue described above. The extension concept can be applied to a specific table record, by assigning additional attributes to it.

When a record extension model is applied to a record, it means that an auxiliary record set is created for this record containing information about specific attribute values. Therefore, the record has attributes inherited from a table, and in addition, it has attributes sourced from the extension model.

Configure an extension model


Generally, to configure your extension model, you need to:

  1. Create an extension model.
  2. Create attributes and link them to the model.
  3. (optional) Configure the attribute collection.
  4. (optional) Configure a model client script.

In the diagram below, you can see the difference between models and collections. Models are created with a specific attribute set that can only be used in this model. Collections contain attributes that can be applied to different models. 

It is not recommended to create collections with many attributes. It is better to create one collection with one attribute. 

Create a model


To create a model, complete the steps below:

  1. Navigate to Record Extended Model (REM) → Models.
  2. Click New and fill in the fields.
  3. Click Save or Save and Exit to apply the changes.
  1. Do not create or add an attribute to a model if an attribute with the same name already exists in this model. 
  2. Do not rename an existing attribute if there is an attribute in the model with the name you want to enter.

Configure an attribute


In SimpleOne, you can create attribute mapping for models and collections. Data mapping is the process of connecting a data field from one table to a data field in another table. It reduces the potential for errors, helps standardize your data, and makes it easier to understand your data because it establishes direct relationships among your data across multiple tables at once.

To create an attribute, complete the steps below:

  1. Navigate to Record Extended Model (REM) → Attributes.
  2. Click New and fill in the fields.
  3. Click Save or Save and Exit to apply the changes.

Attribute form fields

FieldMandatoryDescription
ContainerYReference to a previously created model.
Attribute TypeYSpecify the attribute type. 
TitleYSpecify the attribute title. You can use Latin, Cyrillic letters, [0..9] numbers, and the underscore symbol ( _ ).
Attribute NameYAttribute system name. This field is populated automatically. Latin letters, [0..9] numbers, and the underscore symbol ( _ ) are allowed.
Map to ColumnN

Specify the target field to map the attribute value before the record is inserted (including business rules of the before type). This option allows you to quickly transfer attribute values to fields. The field is of the Reference type and has a reference qualifier, which allows for choosing columns of the table defined in the model record and columns of its child tables.

If the target field is mandatory, the value will be saved before it is processed by the server validation engine.

Also, if the target field is mandatory, it should not be displayed on the form, otherwise, the client validation engine may hamper the record saving.

Mapping via the Map to Column field is available only if the column type of the attribute is equal to the target column type.

The following message appears if no target column exists in the table: 

Attribute "{attribute_name}" mapping error, reference column not found in the table

CommentsNAdd some comments to describe your attribute.
ActiveNSelect the checkbox to make the attribute active or inactive.
Read OnlyNSelect the checkbox to make the field added with this attribute read-only.
MandatoryNSelect the checkbox to make the field added with this attribute mandatory.
Type Specification tab
Dependent on ColumnY

Specify a column with a reference to the Table (sys_db_table).

The field appears when one of the following options is selected in the Attribute Type field:

  • Field Name
  • Conditions
  • Template
Maximum LengthN

Specify a maximum value length for the attribute value. The value length cannot exceed the allowable length for the specified data type.

The field appears when one of the following options is selected in the Attribute Type field:

  • String
  • Text
  • URL
  • Password
  • Script
  • Journal Input
  • HTML
  • Encrypted Password
  • Translated Text
  • Record Class
Choice Table N

Reference to a table.

The field appears when the Choice option is selected in the Attribute Type field.

Choice FieldY

Reference to a particular column of the table specified in the Choice Table field.

The field appears when the Choice Table field is populated. 

Choice TypeY

Define whether the None option is applicable for the field. Available options: 

  • Dropdown with --None--
  • Dropdown without --None-- (specify a default value)

If the Dropdown without --None-- is chosen, the Default value field becomes mandatory.

The field appears when the Choice option is selected in the Attribute Type field. 

Extra AttributesN

Specify additional configurations for the field. 

For example, enter the text below to apply the radio buttons style to the choice field:

choice_decorator=radio

The field appears when one of the following options is selected in the Attribute Type field:

  • Choice
  • Conditions
  • Image
ReferenceY

Specify a table with the values you need.

The field appears when the List or Reference option is selected in the Attribute Type field.

On DeleteN

Select the action to take when the referenced record is deleted. Available options:

  • No action – no actions will be taken.
  • Set NULL – the reference to this record will be deleted from the field (the value will be equal to null).
  • Cascade – the record containing reference to it will be deleted as well.
  • Restrict – deleting the referenced record is forbidden.
  • Set default value– the reference to it will be changed to the default value defined on the Default Value tab.

The field appears when the Reference option is selected in the Attribute Type field.

Default Value tab
Default ValueN

Specify the default value that will be populated to the field when creating a new record. This field may be specified by a JavaScript scenario as well.

Use Dynamic DefaultNSelect the checkbox if you want to generate the default value dynamically.
Dynamic DefaultY

This field only appears when the Use Dynamic Default checkbox is selected.

Select the script from the Dynamic Default Values (sys_default_value_dynamic) dictionary, so its execution result will be automatically calculated and entered into this field; this value will be the default value for the column specified.

  1. The script must be preliminarily created in the Dynamic Default Values (sys_default_value_dynamic) dictionary; otherwise, you will not be able to choose it.
  2. You can only choose active scripts (the Active checkbox is selected). 
Reference Qualifier
Reference Qualifier TypeN

Specify the type of the reference qualifier. Available options:

  • Simple
  • Dynamic

The field appears when the List, Reference or Field Name option is selected in the Attribute Type field.

Reference Qualifier ConditionN

Configure filters using the condition builder.

The field appears when the Simple option is selected in the Reference Qualifier Type field.

Dynamic Reference QualifierN

Select the dynamic reference qualifier from the list. 

The field appears when the Dynamic option is selected in the Reference Qualifier Type field.

Reference Qualifier FixedN

Select the checkbox to fix filters in breadcrumbs. This functionality blocks the use of the condition builder functionality.

The field appears when one of the following options is selected in the Attribute Type field:

  • List
  • Reference
  • Field Name

Configure an attribute collection


Attribute collections are implemented to user Many-to-Many Relationships, so they allow you to reuse the same attributes across models instead of adding them separately to each model where necessary.

The simplified concept of use is:

  1. Create a collection record as described below.
  2. Fill it with previously created attributes or create new ones using the Attributes related list.
  3. Relate this collection with previously created models using the Used in Models related list.

After that, all the attributes contained in this collection are used by all models this collection relates to.

  • If you want to use attribute mapping in a collection, you need to specify a table in the Table field of a collection. Otherwise, leave the Table field empty.
  • Collections with the populated Table field can only be added to models with the same table specified or to models of child tables.

To create a collection, complete the steps below:

  1. Navigate to Record Extended Model (REM) → Collections.
  2. Click New and fill in the fields.
  3. Click Save or Save and Exit to apply the changes.
  1. Do not rename an existing attribute in the collection if there is an attribute in the model or in the collection linked to the model with the name you want to enter.
  2. The same collection and model cannot be linked to each other more than once.
  3. A model and a collection that have at least one eponymous attribute matching the model attribute cannot be bound between each other.

Configure a model client script


To create a record extended model client script, complete the steps below:

  1. Navigate to Record Extended Model (REM)→ Model Client Scripts.
  2. Click New and fill in the fields.
  3. Click Save or Save and Exit to apply the changes.

Configure model form elements


You can arrange the fields of your model attributes in a particular order and position, as you can do with form layouts. Group attributes by common features and give them a title. In the screenshot below, custom model attributes are divided into two columns:

If you want to define a title for a group of attributes organized in one block, use the Begin element.

The title will appear on the relevant page of the Self-Service Portal.

To change the order of the displayed attributes, perform the following steps:

  1. Navigate to Record Extended Model (REM) → Models.
  2. Open the model you need.
  3. Scroll down to the Related Lists area and open the Model Form Elements tab.
  4. Arrange the attributes by changing the value in the Position field. 

    Use the inline editing: double-click the cell in the Position column, enter the value, and press Enter to save the changes. 

To configure a model layout, perform the following steps: 

  1. Navigate to Record Extended Model (REM) → Models.
  2. Open the model you need.
  3. Scroll down to the Related Lists area and open the Model Form Elements tab.
  4. Click New and fill in the fields.
  5. Click Save or Save and Exit to add the element.

  • No labels