FileMaker Nested Portal

They call it nested portal… multi layered portal… and even portal within portal. Whatever the name is, the topic in this post is likely one of the biggest sticking point that trips over many intermediate FileMaker user.

So here’s the scenario

Your data has 3 tables in a hierarchy relationship structure. From top to bottom…

A > B > C

And for easier understanding, let’s say our data is about Apple products.

  • A = Category (E.g. Phone, Tablet, Laptop)
  • B = Product Model (E.g. iPhone 10, iPhone 11, Macbook Air, Macbook Pro)
  • C = Color (E.g. Rose, Jet Black, Silver)

 

Your goal is to create a layout that allows you to display data like this.

You click an item in portal A, it display all B item related to A

You click an item in portal B, it display all C item related to B

So when we click into the Phone category, we see iPhone X and iPhone S.

And when we click into iPhone S, we see the 2 colours under it, Jet Black and Silver

Simple right? But this is where the trickiness starts.

 

The wrong (but intuitive) way to do it

For most beginner / intermediate user, the most intuitive method will be to setup a relationship like this:

But this isn’t going to work, because C is going to show all the related record of A, instead of showing related record of the B your are currently selecting like below…

So in our example, it’s showing all the related C product regardless of which product I am currently selecting in B. I am selecting iPhone S, but it still show iPhone X’s color of Rose, Gold and Silver.

And that is because the current setting is about showing ALL the related record of C to A, not C to B.

The solution

The solution is going to be tricky to explain in text. But to give you a general concept to understand better, it’s all about using global field and script to create a mechanic that “tricks” FileMaker into displaying the correct related records from B to C.

> Creating a global field in table A

> Connecting table C to table A using that global field.

> Create a script mechanics in table B to update that global field

> When table B update the global field in table A, it “tricks” FileMaker to display related record of B to C.

The relationship diagram will look something like this as a result…

But like I said, the concept and actual execution is a bit too abstract to explain in text (and I will likely confuse you more). I would recommend you to check out the video tutorial.