Files
Introduction
Workspace authors can readily create user parameters from the Edit or Parameters dialog of any workspace object added to the canvas. Most of the parameters in these dialogs have a drop-down arrow to their right. Selecting this drop-down arrow provides access to a variety of options for setting an object parameter’s value.
One of these options is User Parameter. Selecting User Parameter from this drop-down menu will display a secondary set of options, where authors can choose Create User Parameter. Selecting Create User Parameter in this secondary menu will open the Add/Edit User Parameter dialog.
Here, users can define a new user parameter whose type will, by default, match the type expected by the target workspace parameter. User parameters created in this way are visible user parameters unless the author selects the “Always Hide” option under Visibility. Once a user defines the new parameter and selects OK on both the Add/Edit User Parameter dialog and on the subsequent dialog, a new user parameter will appear in the User Parameters node of the Navigator window.
In the example above, a new user parameter was created from the Open File Geodatabase reader’s Edit dialog by selecting the drop-down menu to the right of the reader’s Coordinate System parameter. This new user parameter is by default a Coordinate System type parameter, matching the type that the target parameter of the reader expects.
This method of creating visible user parameters is also available to authors from the Parameter Editor window. In FME Workbench, select View > Windows > Parameter Editor to enable the dockable Parameter Editor window.
With the Parameter Editor window visible (docked or undocked), authors can select any object on the canvas, and the selected object’s parameters will be available for editing in the Parameter Editor window.
Authors can select the drop-down arrow next to parameters displayed in the Parameter Editor window to access the User Parameter > Create User Parameter menu option discussed above.
This method of creating visible user parameters is the best way to ensure each user parameter meets the parameter type needs of its target workspace object parameter. As such, this method should be used preferentially to the Parameter Manager where feasible.
Follow this tutorial to learn how to create user parameters with the Parameter Editor and Edit Dialog.
Step-by-Step Instructions
This tutorial builds on the workspace completed in Creating User Parameters with the Parameter Manager. Users who did not complete the previous tutorial should download CreatingUserParameters_ParameterEditor_START_2026_3.fmwt from the Files section.
This workflow reads Vancouver bike path line segments into the workspace, then splits into separate branches to generate two outputs:
- a MapInfo file of bike paths
- a CSV file of bike path statistics
This workspace allows users to select a desired destination folder for the written files at runtime. It would be ideal if users could also specify a file name for the output at runtime.
This exercise will walk through the creation of a new visible user parameters, which will allow users to specify a file name for the CSV and MapInfo files produced by this workspace.
1. Continue Workspace from Previous Tutorial or Open Starting Workspace
Either continue the workspace completed in the previous tutorial, or download and open the starting workspace (CreatingUserParameters_ParameterEditor_START_2026_3.fmwt) from the Files section to begin the tutorial.
2. Configure Workspace Settings and Windows
Click the drop-down arrow next to the Run icon and ensure the following settings are enabled:
- Enable Data Caching
- Prompt for Parameters
Next, click View > Windows and ensure the following are enabled:
- Navigator
- Parameter Editor
- Data Preview
- Translation Log
These windows can be docked to the Workbench surround, or left as stand-alone windows.
3. Select MITAB Writer Feature Type
Select the MITAB writer feature type on the canvas, called JoinedBikePaths, with a single click.
Now, look to the Parameter Editor window; the parameters associated with the selected MITAB writer feature type are now visible and editable within.
The task is to give users the ability to specify a file name for the written product at runtime. To accomplish this task, a visible user parameter should be applied to the file name parameter of the writer feature type.
4. Create a User Parameter from the Parameter Editor Window
Ensure the MITAB writer feature type is still selected on the canvas.
In the Parameter Editor window, select the drop-down arrow next to the Table Name parameter, and choose User Parameter > Create User Parameter.
The Add/Edit User Parameter dialog will open. Configure the parameters as follows:
- Parameter Identifier: MITAB_FILENAME
- Label: Enter a file name for the MITAB output
- Required: Enabled
- Show Label: Enabled
-
Visibility: Always Show
- When Visibility is set to Always Show, the user can configure the parameter at runtime
-
Default Value: <blank>
- Use the drop-down arrow and select Clear Value
Click OK on the Add/Edit User Parameter dialog, then look at the value of the MITAB Table Name parameter in the Parameter Editor window. The parameter is now referencing the newly created MITAB_FILENAME user parameter, as indicated by its new $(MITAB_FILENAME) value. Creating user parameters in this way will automatically apply them to the appropriate target object parameter value.
Select Apply at the bottom of the Parameter Editor window to commit the parameter edits. This action will add the newly created MITAB_FILENAME user parameter to the User Parameters node of the Navigator window.
5. Create a User Parameter from the Parameters Dialog
We will now create another feature type name user parameter for the other writer (CSV). Instead of using the Parameter Editor, we will use the Parameters dialog which is accessed by double-clicking the workspace object.
Double-click on the CSV writer feature type (named BikePathStatistics) to open its Feature Type parameters dialog.
Select the drop-down arrow to the right of the CSV File Name parameter text box, and choose User Parameter > Create User Parameter. This action will open the Add/Edit User Parameter dialog, similar to Step 4 above.
Configure the Add/Edit User Parameter dialog values as follows:
- Parameter Identifier: CSV_FILENAME
- Label: Enter a file name for the CSV output
- Required: Enabled
- Show Label: Enabled
-
Visibility: Always Show
- When Visibility is set to Always Show, the user can configure the parameter at runtime
-
Default Value: <blank>
- Use the drop-down arrow and select Clear Value
Click OK. The CSV File Name parameter is now set to the created user parameter $(CSV_FILENAME).
Click OK in the Feature Type parameters dialog. The new CSV_FILENAME user parameter will appear under the User Parameters node of the Navigator window.
6. Run the Workspace
Click the Run button in the Toolbar to initiate the translation. The Translation Parameters Values dialog will open:
Click on the ellipsis/file folder next to the destination folder parameter and navigate to a folder where the written CSV and the MapInfo files can be saved.
Next, enter a name for the written CSV and MapInfo files by typing directly into the two remaining user parameter text boxes.
Optionally, deselect Save As Parameter Default Values to ensure these parameter values do not become the default values for these user parameters. Deselecting this option is recommended if the workspace will be shared amongst many users, to avoid errors associated with invalid parameter values.
- Specify the destination folder for outputs: /Output
- Enter a file name for the MITAB output: BikePathLines
- Enter a file name for the CSV output: BikePathStats
- Save As Parameter Default Values: Disabled
Now click the Run button. Observe the translation log messages scrolling through the Translation Log window, watching for the Translation was SUCCESSFUL message.
This workspace should result in 21 features being passed into each writer feature type, and the written CSV and MapInfo files should have file names which correspond to the values specified in the Translation Parameters Values dialog.
Optional Exercise: Create a Choice User Parameter
This exercise will demonstrate how a Choice user parameter can be applied to change the flow of data through a workspace. This user parameter type can be thought of as a workspace switch, where data will be directed to different workflows based on a user’s answer to a choice question posed at runtime.
Often, a Choice user parameter is referenced in a Tester or TestFilter transformer to split the flow of data into two or more possible branches. This functionality allows a variety of data transformation options to be executed in one workspace.
This optional exercise begins where the previous exercise, above, ended. Users who completed this tutorial can make use of their workspace.
Users who did not complete this tutorial should download the template workspace, (CreatingUserParameters_OptionalExercise_START_2026_3.fmwt) from the Files section.
1. Continue Workspace from Previous Tutorial or Open Starting Workspace
Either continue the workspace completed in the above tutorial, or download and open the starting workspace (CreatingUserParameters_OptionalExercise_START_2026_3.fmwt) from the Files section to begin the tutorial.
Currently, this workspace produces a MapInfo file of the bike path segments aggregated by path name and a CSV file highlighting key statistics of each named bike path. We will adjust the workspace to let users choose whether to generate bike path statistics.
2. Create a Choice User Parameter from the Parameter Manager
Right-click on the User Parameters node in the Navigator window. Select Manage User Parameters from the options presented. The Parameter Manager dialog will open.
Select the green plus at the top left of the User Parameter editor to view the list of user parameter types available. Choose the Choice user parameter type.
As of 2025.2 the Yes/No parameter type has been merged into the Choice parameter type as a Standalone Textbox under Choice Configuration
Fill in the Choice parameters on the right-side as follows:
- Parameter Identifier: CALCULATE_PATHSTATS
- Label: Do you want to calculate bike path statistics (CSV output)?
- Required: Enabled
- Show Label: Enabled
- Visibility: Always Show
- Choice Configuration: Standalone checkbox
- Default Value: Disabled
Select Preview at the bottom right of the Parameter Manager. A preview window will pop up, displaying what users will see in the Translation Parameters Values dialog at runtime.
In the Parameter Manager you can drag the user parameters to rearrange the order in which users will be prompted for parameters. In this example, the Choice parameter has been moved above the destination folder parameter
The Choice parameter’s Prompt text will appear in the runtime Translation Parameters Values dialog. Selecting the checkbox next to this prompt will set this parameter’s value to YES, while leaving the box unchecked will set the parameter’s value to NO.
Close the preview window, and select OK on the Parameter Manager dialog to accept the new Choice user parameter definition and return to the main canvas.
A new user parameter, CALCULATE_PATHSTATS, will appear under the User Parameters node of the Navigator window.
3. Add a Tester Transformer to the Workspace
Add a Tester transformer to the canvas.
Connect the BikePathSegments reader feature type to the Tester Input port.
Connect the Tester Passed output port to both the Aggregator Input port and the StatisticsCalculator Input port.
Connect the Tester Failed output port to the Aggregator Input port.
In this workflow, the MITAB output is written regardless of the user’s Choice parameter selection since both Tester Passed and Failed output ports continue to the Aggregator. The CSV output, however, is dependent on the user’s selection for the Choice parameter; if the user selects the checkbox, statistics will be calculated and a CSV file written, and if the user deselects the checkbox, the workflow will not continue through the CSV file stream into the StatisticsCalculator.
Refer to the screenshot below for connection lines:
Now we will define the Tester condition so that source features will only reach the StatisticsCalculator if the value of the Choice user parameter is YES (i.e. the user checks the Choice parameter’s checkbox at runtime).
Double-click on the Tester transformer to open its parameters dialog. Set the following parameters:
-
Left Value:
$(CALCULATE_PATHSTATS)- Click the drop-down arrow to select User Parameter > CALCULATE_PATHSTATS
- Operator: =
- Right Value: YES
Unless the value of the Comparison Mode is set to Case Insensitive, the YES Right Value must be uppercase for this test condition to function as expected with the Choice user parameter.
Click OK to return to the main canvas.
4. Run the Workspace
Run the workspace with Data Caching and Prompt for Parameters enabled. The Translation Parameters Values dialog will pop up.
The new Choice user parameter is clearly in place, but something still does not look quite right with the way these user parameters are presented in the Translation Parameters Values dialog.
The Choice user parameter will allow users to determine if bike path statistics should be calculated and written to a MapInfo file. However, if a user chooses to not generate statistics, they should not have to enter a CSV file name to get the workspace to run. In its current state, this workspace will only run if a value is entered for the CSV file name parameter.
It would be ideal if this CSV file name parameter could be disabled, or even hidden, in the Translation Parameters Values dialog when the user chooses not to generate statistics. This is where the Conditional Visibility configuration options for user parameters become useful.
We will adjust the visibility of the CSV file name user parameter so that it is hidden in the Translation Parameters Values dialog when the user leaves the option to generate statistics unchecked at runtime.
Select Cancel on the Translation Parameters Values dialog to return to the canvas.
5. Adjust the CSV User Parameter Visibility
Right-click on the User Parameters node of the Navigator window and select Manage User Parameters to open the Parameter Manager.
Select the CSV file name user parameter from the left-side of the Parameter Manager dialog. In the right-side parameter definition, set these parameters:
-
Visibility: Conditional
- Single Condition: Enabled
-
Is: <Checked>
- Select checkbox
- Then: Show as Enabled
- Else: Hide
Select the Preview button at the bottom right of the Parameter Manager. Leave the Choice user parameter unchecked, and notice how the CSV file name user parameter is now hidden.
Now, try checking the Choice checkbox, and watch the CSV file name uaser parameter reappear in the Translation Parameters Values dialog.
The CSV file name user parameter visibility in the Translation Parameters Values dialog will now adjust based on whether the user chooses to generate statistics.
Close the Translation Parameters Values preview dialog, and select OK in the Parameter Manager to commit the visibility change and return to the main canvas.
6. Run Workspace
Click the Run button in the Toolbar. When the Translation Parameters Values dialog appears, leave the option to generate statistics unchecked. Choose a destination folder for outputs and enter a name for the output CSV file.
- Do you want to calculate bike path statistics (CSV output)?: Disabled
-
Specify the destination folder for outputs: /Output
- Browse to destination folder
- Enter a file name for the MITAB output: BikePathLines
- Save As Parameter Default Values: Disabled
When the translation is run, notice that the data flow through the workspace does not include the StatisticsCalculator branch.
Including the Choice user parameter in this workspace now allows users to skip writing to CSV should they not require bike path statistics.
Additional Resources
User Parameters in FME Form [Article]
Creating User Parameters with the Parameter Manager [Article]
Precisely MapInfo TAB Reader/Writer [Documentation]
Creating and Modifying User Parameters [Documentation]
Parameter Editor [Documentation]
Working with Conditionally Visible User Parameters in FME Form [Article]
Data Attribution
The data used here originates from open data made available by the City of Vancouver, British Columbia. It contains information licensed under the Open Government License - Vancouver.