So I've asked this question of the FME server team, but I'm hoping someone has a work-around I can try. I want to specify, I don't want to use a table with locations, I don't want to use python to map to the right location either. Maybe there isn't a way to do what I want.
So I have some workspaces that run nightly. I want to test them on desktop as well as our development fme server. There's a production fme server as well.
For .sde connections: I created a folder (sdeConnections) on the E drive of each of the server environment and the connection files go in there. on desktop, I am mapping E:\\ to a network shared location. The E drive on desktop and the dev server both have connections to development databases. fme workspace authors will use these connections to test their workspaces. They can publish them to any of the environment and data will be read from the right database and will write to the right database. Only issue is that whenever you publish them, fme server wants to upload the connection files and you always have to uncheck.
I also create ffs file in one of the jobs and on dev or desktop, should go to 1 location and another on prod. I created a network resource called ffsLocation pointing to a network share. In my workspace, I also create a published parameter called ffsLocation pointing to a network share. Now, when I publish the workspace to FME server (either dev or production, I want it to read the resource and not the parameter. But it's not and the only way for it to do so, is for me to specify $(ffsLocation) in the published parameter box when I run the workspace. The reverse is that if I don't create a parameter, I can't use the resource in desktop.
Now, to read the ffs file (which I do need to do in some workspaces), I can specify that as a reader source, but I can't use it to write to it. Weird right?
What is even more confusing is that I can create a database and web connection on FME server, and create the same ones on desktop and I can use it regardless of which environment I publish the workspace to. FME server tells me that connection already exists. I would love to be able to use resource/parameter the same way.
The end goal is to have one workspace (already version controlled in bitbucket) and be able to make it work seamlessly regardless of dev or prod, desktop or server.
Would love your thoughts on this.