3

I have an FME workspace in which the user sets several parameters before running. The first parameter is a multiple choice where the user selects which layers they would like to process.
Depending on which options they choose, different WorkspaceRunner transformers are run.

enter image description here

There are additional parameters that feed into the other Workspace Runners. However, I don't want them to be visible unless the relevant options are chosen in the first parameter.

enter image description here

Essentially, if someone selects "03 ROW Width" in the first parameter, then I want the associated parameter below ([03] Easement Width (L : R)) to appear. Likewise, if the user selects "08 Minimum Cover" in the first parameter, then I want the associated parameter below ([08 Depth of Cover (mm)). If they deselect those options, the associated parameters turn off.

Is this possible? Does FME support validation in this way?

I'm open to a python solution if this can only be done in a startup script.

2

We call these "Active Choice" parameters in FME. At the moment they are not available to users, but we plan to expose them (I see a comment that it's planned for FME2015, but I don't know how reliable that is).

fyi: It's filed as PR#36909 so I will add a comment and link to this question and increase the priority of the issue.

2

As far as I know, this can't be done within FME workspaces. There just isn't any kind of API provided for parameter UI/validation, and the built-in validation and parameter types/controls are pretty limiting.

I don't think you necessarily want to try to make your FME workspaces too "smart" anyways -- just provide the minimal number of parameters needed for it to function correctly.

If you need more control, create a separate controller application (could be almost anything, really, a Python/Java/.NET desktop app, a web app, mobile app, etc.) and implement the user interface and validation you require. After validating the user input, the app then calls fme.exe or FME Server to run the workspace and do the work.

If you have FME Server this also means your users don't each need an FME Desktop license + installation just to run this workspace.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.