BlogFileMaker

An Introduction to FileMaker Pro 19.1.2

By October 1, 2020 October 2nd, 2020 7 Comments

At first glance, that seems like an odd version number, doesn’t it?

Back in May, Claris released the last of their traditional yearly versions — version 19.0.1.

Further back, in February 2020, Claris announced they would be switching over to a new release cycle that would result in multiple new versions every year. Claris followed up on this message in roadmap sessions, so we knew that something was coming around this time.

But two things came as a surprise: one — version number. 19.1.1 doesn’t exist, so don’t go looking for it .

Two — this new release is just for FileMaker Pro. In the past, each release was for the full platform: Pro, Go, and Server. (Claris FileMaker Cloud and Claris Connect are on their own schedule.)

The announcement made on the Claris Community does indicate we can expect more releases to include Server and Go fairly quickly. We know the brand-new FileMaker Server for Linux will be among those and believe that it will be a major part of the FileMaker ecosphere from the get-go. We will have plenty of reading material for you as soon as it is released. Stay tuned!

The New FileMaker Release Model

In the meantime, we have FileMaker Pro 19.1.2. As expected, each release from here on will serve as an updater, much like the version revisions that we had between major versions. Those version revisions only fixed bugs, though; they did not deliver new functionality. New functionality was released only with major versions, requiring a new full install.

Now, each release delivers a combination of bug fixes and new features, an in-place updater. If you already had FileMaker Pro, the updater patches it to the latest version. If you do not already have FileMaker Pro, you install the most recent release in full.

So what is new in FileMaker Pro 19.1.2?

Besides some important bug fixes outlined in the release notes, this release of Pro is all about the Add-Ons. The concept of Add-Ons was introduced with 19.0 (see our 19.0 Executive Summary, for more information), and we believe it will gain traction quickly as the feature matures. 19.1.2 comes with nine Add-Ons pre-installed.

Add-ons in FileMaker

Screenshot of Add-ons in FileMaker

This knowledge base article provides a solid introduction on how to use Add-ons in your solutions. All the add-ons you add to your file will use the new Apex Blue theme, which is also the new default theme for all new files created with 19.1.

Down the road, we expect a healthy marketplace for Add-Ons, whether those Add-Ons package JavaScript functionality or are simply collections of FileMaker schema objects (layouts, tables, scripts, custom functions, etc.). One quick word of caution: as Add-ons become more readily available from different sources, and given that they can contain any kind of FM schema elements, you will need to scrutinize what it contains to be certain the Add-on cannot do harm to your schema or data.

Our Carafe bundles will also serve as an Add-On soon.

Layout Design

19.1.2 also provides a preview of the future layout design experience. We’ve spent some time with this new technology and will have an in-depth blog post about it soon. While initially aimed at making it easier to create compelling User Interfaces, it offers an intriguing glimpse of where the platform’s building parts may be heading. This YouTube video from Claris shows a nice walkthrough.

Keep in mind that feature is not quite production-ready; it serves mainly as a peek into where the product is going, and to solicit early feedback from all of us.

The FileMaker.PerformScript() JavaScript Function

If you are using the new FileMaker.PerformScript() JavaScript function introduced in 19.0, take note of an important change in behavior for that function.

In 19.0, the script called by the JS function gets queued up to interrupt any running script at the earliest possible moment. This is when the running script goes idle for a little while, typically when paused.

In 19.1, the script called by the JS function is sent to the back of the script queue and will only run when any other running script has finished.

Here’s an example to illustrate the difference:

A script calls a JS function in a web viewer and goes into a loop & wait state, checking for a particular outcome in the GetScriptResult() function.

The JavaScript function calls a script that exits with the expected result; the calling script will pick up on that and then continue to its finish.

Screenshot of JavaScript example

The exact moment that the script triggered by the JS function will run is unknown; it will happen at the first possible opportunity of idle time provided by the still-running script. This will be no later than the pause on line 15, usually earlier than that.

The script running from the JS function interrupts the still-running script. That may be unexpected if you did not anticipate that, or it may be exactly what you want to happen like in the script shown above. Either way, in 19.0, you have no control over the behavior, so the opinions were divided between “This is great,” and “That is not acceptable.”

In 19.1, the behavior of the FileMaker.PerformScript() function changes to NOT interrupt the still-running script but to go to the end of the queue. In other words: the script triggered by the JS function will wait its turn and will only run when the first script finishes.

Looking back at the screenshot, in 19.1, #4 will not happen, and the exit condition on line 16 will never be true. That script will now go into an infinite loop. That change in behavior is something that you will need to adjust your scripts for if you rely on the interrupting nature of scripts called from JavaScript.

Claris does provide a new JS function called FileMaker.PerformScriptWithOption() that allows you to specify the script-calling behavior you need.

Basically, you now get the same level of control as what you have when you trigger a script through a button on a FileMaker layout:

Screenshot of triggering a script through a button

The new JS function takes three parameters: the name of the script you want to run, the script parameter that it should process, and the behavior of how your script should be run in relation to any other running scripts, if any.

Screenshot showing the parameters for the new JS function

If you want your code to do exactly what it did in 19.0, you will need to change your JavaScripts to call this new function with option five.

Miscellaneous New Functionality

19.1 introduces two new Get() functions: Get(FileLocaleElements) and Get(SystemLocaleElements) – both of which return a JSON object with information about the client system’s locale or the file locale.

Screenshot showing how the new Get() functions returning a JSON object with info about the client's system's locale or file locale

NFC tag scanning – introduced in 19.0 – gets updated so that you can choose whether you want the data from the scan represented as return-delimited text or as JSON:

Screenshot of NFC tag scanning

Screenshot of updated NFC tag scanning

Authenticating users through Active Directory Federation Services is mentioned in the release notes, but the information there is a little misleading. Read up on this here.

The release notes also mention a performance enhancement feature related to server-side sorting. However, as that requires FileMaker Server 19.1.2, we will come back to that as soon as that Server version has been released.

As always: reach out to us with any questions you have about this release or on how to implement this updates into your FileMaker solution.

Wim Decorte

Wim Decorte

Wim is a Senior Technical Solution Architect at Soliant. He is a FileMaker 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 and 18 Certified FileMaker Developer and the author of numerous Tech Briefs and articles on FileMaker Server. Wim is one of the very few multiple FileMaker Excellence Award winners and was most recently awarded the FileMaker Community Leader of the Year award at the 2015 FileMaker Developer Conference. He is also a frequent speaker at the FileMaker Developer Conference and at FileMaker Developer groups throughout the world. In addition to being a renowned expert on FileMaker Server, Wim also specializes in integrating FileMaker with other applications and systems. His pet project is the open source fmDotNet connector class that he created.

7 Comments

  • Avatar Kevin says:

    Thanks Will.
    Would appreciate if Claris also updated their documentation with all these new things. But last I checked it was still the same.
    Regards
    Kevin

  • Avatar David Head says:

    But a BIG warning not to update if you are using a FileMaker Cloud for AWS 18 server – FileMaker Pro 19.1.2 clients cannot access the hosted files. Hopefully Claris get a fix for this ASAP. In the meantime, the ‘workaround’ is “don’t upgrade”.

    • Avatar David Head says:

      OK, I can confirm that I can connect using FileMaker Pro 19.1.2.219 to FileMaker Cloud for AWS Version 1.18.1.209.

      However, that connection now requires a Claris ID. That is new. Documented?

      • Wim Decorte Wim Decorte says:

        Not that I know. The release notes just indicate that you cannot connect to FileMaker Cloud for AWS 1.18 with Pro 19.1.2.

      • Avatar Malcolm McLeary says:

        Works fine for me with FileMaker Pro 19.1.2.219 to FileMaker Cloud for AWS Version 1.18.1.209 but a client host is prompting for a Claris ID. No Claris ID prompt if I connect with FileMaker Pro 18.0.3.317.

        • Wim Decorte Wim Decorte says:

          There have been some reports of people being able to log in using the new 19.1 client but also of things not quite working after they are logged in; since the release notes state that it shouldn’t work, I wouldn’t trust it if it seems to work.

Leave a Reply

Need to adjust your business processes quickly? We're helping clients use technology to keep their teams productive and running smoothly in these times of uncertainty. Our team can guide yours if you need help in these areas.

Talk to a Consultant