Shape the future of FME with your ideas
Open ideas have been reviewed by our Product Management and are open for commenting and voting.
This implementation focuses on adding a dedicated log window to the FME Flow Web Application UI. The log window will display real-time and historical execution logs, enabling users to monitor data flows more effectively. It improves transparency, simplifies troubleshooting, and enhances the overall user experience by providing immediate access to process details.
It should be possible to define default pagination parameters at the Data Virtualization API level, while still allowing bespoke pagination configurations for individual endpoints.Currently, pagination must be configured within each workspace, which can complicate workflows and, in some cases, negatively impact processing performance. This configuration also needs to be repeated for every workspace endpoint, leading to unnecessary duplication.A more efficient approach would be to manage pagination at the parent API level, with the following capabilities: A configuration option at the API level to enable or disable pagination globally A configuration option at the endpoint level to determine whether the endpoint inherits the global API pagination settings A parameter to define the default pagination size (i.e., the number of results returned per page)
Being able to reorder the attributes on a transformer is awesome. However, it's also tedious. Repeated right-clicks and selecting "Move Up" or "Move Down" in a long attribute list is painful.It would be great if you could drag/drop attributes to change the order. So instead of clicking and dragging anywhere on the transformer to move it on the canvas, clicking and dragging an attribute should allow it to be moved up or down the list. Then transformers would only be moved on the canvas if you clicked the top of the transformer (where the name is displayed) and dragged it around.
Introduce the ability to add Dynamic input ports to the PythonCaller.
***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.
Include the possibility to align text (left/right/center and topmiddle/bottom in the PDFStyler.Currently the alignment of text (coming from e.g. a LabelPointReplacer) in the PDFPageFormatter needs to be done by trial and error, and still this does not give satisfactory results when text length can differ.
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 string compare mode would help simplify workspaces changing case on keys and such just for comparing.
I’ll start by saying I think FME Form is one of the greatest software tools ever created. With that said I have been waiting for one additional Zoom function since I started using it 15 years ago. Why can we not get a Zoom to Previous Extent action/button? I don’t want to pretend I know all that is involved with doing this, but it just seems obvious that it would be one of the most used features when dealing with extremely large workspaces. Are we ever going to get it?Safe team, please consider it.Thanks for your time!
Within FME Flow I am using several Deployment Parameters in a multitude of workspaces. When managing those, I would like to be able to see which workspaces and automations are referencing a specific deployment parameter, similar to how you can see within a workspace which transformers are using this deployment parameter.The reason why? I want to be able to see my impact whenUpdating/altering a deployment parameter → which workspaces and automations do I need to test Deleting a deployment parameter → can I delete this deployment parameter or is it still being used?Currently the only way to see this is to open every single workspace and check which deployment parameters are being used. Or managing a separate list with an overview of all deployment parameters and workspaces + automations.
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
Hi there,If you click on the log out of FME account menu item, then you see this dialog:There is no way to cancel this. I think it would benefit from a cancel button, in case you change your mind.Thanks,Marc
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.
Hi!Thew new FME Form GUI is amazing, thanks! Could you consider bringing back some colors to the navigator to distinguish more easily the Reader/Writer part to the parameter part and also the enable vs disabled status? Thanks!
The Safe Software Product Team is actively looking at the possibility of adding support for B-Spline geometry natively to the FME Geometry Model.Currently, we read in BSpline Curves in FME from MicroStation DGN files for example, by stroking the B-Spline into line segments, which FME then store as lines, which might not be what you want in your output if your target format or system does support this geometry natively. Currently B-Splines are read as stroked lines. Image markup is only an example for visualizing. Are you someone who uses AutoCAD DWG, MicroStation DGN, IFC files or other formats/systems where you encounter B-Spline curves? Do you care about bézier and NURBS curves (but really, do you?)? If any of the above sounds like you, especially about B-Splines, please drop us a comment if you’d be open to being contacted to provide feedback and early testing!
The ISO-8601 standard for week numbers in the DateTimeConverter is missing the Week 01 - 53 implementation, where week 01 is the one with the first Thursday of the year. This is referred to as %V in other scripting languages. Can this be added as a DateTime function?
Adding the row number on the interface helps you to avoid errors or forget something.For example, row number to check the amount of conditions that the Tester has.Moreover, highlight the row number if the attribute name already exists.
A fair bit of time working with FME Form is waiting, while you run your workbench to test and develop. To improve my productivity, wouldn't it be neat if I could get a little alert/notification when the workspace is finished? There are various hacks one can implement to work around - I solved it this way:https://gist.github.com/fraxen/ccca53cb496864123c82c7abdd4e12ee...but it would be neat if it was built in and did not require dirty hacks… :)
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.