Toggle menu

Overriding Default Form Properties

Form Family Overrides let you customise form and field values and settings. The override file can be used to set the default value of any property in your forms. You can also hide properties, preventing users from editing them.

The override file is saved in the iCM custom folder, accessed using the File Manager, and takes the form of a single JSON Object.

Form Family Overrides
 

Overrides are applied across your iCM installation, they can't be set per subsite or user.

Details

The override file can be found in the familyoverrides directory of the custom folder: custom\familyoverrides\DEFAULTV2_family_overrides.js.cfm

iCM will look for and load the override file when the forms designer is opened (you'll need to clear your browser cache for changes to be picked up).

Overrides are applied to field and form properties while they are being loaded in the designer. Field value defaults won't be picked up by fields already added to your form, although preventing a field property from being edited will. Form and page setting defaults will only be applied to new forms created once the override has been set up.

Override Format

All overrides have the format:

<ELEMENT>.<PROPERTY>.DEFAULT or <ELEMENT>.<PROPERTY>.ALLOWEDIT

Where:

  • ELEMENT is either:
    • FORMPROPERTIES - overrides a form level setting
    • PAGEPROPERTIES - overrides a page level setting
    • FIELDTYPENAME - the name of a field type to override
  • PROPERTY - the name of the property/setting you want to override
  • DEFAULT - set the default value. This will always be a string
  • ALLOWEDIT - set as false to hide this property in the forms designer

Override a form setting's default value:

"FORMPROPERTIES.<PROPERTY>.DEFAULT" : "Default value"

Hide a form setting so it can't be edited:

"FORMPROPERTIES.<PROPERTY>.ALLOWEDIT" : false

Override a page setting's default value:

"PAGEPROPERTIES.<PROPERTY>.DEFAULT" : "Default value"

Hide a page setting so it can't be edited:

"PAGEPROPERTIES.<PROPERTY>.ALLOWEDIT" : false

Override a field type property's default value:

"<FIELDTYPENAME>.<PROPERTY>.DEFAULT" : "Default value"

Hide a field type property so it can't be edited:

"<FIELDTYPENAME>.<PROPERTY>.ALLOWEDIT" : false

Property Names

The documentation for each Form Field lists the property names in the right hand column of the Properties table.

Form Settings and Page Settings are listed in a similar way.

The best way to see the values that can be set is to look at the Form Family definition. In iCM, open Management, Definitions, Form Families, then expand the Explorer to find the setting you'd like to override.

This screenshot shows the options for the form alignment property:

Alignment Properties
 

You could change the default alignment using:

"FORMPROPERTIES.ALIGN.DEFAULT" : "icmformright"

Example File

In this example the form labels are aligned to the right, editors are not allowed to edit that alignment, the default page title is set as "DEFAULTV2 Page Title", which users are able to edit, and the text field is, by default, required, searchable and the searchable setting cannot be edited.

var DEFAULTV2_FamilyOverrides = {
    "FORMPROPERTIES.ALIGN.DEFAULT" : "icmformright",    
    "FORMPROPERTIES.ALIGN.ALLOWEDIT" : false,
    "PAGEPROPERTIES.TITLE.DEFAULT" : "DEFAULTV2 Page Title",    
    "PAGEPROPERTIES.TITLE.ALLOWEDIT" : true,
    "TEXT.REQUIRED.DEFAULT" : "true",
    "TEXT.SEARCHABLE.DEFAULT" : "true",
    "TEXT.SEARCHABLE.ALLOWEDIT" : false
};

Last modified on 24 October 2023

Share this page

Facebook icon Twitter icon email icon

Print

print icon