Skip to main content
Solved

How do I compile a workspace to deliver to a third party I dont want to send the original workspace to?

  • June 28, 2018
  • 5 replies
  • 35 views

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

Best answer by mark2atsafe

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.

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

5 replies

erik_jan
Contributor
Forum|alt.badge.img+22
  • Contributor
  • 2179 replies
  • June 28, 2018

You can set a password on the workspace.

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


mark2atsafe
Safer
Forum|alt.badge.img+56
  • Safer
  • 2554 replies
  • June 28, 2018

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!

 


mark2atsafe
Safer
Forum|alt.badge.img+56
  • Safer
  • 2554 replies
  • Best Answer
  • June 28, 2018

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.


Forum|alt.badge.img
  • 173 replies
  • June 28, 2018

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.


davideagle
Contributor
Forum|alt.badge.img+22
  • Contributor
  • 578 replies
  • June 29, 2018

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.