Question

FME 2015 Upgrade Recommendations

  • 21 October 2015
  • 9 replies
  • 0 views

Badge +2
I'm upgrading to FME 2015.1 from FME 2013 sp1.   We have Desktop only, not server. ESRI Edition if that matters. 

 

 

I'm wondering if I should be recreating my translation mapping files or if I can just copy them and adjust if necessary. 

 

 

I read from ESRI data sources with ArcSDE 3.0 Reader/Writer and I think there is one that uses the ESRI Geodatabase Reader/Writer. Other sources are SQL Server non-spatial databases.  I use FeatureMergers, Joiners, AttributeRenamers, Testers, Reprojector, Coordinate Fetcher, AttributeTrimmer, StringFormatter, 2DPointReplacer, StringConcatenator, ListExploder, UUIDGenerator, Sorter, and a TimeStamper.  Mostly attribute manipulation and doing inserts and updates on the target data (strictly ArcSDE data).  I use the fme_db_operation parameter in order to specify doing an insert or update.

 

 

Any tips, tricks, gotchas, or other recommendations for me with regards to "converting" these files to FME 2015?

 

 

Thanks,

 

Sarah

9 replies

Userlevel 2
Badge +17
Hi Sarah,

 

 

When you upgrade FME version, in general, it's not essential to modify the existing workspaces which were created with older FME. Newer FME usually can run workspaces created with older FME, without editing them.

 

However, in fact, there may be some exceptional cases depending on the implementation. It's difficult to know that beforehand, so I would do the followings.

 

(1) Create backup of the existing workspaces for safe.

 

(2) Install FME 2015 into a different location from the current FME. You can install multiple versions into different folders in the same machine.

 

(3) Try running the existing workspaces with FME 2015.

 

 

If you do so, you have two choices if a problem occurred while running the workspace with FME 2015.

 

1. Use the older FME to run the workspace.

 

2. Edit the workspace with FME 2015 so that it works fine.

 

 

Naturally you may edit the workspaces with FME 2015 even if there were no problems. If you have time for editing them, it would be better since some transformers have been improved performance. Just be aware that the workspace which was saved with newer FME cannot be run with older FME any longer. I therefore think creating backup would be useful so that the original one can be restored when an unexpected failure occurred.

 

 

# FME 2011, 12, 13, 14, 15, and 16-beta live together in my machine :)

 

 

Takashi
Badge +2
So StringConcatenator is an example.  The dialog box has changed between FME 2013 and FME 2015.  I would get better performance if I would delete the old StringConcatenator  and add a new one, correct?
Userlevel 2
Badge +17
Yes, you are right. If you want to upgrade a transformer to its new version, replace the existing one with new one.

 

 

Notes

 

1. Some transformers have been renamed or integrated. e.g. CoordinatFetcher -> CoordinateExtractor, 2D/3DPointReplacer/Adder --> VertexCreator

 

 

2. There are some transformers whose default behavior has been changed. e.g. ListExploder. Make sure the parameter settings after replacing.

 

 

3. The implementation of the / operator in math expressions has been changed. That is, integer/integer always returns an integer in FME 2014 and earlier, but the operator returns a decimal point value in FME 2015+. For example, 3/2 returns 1 in FME 2014, but the same expression returns 1.5 in FME 2015+.

 

The original behavior will be preserved unless you edit the math expression, but the behavior will be changed if you have edited the expression with FME 2015+ or replaced the transformer with new one.

 

 

In FME 2016, "Upgrade Transformer" functionality will be added to Workbench. If you can wait for 2016, upgrading could become easier.

 

See this post. (http://fme-memorandum-takashi.blogspot.com/2015/10/fme-2016-new-feature-upgrade-transformer.html)
Badge +2
Ok Thanks Takashi, I'll probably do a mix of replacing transformers.  Man, I wish I had waited for 2016 because that Upgrade Transformer functionality looks great!  But I'm too deep into the upgrade now, so I'll keep on with 2015. 
Userlevel 4
Hi

 

 

My general recommendation would be to NOT replace transformers in your old workspaces, unless you have very specific reason for it, and then only do it on a case-by-case basis. I am saying this based on my own experiences where (as Takashi also mentions) default behavior might have changed, some transformers behaving differently, and even sometimes new bugs are introduced in the new tranformers.

 

 

Regarding performance, it is rare indeed that just upgrading a transformer will give a noticable improvement.

 

 

Strictly speaking, replacing a transformer would necessitate re-running all the tests to check that the result of the workspace hasn't been compromised.

 

 

As they say: Don't change a winning team :-)

 

 

David

 

 
Userlevel 3
Badge +13
Hi

 

 

My general recommendation would be to NOT replace transformers in your old workspaces, unless you have very specific reason for it, and then only do it on a case-by-case basis. I am saying this based on my own experiences where (as Takashi also mentions) default behavior might have changed, some transformers behaving differently, and even sometimes new bugs are introduced in the new tranformers.

 

 

Regarding performance, it is rare indeed that just upgrading a transformer will give a noticable improvement.

 

 

Strictly speaking, replacing a transformer would necessitate re-running all the tests to check that the result of the workspace hasn't been compromised.

 

 

As they say: Don't change a winning team :-)

 

 

David

 

 

David makes a great point -- unless you really need the new features or promise of better performance, it is recommended not to upgrade the transformers. That said, there are some transformers that do get big improvements because of new and incompatible parameters -- NeighbourFinder had the most drastic improvement recently.

Userlevel 3
Badge +13
Hi Sarah,

 

 

When you upgrade FME version, in general, it's not essential to modify the existing workspaces which were created with older FME. Newer FME usually can run workspaces created with older FME, without editing them.

 

However, in fact, there may be some exceptional cases depending on the implementation. It's difficult to know that beforehand, so I would do the followings.

 

(1) Create backup of the existing workspaces for safe.

 

(2) Install FME 2015 into a different location from the current FME. You can install multiple versions into different folders in the same machine.

 

(3) Try running the existing workspaces with FME 2015.

 

 

If you do so, you have two choices if a problem occurred while running the workspace with FME 2015.

 

1. Use the older FME to run the workspace.

 

2. Edit the workspace with FME 2015 so that it works fine.

 

 

Naturally you may edit the workspaces with FME 2015 even if there were no problems. If you have time for editing them, it would be better since some transformers have been improved performance. Just be aware that the workspace which was saved with newer FME cannot be run with older FME any longer. I therefore think creating backup would be useful so that the original one can be restored when an unexpected failure occurred.

 

 

# FME 2011, 12, 13, 14, 15, and 16-beta live together in my machine :)

 

 

Takashi

As Takashi says, we do work very hard to be sure that old workspaces "just work" in newer FMEs, so in general you should not have to do anything to use them in a newer 2015.

Userlevel 4
Badge +25
The biggest changes in that period were probably to do with validating transformers. So opening an old workspace in 2015 you might find that some transformers are now flagged as incomplete. But other than that, all should be OK and - as David said - it's best not to just upgrade transformers for the sake of it. Only do it where there is a recognized need.

 

Badge
I concur with the other answers, but with a slight caveat:

 

 

As I understand it, behind the scenes in the FME core,the same code is run for old transformers and new ones, with the difference generally just being the interface. As such I don't think you'll realise much speed improvement from an upgrade of that sort.

 

 

However, there are some scenarios where the transformer options will have changed and this offers improved performance if you optimise correctly.

 

  • Between 2013 and 2015 for instance, there are quite a few more transformers which offer "Group by" functionality, and used correctly this can significantly speed processing up but will require a re-working of the workspaces, sometimes quite a bit.
  • Similarly there may be new transformers which replace whole swathes of older workspaces. But again these have to be manually identified and installed.

 

In both of the above scenarios, the "Upgrade transformer" function in 2016 won't offer any benefit.

 

Reply