Skip to main content

I want to "deliver" an executable form of a workspace. but not the workspace itself to a third party

You can set a password on the workspace.

That will compile the file and not allow it to be opened in FME without password.


You can set a password on the workspace.

That will compile the file and not allow it to be opened in FME without password.

It will also encrypt the file, so they can't just open it in a text editor and copy the contents!

 


There's no way to wrap up a workspace with an engine and deliver the two of them. The end user has to have FME installed. You can (as @erik_jan suggests) password protect the workspace to stop the user seeing its contents.

But another alternative is to host the workspace on FME Server and have it deliver the results (either a Data Download or maybe via email). Then the user can run the workspace any time they like, but don't ever get access to it. If the user has to provide data for input, it's easy enough to make it a Data Upload service too, or to respond to a file added to DropBox/Drive.

In fact you could set it up on FME Cloud, and give the user a "dummy" workspace that fires up the cloud machine (FMECloudInstanceLauncher/Controller), runs the real workspace (FMEServerJobSubmitter), then shuts down the machine again (FMECloudInstanceController).

In short, if you don't want to provide the workspace file to someone, give them the capability to run it as a web service.


You can also license your workspace to prevent the end user to share the workspace.

In fact, the workspace can be shared but the new user will need to ask you for a licence.

See the LicenseChecker Scenario.

Internally, we have automated the password protection of workspaces and custom transformers in a build/delivery process that let us quickly package a set of workspaces and custom transformers sold as a packaged product.

Each of our users then have to request a licence to be able to use the product.


You can set a password on the workspace.

That will compile the file and not allow it to be opened in FME without password.

One benefit of @erik_jan's suggestion is that you can actually deploy and run a password protected Workspace using the Quick Translator application, without having to give the password to the user. So, create workspace, password protect, issue to user who has FME installed, tell them to launch in the Quick Translator... the first thing they will see will be all of the parameters that you have exposed to allow them to control how the ETL process is run.

 

 

With a little user instruction this is also a really neat way of deploying a process to someone who doesn't need to know how FME works and who doesn't have access to FME Server.

 

 

Password protecting the process protects your IP if you only have FME Desktop. Supplying the data via a service though with FME Server or FME Cloud as @Mark2AtSafe suggests is the ultimate solution.

Reply