RETURN TO BLOGS

Navigating the Claris FileMaker 19.5 Release

by Jerry Gonzales - Technical Lead

We now have the highly anticipated release of FileMaker 19.5! This article intends to share the highlights of new features, deep dive into a couple of examples and share some important news regarding bug fixes across the various platforms (FileMaker Pro, Server, and WebDirect).

FileMaker 19.5 is Claris’ strongest release to date. It builds on their open platform promise – introduced in FileMaker 19 – and strengthens the platform’s performance, security, and reliability.

Let’s take a look at what Claris FileMaker has to 19.5 offer.

FileMaker Pro 19.5 Features

FileMaker Pro client has several new features, including:

JSONGetElementType ( json ; keyOrIndexOrPath )

Have you ever wished that FileMaker could target an element within a JSON structure and return the type (JSONNumber, JSONString, JSONObject, etc.)? For that matter, have you ever wished for a simple way to determine whether a block of text is valid JSON or not?

Over the years developers have come up with clever tricks to address both of these needs, but good news, we can now ditch the clever trickery because JSONGetElementType removes the guesswork.

Specifically, if you point JSONGetElementType at a JSON structure, or at an element within a JSON structure, it will return the corresponding type in numeric format.

For example let’s assume we have a field called “source” in a table called “sandbox”…

…and that field contains something that looks like it might be valid JSON.

This simple test will determine whether or not the contents of that field are indeed valid JSON.

In the above example, the field contents are not valid JSON due to the accidental placement of a semicolon after the “ddd” element. Let’s change that semicolon to a comma…

…rerun the test…

…and sure enough, our JSON is now valid. For readability, the preceding spells out JSONObject and JSONArray, but the result is the same if we instead use the numeric equivalents.

Okay, let’s move on to a more interesting challenge using the same data. And note that the following example uses both the new JSONGetElementType function and the similarly named JSONGetElement function (which debuted in FMP 16).

You’ve been tasked with creating a tiny JSON object consisting of a single key/value pair. The value will be derived from array address [1][2], but there’s a catch… if that value is a number (i.e., not wrapped in quotes) then the object will look like this…

{ "Quantity" : 333 }

…but if that value is text, i.e., wrapped in quotes, then your object will need to look like this. 

{ "Item #" : "333" }

Prior to FileMaker 19.5 this seemingly-innocuous little challenge would require some sort of work around because the standard way of deriving the value…

JSONGetElement ( sandbox::source ; "[1][2]" )

 …returns 333 regardless of whether the value is quoted or not in the source JSON – but this conundrum is easily resolved with help from JSONGetElementType. With an unquoted 333 we get the “Quantity” version… 

…and with a quoted “333” we get the “Item #” version. Note that the expression syntax is the same in both examples – the only difference is the presence or absence of quotes around the 333 in the source.

Live Text

The GetLiveText function allows a user to transcribe text (printed or handwritten) from an image.

The feature provides a native option to do OCR (Optical Character Recognition) and HCR (Handwritten Character Recognition). This is a great feature for developers currently relying on 3rd party plugins or similar tools to achieve their OCR goals. They can now replace those integrations with a native and free tool.

For now, this function is currently only available with the latest versions of Apple macOS 12 and iOS 15, and iPadOS 15.

QR Code support

Expanding on data capture capabilities, the ReadQRCode function will read a QR code and translate it into the text string that the QR code contains.

This function, similarly, is only available on the latest Apple operating systems.

GS1 Barcode Support

FileMaker 19.5 includes the ability to scan barcodes in the GS1 standard. A user can now scan GS1 barcodes on their iPad or iPhone with expanded barcode support.

FileMaker Data Migration Tool Updates

This enhancement allows a developer to streamline data migration when updating files in multiple languages. It also makes developer tools available for free.

This latest enhancement also allows the target file to take the local settings specified in the Data Migration Tool command instead of inheriting it from the source file.

This is welcome news for developers whose solutions utilize localization heavily and they want the ability to choose which settings they want to keep.

FileMaker Server 19.5 Features

Claris continues to make advancements on performance, security, and reliability providing a modern server infrastructure that meets stringent IT requirements.

FileMaker Server 19.5 features include:

Server-Side Summary Fields

This enhancement greatly reduces summary fields’ processing time by allowing the calculation process to run directly on your FileMaker server.

Your remote users will be thankful for the performance gains!

Increased Memory Cache for Scripting Engine

With an increase in the amount of cache memory available to FileMaker Server (from 64MB to 256MB), the server can now handle larger and more memory-intensive scripts. This gives a performance boost to scripts that run via the Perform Script On Server (PSOS) script step and server-side schedules.

This new scripting engine cache is completely different from the server memory cache that one can configure within the FileMaker Server Admin Console.

The script engine cache is used by server-side scripts. The server memory cache is used to store database data for sharing.

FileMaker WebDirect Performance Improvements

Claris has improved FileMaker WebDirect performance with server-side CSS caching.

FileMaker WebDirect layout CSS is now regenerated as soon as the layout modification count changes. The layout modification count increases as soon as a layout change is made and committed using Claris FileMaker Pro. Once a layout is modified, the older CSS is discarded, and the latest CSS is saved and used.

The benefit is faster loading pages!

Save an XML Copy on FileMaker Server

A user can now create an XML copy of a database on FileMaker Server.

An XML copy export was already available from the FileMaker Pro client. One use case for it, is that it allows comparison of differences between two versions of the same FileMaker file.

You’ll need a 3rd party tool, commonly known as a diff tool. Diff tools, short for difference, allow programmers to look at the two files side by side and see exactly what differentiates them—where new lines of code have been added; where existing lines been changed; or if any lines of code have been removed.

The difference in performance for this type of task when performed on client versus server is significant. An export that used to take minutes from within the client, now takes mere seconds on the server.

You now can automate the XML export from a server script.

OData Integration on all Platforms

OData (Open Data Protocol) was previously only supported on FileMaker Cloud and the Linux version of FileMaker Server. FileMaker 19.5 brings this powerful feature to the Mac and Windows versions of FileMaker Server.

OData makes it easier to share data between many different business applications such as Microsoft Excel and Tableau.

Support for Ubuntu 20.04 LTS

Ubuntu 20.04 LTS is now compatible with FileMaker Server 19.5. A systems admin can now create a powerful Linux server with security and performance by adding a NGINX web server.

Parallel Backups

This option allows FileMaker Server to do backups of multiple files in parallel (in other words, at the same time). Parallel backups will reduce the time needed to perform backups overall and will help alleviate resource bottlenecks on the server.

Cancel Backups

A user can now cancel a running backup schedule either from the FMS admin console or the command line using this command:

fmsadmin cancel backup

This is a great option for those times we need to urgently cancel a long running or potentially stalled backup.

OAuth with FileMaker WebDirect

OAuth with WebDirect has two new enhancements.

You can now disable the username/password option from being displayed and only allow your app to be accessed via OAuth on the login screen. This is a great step in further enhancing your app’s security and bringing it up to par with modern security offerings.

Secondly, you can use a set of JavaScript files to automate your OAuth authorization process on Web Direct.

This feature will allow you to bypass the FileMaker WebDirect OAuth login screen.

The JavaScript files are provided in:

FileMaker Server/Web Publishing/publishing-engine/jwpc.war.

When the jwpc.war file is extracted, the new JavaScript files are provided in the extracted VAADIN/launchcenter directory.

400 Additional Reasons to Upgrade to 19.5

FileMaker 19.5 includes nearly 400 bug fixes. These improvements span security, installation processes, and calculation functions, as well as Script Workspace, FileMaker WebDirect, and FileMaker Admin API. As always, you can find full release notes on the Claris website for this version.

We here at Codence think you’ll be happy with the latest offering from Claris and encourage you to upgrade. Feel free to reach out to us with any questions or assistance you may need.

Subscribe to get the latest into your inbox.

This field is for validation purposes and should be left unchanged.

Leave a comment

Your email address will not be published. Required fields are marked *

Your email address will not be published. Required fields are marked *

Built with you in mind

Speak to one of our expert consultants about making sense of your data today. During
this free consultation, we'll address your questions, learn more about your business, and
make some immediate recommendations.

REQUEST A TOUR GET A FREE CONSULTATION

Stay in touch!

This field is for validation purposes and should be left unchanged.