Question

Using Private Parameters in FME Server App

  • 22 October 2021
  • 3 replies
  • 17 views

Userlevel 4
Badge +25

I have an FME Server workspace with a number of published parameters and one private one, which is a choice parameter with 4 options. I would like publish this as an FME Server App that users will access by scanning a QR code with their phone. The published parameters are no problem, but the private one can't be set anywhere on FME Server. I haven't been able to find out how to do it through the Rest API (and even if that were possible I'd rather not code my own webpage for it). What options do I have other than creating 4 different versions of my workspace and publish each one as a separate Server App?


3 replies

Userlevel 4
Badge +26

Yeah private parameters are a pain, you can only change them in the workspace before publishing. Can you explain a bit more about hat the content of the private parameters are? Do you want to change these at run time or when publishing?

 

I have the same problem with database connection details (we use a third party tool which needs the credentials so I can't use a database connection). I store the connection details in private parameters which means for each database I need a new copy of the workspace...It's painful.

 

The only way I've been able to figure out how to change the private parameters automatically is by treating the .fmw as a text file and just replacing the values. A bit hacky.

Userlevel 4
Badge +25

I can't give out too many details as we're keeping this a bit under wraps for now, but here's the gist of it:

 

There's going to be 4 QR codes, each linking to the same FME Server App, that our users can scan. The private parameter contains a reference to the QR code that's scanned (so yes, they would be different urls and thus different QR codes. All of the other (published) parameters will be set by the user on runtime, all of the other processing is exactly the same. Not that there is much processing going on really, just creating features with the attributes filled from the parameters and pushing them on to a database.

 

We could make that private parameter a published one as well but it'd just be a bit odd. Nothing major so we'll certainly consider that as an option.

 

The worst-case-scenario, 4 separate workspaces, is a bit of a pain but since this is something that's only going to be used for a few days and doesn't require any long-time maintenance it's not too bad either.

 

Since there is a high likelihood of 2 or more people scanning a QR code at the same time hacking the .fmw file on the fly is not something I'd want to do (and it's going to be on FME Cloud anyway)

Userlevel 4
Badge +26

I can't give out too many details as we're keeping this a bit under wraps for now, but here's the gist of it:

 

There's going to be 4 QR codes, each linking to the same FME Server App, that our users can scan. The private parameter contains a reference to the QR code that's scanned (so yes, they would be different urls and thus different QR codes. All of the other (published) parameters will be set by the user on runtime, all of the other processing is exactly the same. Not that there is much processing going on really, just creating features with the attributes filled from the parameters and pushing them on to a database.

 

We could make that private parameter a published one as well but it'd just be a bit odd. Nothing major so we'll certainly consider that as an option.

 

The worst-case-scenario, 4 separate workspaces, is a bit of a pain but since this is something that's only going to be used for a few days and doesn't require any long-time maintenance it's not too bad either.

 

Since there is a high likelihood of 2 or more people scanning a QR code at the same time hacking the .fmw file on the fly is not something I'd want to do (and it's going to be on FME Cloud anyway)

Yeah I would probably go with 4 different workspaces in that case. No ideal but if it's just a one off then that would be my suggestion. It would be nice to be able to auto-preset and hide published parameters. Of course if you build your own from end then you could do this, but if you are directing users to an FME Server App age I guess it's a bit limited. I'll be honest I haven't much used the FME Server app yet

Reply