MasterDetail 2.0by Todd Geist
This a major update to Master Detail 1.0.
MasterDetail Portal Record Limit
MasterDetail now detects the number of records in the MasterDetailRows table, and constrains the found set based on that number. If there are 1000 records in that table then a max 1000 records will be found. There is intelligent messaging displayed to the user about the state of the found set.
Gathers up to 5 Fields in the Found Set
MasterDetail 1.0 only captured the primary ID of the all the records in the found set. As a result, any other data you wanted to display had to be pulled from a related table. MasterDetail 2.0 can gather up to 5 fields. That means that for most cases you will not have to pull related data into the portal. You can capture other fields along with the ID, and have the virtual list parse them out into fields.
Virtual Trigger “Before Capture Found Set”
MasterDetail now has a Virtual Trigger that runs just before the found set. This give you the chance to do things like sort, or further modify the found set before it is captured. You can learn more about Virtual Triggers in this video.
MasterDetail was designed with one main use case in mind. I wanted the current found set of records to be displayed in the portal in the order that they appeared in the found set. I wanted to have it behave as much as possible like regular old FileMaker, just display the found set in portal. I think it does that pretty well.
However there are some limitations. Its not going to perform well on large found sets when the file is hosted on a remote server. Anything more than a few thousand records is going to bog down. Thats why I added the feature to automatically constrain the found set.
Some people may want to use Perform Script On Server (PSOS) to get around this issue. But it won’t work. The found set is local to the client, not the server. When you call a script with PSOS, it won’t know anything about the local clients found set.
You could certainly extend Master Detail to use other record gathering techniques like SQL, or PSOS, but they would require more work and not be as generally applicable as it is out of the box.
2.0.2 released 12.22.24