FME Platform Best Practices

Liz Sanderson
Liz Sanderson
  • Updated

Introduction

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

Documentation 

 

Configuration

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 

 

Personalize

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

 

Authoring

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

Maintenance
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
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

 

Debugging

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

Documentation

 

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

 

Security

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

FME Cloud

Documentation

​​​​​​​
Additional Resources

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.