Parameter Specification¶
A parameter is represented by a JSON object which defines the parameter's properties. Parameters are typically defined together as a list within a Form.
| Key | Type | Required | Default | Description | UPM/TD |
|---|---|---|---|---|---|
name |
str | The unique identifier for the parameter. | |||
type |
enum | The parameter type. | |||
valueType |
enum: string, stringEncoded, stringEncodedParts3 |
Specifies how the parameter value is stored. stringEncoded will use FMEParsableText encoding to escape special characters. |
|||
defaultValue |
any | The default value of the parameter. | |||
prompt |
str | A human-readable prompt for the parameter. | |||
showPrompt |
bool | true/false |
Specifies whether the parameter prompt is visible. Default value varies based on parameter type.5 | ||
supportedValueTypes |
array(enum): expression,globalParameter,null,noOp,none |
["globalParameter"] |
A list of value setting methods to allow. "expression" includes attribute values. "literal" is not included in the enumeration as literal values are always allowed. To exclude all value types except literals, specify ["none"]. |
||
required |
bool | true |
If true, the parameter will be highlighted as invalid when empty. |
||
setValue |
str, dyanamic |
Dynamic property that updates the parameter value. Default is not to modify value. | |||
visibility |
enum, bool, dyanamic |
visibleEnabled |
Dynamic property that controls the visibility and enabledness of the parameter. | ||
expressionSettings |
obj | An object containing settings related to defining an expression value type. Only relevant when supportedValueTypes contains expression. |
|||
choiceSettings |
obj | An object containing settings related to defining the choice options the parameter will display. Behavior depends on parameter type.8 |
Deprecated¶
| Key | Type | Required | Default | Description |
|---|---|---|---|---|
hidden |
bool | false |
If true, parameter will not be shown in the ui, but its value will be stored. (Replaced by visibility.) |
|
deprecatedFlags |
array(enum): wholeline,showZipButton,noEdit,disabledOnly,alwaysEnabled,forceDefs,ignoreValue |
Allows specifying a list of legacy flags. Note: these settings should be avoided at all costs in new parameters. |
expressionSettings¶
| Key | Type | Required | Default | Description | UPM/TD |
|---|---|---|---|---|---|
sourcePorts |
arr(str) | [] |
A list of input port names to include attributes from. If empty, attributes from all input ports will be included. |
||
supportsConditionals |
bool | true |
Enables the conditional value editor. | ||
supportsAbort |
bool | false |
Enables the "Stop Translation" option in the conditional value editor. | ||
subsequentFeatures |
int [-1, 100] |
0 |
Number of subsequent adjacent features to display attribute references for. If -1 is specified, the maximum number is used. |
||
priorFeatures |
int [-1, 100] |
0 |
Number of prior adjacent features to display attribute references for. If -1 is specified, the maximum number is used. |
choiceSettings¶
| Key | Type | Required | Default | Description | UPM/TD |
|---|---|---|---|---|---|
choiceSet |
enum | userDefined |
Specifies a predefined set of choices to use for the parameter. | ||
include |
arr(str) | A list of values to intersect with the choices defined by the choiceSet. Mutually exclusive with the exclude key. |
|||
exclude |
arr(str) | A list of values to exclude from the choices defined by the choiceSet. Mutually exclusive with the include key. |
|||
sort |
enum:noSort,naturalSort |
various10 | Controls how to sort the choice list. | ||
choices |
arr(obj) | A list of objects for manually specifying choice values. |
choices¶
| Key | Type | Required | Default | Description | UPM/TD |
|---|---|---|---|---|---|
value |
str | The value of the choice to be used in the backend. | |||
display |
str | The string to display to the user, subject to translation12. | |||
icon |
path | A file path to an image file to use as an icon, shown as part of the choice. | |||
textFormatting |
obj | An object for specifying formatting options to apply to the choice. |
textFormatting¶
| Key | Type | Required | Default | Description | UPM/TD |
|---|---|---|---|---|---|
bold |
bool | false |
If true, the display text will be bold. |
||
italic |
bool | false |
If true, the display text will be italicized. |
||
strikeout |
bool | false |
If true, the display text will be stricken out. |
||
underline |
bool | false |
If true, the display text will be underlined. |
Types¶
- checkbox - Make a boolean choice.
- color - Select a color value.
- datetime - Select a date.
- dropdown - Select a single item from a dropdown menu.
- file - Select a file or folder on the local file system.
- font - Select a font and additional properties.
- geometry - Create a geometry object.
- group - A container for multiple parameters arranged sequentially.
- icon - Select from a set of icons.
- listbox - Select items from a list.
- message - Display static text.
- multi - Deprecated.
- number - Specify integer or float values.
- password - Input a password.
- radio - Select one of several toggle buttons.
- range - Select a range of numbers.
- table - A table with cells composed of other parameter types.
- text - Enter text.
- tree - Select items from a tree.
Choice Sets¶
- userDefined - User Defined Choices
- attributeNames - Input Attributes
- coordinateSystems - Coordinate Systems
- dbConnections - Database Connections
- dynamicServiceValues - Dynamic Choices via Python script
- encodings - String Encodings
- exposableFormatAttributes - Format Attributes
- geometryNames - Geometry Names
- geometryTransformations - Geometry Transformations
- pointCloudComponents - Point Cloud Component Names
- pointCloudTypes - Point Cloud Component Data Types
- readers - FME Readers
- readerValues - Dynamic Choices via FME Reader
- webConnections - Web Connections
- writers - FME Writers
Dynamic Properties¶
For dynamic property object syntax, see dynamicproperties
visibility¶
| Value | Description |
|---|---|
visibleEnabled |
The parameter will be enabled and visible in the UI, unless its parent parameter (a group or table) is disabled and/or hidden. |
visibleDisabled |
The parameter will visible, but disabled.13 |
hiddenEnabled |
The parameter will hidden from the UI but be treated as enabled internally. |
hiddenDisabled |
The parameter will hidden from the UI and disabled. |
true |
Synonym for visibleEnabled. |
false |
Synonym for hiddenEnabled. |
| other value or undefined | Default to visibleEnabled. |
visibility Example:¶
{
"visibility": {
"if": [
{
"$hasValue": {
"parameter": "OFF_BUTTON",
"value": "OFF"
},
"then": "visibleDisabled"
}
]
}
}
setValue¶
| Type | Description |
|---|---|
| str | The parameter value will be set to this string value. |
| obj | The parameter value will be set to object "value", but subject to extra conditions. |
| other types or undefined | The parameter value will not be modified |
"value" Object¶
| Key | Type | Required | Default | Description | UPM/TD |
|---|---|---|---|---|---|
value |
str | The value to set the parameter to. | |||
override |
bool | true |
Specifies whether to override user-provided values. | ||
evaluateOnLoad |
bool | false |
Specifies whether value should be set when loading the form.14 |
value string Example:¶
{
"value": {
"if": [
{
"$hasValue": {
"parameter": "X_MAKES_OTHER_Y",
"value": "X"
},
"then": "Y"
}
]
}
}
In the above example, if "X_MAKES_OTHER_Y" has value "X", then the parameter value will be unconditionally set to "Y".
value object Example:¶
{
"value": {
"if": [
{
"$hasValue": {
"parameter": "IF_X_THEN_SET_TO_Y_BUT_DONT_OVERRIDE",
"value": "X"
},
"then": {
"value": "Y",
"override": false
}
}
]
}
}
In the above example, if "IF_X_THEN_SET_TO_Y_BUT_DONT_OVERRIDE" has value "X", then the parameter value will be set to "Y" if the user has not input a value for the parameter.
Example¶
{
"parameters": [
{
"name": "MESSAGE",
"type": "text",
"valueType": "stringEncoded",
"supportedValueTypes": [
"expression",
"globalParameter",
"conditional"
],
"prompt": "Log Message",
"required": true,
"defaultValue": "Feature is:"
},
{
"name": "MAXCOORDS",
"type": "number",
"valueType": "string",
"supportedValueTypes": [
"expression",
"globalParameter",
"conditional"
],
"prompt": "Max Coordinates Per Feature",
"required": true,
"defaultValue": 20
},
{
"name": "MAXFEATS",
"type": "number",
"valueType": "string",
"supportedValueTypes": [
"expression",
"globalParameter",
"conditional"
],
"prompt": "Max Features to Log",
"required": true,
"defaultValue": 20
},
{
"name": "FEATURE_TYPE",
"type": "text",
"valueType": "stringEncoded",
"supportedValueTypes": [
"expression",
"globalParameter",
"conditional"
],
"prompt": "Feature Type Override",
"required": false
}
]
}
-
Will be set to an auto-generated UUID if empty. ↩
-
Some types are currently unavailable: font, icon, radio, range ↩
-
Internal Only:
StringEncodedPartsis for values that are lists where the list elements should be FMEParsableText encoded but not the list itself. This is used to avoid problems with list elements containing delimiter characters in their values. ↩ -
Required when
showPromptistrue. ↩ -
As a general rule, parameters which span multiple lines (tables, groups, etc) do not show the prompt by default and are typically wrapped in a group with a title instead. ↩
-
Not all values/configurations are currently supported. ↩
-
Only conditional values are currently supported. ↩
-
Required by the following parameter types: dropdown, listbox, radio, tree
Optional for the following parameyer types: file, number, text
Not supported by other parameter types. ↩↩ -
Some choiceSets are currently unavailable: encodings, exposableFormatAttributes, pointCloudComponents, pointCloudTypes readers, readerValues, writers ↩
-
Default for user defined choice sets is
naturalSort, and varies for predefined choice sets.
For example,encodingsare sorted by popularity, andattributeNamesare sorted alphabetically. ↩ -
If not specified, value of the
valuekey will be displayed instead. ↩↩ -
All display strings are subject to translation when enabled.
To avoid translation, do not specify this key to display the untranslated value from thevaluekey instead (see 11). ↩ -
Disabled parameters appear grayed-out in the UI and have a value of
<Unused>↩ -
Normally setValue conditions are only evaluated when a dependent parameter value changes, not when initially loading the form. ↩