As with every new release of FileMaker products, we as developers have some new tools up our sleeves to work with.
One of the new features that I think I’ll find I’m going to be using most frequently is the ability to programmatically determine a layout object’s visibility.
In the past, we’ve had to turn to all sorts of FileMaker workarounds to accomplish this kind of feat. Most commonly, we’d be using hidden portals or hidden tab panels. There was also the option to use conditional formatting which I had previously written about. With the introduction of this newest feature however, complicated workarounds are no longer necessary.
When in Layout mode, and you select one of your layout objects, you’ll notice a new option in your inspector (on the Data tab –> See image above). This option will let you use the standard FileMaker specify calculation dialog box to determine when the object will be hidden from your users’ view. Not only does it hide the layout object from the user’s view, but that layout object will also become inaccessible (unlike the conditional formatting trick). This means that you will gain all the advantages of the hidden portal/hidden tab tricks, and it will be even easier than the conditional formatting trick. I like it!
If you’ve read this far, you already know how to implement this new feature, and you can see a good example of it in a module that I’ve uploaded to ModularFileMaker.org called "PermissionGranted".
I do also want to note though, that I’m worried about new FileMaker developers getting confused by the fragmentation of various similar options, and I hope that this is something that can be addressed with future releases of FileMaker software. When I first caught wind of this new feature, I had assumed that the option to hide an object would appear within the conditional formatting dialog box, and found it odd that it had its own distinct place within the inspector. Having its own distinct place within the inspector does indeed have its own merit, in that it allows layout objects that cannot have conditional formatting applied to it to have this new feature applied to it.
Another potential source of confusion however, is the fact that there has been for a very long time, an option to hide layout objects from appearing on printouts (preview mode). I think it would make sense to combine these two features into one. This would be a cause of less confusion in the long run, and more flexibility for showing/hiding objects on printouts. What are your thoughts?