Skip to main content
Question

How to develop a linked custom transformer (the right way!)

  • January 4, 2021
  • 1 reply
  • 273 views

Hello,

 

this topic is based on this initial post from me:

https://community.safe.com/s/question/0D54Q000080hM3SSAU/what-are-the-fme-best-practices-for-modularization?t=1609774258752

 

However, the question is now a bit different. Therefore, I will open up a new topic.

 

Goal: I would like to develop a linked custom transformer

Issue: If the custom transformer has some sort of complexity, I have problems debugging it, since things like “feature caching run” is not available there.

Used FME Desktop Version: 2020.1.3.0 (Build 20632)

 

I tried 3 possible solutions, but I have some issues with all of them. Maybe you can help me out finding the “right way” to do it.

 

Possible solution 1: Convert the linked custom transformer into an embedded one, develop inside the embedded custom transformer and then export it back into a linked custom transformer.

Possible solution 2: Copy the content of the linked custom transformer into a new workspace, develop inside this new workspace and copy it after the development back into a new version of the linked custom transformer.

Possible solution 3: Do not use linked custom transformers at all, but use exported embedded custom transformers.

 

Issue with solution 1: The different versions are lost. If I had a linked custom transformer with versions up to i.e. 5 and I convert it into an embedded custom transformer and after the development exporting it back into a linked custom transformer, the version will start from 1 again (instead of beeing i.e. 6).

Issue with solution 2 (which I am using right now): It’s a bit inconvenient. In addition, the whole copy&paste-process doesn’t feel right.

Issue with solution 3: I cannot handle the version-upgrade inside the FME-scripts, which are using the custom transformers, in a proper way (via upgradable transformers individually for each custom transformer)

 

Thanks in advance and best greetings

Florian

1 reply

Forum|alt.badge.img+1

Hi Florian! Good (and unfortunate, obviously) to hear that me and my colleague aren't alone in this situation, since we've identified pretty much the same alternatives. We're also using #2 now, which works fine but isn't really desirable in the end. For connections, we've managed to experiment a bit with using a network-drive to have a shared "pool" of connections. Which is great if the VPN or connection is solid, but causes crashes if it loses connection mid-run - the kind of "FME.exe just crashes and goes away"-crashes, that means something _really_ went wrong.

 

I am not sure if it's possible to have a shared folder (also accessible under FME Options -> Default Paths) in which the installed transformers are stored. I am uncertain if "installing" actually does anything, or just puts the transformer in the correct location. http://docs.safe.com/fme/2020.0/html/FME_Desktop_Documentation/FME_Workbench/Workbench/custom_transformer_install.htm seems to indicate this could work. Do you have a good situation in which to try this, or should I give it a go?