by Brian O.
FileMaker “Portal In A Portal”
First, it goes without saying that FileMaker is a fantastic platform for developing such amazing custom apps. There are so many progressive features and things we can do to enhance the solutions we provide our clients.
Yet, during the course of development and your career you get accustom to the limitations of the environments use to create apps.
In this post, we’ll demonstrate the solution used to accomplish the “portal within a portal” functionality. This was a major requirement to the project, and as most FileMaker developers know, we cannot actually create a portal within a portal. However, what you are about to see will accomplish the look and feel of the of the concept while leveraging some of FileMaker’s other functionality.
Once this method was set up, it worked well, but it was not an easy implementation, especially when trying to format how the data would be displayed. If changes were to be needed, you would have to change each button individually, making this an absolute nightmare to manage. While reviewing this solution with a colleague, they suggested repeating fields…yep, repeating fields… and using the Get(CalculatedRepititionNumber) function. This allowed for a much simpler implementation, and allowed you to size and format each column quickly and easily with no crazy calculations or overhead to handle displaying the data properly.
In the following demo file, you’ll see a customer layout with an invoice portal. I can’t tell you how many times I have heard, “it would be nice to see what was on the invoice within the same portal.” With this example, this is finally something achievable.
There is an internal “portal” that has a set of buttons to allow scrolling one record up or down, and another set of buttons that will allow you to page up or down on the internal portal. The portal is setup in a way that allows clean and easy editing of these records. In addition to those features, this approach is modular and is as light weight as possible from a performance perspective. The JSON is built using a recursive custom function and the script can be run server side (PSOS).
This demo is still a work in progress but I felt that it is close enough to bring to the community to show that with the use of native FileMaker tools, including the JSON features released in 16, we can provide a more robust solution to our clients. Feel free to leave feedback and suggestions.