Custom Transformer Versioning

FME allows external file definitions of a custom transformer to exist as a number of versions. Each time a custom transformer definition is edited, a new version can be saved.

In that way, a single fmx file can contain multiple versions of the same custom transformer.

Versioning allows the author of a custom transformer to revert to a previous definition, should the need arise. It also allows a separate definition to be created for each version of FME. The custom transformer remains backwards-compatible with older FME versions, but takes advantage of enhanced functionality in newer versions.


Creating a Versioned Custom Transformer

After editing an unversioned custom transformer, clicking the save button issues the following prompt:

The two versioning options are to Overwrite the existing version or to create a New Version.

Essentially, the prompt asks whether to activate versioning. Clicking New Version versions the transformer and saves the edits as version 2. Note that creating a new version does not create a separate fmx file; instead, it creates a separate version of the transformer within the same fmx file.

The title bar in Workbench illustrates the version number of a custom transformer file:

If you choose Overwrite in the Save Transformer dialog, then the transformer remains unversioned.


Editing a Specific Transformer Version

Opening a versioned custom transformer in Workbench issues the following prompt:

This prompt asks which version you wish to edit, or whether you want to just start with a new version. This way you can:

  • Create a new version to make edits to
  • Continue making edits to the existing version
  • Make edits on an older version (particularly useful when that version is tied to a particular FME release)

It's important to be aware that this dialog is the only way to create a new version. Clicking the save button merely saves updates to the currently open version. To forcibly create a new version you need to close and reopen the file, causing the Select Transformer Version dialog to appear.

Transformer and FME Versions

Each version of a custom transformer is associated with a particular FME version. You can choose to make edits to a transformer that was last edited in an older version of FME, but you will receive a warning message:

Here version 1 was created with FME 2018, and the author is attempting to edit it in FME 2019. Should they go ahead and do so, version 1 of the transformer will no longer be valid for use in FME 2018.


FME Lizard says…
Sometimes you can get confused about these dialogs (well, I can) so let me set you straight:

When a custom transformer is first exported, you don't get the Select Version dialog (because the transformer is still unversioned) and you don't get the Save Version dialog (because why create a new version when this transformer was just exported?)

When you open the definition (fmx file) the next time, you again don't get the Select Version dialog (because it is still unversioned), but you will get the Save Version dialog when you save the changes, allowing you to make the transformer versioned.

From that point on, you'll always get the Select Version dialog when you open the fmx file (because the transformer is now versioned) but for the same reason, you'll never get the Save Version dialog when you save edits.

Updating a Transformer Version

If the option to display the transformer version is turned on (Tools > FME Options > Transformers > Display transformer version) then each linked custom transformer displays its version number in summary annotation:

When FME detects that a new version is available (i.e., the author has made edits and saved them as a new version) and that this version is compatible with the FME version being used, then an option appears on the context menu to allow an update:

Choosing to upgrade means the transformer becomes linked to the latest version, and the summary annotation updated to reflect this.


FME Lizard says…
FME checks for new versions only when Workbench is first started. If Workbench is already open and you wish to check for a new custom transformer version, you can force FME to check by clicking the refresh button on the Transformer Gallery window:


FME Lizard asks...

Q) You have a workspace with a linked custom transformer (version 1). The author of that transformer makes a series of edits and updates it to version 4. What do you think the upgrade option does to the custom transformer in your workspace?

Upgrade it to version 2
Upgrade it to version 3
Upgrade it to version 4
It depends on what version of FME you and the author are using

A) It will upgrade the custom transformer to the latest version that is compatible with the FME version you are using. If you are using the same version of FME, then it would upgrade the custom transformer to version 4. But if you are using different versions of FME then it could be version 2 or 3 instead (or maybe there would be no available updates at all!)

results matching ""

    No results matching ""