FileMaker 2023
FileMaker 2023
25 April 2023 - Author : - Categories : Blog, FileMaker, News, Technique, Video

FileMaker 2023

FileMaker 19 to FileMaker 2023

FileMaker 2023 is available! an in-depth exploration.

Claris just announced the immediate availability of the new version of FileMaker, FileMaker 2023.

It has been a long time since we published a long article about a new version of FileMaker. The main reason to that was probably that numbering system in version 19 did not give rise to much excitement. Even if some minor versions included important new features, it was difficult to draw attention to them.

With FileMaker 2023, however, Claris sounds the clarion call. Not only the commercial name of the product changes: FileMaker 2023 and not FileMaker 20 (which is the version number), but we get a brand new icon.

FileMaker 2023 icon

We can always discuss the aesthetics or joke that it’s the Pac-man from the Claris logo that swallowed a FileMaker file, it’s still a nice change.
And while we’re on the subject of logos, let’s note that Claris Connect is also getting its own.

Icone Claris Connect

Here comes Pac-man again, but with a bow tie.

Makes you want to play Trivial Pursuit, doesn’t it? Well, it’s a good thing because this article will hopefully answer a lot of questions.

A version for nerds

I might as well say that the most spectacular aspects of this version have already been covered above (the name and the icon), because FileMaker 2023 will not make end users jump through hoops with flashy features.
On the other hand, it will delight them because their developers or advanced users will be able to respond much more efficiently to certain problems that they had to work around with difficulty until now.

Actually, I myself have been looking for a long time for the consistency of this version. At first sight, a patchwork of disparate evolutions, but on closer inspection, there is really a goal of consistency, stability and scalability.

If I had to draw two “messages” to summarize the new features of this version, it would be:

  1. The FileMaker platform is alive. Some people feared that Claris Studio would take up too many resources at Claris at the expense of FileMaker and the corresponding components of the Claris platform. This version is a clear answer to these concerns, we will see why.
  2. Claris has not given up on making FileMaker a platform of its time, capable of serving larger numbers of users processing more data, and more integrated. To do this, it relies on the community of developers by providing them with tools, admittedly a little “geeky”, but devilishly interesting.

Note on compatibility

FileMaker Pro 2023 is compatible with

  • masOS Monterey or greater (Ventura, for which several issues have been fixed)
  • Windows 10 or greater

FileMaker Server 2023 is compatible with

  • masOS Monterey or greater
  • Windows Server 2019 or greater
  • Ubuntu 20 or greater (AMD and ARM)

On the other hand, after 4 years of maintaining the compatibility of the server with FileMaker Pro 18, it will not be able to connect to FileMaker Server 2023. So be careful. The minimum required version is FileMaker 19.4.2.

Of course, FileMaker Pro 2023 can be connected to FileMaker Server 19.4.

New for the end-users (there are some!)

As you know, users are impatient. So let’s start with the new features that concern them directly.

  • It is now possible to read a QR code from a document stored in a container field, both on the server and on the client (FileMaker Pro/FileMaker Go). New automated document flows are therefore possible. For example, it is possible to link a document to a record automatically.
  • The LiveText feature (macOS / iOS) is now server compatible (mac OS)
  • Import of the license certificate! Finally! Double-clicking on a Claris license certificate will now start the license registration process. This will simplify the life of users and administrators.
  • Sending email with OAuth2 authentication. Yes, I agree, considering the title it could be put in the “for geeks” section, but in fact it concerns very directly the users who were confronted with the evolution of Gmail and Office 365 messaging. You can use them again directly from FileMaker.
  • Support of sFTP for the Insert from URL script step..
  • Another technical update but one that will please some users and administrators: the maximum number of files hosted on FileMaker Server is increased from 125 to 256. I bet this will be a question on the next certification exam, you will have read it here first 🙂

Two more points on Claris Connect to please the users, and then we attack the heavy stuff.

  • This is one of the most important points: Claris Connect, the Claris automation and orchestration service (vidéo) has now a free tier.
  • FileMaker Pro has a new script step, Trigger Claris Connect Flow, that makes it extremely easy to integrate the two tools. To be honest, I can’t think of a reason why this wasn’t the case before. The fact remains that it is now possible to trigger a Claris Connect flow and get the result in a variable without any particular knowledge of cURL. This is a great way to make Claris Connect much more attractive, even for advanced developers.

This time, it is the end of the “user” functions, the rest – the most important by far – will be…

…reserved for geeks, developers, and demanding administrators…

All right. Are we among ourselves now? Can I use a lot of acronyms and jargon?

Don’t worry, I’ve got to squeeze in a few, but there are some great new features. Hang on, I’m saving the best for the last.

FileMaker 2023, a major software update

This is very reassuring for the platform. A large part of the libraries and frameworks that underlie the platform have been updated, especially on the server. Java, Vaadin, Tomcat… This is an excellent sign that Claris is really working on the platform and is not just making surface advances to please marketing.

A little surprise though: Java is updated to 17 when the most recent version is 19, but I don’t know the reasons or the implications.

A little regret too: the WebKit embedded in the web viewer is still the same, and it’s a pity because many javascript libraries take advantage of recent evolutions. For example, our incredibly successful add-on 1MT PDF Viewer cannot integrate certain features.

An ARM version and a load balancer for an ambitious strategy

As we have already mentioned, Claris’ strategy is to reduce the number of versions of FileMaker Server, and therefore to support only Linux.

This is an excellent choice that we have been calling for for a long time, because it will allow Claris to go much faster in development.

The fact remains that… not all customers run Linux. That’s why we’re probably going towards a Linux server that can be virtualized on macOS or Windows, so the user won’t see any difference.

But many PCs, starting with recent Macs, are now running on an ARM architecture and not on x86.

With FileMaker 2023, Claris is releasing a version of FileMaker Server for the ARM processor. According to our tests, this is not yet a miracle in terms of performance, but it is very important for the developer community to know that this version already exists and that it will be improved and optimized.

By the way, Ubuntu 22 is now supported. This means that Claris now supports Ubuntu 20/AMD, Ubuntu 22/AMD, Ubuntu 22/ARM, and of course the macOS and Windows versions of FileMaker Server. That’s already quite a lot, but in addition the Linux versions are also declined in Claris Server (the equivalent of FileMaker Server for the new Claris platform)

Load balancing, cache management and garbage collector

The Linux versions of FileMaker Server, which use the NginX web server, now make it very easy to install secondary servers to manage a real load balancing for Web Direct users.

Between us, the performance we already achieve on fmcloud.fm, due to its modern Docker architecture, means that we have never, even in extreme cases, faced limitations of the web server’s capacities, but we are curious to see the impact on the most demanding applications.

Cache management

Version 19.6 had already made it possible to delete the client (FileMaker Pro) cache from the application preferences. Version 20 (FileMaker 2023) adds Get ( CacheFileName ) and Get ( CacheFilePath ) functions, which allow to delete the cache file by script, in order to perform performance tests without restarting the application. Yes it’s wicked geeky, but it’s really good news for the optimizations we’re fond of.

On the server side, a new feature allows you to allocate more or less cache memory to list views on Web Direct. Specifically, it is possible to configure the number of records that Web Direct should pre-load in order to make scrolling smoother. This feature did not make its way into the admin console, don’t waste time looking for it.

Java garbage collector

Two features: a button to trigger the garbage collector, and the possibility to schedule this process, like running a script or, as since version 19, like cleaning the cache.

I won’t go into the details of what garbage collection is, but it is a process that frees up memory addresses that have not been freed up by the process that allocated them. In other words, it cleans up where the developers of the server or one of its many components forgot to do so. We’re curious to see what this can improve in scenarios where the server was using more and more memory as Web Direct connections were made.

More FileMaker Server 2023 features

I can feel it, you would like us to get to the big news, but even though they are more quiet, the ones that are coming are big news, ordered in increasing importance, according to a universal and objective point of view: mine.

  • I’ll pass on the management of canceled backups. This completes the possibility to cancel backups that appeared with FileMaker Server 19.5
  • Access to the administration console of the Linux version of the server can now be controlled by Active Directory.
  • The name of the schedules can be up to 100 characters, which is much more comfortable than the previous 31.
  • New connections are blocked when a file is in the process of being closed. Until now, closing a file caused users to log out, but if a new connection occurred during the process it could not be prevented. This is a great improvement for administrators of applications with a large number of users.
  • Data API now supports Save as PDF.
  • Log server-side scripts. Two new features :
    • the “Set Error Logging” script step is now server compatible.
    • script events are now recorded in a different log file than server events. ScriptEvent.log. Excellent news, but it may potentially require you to review your procedures, if you had automated processing on log files.
  • OData becomes very, very powerful as it can now work on related data. OData is probably the least known of the FileMaker data publishing methods, yet it is extraordinarily simple and powerful.

The big news

Finally! the two main new features of FileMaker 2023.

Perform Script on Server With Callback

Since FileMaker 13 it is possible to easily execute a script on the server from the client (actually since before that if you follow our adventures).

This opened up many possibilities, with much faster and more secure processing.

Moreover, it allowed the execution of parallel processes, the client not being forced to wait for the end of the script execution on the server. The client could therefore go about its business, or even trigger other scripts on the server, while the server was working.

The problem was that the client had no way of being notified that the server had finished its work. We had to develop complicated messaging systems, and the client had to regularly check that no messages had arrived.

This is now history since a new script step Perform Script on Server With Callback (PSoSWC) allows you not only to execute a script on the server, but also to have another script triggered on the client workstation when it has finished.

This means that you can, for example, notify the user that his report is ready or that a heavy operation has been completed.

Tip : the script result (defined in Exit script) of the server script is taken as the script parameter of the callback script..

Regret: unlike the other two main script steps allowing to execute a script (Perform Script and Perform Script on Server), it is not possible to call a script by its name! (neither the callback script, nor even the server script). What a pity!

Perform Script on Server With Callback

Window Transaction (or “audit log”)

As you may or may not know, audit logs have almost become a personal obsession. The main reason for this “hobby” of keeping track of data changes is probably that it is not possible in FileMaker to have a 100% reliable audit trail. A kind of Holy Grail quest. Vain but beautiful.

Nevertheless, by developing FM AuditLog Pro, I believe I have unlocked many of the mysteries of FileMaker, understood some of the finer points of the calculation engine, security, and of course the data model and dependency tree.

Needless to say, reading in the new features the mention of “Audit log” was enough to arouse my attention. This feature is a little wonder, but it is “low level”, and it is designed so that you can make your own log system. It is not in itself an audit log.

Here is the principle in a few words. We are publishing simultaneously an article entirely dedicated to this feature which needs explained further.

  • There is a new trigger at the file level (File Options)
  • If this trigger is activated, any record validation or record deletion will trigger this script.
  • The script will receive a JSON parameter indicating the files, tables, records (ID) concerned, as well as the type of modification (New, Modified, Deleted)
  • Within this JSON parameter, we can add a custom parameter for each record which will be the content of a field named OnWindowTransaction. It is possible to choose another name in the file options, but this name will have to be consistent in all the tables of the file. This field can of course be calculated, to contain the name of the fields and the modified values, or other information you may want to add.
    If the content of this field is JSON, this JSON will not be converted to string.
  • Of course, the script allows to record the transactions.

Bonus : work with Base Tables

In connection with the audit log, Claris provides us with a few functions for working on tables, as opposed to table occurrences.

Everywhere in FileMaker, with a few exceptions (the Tables tab of the database definition, security, Truncate table script step), the word “Tables” refers not to tables but to table occurrences.

The real tables appeared only in a system table, queryable with the ExecuterSQL function, FileMaker_Tables, which represents the table occurrences, but has a BaseTableName column.

In version 19, Claris added another table: FileMaker_BaseTableFields, which looks very much like a deduplicated view of FileMaker_Fields.

This is finally changing, with a series of new functions and SQL tables.

  • BaseTableNames ( file ) allows to list all the tables (names) of a file
  • BaseTableIDs ( file ) allows to list the IDs of these tables.
  • GetBaseTableName ( field ) is used to obtain the name of the base table of a field.
  • A new system table, FileMaker_BaseTables, has the following columns: BaseTableName, BaseTableID, Source (<Internal>, MYSQL…), ModCount.

Unfortunately this arsenal is very incomplete. The FileMaker_BaseTables system table, as well as FileMaker_BaseTableFields which appeared in 19, do not take into account the tables of external files referenced in the relationship graph of the current file. It is therefore complex (but possible) to retrieve the ID of a table from a linked file.
The absence of a GetFileName ( field ) function and of a GetBaseTableName ( field ) function, or even of a BaseTableID column in the FileMaker_Fields system table, does not make these requests any easier.

In conclusion…

As we have seen, this version is full of new features (and I haven’t covered everything!), which at first sight are very disparate and form a patchwork.

In reality, there are very strong implications. I will try to summarize them in order to get a general idea.

  • Towards a single Linux server, on ARM as on x86. Don’t panic yet, I did write “towards”.
  • A server capable of managing more applications (256), more users (load balancing) and better equipped to manage memory, even to configure it finely.
  • Increasingly powerful OData and Data APIs.
  • Tools for debugging server-side scripts.
  • Easier integration with Claris Connect, and a free tier for the latter.
  • Perform Script on Server With Callback. A great incentive to delegate even more to the server.
  • An “audit log” which makes it possible to memorize transactions and thus to be able to re-execute them on another server…

As we can see, and in accordance with the vision we announced several years ago, the central component of the platform is increasingly the server. It is becoming easier and more efficient to design solutions in which FileMaker Pro/Go is only a de luxe front end and delegates the heavy lifting to FileMaker Server, like Web Direct. The choice of a hosting service has therefore never been so crucial. (comparison sheet on fmcloud.fm).

I hope that this long article will help you to discover FileMaker 2023 faster and further. Don’t hesitate to share on the social networks.

Prev / Next Post
Comments (4)
  • Christian Schmitz - 25 April 2023 - Reply

    We had a test installation with Java 19 and that worked for me.
    I hope Claris can comment on this and certify Java 19 for FileMaker 2023, too.

    • Fabrice - 25 April 2023 - Reply

      Thank you Christian! Good to know!

  • F. Osman Cabi - 29 April 2023 - Reply

    Great summary Fabrice.

    I read it word by word and noticed that the last item on the Window Transaction is still in French, just for your information.

    • Fabrice - 29 April 2023 - Reply

      Thank you. The sentence was translated but indeed the French version was still there. Fixed. Thank you for reporting.

Add comment

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.