Shape the future of FME with your ideas
New and Open ideas are awaiting review or have been reviewed by our Product Management team, and are open for commenting and voting.
***Note from Migration:*** Original Title was: Add support for integrated Windows Authentication (IWA)/ Single Sign On (SSO) for rest services (fmedatastreaming) If you configure fmeserver for integrated Windows Authentication (IWA)/ Single Sign On (SSO), it affects the web UI only, not rest services (as far as I know). This enhancement will make it easier to access fmedatastreaming with published parameters etc. in a secure environment.
The problem The documentation for FeatureMerger mentions a "Suppliers First" mode that can reportedly be very beneficial to performance (and, I would imagine, crucial for Streams), but comes with the constraint that all suppliers must have arrived before the first requestor comes in. To my knowledge, there is currently no way in FME of upholding that guarantee in a reliable manner. The timing between Readers, Creators, FeatureReaders and SQLExecutors is not something I can claim to understand, and the completion order can change based on whether caching is turned on or not. This is already troublesome when editing workbenches, but it can be expecially problematic inside custom transformers, where you don't have control over the delivery order of features in your input ports. This isn't merely an issue with FeatureMerger; it's going to be a problem at any time where you rely on input ordering for a transformer to work properly, with specific attention given to Streams and Feature tables. If I have a PythonCaller that configures itself based on data coming from TransformerA before it's ready to accept data from TransformerB, there isn't a lot of options for reliably dealing with out-of-order input. Holding onto features is illegal when bulk mode support is advertized, so the PythonCaller must either opt out of it (which hurts downstream performance) to accumulate any features it's not ready to process until the configuration features have come in. Even then, it can't know when TransformerA has closed, so unless it only expects one configuration feature, it's dangerous to start processing before close() has been called. This might be clearer when considering the attached screenshot: Python_MapAttributes needs the output line from JsonTemplater in order to work with the data coming from MappedInputLines. If MappedInputLines starts sending features first, the PythonCaller can't do anything yet, and can only crash (undesirable) or start buffering features (illegal in Bulk mode). The solution The idea would be to have some sort of Semaphore transformer, something like a FeatureHolder, but with (at least?) two input ports: a "Priority" port, which lets features through normally, and a "Held" port which buffers features until the other port has closed and no more features can go through it. This would ensure that no feature from the "Priority" side can ever arrive before a "Held" feature, thus allowing workflow and transformer designers to guarantee feature ordering downstream without breaking bulk mode. Other relevent use cases One might also consider having a Terminator node which should stop the translation when an assertion or a join fail in some unexpected way, but should wait until every faulty feature has arrived to give proper context instead of immediately stopping at the first one. Bad features could be sent through the priority port and then the priority port routed to a terminator, so that no feature can be passed to the next step until it has been verified that none exist that would trip the Terminator. This would also allow the Terminator to be changed to wait for all features to have arrived before stopping the translation, instead of aborting at the first one (which currently makes sense, as the more you wait, the more you risk that downstream writers will have already started to write incomplete data).
I see the Aggregator has an option to calculate average values weighted by area. It would be handy to see a weighted by length when used for lines. it’s easy enough to handle this calculation without the help of the Aggregator but it would be a nice little improvement.
FME24 provides an overly simplified and bland user interface and experience. Even as a long time FME user I find it difficult to use and even train new users. Personally, I’m yet to find a single benefit of the change.E.g. Simple icon colours which categorise items in the navigator (Purple = Parameters) are gone.Similar to being able to select dark mode, I think it would be extremely helpful to enable users to select the theme and icon styles that improve their user experience.
This question has been asked so many times and is ridiculously confusing and hard for something that should have been added ages ago. I have a table that has table or layer names that I want to process in FME. I should be able to Dynamic SQLExecutor or FeatureReader to read the list and add them in to form without having to know the schema ahead of time. The issue is the schema they read comes from the input table and not the features it reads. The attributes are returned so you can write them with a dynamic writer, you just can see or use them in form. It needs the ability to dynamically return a value as defined in the source table (for example the @layerID or allow a wildcard to return all fields) and the fme_feature_type, fme_basename and fme_dataset not from the initiator but from the dynamically read table/layers. In this case I have the layer/table name and the ID I want to expose in the initiator table there just doesn’t seem to be a way get the attributes to dynamically read from the imitator table or to just dynamically read all attributes back.fme_attributes should come from the feature it is reading not the initiator, same with the schema it should be the schema of the feature it is reading not the initiatorIt can read the list of tables in but cannot read the attribute I want dynamically. For example, when it reads TRAILSIGNS the attribute I want returned is TRAILSIGNID
It would be useful to allow a way to group related transformers together without having to use a bookmark. Bookmarks can take up too much space, or also the grouping might not be logical to put in a bookmark. Would be nice to just be able to select a group of transformers and make them ‘stick’ to each other, so if you need to move them again you don’t have to manually select the whole area they cover (and accidentally select other things you don’t want), all this can make working with FME more productive
I would like to propose a new feature for the Excel Writer in FME Form: the ability to automatically enable Excel’s built-in “Sort and Filter” functionality on the output file.This enhancement would allow users to generate Excel files where the column headers are immediately interactive, making it easier for end users to sort and filter data without additional formatting steps in Excel.Proposed Implementation:Add a checkbox option in the Excel Writer parameters (e.g., “Enable Excel Sort and Filter”). When enabled, the writer would apply Excel’s AutoFilter to the header row of the output sheet.Benefits:Improves usability of Excel outputs for non-technical stakeholders. Saves time by eliminating the need to manually apply filters in Excel. Enhances the presentation and interactivity of exported data.This small but impactful feature would streamline reporting workflows and improve the end-user experience.
I am looking for a way to write to a self-created GeoPackage that contains multiple foreign keys and check constraints. To ensure the data loads correctly without ordering conflicts, I need to temporarily disable foreign key validation by executing:PRAGMA foreign_keys = OFF;Once all feature classes are written, I need to re-enable the checks.Currently, the GeoPackage writer lacks the option to execute SQL scripts before or after the translation process. Using a separate SQLExecutor is not a viable workaround because it operates in a different session; therefore, the pragma command does not affect the writer's connection.Interestingly, I can achieve the desired behavior using a SpatiaLite writer with a SQL statement on the same file, but this method fails to handle geometry correctly. Due to these limitations, I am considering switching from GeoPackage to SpatiaLite as a temporary measure, though this is not my preferred solution.Could you please add SQL before and SQL after parameters to the GeoPackage writer to support these types of database operations?
It would be really helpful in the “Search in Workspace” Function would include an option to also search through all populated Feature Caches in the Workspace.Related to this it would also be great if there were more search parameters like “whole word”/”match case”/”regular expression”.
I’d like to request a feature for the AttributeManager transformer (or all tables really) that allows users to export the hover table output (attribute actions table) directly to the clipboard. This would make it much easier to document, share, and review attribute configuration settings outside of FME, especially for workspace audits and reporting. Ideally, this could be enabled via a right-click menu or a dedicated export button.This would be very useful for the amount of documentation I have to do for all my Workspaces.
Apache Parquet and it’s GeoParquet spinoff are increasingly used for data distribution and analytics, now the RaQuet format is emerging as an option for raster data. Vote here if you would like RaQuet supported in FME, and cite your use cases too.https://www.linkedin.com/pulse/raquet-raster-data-apache-parquet-javier-de-la-torre-chice/https://www.raquet.io/
The available system events is rather limited. Everything should be a system event! Here are several that I noticed are missing:Deployment Parameter published/created/updated/deleted Web Connection published/created/updated/deleted Resource published/created/updated/deleted Automation published/created/updated/deleted Schedule published/created/updated/deleted Stream published/created/updated/deleted Flow App published/created/updated/deleted Project created/updated/deleted
In FME Flow, Automations can be triggered by various FME Flow System Events, such as the creation or modification of repository items. This provides a powerful and flexible way to build event-driven workflows and governance mechanisms.However, currently these system events are primarily focused on repository-based entities. There is no equivalent event available for entities that exist outside of repositories.For example, the creation (or modification/deletion) of an FME Flow App does not trigger a corresponding FME Flow System Event. As a result, it is not possible to directly react to such changes using Automations.This limitation makes it difficult to: Implement governance or auditing processes for FME Flow Apps Automatically enforce naming conventions or security policies Trigger notifications when new public apps are created Maintain synchronization with external systems Track lifecycle events of non-repository entities
Just been trying to get a picture of the used connections in workspaces - This would be helpful. I can see it in the workspace file but the reader doesn’t include them.
Writers - Redirect to Inspectors - should also work on FeatureWriters
It would be great to have a direct integration in FME Form to do git commits, etc. in the GUI itself. It could be in the form of a developer command line/powershell or even as a built-in git integration much like what we have with FME Flow. As it stands today, I do this indirectly through Visual Studio. I essentially save my .fmw files in a Visual Studio project, and do all the version control through there. I would love it if I could bypass that altogether.
The Tester and TestFilter transformers have five distinct Comparison Modes:Automatic Numeric Case Sensitive Case Insensitive Date/TimeAs well as the option to Specify Per Test.The FeatureJoiner and FeatureMerger transformers have three Comparison Modes:Automatic String (presumably the same as Case Sensitive, above, but I have not validated that and don’t see it specified in the documentation) NumericAnd the way that these transformers are designed, they are inherently “Per Test” or per “Join On” condition, as it were.The general Idea here is to make the Comparison Modes more consistent across transformers - there are likely other transformers that could be included in this, beyond the four mentioned above.Case Sensitive, Case Insensitive, and Date/Time could be useful in the Feature-type transformers, in addition to the Test-type transformers. There are other ways to achieve these, of course, but there may be value in having them readily available. The order in which Comparison Modes are listed could be consistent - this is a minor point.If the various types of Comparison Modes are already tailored to best match each class of transformer, then the idea may not have merit, but posing it in case others could see any value in the proposed change or a similar change.
I would like to identify custom annotations attached to objects using WorkspaceReader. This is possible with summary annotation because the transformer name is included in the annotation attribute. Custom annotations take up less space than summary annotations and allow the author to document the workspace. Having the ability to export this information helps with cataloging and reporting.Can we have the transformer name or transformer ID included in the annotation feature type either in the annotation attribute like in summary annotation) or as a separate attribute?See the posthttps://community.safe.com/authoring-6/workspacereader-find-annotation-linked-to-transformers-37719?postid=164422#post164422
DB connections in Flow, and corresponding Deployment parameters can become difficult to navigate and manage if you have more than a small handful of connections to keep track of.It would be really helpful if these could be stored in groupings, or subfolders, to make the list more manageable. For Deployment Parameters especially, this grouping would be very handy when listing in the Form navigator!
I often find in some scenarios it would be helpful to have annotations point to multiple transformers.In the scenario below, the annotation applies to both the AttributeExposer and the AttributeRemover, but I can only connect it to one An alternative way is adding it to a bookmark and annotating like below. I think a bookmark is overkill in this situation and having the annotation attached to both would be helpful
Hi there, I like the idea of being able to look at a workspace and seeing easily what transfomers change attributes, which change geometry, which filter etc. To do this, it would be nice to change the colours of transformers, so I could have say green transfromers are filter transfromers etc. I could add annotations to the top of these but it becomes a bit cumbersome. If you can rename transfomers, changing their colours should not cause any unintended issues.
I would like to request the reactivation of the Workspace Viewer as it has been marked as obsolete and is no longer available on the platform.This tool was essential for my work, as it facilitated my understanding of the data transformation process and was very useful for debugging and optimizing my workflows.I would like to know if there is any possibility of recovering it or if there is an alternative that I could use.Thank you in advance for your attention
Currently, access to AGOL/Portal photo attachment information is available only thru a true reader when the option is enabled. It would be nice to have that option available when using FeatureReader transformers as well. I'm currently using Build 20264 (FME 2020) maybe this has already been released.Thanks!
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.