Field, Field set, Field section
Was this helpful?
Was this helpful?
The Interaction Cloud operates with the following data structures:
Field
Field describes a piece of data of a specific type,
how to collect it and how to send it to the
client App. For example a field of type colour
provides the Creator with a colour picker UI and produces a colour specification
string to the client App.
Field set
Field set is an ordered list of references to fields.
Field sets link Project settings, Events settings and so on with fields.
A number of additional settings are available allowing field
customisation for different contexts. For example a field
"description" can be referenced in one field set as mandatory
to be used for Project settings and in another field set as
optional to be used in Event settings.
Field section
Field section is a named field set. It is used to represent the sets of
fields to the Creator divided into sections.
Below is a diagram showing different data structures relationships:
Project and Event settings link to fields via field sections.
Elements also may have custom fields and these work in the same way as Project and Event settings - via field sections.
Poll-like Elements describe what a Poll question and answer options are made of in terms of field sets.
Collection
type fields use a field set to describe a collection item.
Fields can be used with Elements, Events or Projects. Each field can be described using the following attributes:
Name
Description
Mandatory
Default
key
Data is passed to client application under this key. This must be unique for the Project.
yes
type
Defines what UI is used to collect data by the Creator.
yes
localisable
Allows to define values of the field using multiple languages. Only supported for freetext
, wysiwyg
, image
, file
types.
no
false
default
The default value for the field.
no
A field set is an array of fields. Each field refers to a Field declaration in a fields feed. Each Field can customise the Field declaration it references by specifying extra parameters like "mandatory" flag or default value.
Field sets can be used to describe Project, Event, Element fields.
Name
Description
Mandatory
Default
label
A name for corresponding UI element.
yes
key
Used as property name to communicate this data to the client.
It's also used to link to the field declaration in fields feed.
yes
field
If field
property is present, then its value is used as a reference to the field declaration instead of key
. It allows reusing a field declaration in different field sets.
no
mandatory
An attribute configuring if it is mandatory to fill data before saving (and publishing in case of an Element) content with which this field is associated.
Applied only to the default locale.
Posible values:
true
/false
string - for mandatory group
no
false
default
The default value for the field. This value overrides default in the field declaration.
no
public
Controls whether the field value will be exposed to the client App.
no
true
cloneable
A boolean flag which determines whether the value of the field is copied at the time of exporting or cloning operations.
See details here.
no
true
visible (beta)
Allows to specify if a field is visible in UI. Invisible fields still can be accessed via API, and they are available to the client app.
Posible values:
true
/false
no
true
items_number
Min/max number of collection
items. Allowed only for fields with collection
type.
no
The description
property allows to setup a textual representation of the field. This provides a way to explain the field's purpose and enhance user experience by offering clear and comprehensive descriptions directly in the user interface.
It supports a subset of HTML tags for formatting the text. Supported tags are:
<b>
: Bold text
<i>
: Italic text
<strong>
: Strong emphasis
<em>
: Emphasis
For example, the following code defines a bold text and an italic text.
The description
property also facilitates adding clickable links to the field description by supporting the <a>
HTML tag with the href
attribute.
For instance,
On rendering, this will create a hyperlink in the field description, which on click, opens the specified web page in a new browser tab/window.
The cloneable
is a boolean flag, with default value set to true
.
Cloneable fields have their current value copied during any of these operations:
Event export
App settings export
Event cloning
Event template creation from an event
Element cloning
In some cases the value is specific to event/element and must not be cloned. For such fields cloneable
should be set to false
. In this case new field is set to default value if such value is specified or empty value otherwise, not the original value.
The following operations are not affected by cloneable
flag. They treat all fields as cloneable.
Event import
App settings import
Event creation from a template
Updates of cloneable
attribute via App Spec update do not affect the current values but only future operations.
cloneable
attribute is taken from the destination App Spec, not source one. For example, given the source App Spec has cloneable
set to true
and destination one has it set to false
the value will not be cloned. This is applicable only to Event and Element cloning, but not to import/export operations.
When the value of the mandatory
property is a string, this field belongs to the correspondingly named mandatory group. At least one field of the mandatory group must be filled with data in order to save data:
Field section is a named field set.
Name
Description
name
Used to present a set of fields as a group of related fields in the UI.
properties
Describes the field set.