Shape the future of FME with your ideas
Open ideas have been reviewed by our Customer Success team and are open for commenting and voting.
In Autocad layer colors can be defined either by index or RGB.FME doesn't have a way of validating RGB layer colors. It looks like FME is doing a best guess using the color index here, but unlike with objects we don't have something like autocad_layer_true_color where we can find the exact RGB values.
In many organizations, FME Flow is managed centrally and engine resources are shared across different teams or departments. However, FME Flow currently does not offer any permission control on engine queues.At the moment, when a user/author has access to view queues, they can see all queues defined on the FME Flow instance. This can be problematic in environments where engine usage needs to be compartmentalized. Example use caseThe IT department is allowed to use 2 specific engines/queues.The GIS team is allowed to use 3 different engines/queues.However, because queues are not permission-restricted, any user can select any queue when creating schedules, automations, or running workspaces if they have access to the advanced part. Suggested ImprovementAdd the ability to control which engine queues a user or role can see and use.This would allow administrators to:Restrict access to specific queues based on user roles or groups. Prevent users from unintentionally using engines they are not supposed to access. Improve resource isolation and governance in multi-team or multi-department FME Flow environments.
During workspace testing I often use a lot of different parameter values. When I have a certain version ready for deployment or a next iteration, I would like to (re)set all the parameter values at once. This could be to the parameter default values or clear all values.My suggestion is to add to the Navigator pane:User Parameters (root)Published Parameters (sub)Private Parameters (sub)FME Server Parameters (sub)right mouse click options:Set all parameter values to DefaultClear all parameter values
As discussed in this q&a, output from the FeatureWriter is not included in the Total Features Written stat at the end of a workspace log and thus also not included in the job results page on FME Server. This can be confusing and potentially misleading so I'd like to suggest adding these numbers to the total.
I’m trying to download files from a SharePoint environment using the SharepointOnlineConnector transformer in FME. After a certain period, we hit the timeout criteria, and SharePoint becomes unavailable/unreachable.According to Microsoft’s documentation, there is a Retry-After header option that can be used to introduce a delay after each API call:https://learn.microsoft.com/en-us/sharepoint/dev/embedded/development/limits-calling#patterns-and-best-practicesHowever, I cannot find this option among the parameters of the SharepointOnlineConnector transformer:https://docs.safe.com/fme/html/FME-Form-Documentation/FME-Transformers/Transformers/sharepointonlineconnector-pkg.htmQuestion:Is it possible to extend the transformer with a header clause where we can set the Retry-After parameter? Or is there an alternative way to implement this behavior in FME?
I’m interested in using FME Flow for Connection Storage in FME Workbench.We have a single FME Flow instance that does not have redundancy. I’m concerned that if Flow is unavailable, that FME Workbench will effectively also be rendered unusable if I use Flow for connection storage, based on what I’ve read in the documentation.Further, FME Form provides me a sort of redundancy at the moment - if Flow is unavailable or if the engines are consumed, I can run my processes locally, as a last resort. In my understanding, moving my connections to Flow would remove this redundancy and leave me more vulnerable to network/infrastructure/system issues.If the above is true, would it be possible to maintain a local cache of connections, similar to the default Personal Database Connection Storage, where it prompts for and perhaps even requires connection and syncing to Flow, but has some sort of fail-back mechanism in the event of failure?I could keep an export of connections locally, or a Shared Database copy, but this will go stale and defeats the purpose of the FME Flow option, I imagine.Thanks for any thoughts or corrections on the above.
Currently, we can only set the default layer color in the DWG Writer using a color index. Various CAD standards also work with layer colors based on RGB values. I would like to see this expanded so that it can be set using both color index and RGB values.This will avoid having to create templates with thousand of layers manually (extensive cad standard).
Often, I’m dealing with large amounts of spatial features, but only need the non-geometry attributes. Reading in a national dataset of small polygons must add a lot of time to the process. Reading it all in and then removing geometry is a small saving, but not much. Could we have a ‘no geoms’ option in Feature Reader/Reader?
I've been working with data virtualization for a few projects now. I like the possibilities, but I think it still needs some improvements to make it easier to use the functionality:There seems to be only one way of linking a data virtualization workspace to an endpoint. And it seems to be a 1:1 relation. I think it should be much more flexible which workspaces can be linked to an endpoint. You're really bound to one way of working. It would be great if you can just create a normal workspace in Form, add an endpoint from there, and link it to the virtualization API endpoint afterwards. When testing with feature caching enabled, it asks for the input json every time again. It is not obligatory to add this input (since it uses the cache), but I do not understand why you keep getting the screen. I would expect that it works the same as a parameter. As soon as it is set (and you don’t change it) it is kept in memory without showing the pop-up every time again. If I'm correct it is not possible to change the namespace of an API after creating it. This is no issue if you just started, but for maintenance in the future this is really something which should be possible.
I often filter duplicates immediately before counting via a StatisticsCalculator. This led me to think that a ‘count unique values’ setting in the StatisticsCalculator could save a preceding DuplicateFilter each time, so that’s the idea.
Similar to the Regex Editor, I’d like an interactive window for creating and fine-tuning JSON queries.Bonus points for a live view of the query output using cached attributes.
Currently, FME Flow supports database connections via JDBC, but authentication typically relies on static credentials such as username and password. In modern cloud environments like Azure, using Managed Identity is a best practice for secure, secretless authentication.This idea proposes adding support for Azure Managed Identity including System Assigned and User Assigned identities for JDBC connections to databases such as Azure SQL Database, Azure Synapse, and other services that support token-based authentication.Why is this important?Eliminate hardcoded credentials: Reduces security risks and simplifies credential management. Cloud-native security: Aligns with Azure best practices and enterprise compliance requirements. Automatic token refresh: Improves reliability and reduces operational overhead. Flexibility: Support for both System Assigned and User Assigned identities allows organizations to choose the right approach for their architecture.How it could work:FME Flow detects it is running in Azure and uses the assigned Managed Identity. When establishing a JDBC connection, FME Flow retrieves an OAuth 2.0 access token from the Azure Instance Metadata Service (IMDS). The token is injected into the JDBC connection string or passed as a driver property (depending on the database/JDBC driver). Configuration options in FME Flow to select: Authentication mode: Managed Identity Identity type: System Assigned or specify a User Assigned identity (via client ID) Use Case Example: An organization runs FME Flow on an Azure VM with a User Assigned Managed Identity that has access to multiple Azure SQL Databases. Instead of storing credentials in FME Flow, the system automatically retrieves tokens for secure, passwordless connections. Security NecessityStoring static credentials in FME Flow or any application introduces significant risks:Credentials can be leaked through logs, backups, or misconfigurations. Manual rotation of passwords is error-prone and often neglected. Compliance frameworks (ISO, SOC, GDPR) increasingly require secretless authentication methods.By leveraging Azure Managed Identity, FME Flow can achieve zero-secret architecture, reducing attack surfaces and aligning with modern security standards.
The Esri ArcGIS Connector hub package includes the ArcGISBranchVersionManager transformer which currently supports List, Post and Reconcile actions.This idea is to support querying version differences using the version management Differences API endpoint, including resultType and async parameter options.The use case is to find edits that are to be propagated to an external (to ArcGIS) system in an efficient delta transaction. Usually it will be the default version state at two moments that will be queried, as it is the default version that will be propagated to the external system.In the legacy traditional version reading scenario, an SDE reader could extract differences with a Baseline Historical Date and Time constraint, this idea is an equivalency issue for branch versioned data.
For my current use case - a workspace app - I do not want users to see either option highlighted in the attached image and only wish to allow them to drag/drop or upload from their own machine. I attempted to try multiple file paths and uncheck the ‘Allow URL Path’ option within Form’s user parameter manager, which had no effect on the URL/path option showing, and see no option to disable browsing resources which has been asked about in the past:For simple file uploads by users not needing to provide a URL or browse Flow resources, I think disabling both should be possible.
Would it be possible to get the feature merger to be able to merge 3 or more tables/data streams rather than two, in cases where the tables are joining on a single consistent attribute? Up to now I've just added in sequential feature mergers in situations like the one I have now, where I have 3 tables to merge together. Thinking possibly on the ridiculous side, but if somehow one ended up with 20 tables with a single consistent key to link them wouldn't it be great to just use one transformer.
I occasionally get timeouts or 503 errors from ArcGIS Online (AGOL) Feature service, if I instead would implement this using HttpCaller (and using the rest api) I have much more possibility to tune for increased resilience using featres such as editing timeouts, specify number of retries and even parallel processing.It would be great if we could specify these in the FeatureReader/Reader as well!
As of FME Desktop 2022.1.1.0 build 22623 I cannot see a way to change editing options or specify the ArcGIS Server folder (not the Portal folder) that a feature service is published to (on federated ArcGIS Enterprise 10.8.1). These would be good options to specify when publishing; I am aware that editing options can be changed in the Portal item's settings page but it would be good to set these up front if possible.
Hi,It would be great to have the possibility to enable those GDB functions in FME Form for a GDB writer.Attachments (automatic creation of the relation and the _ATTACH table) Global IDs Editor trackingThis tutorial is well made but way too long !https://support.safe.com/hc/en-us/articles/25407508005645-Writing-ArcGIS-Geodatabase-AttachmentsThank you!
Allow for the python caller to use Python Virtual EnvironmentsComms around it were had a couple of years ago, but nothing seems to have progressed - https://community.safe.com/s/question/0D54Q000080hOlhSAE/is-there-a-way-to-use-a-python-virtual-environment
I work with time series data a lot, and to keep some slack with regards to “race conditions” across my own flows and other upstream jobs, I tend to use rather generous time windows and “full rerun at the end of the day” configurations to ensure I don’t leave any time gaps in the data destination. That means a lot of the features being inserted at the end will have already been inserted by a previous run and will raise a conflict error if there’s some sort of primary key constraint (or create duplicate entries if these constraints are not enforced).This sort of scenario is what UPSERT is for, but UPSERT causes existing rows to be updated by design. The problem is that several databases, such as Postgres and Snowflake don’t handle large amounts of rows being updated frequently very well, since the “updated row” is actually just a duplicate of the old row with its fields updated, while the “replaced row” is just hidden and actually deleted later by a separate process.Given I know any rows already present in the DB would be identical to the ones I’m inserting, I would much rather skip inserting any conflicting rows instead of causing unneeded churn by “updating” them with the same data. Standard SQL handles this with MERGE INTO … WHEN NOT MATCHED THEN INSERT, but there are also non-standard ways like Postgres’ INSERT INTO … ON CONFLICT DO NOTHING. The only workaround I have at this time is inserting all my features into a temporary table and using an SQLExecutor to write that data to its final destination (something not helped by not being able to use actual temporary tables in FME). Being able to set the FeatureWriter to write new features and ignore conflicts from the get go would be a lot more conveinient for me.Related question/community post:
May be terribly niche, but I’ve just come across a situation where having a ‘counter’ that assigns sequential letters in alphabetical order starting at C through to J would have been useful. If it’s of use to anyone else, maybe the Counter could count letters...or gets a cousin called the Alphabetiser?
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.
Supports the latest 3dtiles 1.1, supports both single-sided and double-sided models, supports with and without lighting, supports scaling of small models, supports models not deforming when coordinates are large, and supports adding texture images to models in PythonCaller,
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