Skip to main content

I ran into some quirkyness with lined custom transformers today\\

Normally, when one has a workspace with a linked custom transformer, and you change the stuff between the input and output ports of that transformer, the next time you run this workspace uses the new functionality. That is when you save the transformer and don't make a new version.

The parameters of the linked transformer are not changed. Obviously that goes for the published parameters, you set in the workspace through dropdown menu's etc. on the linked custom transformer, but it also seems to go for the private parameters of the linked transformer.

It looks like they are stored in the workspace as wel in some sort of way.
When you have changed these during the rework on the Linked transformer, still the old private parameters seem to be used when running the workspace!

In my case the private parameters were python-scripted parameters in the linked transformer. I changed the python-scripts. When running the workspace with the transformer, still the old python-scripts were run!!!

The only way to get the new scripts to be executed was to delete the linked transformer, and drag it into the workspace anew from the transformer-gallery.

I found this on FME 2016.1 build 16494 - WIN64. I have not yet found any documentation describing this kind of behaviour. Allthough the parameter behaviour is consistent accross all custom transformer parameters, I doubt if this is the thing one would expect to happen. Keeping the private parameters of a linked transformer private to that transformer seems more logic to me.

that has been there for a long time.

You have to actually close the workspace using the transformer. Upon opening your changes are there.

Or delete and reinsert..

Which you will not want to do if you got a complex one with lots of stuff attached to it..


If you want your changes to be applied immediately you might embed the custom transformer.


that has been there for a long time.

You have to actually close the workspace using the transformer. Upon opening your changes are there.

Or delete and reinsert..

Which you will not want to do if you got a complex one with lots of stuff attached to it..

Opening and closing did not affect the private parametersettings of the Linked custom transformer. Even committing it to GIT, and uploading it to server from a different computer using the REST API did not change this.

 

 


If you want your changes to be applied immediately you might embed the custom transformer.

I like to keep the transformer linked so I can use its functionality in multiple workspaces and only have to change it in one spot if I need a bugfix or added functionality.

 

 


This is still happening in FME 2021.2.6.0. Makes for some perplexing and time consuming debugging sessions.


This is still happening in FME 2021.2.6.0. Makes for some perplexing and time consuming debugging sessions.

😁 yeah... this was one of the hardest nuts to crack, finding what goes wrong. Almost as hard as trying to write down the 'unexpected behavior' somewhat understandable in this question.

 

Good luck, take care and keep on FME-ing.


Reply