Your collection fields internally are saved as JSON and UI schemas. We provide an easy to use schema builder where you can manage your fields without knowing anything about these schemas. We also provide an option to see and manually edit collection schemas which can be useful if you want to recreate a collection by copying a schema from one collection and pasting it to another.
Schema builder allows you to add fields to your collection. The builder can be accessed by opening your collection or creating a new collection.
Schema builder view
To add a field press a + icon. A new dialog will show up where you can select a type of field to add.
To edit a field press a cog icon near already added field. In this case that would be First Name field.
To delete a field press a trash icon near already added field. In this case that would be First Name field.
We provide many different field types that should satisfy any needs.
Provided field types
This can be basic text, long text (multi-line basic text), translatable text (basic or long text with the ability to set for multiple languages), or HTML.
This can be integer, decimal, or currency.
Date and time values.
This can be a date or date and time.
Value or values from a list. Used for static enumeration values or references to other resources.
This can be an enumeration (static values list), user(s) reference, role(s) reference, collection reference, taxonomy reference.
Simple bool type value.
This can be true or false.
File field. Requires files module to be enabled.
This can be of type image, document, or any.
A special type of text field used for email addresses. Use this instead of the text field for email address validation and availability to send emails to addresses saved in this field.
A special type of text field used for URLs. Use this instead of the text field for URL validation.
A special type of number field used for rating. Use this instead of the number field to display a rating selection in your record page and for rating validation.
A list of objects. You can add any other field inside of the nested field.
! Important - only one nested level is supported.
! Important - nested form is provided as an array and not an object.
Latitude and longitude values.
A dynamic enumeration. Use this instead of the select field with enumerations, when you don't know all of the enumeration values from the start and want to add them on the go.
As said before, schema builder uses JSON schema internally which you can see or edit yourself.
JSON and UI schema view
JSON schema - a schema that describes each of a field. Used for validation and display.
UI schema - a schema that describes how each field should be rendered.
Although we provide schemas and allow you to edit them, we still recommend using a builder as builder fields use specific values to form a schema. Besides, editing your fields in the builder will reset your changes in JSON and UI schemas.
UI schema should not be edited at all (unless you paste a schema previously generated by a builder) because each of a field requires specific values to be rendered correctly.