FME Platform Best Practices

Liz Sanderson
Liz Sanderson
  • Updated


The FME Platform is robust.  We’ve put together a curated list of the best resources we have on best practices to help you get the most out of FME. For additional best practices, post a question on the FME Community or reach out to one of our Partners

FME Desktop




When choosing a version of FME to use, we recommend using the newest version that will work with your other systems. For example, if you are still using FME Server 2021.1, it is best practice to use the same version of FME Desktop (2021.1). Or if your colleague you share workspaces with is on FME 2020.2, since FME typically is not forwards compatible, you should also be working on FME 2020.2. See FME Versions and Workspace Compatibility for more information. 

Additional Resources 



FME Desktop can be personalized to suit your needs, like changing the color palette for both the canvas (light/dark mode) as well as custom colors for bookmarks and connection lines. All of these options can be found in FME Options, and the different windows can be found in Tools > Windows. 

Web Services & Connections

FME Options is also where you can add and manage web services, web connections, and database connections. 

When creating a Web or Database Connection, give the connection a meaningful name, such as Production Oracle Autonomous or <Your Name> Google Sheets. It is also best practice to obtain your own Client Id and Secret, as the default ones could go offline without notice due to client service changes, see Web Connections and FME for more information. 

Additional Resources



When authoring a workspace in FME, future maintenance and performance should be considered. 

Maintenance is the ability to update the workspace and scale it up to a larger solution. Adding Bookmarks and annotations throughout the workspace helps to describe what is going on at any given point. It also allows future you to remember what is going on as well as any future authors to understand various decisions. 

In addition to documenting the workspace, it is also best practice to have the workspace laid out in a logical order without any crossing connection lines (if possible). To avoid crossing connection lines, you can move the objects around. If moving the component doesn’t uncross a line, a tunnel can be created, which is a hidden connection line indicated by two junctions, or you can move a port up or down by right-clicking on a port and selecting Move Up/Down. 

Performance is the efficiency of running the workspace using the fewest resources. The easiest way to improve performance is to limit the amount of data moving through the workspace to only what is needed. This can be done by using a WHERE Clause directly on the reader, filtering data by using a Tester/TestFilter, or simply only adding the feature types that are needed (e.g., a single worksheet from Excel instead of the entire workbook). See Performance Tuning FME for more information. 

Other Authoring Tips
Use Feature Caching for debugging and when authoring, but turn it off when working with rasters or the workspace is in production. See Feature Caching and Performance for more information. 

When upgrading transformers or readers/writers, save a backup prior to upgrading. Then upgrade slowly and test the workspace after each upgrade to ensure that nothing has broken. 

Additional Resources



When a workspace isn’t working or isn’t working as expected, debugging is a crucial step. See Debugging Guide for Workspaces for more information. 

Rejected Features may be one of the reasons a workspace stops running. Reviewing the rejected features before proceeding may give you a clue as to what the issue is. If you would like to skip over the rejected features, you can either add a Logger to the <Rejected> output port or change Workspace: Rejected Feature Handling to Continue by right-clicking on the <Rejected> port and selecting the Continue option. 

Additional Resources


Versioning & Collaboration

When performing large updates on a workspace, it is good to save different versions of it so it can be rolled back if something is broken. 

As of FME Desktop 2022, there is a new feature called Workspace Compare and Merge. This allows users to view the differences between two workspaces. 

When collaborating with other users, custom transformers are a great way to share reusable portions of a workflow. It is also important to document the workspace with annotations as well as update the Workspace Parameters such as the History, Name, and Description. 

Additional Resources


FME Server



Installing FME Server

When installing FME Server, there are different deployment architectures to consider. Review A Guide to Choosing your FME Server Deployment Architecture

After FME Server has been installed, the FME Server Administrator should review all of the parameters and options available to ensure that FME Server is set up to meet their organization’s requirements and needs. See FME Server Best Practices Guide for IT Ops and Server Admins for information on which options can be changed. 

Additional Resources


FME Server Metrics

Job statistics in FME Server contain information on Job processing time, CPU usage, and memory usage to better understand their FME Server activity and how their Jobs are performing. See the Analyzing Job Statistics in FME Server blog post for more information. 

FME Server Dashboards are also a useful tool to get information about how FME Server is performing. 

Queue Control

Queue Control is a mechanism for targeting FME Engines to run specific jobs. Using this tool, you can control job priority, reserve engines for specific tasks, or run a job on an engine that is closer to the data source. For more examples, see the Guide to Manage Esri Jobs using Queue Control blog post. 

Additional Resources


Managing Resources 

When managing resources on FME Server, such as web connections, data, and workspaces, it is a good idea to consider:
Who is going to access these resources?
How will they be accessed?
Where are they stored?

The best practice when uploading resources is to share the resource with as few people as possible; this can be done with user permissions. See Role-Based and User-Based Access Control documentation for more information. 

Creating an FME Server App can be another option for limited sharing. See Getting Started with FME Server Apps for more information. 

For optimal performance, it is recommended to have the data as close to FME Server as possible. This can be accomplished by having engines installed closer to the data. See A Guide to Choosing your FME Server Deployment Architecture

Additional Resources



Securing FME Server is important. Review FME Server Security for more information. 

FME Cloud


Additional Resources

Was this article helpful?



Please sign in to leave a comment.