Inverted Portals With FileMaker Pro
By: Doug West
**Tested on FileMaker Pro versions 14-16
Portals are great for displaying information in the appropriate context. Unfortunately, they don’t always provide the most intuitive user experience when newcomers are learning how to enter data in a FileMaker solution.
After configuring a relationship in the Manage Database window to enable the option to “Allow creation of records in this table via this relationship”, we can easily create related records within a portal by simply typing new values in the last row of a corresponding portal. Entering the first batch of related records seems straightforward enough. But what happens once you’ve exceeded the number of visible rows in the portal?
Here is where we start to see the puzzled looks. When we’re ready to add the next related record, we first have to scroll through the list of existing records to access the blank “record creation row” at the bottom. This is enough of a nuisance that we often see buttons to improve the user experience through scripting.
So today’s challenge was to find the most efficient solution to this usability problem, with the added requirement to present the results in descending order by date. This concept for inverted portals must allow creation of new records on the first row, followed by the existing data rows from newest to oldest. We’ll be able to add entries without the nuisance of scrolling and we’ll see the most relevant information first.
So how can we get the record creation row to appear at the top of the portal? As is often the case in FileMaker Pro, there is more than one way to do it. Maybe your first attempt could involve some global fields for entering data above the portal, which could then trigger a script to create a related record, set the data, and clear the global fields. Effective? Sure, but not elegant. I’m looking for a cleaner approach that’s a bit “lighter”.
How about two portals using the same related table occurrence with no scripts and no extra fields? By telling our first portal to filter out all existing records (using a very simple formula! (see demo)), we’re left with just the record creation row. Position that above another copy of the same portal showing the existing data sorted by date, while hiding objects in the record creation row at the bottom.
We now have an upside-down portal that’s sure to satisfy developers and end users alike! We haven’t added any scripts, fields, or table occurrences, and we’ve saved your users at least a few mouse-clicks along the way.
**This article is provided for free and as-is, use, enjoy, learn, and experiment at your own risk – but have fun! eXcelisys does not offer any free support or free assistance with any of the contents of this blog post. If you would like help or assistance, please consider retaining eXcelisys’ FileMaker Pro consulting & development services.
eXcelisys, Inc. is an independent entity and this web site/information/blog post has not been authorized, sponsored, or otherwise affiliated with FileMaker, Inc. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries.