FME 2016 Sneak Peek: Tools as Lovely as a Tree
Let’s take today to check out a key update to the FME Workbench interface: Tree Views.
I had planned to talk about this tree structure as just one part of a larger article about Workbench updates as a whole. But then I started to catalogue all of the places that it is used, and I thought it was so important to actually deserve a post of its own.
Prior to 2016 a lot of parameters had just a drop-down or straight list of choices. This was fine in most cases, but decidedly awkward when the list had dozens of entries, like this list of database tables:
You can see that each table is listed for each schema in the database. That takes up a lot of screen space, so for FME2016 we implemented a tree-style method of selecting parameters.
Tree Views in Database Selections
One of the most useful uses of the tree view dialog is for the above example – when selecting tables from a database. The same dialog as above now looks like this:
Notice that each schema is now listed under a separate branch of the table view. That makes it way easier to find just the tables that you want to select, when there are multiple schemas in the database.
Tree Views in Attribute Selections
Attribute selection dialogs can be one of the largest dialogs of all; there can be hundreds of attributes in a dataset. And yet, how could we subdivide a straight list like that into a tree structure? Well, we can detect FME lists, for a start, by checking for the “.” character:
So each list is now a separate part of the tree. But it doesn’t only apply to true list attributes. Any attribute that contains a “.” character will be depicted in a tree in the same way. This behaviour appears in any attribute selection dialog; for example a Group-By parameter, or the StatisticsCalculator “Attribute to Analyze” parameter.
Tree Views in User Parameters
If you create a new user parameter you might notice that some types now also have the option to “Use Tree”. For example, I have set this up so we can choose different staff at Safe, grouped on a team basis:
Notice the delimiter and how I have used it to create a single level for the Knowledge Team, but two levels of tree hierarchy for Professional Services. The result is this:
Support for this parameter type is not implemented in FME Server yet, but I see that it is planned for FME2016.1
Tree Views in XML
Oh! This is so good for XML users – particularly ones like me who are not particularly expert at using it.
Let’s say you have an XML file that you want to pick some attribute values out of. You would use the XMLFlattener and – in previous versions – would need to manually type element names into the Elements to Match parameter:
In FME2016 clicking the Elements to Match browse button opens up the XML structure in a Tree List view:
This is awesome! Not only do I get to select elements visually, it’s displayed in a great tree view. This functionality exists wherever you need to select XML elements. It isn’t yet in the JSON equivalent Readers/transformers, but I am sure that is just a matter of time.
This is the sort of functionality that Dale calls a “sleeper”. We don’t really make a lot of noise about it, and you often might not even notice that it’s there. But pretty soon you’d think, “hey, when did my table list start to appear as a tree?” And if that makes you happy, we’re happy too.
Actually, at Safe Software we sometimes think of the new updates as Christmas gifts to our users, so I guess we could call this one our Christmas tree! Of course, whatever pun I think of, has already been thought of and dissected by the awesome xkcd!
With lots of folk heading off on holidays soon, this is probably going to be my last post of 2015. So best wishes of the season to you all, thanks for reading, and I’ll be back online with more FME goodies next year,
PS: The featured image on this post (the image you’ll see next to a post on the main page of our blog) is a tree generated by a great workspace from Owen Powell. Check out Owen’s blog and how he uses FME as part of the process of generating some beautiful maps and landscapes.