Field Types

Each Content Type contains one or more fields which represent individual pieces of information for each individual content item of that Content Type. Fields may contain many different types of information (such as string, integer, floating point, etc.), and may be configured to display values and allow values to be entered in multiple different ways (e.g. as a text box, drop-down list, multiple select list, radio buttons, etc).

You can add fields to any Content Type in dotCMS, even the Content Types that ship with dotCMS. This allows you to both create new Content Types with any fields you wish and to extend the Content Types that come with the base dotCMS installation by adding any additional fields you wish.

The fields in a Content Type (e.g. "columns" in the "table") are comprised of the Standard Field Types, the WYSIWYG Field, Tag and Category Fields, etc. Nearly all fields can be made searchable, and can be accessed via the RESTful APIs.

Field Types#


The following summarizes the different types of fields which may be added to a Content Type:

Field TypeSystem NameData TypeDescription
BinarybinaryFileFile or image embedded in, and accesible only to, the content to which it belongs.
Block EditorstoryblockBlock EditorA rich content editor that allows you to create your content as building blocks. Content is stored as JSON and can be used for both headless and traditional delivery.
CategorycategoryTaxonomyAllows content contributors to select from a pre-defined list of Categories.
CheckboxcheckboxSelection (Multiple)Allows selection of zero, one, or multiple values from a set of pre-defined text values.
Constant FieldconstantNot DisplayedA value held constant for all content of this type.
CustomcustomCustom CodeCustom field displayed and managed with Velocity and Javascript code.
DatedateDate and TimeStores a calendar date.
Date and TimedatetimeDate and TimeStores Date and Time, with timezone information.
FilefileFileLink to a file which can be accessed separately from the content (via the Site Browser).
Hidden FieldhiddenNot DisplayedValue that can be changed per content item, but is not displayed on the content editing screen.
ImageimageFileLink to an image which can be accessed separately from the content (via the Site Browser).
JSONjsonJSONAllows you to store and access semi-structured data within content objects.
Key/Value FieldkeyvalueTaxonomyAllows storage of any number of key-value pairs.
Multi-selectmultiselectSelection (Multiple)Allows selection of zero, one, or multiple values from a set of pre-defined text values.
RadioradioSelection (Single)Allows selection of a single value from a set of pre-defined text values.
Relationship FieldrelationshipTaxonomyAllows content contributors to relate individual content items of different content types.
SelectselectSelection (Single)Allows selection of a single value from a set of pre-defined text values.
Site or FolderhostfolderLocationEnables each individual content item to be located in (and to inherit permissions from) a separate site or folder.
TagtagTaxonomyAllows content contributors to add free-form Tags.
TexttextTextSingle line text with no formatting tools available to content contributors.
TextareatextareaTextMulti-line text with no formatting tools available to content contributors.
TimetimeDate and TimeStores a time of day.
WYSIWYGwysiwygTextRich text editor that can be easily formatted by content contributors; defaults to HTML storage.

Each field type has different properties that can be set (some of which are required). For more information, please see the Field Properties documentation.

Organizing Fields on the Screen#


The fields in the content editing screen may be arranged through several entities that make it easy for content contributors to view and edit appropriate fields.

Organization TypeAvailable ViaDescription
RowAdd Row button (bottom)Creates a separate row, in which fields may be added and arranged
TabAdd Row button (bottom)Places all rows following the Tab into a separate tab within the content editor
ColumnField List (right)Adds a column to a row, allowing you to separate fields into multiple columns
Line DividerField List (right)Adds a visible line, allowing you to visually separate fields
    Field Types | dotCMS Dev Site