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 Form

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 using FME Flow 2023.2, it is best practice to use the same version of FME Form (2023.2). Or if your colleague you share workspaces with is on FME 2023.1, since FME typically is not forwards compatible, you should also be working on FME 2023.1. See FME Versions and Workspace Compatibility for more information. 

Additional Resources 

 

Personalize

FME Form 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 Form 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 Flow

Documentation

 

Installing FME Flow

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

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

Additional Resources

 

FME Flow Metrics

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

FME Flow Dashboards are also a useful tool to get information about how FME Flow 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. 

 

Managing Resources 

When managing resources on FME Flow, 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 Flow App can be another option for limited sharing. See Getting Started with FME Flow Apps for more information. 

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

 

Security

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

FME Flow Hosted

Documentation

​​​​​​​
Additional Resources

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.