FileMaker Pro Advanced v9
FMUGSeptember 5, 2008
What we will cover
• Features that are specific to FileMaker Advanced (formerly FileMaker Developer)– These features are (mostly) not available in
“regular” FileMaker Pro– These features may have been introduced in
earlier versions, though we will work from v9
What we will not cover• New features also available in “regular” FileMaker Pro,
e.g.,– Conditional formatting– Web viewer updates– ESS (External SQL Sources)
• FileMaker Server features and administration– For on-line training demo of FMSv9, see
https://web.mit.edu/ist/topics/training/demos/Filemaker/index.htm
• Some other FMPA features, such as:– Creating runtime solutions– Custom menus
Who should use FMPA?
• Database developers– If you are doing more than creating/editing
layouts, e.g.,• Creating/maintaining complicated scripts• Upgrading/migrating an existing system• Working with custom functions
• Database administrators– If you are responsible for any shared
databases
FMPA Features
• Tooltips• Disable Script Steps• Script Debugger and Data Viewer• Copy/Paste Field and Table Schemas• The Database Design Report• File Maintenance Tools• Custom Functions
Tooltips
• Introduced in FileMaker Advanced v8
• Allows the display of static or calculated text when the user mouses over a layout object in Browse or Find mode.
• Handy for building user documentation right into your database.
Adding a Tooltip• Go into Layout mode • Click on the object
for which you wish to create a Tooltip
• Select “Set Tooltip” from the Format menu
• In the Set Tooltip dialog box:• Enter the desired
tooltip text• Or click “Specify” to
use the Calculation engine to create dynamic text
Conditional Tooltips
• With calculated Tooltips, you can make different messages appear conditionally
Tooltip Calculation
Disable Script Steps
• Introduced in FM Advanced v8• Allows you to have script steps that do not
run when the script is executed• Handy for developing and testing scripts• You can not edit a disabled script step
Script Debugger• Has been around since
FM Developer v5.5• Select “Script Debugger”
under the Tools menu• Then run the desired
script• Observe stepping
through conditionals– Is there a typo in
parameters?– Is a condition being
unexpectedly met?• You can step into
subscripts as well
Data Viewer• Data Viewer introduced in FM Advanced v8• To use it, select “Data Viewer” under the Tools menu or
launch it from the Script Debugger
Data Viewer Watch Tab
• To monitor a field or variable value, regardless of whether a script is running to modify it, add that field or variable to the Watch tab
Database Design Report (DDR)• To generate a
DDR, select “Database Design Report” under the Tools menu
• Select the objects you wish to include in the report
• Choose your report format
The DDR
Uses of the DDR• Use this report to:
– Get an overview of the complexity of your system – Find Missing Objects, e.g.,
• Missing fields and missing layouts in script steps• Missing tables
– Could indicate problems– Could indicate development housekeeping
File Maintenance
• Under Tools > File Maintenance (FMPA only)– Compact– Optimize
• Under File Menu (also available in FM Pro)– Save a copy as compacted copy– Recover
Compact and Optimize• Not recovery tools• Must be performed on open file. Risk of damage.• Compact
– Removes free space– Can take a long time but can save disk space– May slow down indexing because new room may have to be
made. • So if you are constantly adding/importing new data, compacting
frequently may slow down performance.
• Optimize– Swaps blocks so that like is put with like– Can take several swaps to put things in order. – Can take a long time and performance benefit is limited. – More effective to check other cpu-heavy processes or add RAM
Save a Compacted Copy• Save as Compacted results in compacted and optimized file.
• Much better than the File Maintenance options– Does not put the open file at risk– A more thorough procedure than the Compact maintenance tool
• If a database file fails FM Server’s consistency check, perform a Save as Compacted– Enable “Verify backup integrity” in your FMSv9 backup schedule to
run regular consistency checks– The consistency check looks for bad blocks and eliminates free block
space, but does *not* repair damage – Check event.log for consistency check failures
Recovery• Creates a new file with valid blocks
– Invalid blocks do not make it into new file, so stuff can get lost• Scans layouts and rebuilds lists • Calc dependencies and indices are rebuilt• Won’t check graphics
– A damaged graphic can crash Filemaker Pro– It can be on a layout or in a container field – If it crashes on only one platform, get on the other platform and
delete the graphic. Otherwise, you may have to delete the whole layout.
• Don’t use the recovered file; just get the data out of it in text format and bring it into a safe clone/backup.
Copy and Paste Field Definitions• You can copy
one or more field definitions from one file to another– This is not
“Duplicate”
• No field value is copied
• “Paste” button is enabled after “Copy” has been clicked
Copy and Paste Table Schemas• You may
copy table schemas and paste them into another file.– This
includes ESS shadow tables, but it will paste as a local table
Importing tables• You may
import one or more table schemas directly into one file from another by using the Import button.
• This does not involve the clipboard like copy/paste, so it’s fewer steps
The Import Log File
• Both table schema import methods generate an entry in the Import log file.
Importing Tables with Data• If you wish to bring in
data as well as schema, you must use the Import Records from under the File menu
• Select “New Table” as your target in order to create the new table schema
• This feature is available in “regular” FileMaker Pro
Custom Functions• Useful for when you
want to manipulate data in a particular way AND– There is no existing
FileMaker function to serve the purpose
– This particular manipulation will be a recurring need
• Under File > Manage, select “Custom Functions…”
Creating/Editing Custom Functions
• PhoneFormat custom function courtesy of http://www.briandunning.com/cf/333
• Be sure to add any necessary function parameters– If you omit any, you
will be prompted to add them when you close the dialog box
• Custom functions are available for use by FileMaker Pro users, but you must have FMPA to create/edit
Undocumented Features in Pro and Advanced
• Add a separator:– To add a separator
between two script names in the Scripts menu, or between drop down or pop-up lists, type a single hyphen as a script name or value list item.
– To add a separator between Layouts, create a blank layout, name it with the dash character, then reorder it to the desired position.
Copying Script Steps• Copy and paste script step buttons have
gone away in v9, but Edit menu items and keyboard shortcuts can still be used.
Resources• Using FileMaker Pro Advanced:
– http://www.filemaker.com/downloads/pdf/fmpa9_development.pdf• Tutorial on tooltips:
– http://www.filemaker.com/products/fmp/video_tutorials.html• File Maintenance and Recovery:
– http://filemaker.custhelp.com/cgi- bin/filemaker.cfg/php/enduser/std_adp.php?p_faqid=6509
– http://filemaker.custhelp.com/cgi- bin/filemaker.cfg/php/enduser/std_adp.php?p_faqid=5594
– http://filemaker.custhelp.com/cgi- bin/filemaker.cfg/php/enduser/std_adp.php?p_faqid=1580
• Repository of custom functions:– http://www.briandunning.com/filemaker-custom-functions/list.php
• Undocumented Features:– http://filemaker.custhelp.com/cgi-
bin/filemaker.cfg/php/enduser/std_adp.php?p_faqid=5114