Shape the future of FME with your ideas
Open ideas have been reviewed by our Product Management and are open for commenting and voting.
Following a helpful and enlightening conversation with some Safe staffers I learned that Safe is working on some upgrades to the FME software update process and I was encouraged to add my thoughts as an Idea. Iβm sure other feedback would be welcome as well!In our case, we have a client who is restricted to an older Esri software version due to various dependencies but this means they are now also restricted to a maximum FME version of 2025.2.x as 2026.x does not support their older Esri software.It would be a significant help if the FME upgrade process could be made more modular so that, for example, core functionality (e.g. transformers, reprojection, etc.) could be updated while older readers/writers could be retained for backwards compatibility.Safe have started down this path with the concept of packages for certain functionality but it would be great if this could be extended to provide even more flexibility in the upgrade process.Upvote and add a comment if you have specific use cases which would be helpful for you!
When a Flow App is created there is an option to customize it by adding header, footer and icon images. Often this will be a company logo or something that is common to all Apps.Currently, the images for each App need to be uploaded individually.It would be great to be able to reference a file from a Flow Resources location to avoid repeated uploading of the same image(s) for each App.
At the moment DI's Orbit mode rotates around the view window origo. Better way to rotate a 3D dataset, is to orbit around mouse click and not around the view window origo. That way you don't need to first zoom/pan and then rotate to navigate in large 3D datasets.
Expose an OpenAPI document for FME Server Webhooks.We are increasingly using FME Server Webhook as a method for creating REST API endpoints for third-party developers to build against. It would be very powerful for FME Server webhooks to expose OpenAPI specifications.
We use Azure Entra ID to log in FME Flow.Β The only user that uses the username/password option, is the admin-user.My idea:move the option for the admin-user to login to a different url. add the option to make this βadmin urlβ only available from a local network (or add some other security to limit access to this url). This way external users can never log in as the admin user. add the possibility toΒ remove the βusername/passwordβ login from the login-page. When a user is already logged in via the browser with the users Azure Entra ID, this will cause the user to automatically login to FME Flow.Benefits:more secure users don't have two login options which is confusing for my users. They tend to use the username/password-option (which does not work for them), while they only have to click the βSign in with Microsoftβ-button Better user experience: automatically logged in, without having to click an extra button.Β
TheΒ Hexagon Geomedia SQL Server Warehouse does not allow for displaying the list of databases dynamically within the server/instance the way that other SQL readers do, i.e. Microsoft SQL Server Spatial. Can this functionality be added?Β
Transforming lidar data to buildings or other simple objects is currently difficult with PointCloudSurfaceBuilder and other FME tools. Would it be possible to add CGAL Polygonal Surface Reconstruction to its construction modes to make it easier?
It would be nice if the ChangeDetector match all attributes could exclude unexposed workspace level attributes like multi_reader_id, multi_reader_full_id, multi_reader_keyword, multi_reader_type.As it is, I need to either use match selected attributes and select them all (not possible in dynamic scenarios) or expose the multi_ attributes prior to the ChangeDetector so that match all except can be used.
This idea has come up in the 2016 thread (now released) about adding any output ports to FeatureWriter but the use case for Rejected features remains - e.g. some web-based format has a transient HTTP error, the failed features need to be retried after a wee delay, or a field overflows and canβt be written. @markatsafe @rylanatsafe you guys were on that thread. FeatureReader has a Rejected port, very handy for retry logic in a looping custom transformer, lets see it for FeatureWriter!There might need to be a Rejected port for each output port if you're going to loop it, or filter on feature type before looping to an input.
Currently in FME Flow Automations, when using the βRun Workspaceβ action, the job queue must be selected from a fixed list of predefined queues. There is no ability to dynamically select the job queue using a published parameter or automation attribute.This enhancement proposes adding support for parameter-driven job queue selection, allowing users to pass a value (e.g., from an automation attribute or published parameter, etc.) to determine which job queue is used at runtime.
Sometimes you only realize after a while that you need some followup action after a writer. This results in deleting the writer and inserting all the necessary information into a new FeatureWriter.I think it would be helpful if you could convert a normal Reader or Writer to a FeatureReader/ FeatureWriter.
When using the WorkspaceRunner you often want to do something after that transformer with the results of the child processes that it spawned. Sometimes this involves launching another Workspace. At the moment there is no easy way to understand if all the child processes from that WorkspaceRunner have been fully completed.This is the crux of the problem, from the help:If the Wait for Job to Complete parameter is set to No, the initiating feature is output through this port if the request was successfully submitted, though whether or not the workspace completes is unknown in this case.One option might be a new port that releases a feature when the child processes have all been closed off, or some new parameter/mode. At the moment you need a workaround or you need to throttle the process and use 'Wait for job to complete'.
I fully understand thatΒ Safe wants to make the sending of Success or Failure emails in FME Flow Automations more granular. But the big issueΒ for a lot of us users isΒ that we are at a severe disadvantage due to limitations our IT faces with gettingΒ the whole SMTP info set up correctly in FME Flow Automations. For this reason alone, I think it would be useful for there to be a basic emailer that can provide us users with an option for actually being able to use FME Flow Automations and send the one thing we need β¦Β An email with success or failure info. As for our company (And Iβm sure this is the case at a lot of companies)Β we canβt use FME Flow Automations and thatβs a real waste considering we have a lot of uses for them. Sadly, the Emailer has become the major dealbreaker for us. Itβs out of our control as users and wish there was a viable easy option to just have an emailer that can send without having to be tied to a companyβs email server.
Currently the translation log window starts with a messageCommand-line to run this workspace: "C:Program FilesFME2016.1.1fme.exe" someWorkspace.fmw --Param1 "Value1" --Param2 "Value2"but this information is not reflected in the log file itself, and unless you have a ParameterFetcher+Logger, you cannot easily recreate the settings of a workspace with just the log file.I would like an option in the Translation Log Settings to write the (published) parameter settings to the log file. Perhaps as part of the FME Configuration Inform messages?
See https://knowledge.safe.com/questions/68957/get-the-last-index-of-an-array.htmlI now know how to access the last element in a list in a single statement thanks to @david_r's answer to this question. So I no longer have to count the list elements then subtract 1 from it before getting the value of the last element in the list. However, in the process of finding out how to do this, I discovered that the ListIndexer allows you to specify a negative number to start from the end of the list.I haven't yet had a scenario where I needed to get (for example) the 3rd element from the end of the list but these situations are bound to arise at some point! So I'd like to suggest that negative numbers be allowed e.g. _list{-3} to start from the end of the list rather than the start.
A parameter is like an argument that is static. A variable, however, represents a state and can be dynamically created and assigned in a workspace. I wish FME workspace UI exposes variables the same way it exposes parameters or attributes. Converting variables to attributes via VariableRetriever does not help, as attributes are about content while variables are about states and flow control.I am in agreement with @bambography in his or her post. https://knowledge.safe.com/questions/34563/can-global-variables-be-accessed-as-values-in-tran.html
When using a Dynamic featureWriter with the PostGIS format you can handle the FeatureType geometry these ways :From first feature From schema definition Define one specific geometry typeNone of them are really satisfying for me :From first feature : if you have multiple datatypes you need to order your features or to coerce them leading to the second one From schema definition : no fme_geometry maps cleanly PostGIS geometry types (no support for multicurves or multisurfaces) Define one specific geometry type : not dynamicIt could be great to use a specific attribute : fme_native_geometry_type to define wich geometry type to use in a dynamic writer.This could be for any format (not just for PostGIS but I need it for PostGIS π) This could be populated by readersΒ You could provide some transformers : to set this parameter depending on the feature geometry to set manually this parameter (choose format and then geometry type) to coerce geometries as defined by this parameterΒ
Add an additional option to the coordinate extractor to allow extraction of start and end coordinates/multiple specified coordinates
While trying out a workflow in the support site I encountered an attribute that was markdown text.There is no syntax highlighting option for markdown text in the dataΒ preview pane when inspecting the cache, so letβs add one!Β The behaviour should be like the other syntax highlighting options, when you select the syntax option the data renders accordingly.Here is my example:Markdown text in an attributeΒ Β
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
Sorry, we're still checking this file's contents to make sure it's safe to download. Please try again in a few minutes.
OKSorry, our virus scanner detected that this file isn't safe to download.
OK