An Overview Of Some Of The Key New Features In Claris FileMaker 2023
Following a slew of incremental FileMaker 19 releases, some of which introduced bigger changes than the dot number might imply, the product gets its next major number release with FileMaker 2023 now available. Yup, there’s a product numbering change happening and a ton of new features, too many to cover in detail in one article, but let’s check out some of the key ones we’ve explored…
New Version Numbering
There’s many changes afoot with this release of FileMaker and the first obvious one is the version number. We’ve been used to FileMaker [insert number] for years… No, make that decades at this point. FileMaker 7 was a huge turning point in the product as was FileMaker 12, both introducing file format changes. But, since May 2020, we’ve been on dot increments of FileMaker 19, which have still introduced some major changes.
Well, it’s time to move on from FileMaker 19 and welcome a new numbering system based on the year — FileMaker 2023 is the first launch with this new version numbering format. Note there is no file format change, but this update brings the product version numbering in line with other software and helps define how old the version you are using is — and, while we’re cautious and tend to wait for a while, we’re advocates of staying up to date.
One key aspect to note here is what the function Get ( ApplicationVersion ) will return to your database. We understand that it will return the executable version number (20.1.1 for example) and not the product name and family version.
New Product Icon
Next, Claris have given the FileMaker product family a new logo! At DevCon 2019, the Claris name and brand was introduced, and over time the Claris product family (FileMaker, Connect, Studio and Pro) took on the Claris logo with different colors representing the different products. It’s not clear what direction the rest of the product icons will go, but FileMaker has a new geometric “is it a F or is it a P or is it both” icon. We kind of like it and you’ll find it dotted around the product as per the old icon.
The server admin console, and when was the last time you bought software in a box?!
Let’s kick off our exploration with some of the key new features in FileMaker Server 2023:
Installation of FileMaker Server requires one of the following operating systems:
- Windows Server 2019 or 2022
- macOS Monterey 12 and higher
- Ubuntu 20.04 LTS Server
- Ubuntu 22.04 LTS Server on AMD64
- Ubuntu 22.04 LTS Server on ARM64
Increase For The Maximum Number Of Hosted Files
For years now, FileMaker Server has been limited to hosting a maximum of 125 files. For the majority of deployments, this is way more than enough. But, times move on, processor speeds have increased, RAM is cheaper, and as a result the number of files that can be hosted on FileMaker Server has been increased to 256.
Blocking Clients When Databases Are Closing
When databases are in the process of closing on the server, new client connections are now blocked. This is not an issue we have really encountered but a welcome addition should this scenario crop up.
Persistent Cache / Sync Persistent Cache
This is a feature that appears to be in preview and will require extensive testing. It’s similar in concept to the Startup Restoration feature that was released with FileMaker Server 18, but then removed in 19.1 as it was not as reliable as expected. The idea is if FileMaker Server unexpectedly stops, data loss can be minimized by restoring from a persistent cache. The sync part of this feature allows that cache to be written to disk for even more peace of mind (for example if the server loses power), but expect those disk writes to have some sort of performance impact depending on your set up. Look for more detailed analysis of this feature from others in the community. You can find it in the Admin Console under Configuration > General Settings > Startup Settings but it can also be enabled with the fmsadmin command line and the FileMaker Admin API (be sure to reboot the server afterwards):
fmsadmin set serverprefs PersistCacheEnabled=true
fmsadmin set serverprefs SyncPersistCache=true
Save Records As PDF Support For The FileMaker Data API
In FileMaker 19, if you’re using the Data API and want to use the script step Save Records As PDF, and then maybe insert that PDF into a container field or email it, you’re going to run into a wall. The work around was to call that process using Perform Script On Server. Well, no more — Save Records As PDF is now supported when using the Data API.
Schedule Name Maximum Characters Increase
The number of characters for schedule names has been increased from 31 to 100. This applies to both Backup Schedules and Script & Verify Schedules.
Canceled Backups Are Cleaned Up
If you cancel a backup on FileMaker Server, the folders and backups that were created before the backup schedule was canceled will be removed. In addition, if the disk space on the machine is low, canceled backups will be removed automatically. We might argue that if you’re monitoring your server (as we hope you are!), having low disk space is something you’ll see ahead of time and address before it becomes an issue. If you’re fond of your canceled backup folders and files, you can prevent this behavior by running this command:
fmsadmin set serverprefs KeepCancelledBackups=true
New Script Event Logging File For Server Side Scripts
FileMaker Server logs a lot of things that happen on the server, which includes scripts running server side and any non-zero errors that occur while those scripts run. In a slight change to previous versions, FileMaker 2023 will, by default, send script event logs to a new log file named scriptEvents.log instead of the Event.log. The contents of the log are the same, it’s just that these script events now have their own home. You can view this log either by downloading it or using the Log Viewer in the FileMaker Admin Console.
An example of a log entry is below:
Timestamp Error Message
2023-04-15 13:50:39.026 -0400 401 Schedule "FindAndDeleteRecord~PSOS - John Doe 3" scripting error (401) at "MY_DATABASE : FindAndDeleteRecord~PSOS : 32 : Perform Find".
If you don’t like this new behavior (and if you’re monitoring your server with something like Zabbix, this change will require some adjustments there) then you can have those logs sent to the Event.log file as they used to in FileMaker 19 by running:
fmsadmin set serverprefs ScriptLogToEventLog=true
You will need to restart the FileMaker Server service before that change will take effect. This appears to be the only way to modify this setting, with no equivalent command in the admin console or admin API.
Support For Set Error Logging Script Step Server Side
As a follow up to the above logging feature, FileMaker Pro 18 introduced the Set Error Logging script step, which saves a log entry to a text file created/stored in the user’s Documents folder whenever a non-zero error code is encountered. This is now supported for the Script Engine on FileMaker Server so you can track any errors generated when your scripts are running server side.
In order for this work, you must enable the “Allow Script Error Log” setting in the FileMaker Admin Console. Note that this has nothing to do with the new scriptEvent.log detailed above.
After doing so, if you use the Set Error Logging step in a script that runs server side and an error is encountered, a new file named FMSEScriptErrors.log file will be created in the usual logs folder on the server. Your script errors will continue to be logged to the scriptEvent.log (or Event.log if you changed the new default behavior.) Again, you can view this log either by downloading it or using the Log Viewer in the FileMaker Admin Console.
This log format is a little different from the scriptEvent.log format and an example is below. Note you can add custom debug info to the Set Error Logging script step to aid in debugging and this script step requires full access privileges. It is not compatible with the Data API or WebDirect.
2023-04-15 13:50:39.026 -0400 @ MY_DATABASE.fmp12 John Doe FindAndDeleteRecord~PSOS  Perform Find  401
And finally, some worthy mentions to a few things in the last of the FileMaker Server features… Updates to underlying software like Vaadin, Tomcat, Java 17, OpenSSL etc. There’s an interesting new feature related to Java 17: Garbage Collection, intended to free up memory. There’s some WebDirect list view caching updates and an increase to the number of supported WebDirect sessions (up to 1000, if your hardware is capable enough), and there’s a host of bug fixes which is great to see.
Of course, FileMaker Pro has not been left behind in the abundance of new features, so what’s new with that:
Installation of FileMaker Pro requires one of the following operating systems:
- Windows 10 or 11
- macOS Monterey 12 and higher
Quite crucially, note that when connecting to a server with FileMaker Pro 2023, that server must be running FileMaker Server 19.4 or higher.
New Script Trigger — OnWindowTransaction
This feature introduces a new file level script trigger which is intended to capture a bunch of details as a JSON object when a window transaction completes successfully. Such details include the file name, base table name, record ID, operation (new, deleted or modified), and the contents of a field that you can specify from the table in context. This data will be included as a JSON script parameter when the script you choose for the trigger is executed. Here’s a sample of the block of data you can expect:
[ "Modified", 1, "The contents of the field specified." ]
As it’s a file level script trigger, you can set it up in the File Options dialog:
Most critical to point out here is that, despite its name, this has nothing to do with Transactions (Open/Commit/Revert Transaction script steps) introduced in FileMaker 19.6. Consider this trigger as more of an OnWindowCommit kind of trigger. It will run whenever the window, and therefore record, is committed. And the intent is that you save this data either to a data text file (using the Data File script steps) or a different FileMaker file than the one it was executed from. If, in your trigger script, you get the script parameter and then try to set the data into a field in the same FileMaker file, you’ll commit that record which will fire off another instance of the trigger script, which will commit and fire off another instance… You get the idea.
It’ll be interesting to see how the community end up using this new feature.
Perform Script On Server With Callback Script Step
This is an interesting new script step. It has two input options, one to select the script to be run server side and then when that script has completed, it will trigger the callback script to run on the client.
Note a couple things here, there is no “Wait for completion” option which makes perfect sense, and if the client is busy running another script when the callback happens, the callback script will enter the script call stack and run when the existing process has completed. Again, it’ll be fascinating what developers do with this but ensuring the correct context when the callback script runs will be an important consideration.
Updates To Send Mail Script Step With OAuth 2.0
For years now, we’ve had the ability to send an email from within FileMaker either via the default email client or directly using SMTP. Now we have a third option in the Send Mail script step using OAuth 2.0 and, with the slow demise of the SMTP protocol, this is a welcome addition! Two providers are currently supported, Google Workspace and Microsoft 365. Look for additional articles by community members on how to set up your email service to work with this new method. Also note this is available on FileMaker Server for email notifications set up in the admin console.
Dark Mode Support For Relationship Graph
Dark mode support started creeping into the FileMaker Pro product in version 19. The latest update to that support is with the relationship graph. Note that officially it’s partial support but it looks pretty cool. And, we’re pleased to see that the bug in the Script Workspace is fixed, such that if you switch light/dark modes, the Script Workspace updates as it should rather than all the text disappearing!
New Icon And New Script Step: Trigger Claris Connect Flow
We wrote a series on Claris Connect when that was launched in early 2020, and FileMaker 2023 provides closer integration with Claris Connect with a new script step. But wait, it too has a new icon, building on the geometric tendencies of the new FileMaker logo, and maybe a bit of a nod to Pac-Man?
While it has always been possible to trigger a Claris Connect Flow from FileMaker, as we documented in Intro to Claris Connect Part 6: Making FileMaker Trigger A Flow, it was a bit of a mission. But, with a new script step this process has got way easier. Options for this script step are the Claris Connect webhook url, some JSON data to send to the flow, authentication with AppID and an APIKey, and finally the target (a field or variable) which should receive the result of the flow. If you’re using Claris Connect a bunch, this should make it easier to integrate into your FileMaker workflow. If you’re not using Claris Connect yet, watch out for a free tier offering from Claris and sign up to check it out.
As with FileMaker Server, there’s way too much to cover in detail, but worthy mentions go to some new or updated functions:
- BaseTableNames ( fileName ) and BaseTableIDs ( fileName )
- ReadQRCode ( container )
- Get ( CacheFilePath ) and Get ( CacheFileName )
- GetBaseTableName ( field )
You can now import your license certificate by double-clicking it and the Execute FileMaker Data API script step now supports the dateformats parameter.
Wow, that’s a lot. FileMaker 2023 brings a host of new features to the platform, continuing its onward evolution and we’re excited to see it. With the progress we’re seeing here, it solidifies our thinking that those who have invested in this platform have made the right decision. It continues to go from strength to strength. Check out the Claris FileMaker 2023 webpage by clicking here.
And if you need general help with your FileMaker app, or want to save money on your licensing of Claris products, contact us and we’ll be glad to assist.