Solved

Why does renaming ListConcatenator with colon cause the workspace to fail?


Badge +13

I am using several ListConcatenator transformers in my workspace. I want to give them unique names, however, when I rename them and run the workbench, it fails and gives me an error. When renaming my transformers, I normally use an abbreviation for the transformer name followed by a colon ":" then some unique name. For some reason the ListConcatenator doesn't work when a colon ":" is in the transformer name.

Example: I rename the ListConcatenator transformer to "LC: RunwayNameList" and it throws this error:

2020-03-02 08:32:52| 2.2| 0.0|ERROR |@Tcl2 -- failed to evaluate expression `set LC:_RunwayNameList__separator [FME_DecodeText {<comma>}]; regsub -all "{}" [FME_DecodeText {_listAll<opencurly><closecurly>.RUNWAYNAME}] [FME_DecodeText {<opencurly><backslash>d+<closecurly>}] LC:_RunwayNameList__listPattern; set LC:_RunwayNameList__listPattern ^$LC:_RunwayNameList__listPattern$;' -- can't read "LC": no such variable

 

It seems to be isolated to the colon ":" that I am using. If rename it to "LC_RunwayNameList" it works fine. I am able to use the colon ":" in other custom transformer names. Is this a bug or normal behavior with a colon ":" include the ListConcatenator transformer name?

Thanks in advance!

Version: 2019.1.2.0 (Build 19630) 64-Bit

icon

Best answer by chrisatsafe 11 February 2021, 17:25

View original

5 replies

Userlevel 2
Badge +16

The colon must have a meaning in the programming language that is underlying the transformers in FME. It will cause the program to behave differently.

Userlevel 4
Badge +13

Yep, that problem has been there for 20+ years and big congrats to @mmccart for being the first to find it! It would affect any transformer whose implementation in FME Land is done in Tcl (fewer and fewer of these around). We already have guards in place for some other special characters in transformer names -- suspect we'll add : into the list of banned characters...or stop using the transformer name in our code. (We have a couple tricks up our sleeve here).

In the meantime, avoiding : in your names will keep you happy. Thanks for letting us know.

Badge +13

Yep, that problem has been there for 20+ years and big congrats to @mmccart for being the first to find it! It would affect any transformer whose implementation in FME Land is done in Tcl (fewer and fewer of these around). We already have guards in place for some other special characters in transformer names -- suspect we'll add : into the list of banned characters...or stop using the transformer name in our code. (We have a couple tricks up our sleeve here).

In the meantime, avoiding : in your names will keep you happy. Thanks for letting us know.

Thanks @daleatsafe. I figured as much when I saw 'TCL' in the error message. Time to go update my FME Publishing Standards document to account for this anomaly.

Badge +2

Hi @mmccart​ ,

 

Thank you again for reporting this issue. I just wanted to let you know that this issue has now been marked as resolved by our development team. The fix for this has been implemented for FME 2021.1 (builds 21509+) which should be available in a couple of months or so.

 

Please feel free to let us know if you run into any issues once the 2021.1 beta has been released and you've had the chance to try it out.

Badge +13

This is good news! Thanks @chrisatsafe​ . I look forward to seeing in upcoming releases.

Reply