Customize FileMaker Menus with Fast Tasksby Alan Graham
Without the use of third party plug-ins, you're unable to customize FileMaker menus. If you have a number of functions that users require quick access to, you can create a button collection and place it in your UI. However, these can quickly get out of hand, and you'll find yourself cluttering up your user interface.
When this happens, the easiest way to expand your solution is to use what I like to call "Fast Tasks." The Fast Task element is essentially a text field with a simple pop up menu and a companion button. The pop up field uses a Value List to define a number of quick tasks a user might want to choose from. The companion button is connected to a script (interpreter) that looks at the value chosen and then performs the appropriate task.
For example, you might have a solution where most of the time spent is in the Contact Manager. There might also be a companion To Do List database. Instead of using the navigation tab to jump to the To Do List, then locate a button to perform a task, you might instead use a Fast Task menu of items such as:
- Create a new To Do item for the current record/contact.
- Create a new blank To Do item.
- Show all of today's To Do items.
- Find all To Do items regarding the current contact/record.
That's four possible buttons replaced by one button and one field.
To use a Fast Task menu, all that's required of the user is to select a menu item and press the companion button. The script attached to the button will interpret the menu choice and perform the task. One delightful feature of this is that it reflects a UI element (pop up/pull down menus) that users are familiar with in other applications. It also allows you to perform complex, multi-step scripts that only require two mouse clicks. Finally, you could replace, say 10 buttons, with one Fast Task menu.
Three Fast Task menus that I use frequently I call "Find," "Do," and "Go."
These three Fast Task menus are extremely versatile because you can use them almost anywhere, especially deep within a database where a user would find it difficult to get access to certain data without a large amount of interaction.
This speeds up find requests by allowing users to specify their find from one section of the database to another. You could use it in conjunction with a custom dialogue to perform a highly specific find. Another option might be finding all contacts related to the current user logged into the solution. A four to five step task of navigation now becomes a two to three step task.
This menu can contain a number of common tasks which would eliminate the use of multiple navigation steps, buttons, and data entry. For example, if a user wishes to print the monthly sales reports from their current location, no need to jump to another section.
Tabbed navigation helps users jump from one location of a solution to another. However, some destinations might be located in a difficult to reach layout, deep within the hierarchy of a solution. You can use the "Go" Fast Task to jump to a highly specific location. For example, you might want to jump from an Inventory Database directly to the Contact Manager and only view specific data. This menu can take you from where you are to exactly where you want to be.
Some possible uses you might consider for Fast Task menus might include:
- Special print menus to print commonly used reports.
- A print menu to automate the creation of common lists and corresponding Avery labels.
- Quickly finding records that don't require input from the user.
- Streamlining the import/export of different types of data from different but often used files.
- Building common, but different types of lists. An example might be a mailing list for newsletters (Fall, Winter, Spring, Summer, Press Release). This fast task could perform a find, print the newsletter, and the print the mailing labels all at once.
Creating A Fast Task
From here we jump to the tutorial file. This should give you enough information to build your first Fast Task menu.
After working with the sample file, add any helpful hints that you've discovered to the TalkBacks below so others can benefit from your experience.
Return to the Mac DevCenter