Fork me on GitHub

Data types

Number

A numeric type to store integer numbers. There is the additional Range field, where you can specify the range of values you need. You can set maximum values here, but if you have many records, you better select the minimum range. For example, if you want to add the Year field, you should select a range of either 0..65535 or -32768..32767. In this case it takes merely 2 bytes instead of four as it would in the maximum possible variant. With the range of 128..127 or 0..255, the number will take 1 byte only.

Short text

Short text is one more common type. It stores short texts, usually below 255 characters. In the Length parameter you can specify a maximum number of symbols you require. When a longer string is saved to the field, it is truncated to the specified length. For example, for streets and cities 48 symbols is sufficient. At the same time, you can always change this value later.

Date, time

This type stores date and time values and has two additional parameters.

More details - Specify, what kind of information is stored.
Date and time - date and time
Date - date only
Timestamp - date and time. This type takes less memory than the first one, but you can count date only starting from 1970.
Calendar - Unlike the second option, it has additional ways to set recurring events (notifications, birth dates).

Current time if it is empty - if you select this option, the current date and time are automatically written when the record is saved.

Text

If you want to save textual information of larger volume, use the Text data type. It allows specifying the following additional options:

WYSIWYG Editor
---- - the text is edited and saved “as is”.
HTML editor – the text can be edited using the HTML editor. It has a menu to choose the main HTML tags.
Markdown - in this case, you can use Markdown markup language. The text is automatically displayed as HTML in the card view mode.

Big text (>65000) – Tick this option if you plan to store texts longer than 65000 characters. If the HTML format is used, all symbols count (including tags), not just visible text.

Link to table

This field allows you to connect two table one with another. Suppose you have the table with cities and the table with streets. You want to link each street to a specific city. In this case, when adding a new street you will be able to select a specific city this street belongs to. When viewing streets, you will see the city this street belongs to.

Table – Select a table you will be using. In our example, it is the city table.
Column – Specify a field from the linked table to display as a value. For instance, a city name. You can specify several fields which will be displayed with separators.
Multiple select - by default, the Link to table field type sets on-to-one relationship, that is only one record from another table can be selected. The Multiple select option slows using one-to-many relationship if you want to select any number of elements from the other table. To use this capability simply enable this parameter.
Show as a link – Select this option if you want to display the value as a link. When this link is clicked, the card of the corresponding record is shown. In our example, this is a city where the selected street is.
Show identifier – Select this option if you want to see the record id. In our case, you will se not only the city name, but its unique id from the city table.
Filter – Let’s see what this advanced option is for. Suppose you already have tables of cities and streets and also want to add a table of houses. In this table of houses we’ll add two fields – one to connect the house with a city, and the other one to connect it with a street. If we create a connection with a street without the filter, streets of all cities will be displayed. But if we specify a city table as a filter, then whenever you select a street for the house, the system first looks at the city you have selected and suggests streets of this city only.

Yes/No

Yes/No – a simply data type to select one of two options - Yes or No. During editing it is a switch, and when you view the list records marked as Yes are displayed with a tick.

Decimal number

The Decimal number type is for storing decimal numbers.

Type
Float – common decimal number suitable for the vast majority of cases.
Double – select this type of you want to use decimal numbers with double precision.

Length
Use this if you need to specify, how many digits you want to allocate for the number, and how many for the decimal part. For example, 6,2 means you allocate six digits for the numbers, and two digits for the decimal parts. If this field is empty, the default representation of 9,2 is used.

One from set

The One from set type allows you to select and link an element of a set to records of your table. Sets are not tables, they are simple lists with up to 32 elements.

Set – specify a set to link with the given field of your table.

Set

The Set type is for connecting the table to a set too, but unlike the previous type it allows multiple selection of elements. For example, if you have a set of options and every record in the table is an arbitrary combination of them.

Set – specify a set to link with the given field of your table.

Files/Documents

The Files/Documents data type stores files (documents) of any format. Notably, this field doesn’t have restriction on the number of stored documents. This means, you can define just one field of such type yet every record can store multiple files of various formats in that field.

Store in the database – files can be stored as separate files on the disk or in the database. You can choose any preferable way. Note that if you chose disk storage, you should set write permissions to the storage folder, otherwise the system will be unable to write the file to the disk and will store it in the database instead.

Images

The Images data type is similar to Files/Documents, but is intended to store images and photographs.

Store in the database – Like files, images can be stored in the database or on the disk as individual files.

Maximum size – You can specify the maximum size of an image, in pixels. If the main side of the image exceeds this value, the image is automatically scaled down.

Minimum size – Also, you can specify the minimum size of an image, in pixels. If the main side of the image is less than this value, the image is automatically scaled up.

Ratio – You can set the preferred aspect ratio. If the option is set, an image is cropped to the specified proportion. Proportion is specified with respect to the main side. For instance, 1 is a square, 2 means the main side is two times longer, 0.5 means the main side is 2 times shorter.

Main side – Define the main side of an image. All modifications to the photo are made with respect to the main side
The longest side – The longest side is the main side.
Width – The width is always the main side
Height – The height is always the main side

Thumb image size – If you want to automatically create thumbnails of your photographs, specify the size of a thumbnail here, in pixels of the main side.

Thumb image - Ratio – Specify the aspect ration of a thumbnail. For example, if you set 1 here, all thumbnails will be square. If the ratio is not specified, a photo is proportionally scaled down.

Thumb image - Main side – Define the main side of a thumbnail.
The longest side - The longest side is the main side.
Width - The width is always the main side
Height - The height is always the main side

Additional Options - you can specify additional settings as parameter = value.
watermark - puts a transparent watermark or text as a background of the uploaded picture. Specify the path to the png file you want to put as a watermark as the value. The path must be specified relative to the root folder of the domain. By default, the watermark is placed at the center of the image. To change the placement, specify the waterleft and watertop parameters.
waterleft - here you can set an offset of the watermark relative to the left or right side of the uploaded image in pixels. Positive values set the offset from the left side of the picture, negative values set the offset from the right side. If the parameter is zero, the watermark is placed at the center.
watertop - similarly to the waterleft parameter this one specifies a vertical offset from the top or the bottom side of the original image.

For example, the given watermark is placed in the bottom right corner with a 5 pixels margin from both sides.

watermark = /images/mywatermark.png
waterleft = -5
watertop = -5

Special

The Special data type includes several special types.

More details
Website – values of this type are displayed as a link to the specified URL.
E-mail – contains e-mail addresses. Displayed as a link that opens a default e-mail client when clicked.
Phone – this type stores telephone numbers. Displayed as a special link a user can call with a mobile phone.
Hash – this type stores MD5 hash-values. If you enter a string to a field, the table will actually store the hash-value of the string instead. This can be used to store hash-values of passwords, for example.
IPv4 address – This type stores IP-addresses v4 and displays them as we used to see them.
Image Link - the type stores links to images. For example, you can enter a link to the image on another site and you will see that image in the table or the card of the record. You can specify the following advanced settings (key=value) in the field Additional Options:
url - if all images are stored in one place then you can specify it here and skip it in URLs of image links.
ext - if all images have the same extension, you can specify it here and skip it in URLs.
For instance,

url = /images/flags/
ext = png

Calculated

The Calculated type is designed to create calculated fields. For example, if you want to see the sum or the product of some numeric fields in each record of the table. Tables do not allocate space for this type of columns, instead all values are calculated the moment the data are queried.

Formula - specify the formula to calculate this field. See documentation on calculated fields.
Round - if you want, you can round acquired values. To do this, specify the number of decimal digits in this field.

SQL field

The types described above cannot encompass all possible SQL types. Advanced users can define their own data type supported by SQL.

SQL field – Specify your own type in the SQL query format. For instance, float(6.2).