Skip to main content

I have a chain of workspaces (connected with workspace runners) and would like to set a few initial settings, from attributes, that are to be carried on through all the child workspaces, also in and out of custom transformers.

Example: Say I want to fetch a scale setting from dataset Z, and then not use that source any more. This attribute can of course be saved to a separate "settings file" and be used in the child workspaces. But how do I set values on transformers that are not "naturally" connected to the settings file? I have been trying to get user User Parameters to do the job, that works sometimes, but requires extra steps in custom transformers. And sometimes I can't get them to work at all.

What is the best practise in order to get this working? And what are the unintuitive settings that one needs to know about beforehand?

Because you said a "chain of workspaces", i'm assuming you're meaning workspace A calls workspace B, workspace B calls workspace C etc (Rather that one parent workspace that has a bunch of workspace runners)

 

One thing to note is that some transformers can not have thier settings defined as parameters or variables.

 

To keep it simple, lets just think of a bufferer, and you want to be able to set the buffer distance for all processes. In each of your workspaces, you need a published parameter that will be called in each of the bufferers. That same parameter will then be used to set the next workspaces buffer in the workspace caller.

 

In the first workbench, the parameter is set and flows through the chain. When it comes to custom transformers, these are much the same as seperate workspaces. You need to create a published parameter in the transformer and this will then be exposed in the parent workspace. The fields can then be populated with the workspaces buffer parameter

 


Because you said a "chain of workspaces", i'm assuming you're meaning workspace A calls workspace B, workspace B calls workspace C etc (Rather that one parent workspace that has a bunch of workspace runners)

 

One thing to note is that some transformers can not have thier settings defined as parameters or variables.

 

To keep it simple, lets just think of a bufferer, and you want to be able to set the buffer distance for all processes. In each of your workspaces, you need a published parameter that will be called in each of the bufferers. That same parameter will then be used to set the next workspaces buffer in the workspace caller.

 

In the first workbench, the parameter is set and flows through the chain. When it comes to custom transformers, these are much the same as seperate workspaces. You need to create a published parameter in the transformer and this will then be exposed in the parent workspace. The fields can then be populated with the workspaces buffer parameter

 

Thanks, just a quick question. Is a Published Parameter the same thing as a User Parameter?


Thanks, just a quick question. Is a Published Parameter the same thing as a User Parameter?

Hi @aron​  

User Parameters and Publish Parameters are the same.

You can share the same publish parameter in different transformers or writers.

I would recommend going through the following articles to get started.

Introduction to Published Parameters

Sharing Published Parameters

 


Reply