JSON, Level: Advanced

November 2025 FM Training Livestream

Here are links to articles and resources related to today’s FM Training Livestream presentation: Best of FileMaker Hacks Tips, Tricks and Traps, part 3.

YouTube link

Demo Files

FMH Articles

Other Resources

Level: Intermediate, Version: FM 16 or later

FM 22: Pseudo Indexing

Demo file: FM-22-Pseudo-Indexing.zip (works w/ FM 16 or later)

When I wrote about Sort Values and Unique Values back in 2017, I made passing reference to an article I’d written a couple years previously on the topic of “pseudo indexing“, i.e., displaying a list of unique values for a specific field for a found set, rather than for all records.

Actually, I wish things were that simple. Full disclosure: there was the original FM 13 demo/article. Then when FM 16 was released, I did a second demo/article, “FM 16 Pseudo Indexing”. Recently I discovered a flaw in the approach I used in the FM 16 article, so I am pulling that demo and article off line in favor of this one.

Today we’re going to dust off the old pseudo indexing demo, and update it to take advantage of various FileMaker functions and innovations that were not available back in 2015. Why bother? Here’s why: the new implementation…

  1. is simpler (has fewer moving parts)
  2. scales better
  3. is less brittle (prone to breakage if schema is renamed)
  4. enables you to bring new fields on board faster
  5. can sort the pseudo index in ascending or descending order

Continue reading “FM 22: Pseudo Indexing”

ExecuteSQL, JSON, Level: Any, SQL, Virtual List

October 2025 Full Access Resource Page

Here are links to articles and resources related to presentations/discussions I will be participating in at the [Full Access] un-conference Oct 20-23, 2025.

JSON Demo Files

JSON Articles

JSONQuery

Virtual List Demo Files

Virtual List Articles

SQL Articles

JSON, Level: Advanced, Version: FM 19.6 or later, Virtual List

Virtual List Even More Simplified

Demo file: virtual-list-even-more-simplified.zip  [expects, but does not require, FM 22 or later]

Note 1: The example in today’s article/demo is intentionally very basic.
Note 2: The demo is self-populating to keep the data current, so the values you see in the screen shots may not exactly match those you encounter in the demo.

As long time readers may recall, between 2011 and 2019 this blog featured numerous articles touching on various aspects of the virtual list technique — or, more properly, series of techniques. The following year, in 2020, I decided to distill the core bits into a basic “beginner’s guide” with accompanying demo file, and I called it Virtual List Simplified. And if you’re still using FM 21 or earlier, and are looking for an introduction to virtual list, I highly recommend that article.

However, with the release a few months ago of FM 22 (a.k.a. FileMaker 2025), the landscape dramatically changed thanks to a re-written JSON engine that is significantly more powerful (i.e., faster) than before. Why should that matter? Because JSON is typically where virtual list gets its data from, and thanks to this awesome performance boost, it’s time to recycle and update the 2020 article and accompanying demo file to take advantage of it. And good news: it’s now less complicated and easier to understand.

At the risk of stating the obvious, there are many, many ways to skin the virtual list cat, and the purpose of today’s article is not to say “this is the best way”, or imply that other approaches are flawed, but simply to propose one particular approach you might take — especially if you are either: a) new to virtual list, or b) already using virtual list, but aren’t completely happy with your current implementation.

At any rate, my aim today is to gather useful insights from earlier articles into a single document (with a couple new ideas thrown in), and some of what follows has been recycled from those earlier articles.

Spoiler alert: two-dimensional JSON arrays are now viable and performant as back-ends for virtual list. Prior to FM 22 this was not the case… things would appear to be fine when the 2D array was relatively small, but would slow down dramatically with larger 2D arrays. For details see Virtual List with a 2D JSON Array in “FileMaker Pro 22: Initial Impressions”.

Continue reading “Virtual List Even More Simplified”

ExecuteSQL, Level: Any, Virtual List

October 2025 FM Training Livestream

Here are links to articles and resources related to today’s FM Training Livestream presentation: Best of FileMaker Hacks Tips, Tricks and Traps, part 2

YouTube link

Demo Files

FMH Articles

Other Articles

JSON, Level: Advanced

September 2025 FM Training Livestream

Here are links to articles and resources related to today’s FM Training Livestream presentation.

YouTube link

Demo Files

Articles

Addendum

During my presentation, when I showed this example…

…I should have added:

Surrounding the “Blue” with a pair of ¶s is good-faith attempt to avoid false positives in case the list contains “Bluegrass”, “Blueberry, “Bluebird”, “Abluent”, etc.

The demo file has been updated to reflect this.

JSON, Level: Advanced, Version: FM 21 or later

Kentuckiana FM Developers JSON Presentation

Here are links to articles and resources related to today’s KYFMP presentation on JSON custom functions and JSONQuery.

YouTube links

Presentation and Demo Files

JSON and JSON Custom Functions

Other JSON-Related Articles

JSONQuery

 

Level: Intermediate, Macintosh

Another Tip for MBS “Check Variable Names”

This is a quick follow up to A Tip for MBS “Check Variable Names” from earlier this year. The other day I noticed variable name checking wasn’t working in one of my scripts. The culprit turned out to be MBS’s default 500 step limit for variable name checking. According to the documentation, the limit exists for performance reasons, but it turns out it can be adjusted like so.

MBS ( "SyntaxColoring.CheckVariableDeclaration.SetLimits" ; 2000 )

As you can see, I’ve quadrupled the number of script steps that MBS will check. I don’t plan to ever write, or have to work on, a script this long, but you never know. At any rate, problem solved, and so far I have not noticed any performance degradation in the script workspace.

You can read all about this function here on the MBS web site — https://www.mbsplugins.eu/SyntaxColoringCheckVariableDeclarationSetLimits.shtml

Level: Intermediate, Version: FM 12 or later

Boxed Summary Groups for Reports

Demo file:  boxed-summary-groups.zip

Recently I needed to produce a summary report with variable height rows and each group enclosed in a rectangular box. To make the challenge more interesting, there were multiple fields in the body part, and it was not known in advance for any given record which would be tallest. At any rate, the approach I decided to go with took a bit of trial and error to get working and I figured I’d share the process here in case anyone else finds it useful.

Continue reading “Boxed Summary Groups for Reports”

JSON, Level: Any, Version: FM 22 or later, Virtual List

FileMaker Pro 22: Initial Impressions

Demo Files

Minimum version to open the file shown in parentheses.

Introduction

It’s been a couple weeks since the release of FileMaker Pro 22 (a.k.a. 2025), and now that the dust is beginning to settle and I’ve had some time to explore and build some demos, my initial reactions are…

  1. Wow, this is an amazing, game changing release.
  2. Ouch, they just “broke” a bunch of my blog articles — in the sense that behaviors and issues described therein have changed in FM 22.

What this article is not: a general overview. If you’re looking for a general overview Fabrice Nordmann (FileMaker 2025! Explore the New Features) and Wim Decorte (FileMaker 2025 Executive Summary) have written some good ones.

What this article is: a look at some of the features and fixes I’m interested in, including the new GetRecordIDsFromFoundSet (a.k.a. GRIFFS) function, and with particular focus on JSON performance improvements. Also I want to mention a potential problem if you’re on the Windows platform, and we might as well get that out of the way first. Continue reading “FileMaker Pro 22: Initial Impressions”