From wiki.ginstr.com
(Redirected from Datatypes)
Jump to: navigation, search

Datatypes

Datatypes represent special entities in ginstr which are composed of base types (string, integer, boolean,...)


The table below contains a brief description of all possible datatypes.

Full details on each datatype can be found by clicking on the datatype name

Datatype Brief Description Platform
text Used for text or combinations of text and numbers all
number Used for numbers all
date Used for dates (yyyy-mm-dd) all
time Used for time (hh:mm:ss) all
dateTime Used for date and time (yyyy-mm-dd hh:mm:ss) all
dateTimeDiff Used to calculate the difference between two different timestamps all
listOfDates Used for list of dates server
listOfTimes Used for list of times server
listOfDateTimes Used for list of dateTimes server
frequency Used for scheduling tasks at regular time intervals all
assignment Used to define assigned table/column all
pointer Used to define pointed table all
weekday Used for weekdays (i.e. Monday to Friday) all
email Used for email addresses all
phoneNumber Used for Phone Numbers all
GPS Used for GPS data all
status Used for status all
pictures Used for image files all
video Used for video files all
audio Used for audio files all
documents Used for document files all
signature Used for signature files all
iBeacon Used for Apple iBeacon protocol all
enum Used for enums all
counter Used for counters server
rows Used for objects with table hierarchy launcher
rowsColumn Used for one element lists launcher

Two representations are listed below for each datatype:

JSON
JSON representation shows how datatype is structured in database
configuration.xml
full representation of XML definition for datatype when written in configuration.xml. More details about configuration.xml here

Each datatype has, in addition to base attributes, special settings which are different when comparing with other datatypes. In the following text, specification can be found for each setting per datatype.

All column settings are optional and have null by default (except pointer, assignment, audio, video, pictures and documents datatypes).


text

Used for text or combinations of text and numbers

Example JSON
{
  "dataTypeDefinitionId": "text",
  "name": "text",
  "field": "ORSXQ5A0",
  "id": "ORSXQ5A0",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "len": null,
    "horizontalAlignment": "left",
    "multiline": null,
    "valuesList": ["val1", "val2"]
  }
}
Example configuration.xml
<columnText>
  <len>null|>=0|<=10000</len>
  <horizontalAlignment>left|center|right</horizontalAlignment>
  <multiline>true|false</multiline>
  <valuesList>
    <value>val1</value>
    <value>val2</value>
  </valuesList>
</columnText>
Settings
len (Integer, optional)
the length limit of text
Value from 0 to 10000.
0 and null value is unlimited.
Default: null
horizontalAlignment (String, optional)
the text alignment in column.
Allows left, center, right.
Default: left
multiline (Boolean, optional)
the option to enable or disable multiline text.
Default: false
valuesList (StringArray, optional)
array with list of possible values.
If array is empty, all values are allowed.
Default: null


number

Used for numbers

Example JSON
{
  "dataTypeDefinitionId": "number",
  "name": "number",
  "field": "NZ2W2YTFOI000000",
  "id": "NZ2W2YTFOI000000",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "decimalPlaces": null,
    "natural": null,
    "percentage": null,
    "notNegative": null,
    "valuesList": [1, 2]
  }
}
Example configuration.xml
<columnNumber>
  <decimalPlaces>null|>=0|<=13</decimalPlaces>
  <natural>true|false</natural>
  <percentage>true|false</percentage>
  <notNegative>true|false</notNegative>
  <valuesList>
    <value>1</value>
    <value>2</value>
  </valuesList>
</columnNumber>
Settings
decimalPlaces (Integer, optional)
the length limit of decimal places.
Allows integer as value from 0 to 13.
0 and null value is limited to 13.
Default: null
natural (Boolean, optional)
enable/disable fractional numbers.
When true, fractional numbers are now allowed.
Default: false
percentage (Boolean, optional)
enable/disable percentage.
When true, numbers are multiplied by 100 and % sign is added.
Default: false
notNegative (Boolean, optional)
enable/disable negative numbers.
When true, negative numbers are not allowed.
Default: false
valuesList (DoubleArray, optional)
array with list of possible values.
If array is empty, all values are allowed.
Default: null


date

Used for dates (yyyy-mm-dd)

Value is equal to start of date in UTC time zone.

Example JSON
{
  "dataTypeDefinitionId": "date",
  "name": "date",
  "field": "MRQXIZI0",
  "id": "MRQXIZI0",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "minDate": null,
    "maxDate": null,
    "preset": null,
    "defaultFilter": null,
    "setCurrent": null,
    "notEditable": null
  }
}
Example configuration.xml
<columnDate>
  <minDate>yyyy-mm-dd</minDate>
  <maxDate>yyyy-mm-dd</maxDate>
  <preset>yyyy-mm-dd</preset>
  <defaultFilter>today|yesterday|currentWeek|lastWeek|currentMonth|lastMonth|untilToday|fromToday|untilTomorrow|fromTomorrow|currentYear|lastYear</defaultFilter>
  <setCurrent>true|false</setCurrent>
  <notEditable>true|false</notEditable>
</columnDate>
Settings
minDate (Long/Date, optional)
minimum date
Unix time in milliseconds in JSON
yyyy-mm-dd in XML
Default: null
maxDate (Long/Date, optional)
maximum date
Unix time in milliseconds in JSON
yyyy-mm-dd in XML
Default: null
preset (Long/Date, optional)
default value
Unix time in milliseconds in JSON
yyyy-mm-dd in XML
Default: null
defaultFilter (String, optional)
filter that is applied to the field, it can be null or one of above options.
Default: null
setCurrent (Boolean, optional)
enable/disable set of current date when create new date cell.
Default: false
notEditable (Boolean, optional)
is field editable.
Default: false


time

Used for time (hh:mm:ss)

Example JSON
{
  "dataTypeDefinitionId": "time",
  "name": "time",
  "field": "ORUW2ZI0",
  "id": "ORUW2ZI0",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "minTime": null,
    "maxTime": null,
    "preset": null,
    "setCurrent": null,
    "notEditable": null
  }
}
Example configuration.xml
<columnTime>
  <minTime>hh:mm:ss</minTime>
  <maxTime>hh:mm:ss</maxTime>
  <preset>hh:mm:ss</preset>
  <setCurrent>true|false</setCurrent>
  <notEditable>true|false</notEditable>
</columnTime>
Settings
minTime (Long/Time, optional)
minimum time,
Unix time in milliseconds in JSON
hh:mm:ss in XML
Default: null
maxTime (Long/Time, optional)
maximum time
Unix time in milliseconds in JSON
hh:mm:ss in XML
Default: null
preset (Long/Time, optional)
default value
Unix time in milliseconds in JSON
hh:mm:ss in XML
Default: null
setCurrent (Boolean, optional)
enable/disable set of current time when create new date cell.
Default: false
notEditable (Boolean, optional)
is field editable.
Default: false


dateTime

Used for date and time (yyyy-mm-dd hh:mm:ss)

Example JSON
{
  "dataTypeDefinitionId": "dateTime",
  "name": "date and time",
  "field": "MRQXIZJAMFXGIIDUNFWWK000",
  "id": "MRQXIZJAMFXGIIDUNFWWK000",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "minDate": null,
    "maxDate": null,
    "minTime": null,
    "maxTime": null,
    "preset": null,
    "defaultFilter": null,
    "setCurrent": null,
    "notEditable": null
  }
}
Example configuration.xml
<columnDateTime>
  <minDate>yyyy-mm-dd</minDate>
  <maxDate>yyyy-mm-dd</maxDate>
  <minTime>hh:mm:ss</minTime>
  <maxTime>hh:mm:ss</maxTime>
  <preset>yyyy-mm-dd hh:mm:ss</preset>
  <defaultFilter>today|yesterday|currentWeek|lastWeek|currentMonth|lastMonth|untilToday|fromToday|untilTomorrow|fromTomorrow|currentYear|lastYear</defaultFilter>
  <setCurrent>true|false</setCurrent>
  <notEditable>true|false</notEditable>
</columnDateTime>
Settings
minDate (Long/Date, optional)
minimum date
Unix time in milliseconds in JSON
yyyy-mm-dd in XML
Default: null
maxDate (Long/Date, optional)
maximum date
Unix time in milliseconds in JSON
yyyy-mm-dd in XML
Default: null
minTime (Long/Time, optional)
minimum time
Unix time in milliseconds in JSON
hh:mm:ss in XML
Default: null
maxTime (Long/Time, optional)
maximum time
Unix time in milliseconds in JSON
hh:mm:ss in XML
Default: null
preset (Long/Datetime, optional)
default value
Unix time in milliseconds in JSON
yyyy-mm-dd hh:mm:ss in XML
Default: null
defaultFilter (String, optional)
filter that is applied to the field, it can be null or one of above options.
Default: null
setCurrent (Boolean, optional)
enable/disable set of current timestamp when create new date cell
Default: false
notEditable (Boolean, optional)
is field editable.
Default: false


dateTimeDiff

This datatype allows you to create a column in any table which automatically calculates the time difference between two timestamps present in the same row of said table.

This can be useful for example, for automatically calculating a working time for a table containing a column with check-in times and a column with check-out times

In case the user changes one of the two parent timestamps, the dateTimeDiff value will be re-calculated instantly.

The time difference is shown in decimal hours (1 hour = 100 units)

listOfDates

Used for list of dates

Example JSON
{
  "dataTypeDefinitionId": "listOfDates",
  "name": "list of dates",
  "field": "ORSXQ5A0",
  "id": "ORSXQ5A0",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "maxItems": null,
    "preset": null,
    "minDate": null,
    "maxDate": null
  }
}
Example configuration.xml
<columnListOfDates>
  <maxItems></maxItems>
  <preset>yyyy-mm-dd</preset>
  <minDate>yyyy-mm-dd</minDate>
  <maxDate>yyyy-mm-dd</maxDate>
</columnListOfDates>
Settings
maxItems (Integer, optional)
maximum number of items
Default: null
minDate (Long/Date, optional)
minimum date
Unix time in milliseconds in JSON
yyyy-mm-dd in XML
Default: null
maxDate (Long/Date, optional)
maximum date
Unix time in milliseconds in JSON
yyyy-mm-dd in XML
Default: null
preset (Long/Datetime, optional)
default value
Unix time in milliseconds in JSON
yyyy-mm-dd hh:mm:ss in XML
Default: null


listOfTimes

Used for list of times

Example JSON
{
  "dataTypeDefinitionId": "listOfTimes",
  "name": "list of times",
  "field": "ORSXQ5A0",
  "id": "ORSXQ5A0",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "maxItems": null,
    "preset": null,
    "minTime": null,
    "maxTime": null
  }
}
Example configuration.xml
<columnListOfTimes>
  <maxItems></maxItems>
  <preset>hh:mm:ss</preset>
  <minTime>hh:mm:ss</minTime>
  <maxTime>hh:mm:ss</maxTime>
</columnListOfTimes>
Settings
maxItems (Integer, optional)
maximum number of items
Default: null
minTime (Long/Time, optional)
minimum time,
Unix time in milliseconds in JSON
hh:mm:ss in XML
Default: null
maxTime (Long/Time, optional)
maximum time
Unix time in milliseconds in JSON
hh:mm:ss in XML
Default: null
preset (Long/Time, optional)
default value
Unix time in milliseconds in JSON
hh:mm:ss in XML
Default: null


listOfDateTimes

Used for list of dateTimes

Example JSON
{
  "dataTypeDefinitionId": "listOfDateTimes",
  "name": "list of dates and times",
  "field": "ORSXQ5A0",
  "id": "ORSXQ5A0",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "maxItems": null,
    "minDate": null,
    "maxDate": null,
    "minTime": null,
    "maxTime": null,
    "preset": null
  }
}
Example configuration.xml
<columnListOfDateTimes>
  <maxItems></maxItems>
  <minDate>yyyy-mm-dd</minDate>
  <maxDate>yyyy-mm-dd</maxDate>
  <minTime>hh:mm:ss</minTime>
  <maxTime>hh:mm:ss</maxTime>
  <preset>yyyy-mm-dd hh:mm:ss</preset>
</columnListOfDateTime>
Settings
maxItems (Integer, optional)
maximum number of items
Default: null
minDate (Long/Date, optional)
minimum date
Unix time in milliseconds in JSON
yyyy-mm-dd in XML
Default: null
maxDate (Long/Date, optional)
maximum date
Unix time in milliseconds in JSON
yyyy-mm-dd in XML
Default: null
minTime (Long/Time, optional)
minimum time
Unix time in milliseconds in JSON
hh:mm:ss in XML
Default: null
maxTime (Long/Time, optional)
maximum time
Unix time in milliseconds in JSON
hh:mm:ss in XML
Default: null
preset (Long/Datetime, optional)
default value
Unix time in milliseconds in JSON
yyyy-mm-dd hh:mm:ss in XML
Default: null

frequency

Used for scheduling tasks at regular time intervals

The following options are available:

  • hourly
  • daily
  • weekly
  • biWeekly
  • monthly
  • quarterly
  • halfYearly
  • yearly
  • biYearly

assignment

Used to define assigned table/column

Assigned column should be specified

Example JSON
{
  "dataTypeDefinitionId": "assignment",
  "name": "assignment",
  "field": "MFZXG2LHNZWWK3TU",
  "id": "MFZXG2LHNZWWK3TU",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "type": "other",
    "tableId": "mainUser111140__GAYSA5DBMJWGKIDBNRWCA5DZOBSXG000",
    "nameColumnField": "ORSXQ5A0",
    "backNameColumnField": "_id",
    "relatedColumnName": "xxx",
    "dataType": "text" 
  }
}
Example configuration.xml
<columnAssignment>
  <table>tableId</table>
  <column>columnField</column>
</columnAssignment>
Settings
tableId (table) (String)
id of assigned table
No default value.
nameColumnField (column) (String)
ID of column in assigned table which value should be shown in current table.
No default value.
type (String)
Reserved for assignment to trackables, geofences and other non-ginstr objects.
Default: other
backNameColumnField (String)
name of column that will be displayed in relatedColumnName of assigned table.
Field should be empty in case column is created from configuration.xml
Default: null
relatedColumnName (String, optional)
name of column that will be created in assigned table which will hold assignments to current table.
Field should be empty in case column is created from configuration.xml
Default: null
dataType (String)
data type of nameColumnField column.
It supports all existing datatypes except assignment, status & pointer.
Field value is set automatically during table creation/update
Default: null


pointer

Used to define pointed table

Pointed column should be specified

Example JSON
{
  "dataTypeDefinitionId": "pointer",
  "name": "pointer",
  "field": "OBXWS3TUMVZA0000",
  "id": "OBXWS3TUMVZA0000",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings": {
    "reference": {
      "category": "mainUser111140__GAYSA5DBMJWGKIDBNRWCA5DZOBSXG000",
      "item": "ORSXQ5A0" 
    },
    "filterOnParentSelection": null,
    "auxiliaryColumns": ["JZQW2ZI0", "KBUG65DP"],
    "dependsOnColumns": [{
      "category": "zoneNo",
      "item": "zoneNo" 
    }],
    "dataType": "text" 
  }
}
Example configuration.xml
<columnPointer>
  <table>tableId</table>
  <column>columnField</column>
  <filterOnParentSelection>true|false</filterOnParentSelection>
  <auxiliaryColumns>
    <column>columnField</column>
  </auxiliaryColumns>
  <dependsOnColumns>
    <column>
      <current>columnInCurrentTable</current>
      <pointed>columnInPointedTableToDefineSubset</pointed>
    </column>
  </dependsOnColumns>
</columnPointer>
Settings
category (table) (String)
ID of pointed table.
No default value.
item (column) (String)
ID of pointed column.
No default value.
filterOnParentSelection (Boolean, optional)
if true, filters table content if parent is selected in another portlet of same workspace.
Default: true (for configuration.xml) and false for other cases.
auxiliaryColumns (StringArray, optional)
list of columns that should be shown in autocomplete popup widget while pointer value is selected.
Default: null
dependsOnColumns (StringHash, optional)
list of columns current column depends on.
Should be used to show only subset of values filtered on value in selected table.
[{"category": "columnInCurrentTable", "item": "columnInPointedTableToDefineSubset"}]
Default: null
dataType (String)
data type of pointed column.
It supports all existing datatypes except assignment & pointer
Field value is set automatically during table creation/update
Default: null


weekday

Used for weekdays (i.e. Monday to Friday)

Example JSON
{
  "dataTypeDefinitionId": "weekday",
  "name": "weekday",
  "field": "O5SWK23EMF4Q0000",
  "id": "O5SWK23EMF4Q0000",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings": {}
}
Example configuration.xml
<columnWeekDay/>
Settings
this datatype doesn't have settings


email

Used for email addresses

Example JSON
{
  "dataTypeDefinitionId": "email",
  "name": "email",
  "field": "MVWWC2LM",
  "id": "MVWWC2LM",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "maxItems": null,
    "presetEmail": "test@gmail.com" 
  }
}
Example configuration.xml
<columnEmail>
  <maxItems></maxItems>
  <presetEmail>test@gmail.com</presetEmail>
</columnEmail>
Settings
maxItems (Integer, optional)
maximum number of items
Default: null
presetEmail (String, optional)
default e-mail address.
Default: null


phoneNumber

Used for Phone Numbers

Example JSON
{
  "dataTypeDefinitionId": "phoneNumbers",
  "name": "phone",
  "field": "OBUG63TF",
  "id": "OBUG63TF",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings": {}
}
Example configuration.xml
<columnPhoneNumber/>
Settings
this datatype doesn't have settings


GPS

Used for GPS data

Example JSON
{
  "dataTypeDefinitionId": "GPS",
  "name": "GPS",
  "field": "I5IFG000",
  "id": "I5IFG000",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings": {}
}
Example configuration.xml
<columnGps/>
Settings
this datatype doesn't have settings


status

The status datatype allows to store if something is TRUE or FALSE, FINISHED or NOT FINISHED, ON or OFF etc, so status can only have 2 states

Example JSON
{
  "dataTypeDefinitionId": "status",
  "name": "status",
  "field": "ON2GC5DVOM000000",
  "id": "ON2GC5DVOM000000",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings": {}
}
Example configuration.xml
<columnStatus/>
Settings
unique
if this option is set to true, it will only be possible to store two records in the table: one that has true status and another that has false status
Default value: false


pictures

Used for image files

Should have at least one file format enabled.

Example JSON
{
  "dataTypeDefinitionId": "pictures",
  "name": "pictures",
  "field": "OBUWG5DVOJSXG000",
  "id": "OBUWG5DVOJSXG000",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "formats":          [
      "image/jpeg",
      "image/png" 
    ],
    "replicate": false
  }
}
Example configuration.xml
<columnPicture>
  <formats>
    <format>image/jpeg</format>
    <format>image/png</format>
  </formats>
  <replicate>true|false</replicate>
</columnPicture>
Settings
formats (StringArray, required)
contains array with supported formats.
image/jpeg, image/png are allowed.
Default: null.
In case empty list of formats was specified in configuration.xml, all possible formats are allowed
replicate (Boolean, optional)
if true, replicates images from server to android client.
Default: false


video

Used for video files

Should have at least one file format enabled.

Example JSON
{
  "dataTypeDefinitionId": "video",
  "name": "video",
  "field": "OZUWIZLP",
  "id": "OZUWIZLP",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "formats": ["video/mp4"],
    "replicate": false
  }
}
Example configuration.xml
<columnVideo>
  <formats>
    <format>video/mp4</format>
  </formats>
  <replicate>true|false</replicate>
</columnVideo>
Settings
formats (StringArray, required)
contains array with supported formats.
video/mp4 is allowed.
Default: null.
In case empty list of formats was specified in configuration.xml, all possible formats are allowed
replicate (Boolean, optional)
if true, replicates videos from server to android client.
Default: false


audio

Used for audio files

Should have at least one file format enabled.

Example JSON
{
  "dataTypeDefinitionId": "audio",
  "name": "audio",
  "field": "MF2WI2LP",
  "id": "MF2WI2LP",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "formats":          [
      "audio/mp4",
      "video/mp4" 
    ],
    "replicate": false
  }
}
Example configuration.xml
<columnAudio>
  <formats>
    <format>audio/mp4</format>
    <format>video/mp4</format>
  </formats>
  <replicate>true|false</replicate>
</columnAudio>
Settings
formats (StringArray, required)
contains array with supported formats.
audio/mp4 and video/mp4 are allowed.
Default: null
In case empty list of formats was specified in configuration.xml, all possible formats are allowed
replicate (Boolean, optional)
if true, replicates audios from server to android client.
Default: false


documents

Used for document files

Should have at least one file format enabled.

Example JSON
{
  "dataTypeDefinitionId": "documents",
  "name": "document",
  "field": "MRXWG5LNMVXHI000",
  "id": "MRXWG5LNMVXHI000",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "formats":          [
      "application/pdf",
      "application/vnd.ms-excel",
      "text/csv",
      "application/msword",
      "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
      "application/vnd.openxmlformats-officedocument.wordprocessingml.document" 
    ],
    "replicate": false
  }
}
Example configuration.xml
<columnDocument>
  <formats>
    <format>application/pdf</format>
    <format>application/vnd.ms-excel</format>
    <format>text/csv</format>
    <format>application/msword</format>
    <format>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</format>
    <format>application/vnd.openxmlformats-officedocument.wordprocessingml.document</format>
  </formats>
  <replicate>true|false</replicate>
</columnDocument>
Settings
formats (StringArray, required)
contains array with supported formats.
application/pdf, application/vnd.ms-excel, text/csv, application/msword, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet and application/vnd.openxmlformats-officedocument.wordprocessingml.document are allowed.
Default: null
In case empty list of formats was specified in configuration.xml, all possible formats are allowed
replicate (Boolean, optional)
if true, replicates audios from server to android client.
Default: false


signature

Used for signature files

Example JSON
{
  "dataTypeDefinitionId": "signature",
  "name": "signature",
  "field": "MRXWG5LNMVXHI000",
  "id": "MRXWG5LNMVXHI000",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings":       {
    "replicate": false
  }
}
Example configuration.xml
<columnSignature>
  <replicate>true|false</replicate>
</columnSignature>
Settings
replicate (Boolean, optional)
if true, replicates documents from server to android client.
Default: false


iBeacon

Used for Apple iBeacon protocol

Example JSON
{
  "dataTypeDefinitionId": "iBeacon",
  "name": "iBeacon",
  "field": "AUJLYWNVBG",
  "id": "AUJLYWNVBG",
  "unique": false,
  "required": false,
  "hidden": false,
  "settings": {}
}
Example configuration.xml
<columnIBeacon/>
Settings
this datatype doesn't have settings


dateTimeDiff

Used for date time difference

Example JSON
{
  "dataTypeDefinitionId": "dateTimeDiff",
  "name": "dateTimeDiff",
  "field": "AUJLYWNVBG",
  "id": "AUJLYWNVBG",
  "unique": false,
  "required": false,
  "visibility": "visible",
  "settings": {
    "fieldStart": "dateTimeStart",
    "fieldEnd": "dateTimeEnd",
    "uniqueInside": [{
      "category": "refTableId1",
      "item": "refColumnField1" 
    }, {
      "category": "refTableId2",
      "item": "refColumnField2" 
    }]
  }
}
Example configuration.xml
<columnDateTimeDiff>
  <fieldStart>dateTimeStart</fieldStart>
  <fieldEnd>dateTimeEnd</fieldEnd>
  <uniqueInsideList>
    <reference>
      <table>refTableId1</table>
      <column>refColumnField1</column>
    </reference>
    <reference>
      <table>refTableId2</table>
      <column>refColumnField2</column>
    </reference>
  </uniqueInsideList>
</columnDateTimeDiff>
Settings
fieldStart (String, required)
ID of column in same table with dateTime datatype
fieldEnd (String, required)
ID of column in same table with dateTime datatype.
Value of column with dateTimeDiff will be calculated like value in column fieldEnd minus value in column fieldStart
uniqueInsideList (Array, optional)
list of other columns and tables inside which current column value should be unique.
Default: null

enum

Used for enums

Example JSON
{
  "dataTypeDefinitionId": "enum",
  "name": "columnEnum",
  "field": "AUJLYWNVBG",
  "id": "AUJLYWNVBG",
  "unique": false,
  "required": false,
  "visibility": "visible",
  "settings": {
    "valuesList": {
      "yes": {
        "en": "Yes",
        "de": "Ja",
      },
      "no": {
        "en": "No",
        "de": "Nein",
      }
    },
    "uniqueInside": [{
      "category": "refTableId1",
      "item": "refColumnField1" 
    }, {
      "category": "refTableId2",
      "item": "refColumnField2" 
    }]
  }
}
Example configuration.xml
<columnEnum>
  <valuesList>
    <value key="yes" resourceId="resource_yes"/>
    <value key="no" resourceId="resource_no"/>
  </valuesList>
  <uniqueInsideList>
    <reference>
      <table>refTableId1</table>
      <column>refColumnField1</column>
    </reference>
    <reference>
      <table>refTableId2</table>
      <column>refColumnField2</column>
    </reference>
  </uniqueInsideList>
</columnEnum>
Settings
valuesList (Map, required)
Map of possible values with translations in different languages
uniqueInsideList (Array, optional)
list of other columns and tables inside which current column value should be unique
Default: null


counter

Used for counters

Example JSON
{
  "dataTypeDefinitionId": "counter",
  "name": "columnCouter",
  "field": "AUJLYWNVBG",
  "id": "AUJLYWNVBG",
  "unique": true,
  "required": false,
  "visibility": "visible",
  "settings": {
    "horizontalAlignment": "right",
    "initial": 1,
    "delta": 1,
    "counterId": "counter:mainUser10:5" 
  }
}
Example configuration.xml
<columnCounter>
  <horizontalAlignment>right</horizontalAlignment>
  <initial>1</initial>
  <delta>1</delta>
</columnCounter>
Settings
horizontalAlignment (String, optional)
the text alignment in column.
Allows left, center, right
Default: left
initial (Long, optional)
initial counter value.
Default: 1
delta (Long, optional)
the increment amount.
Should be more than 0.
Default: 1
counterId (String, optional)
Id of counter which is used for generation of records in the column



This category currently contains no pages or media.