Skip to main content

Share your bad workspace!

  • November 11, 2025
  • 9 replies
  • 118 views

redgeographics
Celebrity
Forum|alt.badge.img+61

Okay, hear me out 😄

In december we’ll be doing a webinar about Best Practices, but because it’s a bit of a tradition to make the last webinar of the year a fun one we’re going to call it the Worst (Best) Practices webinar. So we’re looking for workspaces that are complex, undocumented, badly designed with renamed transformers.

Way back in the day the training materials included the Chamber of Workspace Horrors Powerpoint, that’s the kind of stuff I’m looking for.

Feel free to reach out to me privately, anonimity is guaranteed 😃

(Normally we do our webinars in Dutch, but depending on the response we can also do this one in English, so if you’re interested in that also please let us know!!!)

9 replies

david_r
Celebrity
  • November 11, 2025

Hi Hans,

What an excellent idea :-) I seem to remember you presented something similar in Seattle?

Unfortunately I cannot share the workspace, but we encountered one we called “the exploding bookmarks”. Basically it was a huge workspace that had about six levels of nested bookmarks, all collapsed, until only the top level was visible as a tiny rectangle. So when you opened the workspace it looked super simple with only a couple of bookmarks. But if you dared opening more than one of them at a time, you found yourself with a huge spaghetti bowl of transformers and connections, in a somewhat random order and position.

 


redgeographics
Celebrity
Forum|alt.badge.img+61
  • Author
  • Celebrity
  • November 11, 2025

What an excellent idea :-) I seem to remember you presented something similar in Seattle?

Unfortunately I cannot share the workspace, but we encountered one we called “the exploding bookmarks”. Basically it was a huge workspace that had about six levels of nested bookmarks, all collapsed, until only the top level was visible as a tiny rectangle. So when you opened the workspace it looked super simple with only a couple of bookmarks. But if you dared opening more than one of them at a time, you found yourself with a huge spaghetti bowl of transformers and connections, in a somewhat random order and position.

 

Thanks, I’m sure we can mock this up 😄

We always show a badly designed workspace during our training, that we got many years ago from a client. It has nested custom transformers with the last one containing some python code. Fortunately that python code was written by ​@takashi and when it needed updating he was kind enough to help me (next time we meet I need to buy you a drink Takashi-san!)

In Seattle I gave a short version of a similar webinar we did a few years ago: all of the FME mistakes we make ourselves 😋


hkingsbury
Celebrity
Forum|alt.badge.img+64
  • Celebrity
  • November 11, 2025

I vote for it being in English!

One of my (not) favorite is seeing a testfilter used then passed to an attribute creator when either conditional values or another transformer could be used.

The one that sticks in my mind was when the output data needed to be assigned a group, each group could be a max of 10 features.

It went counter → testfilter → attributecreator(s)

There were over 100 clauses in the testfilter each being output to an attributecreator that assigned it to group 1, group 2, so on.

I’d hate to think how long it would’ve taken to configure each of the test clauses and subsequent attribute creator.

 

Much like ​@david_r s example, it was all nicely stored in a bookmark, so you had no idea until you expanded it!!


redgeographics
Celebrity
Forum|alt.badge.img+61
  • Author
  • Celebrity
  • November 12, 2025

I vote for it being in English!

One of my (not) favorite is seeing a testfilter used then passed to an attribute creator when either conditional values or another transformer could be used.

The one that sticks in my mind was when the output data needed to be assigned a group, each group could be a max of 10 features.

It went counter → testfilter → attributecreator(s)

There were over 100 clauses in the testfilter each being output to an attributecreator that assigned it to group 1, group 2, so on.

I’d hate to think how long it would’ve taken to configure each of the test clauses and subsequent attribute creator.

 

Much like ​@david_r s example, it was all nicely stored in a bookmark, so you had no idea until you expanded it!!

I actually have a workspace like that! Based on a number of criteria I need to set 5-6 attributes, but there's a lot of options. There's 101 AttributeManagers in this workspace 😁
 

Because it's several attributes that need to be set rather than one, I decided against using Conditional Values (well, actually, they're still being used a bit!). Having one AttributeManager with 100+ rules in a Conditional Value isn't exactly a Best Practice either.

I could have used a SchemaMapper, I think, but that would be a massive mapping table. So all things considered I still think this is the “best” solution for a complex problem (and this is also a workspace we often show at training courses).
 

What it does is quite cool too, it processes data for navigational aids along inland waterways (bouys, lights and so on). Used to be a manual process in Excel that took one person 2-3 weeks (he was the only one who knew how to do it) per run and generally there were 2-3 runs per year necessary. It now takes the data from an online service and runs on Flow, whenever the cartographers need it, in about 2 minutes 😎


hkingsbury
Celebrity
Forum|alt.badge.img+64
  • Celebrity
  • November 13, 2025

I vote for it being in English!

One of my (not) favorite is seeing a testfilter used then passed to an attribute creator when either conditional values or another transformer could be used.

The one that sticks in my mind was when the output data needed to be assigned a group, each group could be a max of 10 features.

It went counter → testfilter → attributecreator(s)

There were over 100 clauses in the testfilter each being output to an attributecreator that assigned it to group 1, group 2, so on.

I’d hate to think how long it would’ve taken to configure each of the test clauses and subsequent attribute creator.

 

Much like ​@david_r s example, it was all nicely stored in a bookmark, so you had no idea until you expanded it!!

I actually have a workspace like that! Based on a number of criteria I need to set 5-6 attributes, but there's a lot of options. There's 101 AttributeManagers in this workspace 😁
 

Because it's several attributes that need to be set rather than one, I decided against using Conditional Values (well, actually, they're still being used a bit!). Having one AttributeManager with 100+ rules in a Conditional Value isn't exactly a Best Practice either.

I could have used a SchemaMapper, I think, but that would be a massive mapping table. So all things considered I still think this is the “best” solution for a complex problem (and this is also a workspace we often show at training courses).
 

What it does is quite cool too, it processes data for navigational aids along inland waterways (bouys, lights and so on). Used to be a manual process in Excel that took one person 2-3 weeks (he was the only one who knew how to do it) per run and generally there were 2-3 runs per year necessary. It now takes the data from an online service and runs on Flow, whenever the cartographers need it, in about 2 minutes 😎

 

 

In that case this looks good in my books!

The one I came across could’ve been (was) replaced with an arithmetic expression similar to 

 

@ceil(@Value(_count)/10)

 


carlm
Contributor
Forum|alt.badge.img+16
  • Contributor
  • November 13, 2025

I’m currently redesigning a process for a client and I found this while trying to do the mapping

(Also some attributes a lot of attributes are removed directly in the Reader)
 

 


redgeographics
Celebrity
Forum|alt.badge.img+61
  • Author
  • Celebrity
  • November 14, 2025

I’m currently redesigning a process for a client and I found this while trying to do the mapping

(Also some attributes a lot of attributes are removed directly in the Reader)
 

 

😱

This would be a very good case for the SchemaMapper though! Or… replacing all that mapping with an AttributeManager

As for the removing attributes on the Reader, we generally advise against it and recommend to use an AttributeKeeper or -Remover instead, with the reason being that that makes it immediately obvious that attributes are being removed for anybody else looking at the workspace.


ebygomm
Influencer
Forum|alt.badge.img+45
  • Influencer
  • November 14, 2025

I’m currently redesigning a process for a client and I found this while trying to do the mapping

(Also some attributes a lot of attributes are removed directly in the Reader)
 

 

I once found out a colleague had painstakingly put all the mappings into an AttributeManager instead of doing this

I actually often drag the connections and then use the Replace Link option to set up the Attribute Managers as I find it far easier.

Wish you could do the same with a FeatureWriter.


hkingsbury
Celebrity
Forum|alt.badge.img+64
  • Celebrity
  • November 17, 2025

Wish you could do the same with a FeatureWriter.


I’d give an idea around that an upvote…..