We here at Proof+Geist and Ottomatic are pleased to say that the recent announcement of FileMaker 19.5 server is looking pretty great so far!

With over 400 bug fixes, performance enhancements, and security improvements, Claris says that this is their best release to date. In this post, we’ll highlight some of the new features in 19.5 and provide an overview of the changes made to FileMaker Server.

Support for Ubuntu 20.04 LTS

Ubuntu 18.04 LTS, which was released in April of 2018, is quickly approaching its end-of-life (EOL) date of April 2023. With this in mind, Claris has added support for Ubuntu 20.04 LTS (which has an EOL of April 2025). It’s safe to say that server admins should begin planning for migration to Ubuntu 20.04 to support future updates and versions.

What’s New in Ubuntu 20.04 LTS

This LTS version comes with a new version of the Linux kernel — 5.4 — which brings a lot of exciting new features, faster boot times, enhanced performance, and security.

Additionally, the Canonical kernel team ran benchmark tests to validate the performance improvements of the new kernel. The tests indicate improvements on the kernel boot time by an average of 2 seconds, total boot time by an average of 3 seconds, and SSH availability by an average of 6 seconds. This should improve the overall user experience while using Ubuntu 20.04 LTS.

New to FileMaker Server 19.5 and Ubuntu 20: NGINX Support

FileMaker Server 19.5 on Ubuntu 20.04 now uses NGINX instead of legacy Apache.

The main difference between Apache and NGINX lies in their design architecture. Apache uses a process-driven approach and creates a new thread for each request, whereas NGINX uses an event-driven architecture to handle multiple requests within one thread.

This difference in design architecture gives us faster handling of static and dynamic web content alongside a smaller memory footprint.

A few new CLI commands will need to be used to cycle the NGNIX engine should that become necessary. Below are a few of the essentials:

  • To verify the Nginx server is running, enter “ps -A | grep nginx
  • If after running “fmsadmin stop httpserver” the NGINX processes are still running, you can run “sudo service nginx stop” and then “fmadmin start httpserver” to resolve the error.

Admin API, CLI, and Interface Updates

There are a couple of new and noteworthy CLI and API commands introduced with FileMaker 19.5. Cancel Backup and Parallel Backup give you the ability to, as the names suggest, cancel backups and run parallel backups.

Cancel Backup

As mentioned above, FileMaker 19.5 includes a new option for canceling currently running backups from the Admin API, the Admin Console, and the CLI.

You’ll want to know the following information from the FileMaker Admin API:

Backups can also be canceled via the Admin Console by navigating to the Backups tab and hitting the “Cancel” button.

You can also cancel backups via the command line using the fmsadmin CANCEL BACKUP command.

Why the New Cancel Backup Option Matters

In previous versions of FileMaker Server, in order to cancel a backup, you needed to essentially crash the Scripting Engine or the Server itself with a reboot. Doing so could potentially leave ghost connections or possible locks on the database files or, worse, file corruption. Now, with this new option for canceling backups, if you have a runaway backup or a running backup is eating too many resources, you have the ability to cancel it!

Parallel Backup

Officially introduced in FileMaker Server 19.5, parallel backups will allow increased performance when backing up large file sets and file sets with heavy transactional loads.

Traditionally, backups with FileMaker Server (Scheduled or Progressive) were done sequentially. Files were backed up one after another. Because of this, servers with large data sets could take quite some time to complete backups. With parallel backups enabled, databases are processed simultaneously in parallel. For progressive backups, the pause and resume steps are processed in parallel.

To organize related backup files into groups, FileMaker Server 19.5 uses transactional data gathered by FileMaker Pro 19.5 and FileMaker WebDirect. During parallel backups, each group of files is backed up in its own thread. FileMaker Server will capture information on the file groupings in the event log after the backups are complete.

Significant backup performance improvements may be realized for full and progressive backups with parallel backups enabled when:

  • Backups are processed on storage systems optimized for parallel write requests, like Ottomatic’s NVMe Direct Attached Storage.
  • Backups are processed while one or more files are busy and in use.
  • Large file sets are present. (We noted up to a 40% decrease in backup time on busier instances.)

You can access information on and set parallel backups using the following fmsadmin commands:

  • View: fmsadmin get serverprefs ParallelBackupEnabled
  • Enable: fmsadmin set serverprefs ParallelBackupEnabled=true
  • Disable: fmsadmin set serverprefs ParallelBackupEnabled=false

If the Admin Console is more familiar or comfortable, you can view and set options there as well. Simply navigate to the Backups > Backup Settings tab.

Via the Data API

FileMaker Admin API now includes the following functionality to enable or disable Parallel Backup:

Progressive Backup Control Moved

Claris has added an additional location to enable progressive backups to the Backup Settings section, above the toggle for Parallel Backups.

Unfortunately this will only take you back to the Configuration > Folders section to complete the folder configuration. Backup interval updates are still controlled through the CLI or the Data API.

OData Available on all platforms

The OData API has been a great addition to FileMaker Server. OData is a handy API that permits developers to utilize options not available regular Data API calls, including simpler token access. With the 19.5 release, availability of the OData API has expanded — from only Linux — to macOS and Windows servers.

Scripting Engine Cache Size Increase

Claris has increased the scripting engine cache size on FileMaker Server 19.5 from 64 MB to 256 MB. While this doesn’t necessarily increase speed across the board, it does allow the server to better handle large, memory-intensive tasks.

Summary Field Processing

Summary fields can now be processed on the server, potentially increasing FileMaker client performance, response time, and throughput. This feature is now on by default and these fields are processed on the server instead of the client when:

  • The file is hosted and open.
  • The summary fields do not contain fields from ESS tables.
  • The summary field is not an unstored calculation requiring client computation (such as using plugin functions).
  • The summary field is not a global field.
  • Sort is not in progress.
  • The found set to summarize is larger than 25.
  • The host CPU usage is not higher than 25% when summarization begins.

As with any task handed off from client to server, it’s crucial to make sure that the server being called upon has adequate resources for the job and is in a healthy state. While the improvement potential is significant, this new feature is only as powerful as the server processing the summaries.

Note: Summary field processing is now enabled in FileMaker Server by default. The DisableServerSideSummary flag has been added to allow disabling the feature. To disable it, a file named ReleaseDebugOn.txt can be placed either on FileMaker Server or FileMaker Pro:

  1. Create ReleaseDebugOn.txt with the following line: DisableServerSideSummary
  2. To disable on FileMaker Server, place ReleaseDebugOn.txt in:
    1. /Database Server/bin/ on macOS/Ubuntu
      1. macOS/Ubuntu only: fix file permissions with these commands:
        1. chmod 755 <ReleaseDebugOn.txt>
        2. chown fmserver:fmsadmin <ReleaseDebugOn.txt>
    2. /Database Server/ on Windows
    3. Restart FileMaker Server.
  3. To disable only on the client machine, place ReleaseDebugOn.txt in the same location as FileMaker Pro and restart FileMaker Pro.

WebDirect Updates

Let’s talk about WebDirect! Claris has made numerous changes to speed up, secure, and make WebDirect a better environment.

WebDirect OAuth Sign-in

The OAuth sign-in process can now be automated using JavaScript files. These files are provided in the folder: FileMaker Server/Web Publishing/publishing-engine/jwpc.war.

When the jwpc.war file is extracted, new JavaScript files are provided in the extracted VAADIN/launchcenter directory. The included JavaScript files provide editable code to allow users to bypass the FileMaker WebDirect OAuth login screen, help OAuth sign-in and edit sign-in process and workflow (fmwebd_oauth_script_edit.js), and implement a Google OAuth sign-in using the provided minified OAuth utility (fmwebd_oauth_example.html).

WebDirect Local Accounts Hidden with OAuth

By default, FileMaker Server has hidden the local account fields (Account Name/Password) when OAuth or AD FS services are enabled since the release of FileMaker 19.2. FileMaker 19.5 expands this to WebDirect logins as well. If for any reason you need to show those fields, you can do so by opening the file in FileMaker Pro and navigating to File > File Options and checking the “Show sign-in fields even when OAuth or AD FS is enabled” box.

Multiple-machine Configuration Over Port 443

FileMaker Server 19.5 now uses port 443 for communications between primary and secondary (web worker) machines. FileMaker had previously used ports 16000-16004 for primary and secondary machines, requiring additional ports to be open and more firewall configurations to be made. In changing the port to 443, FileMaker Server 19.5 simplifies the process of setting up secondary machines. Following the admin console change in 19.4 to port 443, this change further reduces the ports necessary for a deployment.

Modified Config Files

If you’ve ever made changes to various config files in FileMaker Server (like the ones required to allow for WebDirect home Urls), those are now retained after an uninstall!

WebDirect Bug Fixes

Claris has made fixes to the following bugs in FileMaker WebDirect:

  1. Exporting Files in FileMaker WebDirect Failed
    1. Exporting files from FileMaker Server 19.4.1 in FileMaker WebDirect failed if the file names contained spaces or “+” characters.
  2. GetLayoutObjectAttribute Returned Blank in FileMaker WebDirect
    1. The GetLayoutObjectAttribute function returned blank if a secondary machine was used.
  3. Checkbox Deselection in FileMaker WebDirect
    1. Selecting a checkbox caused another checkbox to become deselected if both checkbox controls were attached to the same field on the same layout.
  4. External Fields Show “File Missing” Message
    1. Fields using external data sources intermittently returned invalid “File Missing” messages.
  5. Switching File Windows in WebDirect Changes Anchor Rendering
    1. When switching to other file windows within a custom app, object anchoring did not render correctly, causing objects to appear in incorrect locations in a window.
  6. Inconsistent Refresh in List View in FileMaker WebDirect
    1. When in List View, if another user added or deleted a record from the same table as your current layout, the layout incorrectly refreshed immediately.
  7. Large Thumbnails in FileMaker WebDirect Show “?”
    1. Large thumbnails displayed as “?” in container fields when the thumbnails were returned by the GetThumbnail function.

Additional Notable Bug Fixes

In addition to all of the new features released in 19.5 (and the WebDirect bug fixes listed above), Claris has made some other notable bug fixes. Below are a few worth mentioning:

Exporting Files in FileMaker WebDirect

FileMaker has added better data sanitization, allowing for more characters in file exports. In previous iterations of WebDirect, exporting files would fail if the files contained spaces or “+” characters.

Deadlock in Remote Container Caches

In previous versions, deadlocks in remote container caches caused FileMaker Server to stop responding.

Memory Consumption from Container Field Functions

This bug fix addresses Ubuntu servers. Scripts that manipulated container fields caused memory consumption on these servers to increase over time and lead to performance decreases.

Port 443 Appended to IdP Endpoints

FileMaker Server previously appended “:443” to the Token and Profile OAuth identity

provider endpoints even if another port was specified. This has been changed.

Third Party Dependencies Upgraded

With the release of 19.5, several third party dependencies were updated for security, compatibility, and performance reasons:

OpenSSL Upgrade

OpenSSL was upgraded to 1.1.1n to address and fix some bugs and known vulnerabilities: https://www.openssl.org/news/vulnerabilities.html#CVE-2022-0778

  • Modification Detection Code 2 (MDC2) has been deprecated by OpenSSL and is now removed as an algorithm option from various FileMaker Pro cryptographic functions.

OmniORB Update

OmniORB was updated to version 4.3.

Socket.io Update

Upgrade socket.io Library to Version 4.4.1.

NodeJS Update

NodeJS was updated to version 16.

Conclusion

With this excellent array of new features, performance enhancements, security improvements, and bug fixes, Claris continues to demonstrate their steadfast commitment to delivering a modern, adaptive platform. We here at Proof+Geist and Ottomatic couldn’t be more pleased with the release of FileMaker 19.5 Server and everything it has to offer, and we hope you’ll feel the same!