About once or twice a year I have to dig out the SystemCaller, mostly just because I have to trigger a PowerShell command or script file. Without fail, I end up frustrated by the byzantine syntax (quotes galore) and limited way to capture output, finally succumbing to unnecessarily re-implementing the whole thing in Python.
So my pick for the transformer that really needs some love and attention from the developers is the good-old SystemCaller :-)
Do you also have a pet peeve Transformer that you think could be improved upon?
Page 2 / 2
Terminate the Terminator - workspaces should always finish! Or build more error handling into it - it’s only used when there’s a problem, right.
I would love if the transformers below would have these options about input attributes handling - Drop All Attributes / Keep All Attributes / Keep Selected Attributes. I think "Keep Selected Attributes" would be helpful in many cases.
AttributeExploder
XMLFragmenter
JSONFragmenter
it takes me a while to remember the group-by here is actually what I want - but should I make it blocking then?
I don’t think that setting a group-by makes it more blocking than a local domain name. After all, a domain still would need all of the data to work properly. Wouldn’t it?
I don’t think counting should be blocking at all.
Creating a new Global counter for every diff. attribute that passes should not block. The new counters are made the moment a new attribute passes. And incremented when a feature gets a new counter.
But Local Group_By When All Features Received does not need to wait either. But it says it does so it must. And is probably programmed in a way that it must. For other transformers is has to because the first feature needs information about the last. Like a _total_count or something.
And When Group Changes does not wait, but needs to reset the counter when Attribute goes to A, B, A and set the second A to 0 just like the first.
Can I just add that the FeatureReader regenerating the output ports (and failing to find anything) if you’re using a parameter to point to the source file is very annoying.
Terminate the Terminator - workspaces should always finish! Or build more error handling into it - it’s only used when there’s a problem, right.
I use the terminator all the time - Am I doing something wrong?
Terminate the Terminator - workspaces should always finish! Or build more error handling into it - it’s only used when there’s a problem, right.
I use the terminator all the time - Am I doing something wrong?
A different way of working I think :-)
From a FME Flow perspective I prefer no Terminators in our server workspaces, as this marks the job status failed. Which for me is a signal to stop doing what I was doing and investigate what is happening.
If I have unexpected output, I use other methods to stop the translation and report something is off.
Can I just add that the FeatureReader regenerating the output ports (and failing to find anything) if you’re using a parameter to point to the source file is very annoying.
In more recent versions the FeatureReader has the option to not regenerate the outputports. Is that what you are looking for?
Can I just add that the FeatureReader regenerating the output ports (and failing to find anything) if you’re using a parameter to point to the source file is very annoying.
In more recent versions the FeatureReader has the option to not regenerate the outputports. Is that what you are looking for?
Yes, but that option appears to be broken in the current build…
Can I just add that the FeatureReader regenerating the output ports (and failing to find anything) if you’re using a parameter to point to the source file is very annoying.
Most annoying with Directory reader or Text reader. Need to select a folder or file again. Don't matter which because ports and attributes never change.
Best practice seems to be single output port and expose by hand.
Terminate the Terminator - workspaces should always finish! Or build more error handling into it - it’s only used when there’s a problem, right.
I use the terminator all the time - Am I doing something wrong?
Yes.
Or no… but we like our server workbenches to notify someone. And workbenches to fail with grace. Which sometimes causes sending a lot of mails to end users that something isn’t working but server log showing everything’s fine.
I would love for the FeatureWriter to have a Rejected-port. The issue is that you can have basically an entire dataset fail to write for some reason, but the messages only appear as warnings and the job terminates successfully. This is problematic for automated jobs on Flow. I would like to be able to detect and act on such problems without having to filter through text in every job log.
Another associated nuisance are messages like the following: “Microsoft SQL Server Non-Spatial Writer: 140 attribute value(s) were truncated”. I would be great if FME could tell me which table columns were concerned, and not make me guess.
Terminate the Terminator - workspaces should always finish! Or build more error handling into it - it’s only used when there’s a problem, right.
I use the terminator all the time - Am I doing something wrong?
Yes.
Or no… but we like our server workbenches to notify someone. And workbenches to fail with grace. Which sometimes causes sending a lot of mails to end users that something isn’t working but server log showing everything’s fine.
If your workspace is triggered by an automation, it’s very easy to sending different mails depending on how your workspace terminates.
My personal opinion is that sometimes it necessary to force a workspace to fail (early), e.g. to avoid spending lots of time processing data that is missing a critical precondition. I don’t want it to silently say that it completed successfully, it makes it difficult to filter those jobs in the Flow interface.
Terminate the Terminator - workspaces should always finish! Or build more error handling into it - it’s only used when there’s a problem, right.
I use the terminator all the time - Am I doing something wrong?
No you’re not, it’s just preference from me - I dislike failing workspaces so I handle errors or exceptions etc. in other ways. I find the Terminator to be a very hard and unhelpful end to things, and the only thing I use it for is to test Flow publishing/workspace running post-upgrade via a Creator-Transformer workspace.
I may have been seeking a bingo tile and had no other ideas for transformers to tweak!