Saturday, January 10, 2009

FileMaker 10's big feature

This week, FMI shipped FileMaker Pro 10 and FileMaker server 10. Among the new features, the biggest one affecting the developer's life is arguably the triggering capability.

This feature allows a script to be triggered flexibly upon many different actions. These include entering a field, typing a character, exiting the field, committing the record, entering a layout, exiting a layout, changing modes, and more. It has been possible to use a plug-in to trigger many of these functions in the past, but not all of them. Also, there are some things that a trigger plug-in could do that can't be done by FileMaker 10 natively. Mostly, these are triggers from a calculation or function.

In my opinion, this set of features in FileMaker will power a whole round of features that will become commonly used. Also, we'll see the rise of a set of very simple scripts that do small triggered actions that we've always wished for. For example, when a record loads, a script could load up a set of tabs based on a field value in the record. These tab panels might be visible or invisible. If an invoice record was paid, this script could show a tab panel with only locked fields. If the user goes to another record by any means (using flip-book, search, GTRR, etc.) the script would run to show the right tab pane with locked or unlocked fields.

This just scratches the surface, and I think hundreds of examples like this will emerge. This will certainly be my first use of these features, and I'll stop using triggering plug-ins for all of these functions as soon as my clients upgrade to FMP10.

The reason that triggering is important is that other development environments have had these features for many years, so a rich set of interface behaviors has emerged. It will now be possible to follow these standards without undue effort in FileMaker, which is a great thing. Sure, we could lament that this should have been done years ago, but we have it now, and it makes me happy.

Another use that I expect will be sweet is capturing mode changes. If a user hits Command-U (Control-U on winblows) to switch to Preview mode, a script could trigger that opens a new window, moves that window down and to the right, turns on the Status Area, and pauses the script with a 'Continue' button. Then when the user clicks 'continue' it asks if they want to print or not, and runs the printing subscript. Many of us have written scripts like this, but it will be even better now that we can capture native FileMaker commands and direct the flow to our wishes.

No comments: