Question

private parameter to prompt the user to select feature types to read

  • 28 August 2018
  • 5 replies
  • 26 views

Badge

I am trying to create a server based tool that will read in multiple files and then process them. At the very beginning I want to prompt the user to select the feature types to read. Specifically, I am reading in MicroStation files using the level names. There can be hundreds of level names so in order to reduce the features being read I want the user to select only those level names they want to process. I see that a private parameter is probably the way to do this, but not sure how that would go. What command would I use to open the schema to select the feature types to read. Will it then pause to allow the user to select what they want and then close the dialog box?


5 replies

Badge

OK, my question shows how much of a novice I am at this. In case anyone is trying to figure out how to do this: The parameters you want to prompt for leave in the published parameter group and move the other parameters to private. Then click the ? mark, or use run>prompt. When the script is run, the parameters will come up for editing. Hope this makes sense.

Badge +6

You can select Single Merged Feature Type when reading data. FME will automatically generate a Feature Types to Read parameter, which allows you to select the required FeatureType when you run the workspace.

You mentioned that using private parameter prompts the user to select FeatureType. I think you may have some misunderstandings. If you want the user to set a parameter during execution, then this parameter must be a public parameter.

Badge +2

Hi @tsurveyor,

I just wanted to expand on your explanation a little. To create a User Parameter that requires user input every time the workspace is run in the Add/Edit User parameter wizard you should uncheck the 'Optional' tick box but leave the 'Published' one checked (this means everyone will see it).

You can set the type to Choice (Multiple) to allow the user to select multiple items from the list and since you have a large number of names you can use the Import button in the Configuration window to bring these in from another file instead of typing these out manually.

To see these parameters at run time ensure that 'Run with prompt' is selected, you can do this by selecting the icon next to the Run/Stop on the icon ribbon, then once you click Run a Translation Parameters window will appear - this will show all parameters listed under the 'Published Parameters' tab in the Navigator so if you create other parameters in your workspace that you do not want the user to have access to then make sure these are listed as private.

If you publish the workspace to FME Server any Published parameters will be shown under the Advanced section of the Run Workspace page.

You can find more information about User parameters here: http://docs.safe.com/fme/2017.1/html/FME_Desktop_Documentation/FME_Workbench/Workbench/published_private_parameters.htm

Badge

Hi @tsurveyor,

I just wanted to expand on your explanation a little. To create a User Parameter that requires user input every time the workspace is run in the Add/Edit User parameter wizard you should uncheck the 'Optional' tick box but leave the 'Published' one checked (this means everyone will see it).

You can set the type to Choice (Multiple) to allow the user to select multiple items from the list and since you have a large number of names you can use the Import button in the Configuration window to bring these in from another file instead of typing these out manually.

To see these parameters at run time ensure that 'Run with prompt' is selected, you can do this by selecting the icon next to the Run/Stop on the icon ribbon, then once you click Run a Translation Parameters window will appear - this will show all parameters listed under the 'Published Parameters' tab in the Navigator so if you create other parameters in your workspace that you do not want the user to have access to then make sure these are listed as private.

If you publish the workspace to FME Server any Published parameters will be shown under the Advanced section of the Run Workspace page.

You can find more information about User parameters here: http://docs.safe.com/fme/2017.1/html/FME_Desktop_Documentation/FME_Workbench/Workbench/published_private_parameters.htm

thanks Holly. I tend to click things and try things and then research as I test instead of getting all of the information up front, more like a bull in a china shop. Anyway, I finally figured out that the parameter I wanted is automatically created - "feature types to read". So I made the rest of the parameters private and left this one public and turned on the "Run with prompt". The choice parameter is good to know about for the future but would not work here because each MicroStation file has a different list of level_names. But this will work for something else I'm trying to do. Appreciate your help.

 

 

Badge

You can select Single Merged Feature Type when reading data. FME will automatically generate a Feature Types to Read parameter, which allows you to select the required FeatureType when you run the workspace.

You mentioned that using private parameter prompts the user to select FeatureType. I think you may have some misunderstandings. If you want the user to set a parameter during execution, then this parameter must be a public parameter.

thanks taojunabc. I already had the incoming files as a single merged type and it took me a while to realize that the parameter I wanted was already there. Still learning. Appreciate your response.

 

 

Reply