Part I: Getting Started with FileMaker 9
Part II: Developing Solutions with FileMaker
Part III: Developer Techniques
Part IV: Data Integration and Publishing
Part V: Deploying a FileMaker Solution
I Getting Started with FileMaker 9
FileMaker Is a Seasoned Platform
Introduction to Database Software
Overview of the FileMaker 9 Product Line
FileMaker Server Advanced Hosting
Extending the Functionality of FileMaker Pro
Understanding FileMaker Databases
Understanding Records and Fields
Using Find Mode to Perform a Find Request
Omitting and Showing All Records
Presenting Data with Summary and Subsummary Reports
Saving PDF and Excel Documents
FileMaker Extra: Becoming a FileMaker Pro Power User
Technique 1: Using Your Keyboard for More Speed
Technique 2: Working with Table View
Technique 4: Inserting Specific Information
Technique 5: Getting to Know Your Entire Database
Technique 6: Using Multitiered Sorts
Technique 7: Using Multiple Windows
Technique 8: Applying Text Styling and Tabs
3 Defining and Working with Fields and Tables
New Databases Begin with Field Definitions
Using the Manage Database Dialog
FileMaker Extra: Indexing in FileMaker
Working with Objects on a Layout
Positioning Objects on a Layout
Automatically Resizing Objects on a Layout
Working with the Tab Control Object
Adding a Tab Control Object to a Layout
FileMaker Extra: Designing Cross-Platform–Friendly Layouts
II Developing Solutions with FileMaker
Working with Entities and Attributes
Entities Versus Attributes: A Case Study
Design as an Iterative Process
Representing Relationships in a Diagram
Optionality in Many-to-Many Relationships
Optionality in One-to-Many Relationships
Optionality in One-to-One Relationships
Understanding the Role of Keys in Database Design
Keys That Determine Uniqueness
Keys That Refer to Other Tables
Many-to-Many Relationships: Solving the Puzzle
Additional Many-to-Many Examples
Normalizing Data: What Goes Where
First Normal Form: Eliminate Repeating Groups
Second Normal Form: Eliminate Redundant Data
Third Normal Form: Eliminate Fields Not Dependent on the Key
The Basics of Process Analysis
Process Analysis: Legal Documents
FileMaker Extra: Complex Many-to-Many Relationships
6 Working with Multiple Tables
Multitable Systems in FileMaker Pro
Creating a One-to-Many Relationship in FileMaker
Creating the First Table in a Multitable System
Adding a Table to a Multitable System
Working with Keys and Match Fields
Using a Portal to View Related Child Data
Using a Portal to Add Related Records
Working with Related Parent Data in a Child File
Creating a Many-to-Many Relationship
Adding a Table Occurrence to the Relationships Graph
Defining a Relationship with Multiple Match Criteria
Creating a Relationship with a Global Value
Creating Cross-Product Relationships
Creating an External Data Source
Adding an External Table to the Relationships Graph
How and When to Use Multiple Files
Separation of a System into Modules
FileMaker Extra: Managing the Relationships Graph
8 Getting Started with Calculations
Understanding How and Where Calculations Are Used
Exploring the Specify Calculation Dialog
Learning About the Environment
FileMaker Extra: Tips for Becoming a Calculation Master
9 Getting Started with Scripting
Working with Buttons on Layouts
FileMaker Extra: Creating a Script Library
10 Getting Started with Reporting
Generic Versus Specific Report Structures
Horizontal and Vertical Dividers
Using Summary Fields in Subsummary Reports
Calculations Involving Summary Fields
Summarizing on Multiple Criteria
Reordering a Report Based on Summary Data
Subsummary Reports with No Body Part
FileMaker Extra: Incorporating Reports into the Workflow
11 Developing for Multiuser Deployment
User Accounts and Session Data
Commit Versus Create and Serial IDs
Multicontext Locking Within Scripts
Record Create/Modify Meta Data
Auto-Entry Technique for Audit Trails
Creating Rollback Functionality
FileMaker Extra: Development with a Team
Server Administration Security
FileMaker Extra: Working with Multiple Files
Adding a Web Viewer to Issue Tracking
Setting Up a Web Viewer with the Templates
Controlling the Web Viewer with the Set Web Viewer Script Step
GetLayoutObjectAttribute
with Web Viewer
FileMaker Extra: Using the Web Viewer for Files
14 Advanced Interface Techniques
User Interfaces in FileMaker Pro
FileMaker’s Native User Interface
Single File Interface Versus Distributed Interface
Loading and Activating Menu Sets
Creating a New Menu from Scratch
FileMaker Extra: User Interface Heuristics
15 Advanced Calculation Techniques
What’s an Advanced Calculation Technique?
Working with Return-Delimited Data Arrays
FileMaker Extra: Creating a Custom Function Library
16 Advanced Scripting Techniques
Script Parameters and Script Results
Passing Multivalued Parameters
Strategies for Using Script Parameters
Final Thoughts on Script Input/Output
Other Ways to Work with Variables
FileMaker Extra: Recursive Scripts
Portals Versus List View/Table View
Using Portals to Create Calendars
Multivalue And
Filtered Portals
Multivalue Or
Filtered Portals
Ranged, Multivalue Or
Filtered Portals
Multiple Field Type Portal Sorting
Descending Dynamic Portal Sorting
FileMaker Extra: Portals and Record Locking
18 Advanced FileMaker Solution Architecture
Positioning a Window Relative to Another Window
Multikey and Multirow Selections
Jumping to Disconnected Table Occurrences
Showing/Hiding Layout Elements
FileMaker Extra: Recursive Scripts
19 Debugging and Troubleshooting
Understand Software Requirements
Troubleshooting Scripts and Calculations
Troubleshooting in Specific Areas: Performance, Context, Connectivity, and Globals
Connectivity and Related Issues
Using the Database Design Report
20 Converting Systems from Previous Versions of FileMaker Pro
Converting Single-File Solutions
Converting Relational Solutions
Fix File References and External Data Sources
FileMaker Extra: Converting Web-Enabled Databases
Custom Web Publishing with CDML
IV Data Integration and Publishing
21 Connecting to External SQL Data Sources
Setting Up FileMaker Databases for ODBC
Setting Up and Administering ODBC
Example: Setting Up a DSN on Mac OS X to Connect to MySQL
Example: Setting Up a DSN on Windows to Connect to FileMaker
Importing ODBC Data into FileMaker
Using External ODBC Data Sources with the Relationships Graph
Adding the External Data Source to the Relationships Graph
22 Importing Data into FileMaker Pro
The Import Field Mapping Dialog
Updating Records with Imported Data
Importing from Another FileMaker Pro File
Importing from a Microsoft Excel File
Using an Import to Create a New Table
Importing Multiple Files from a Folder
Importing Photos from a Digital Camera
FileMaker Extra: Exploiting the FileMaker-to-FileMaker Import
Moving, Consolidating, and Re-creating Tables
23 Exporting Data from FileMaker
The Basic Mechanics of Exporting
Choosing an Output File Format
Exporting to Fixed-Width Formats
Working with Large Fields and Container Fields
Applying an Export Transformation to FileMaker XML
XML Import: Understanding Web Services
FileMaker’s XML Import Capability
Accessing the Amazon Web Services
Writing a Stylesheet to Import Amazon Data
Building a More Flexible Interface to a Web Service
FileMaker Extra: Write Your Own Web Services
An Overview of Instant Web Publishing
Configuring FileMaker Pro for IWP
Configuring FileMaker Server Advanced for IWP
Sharing and Securing Files via IWP
26 Custom Web Publishing with XML/XSLT
Custom Web Publishing Versus Instant Web Publishing
Custom Web Publishing Versus XML Export
Preparing for Custom Web Publishing
Getting Your Databases Ready for CWP
Getting FileMaker Server Ready for Custom Web Publishing
Publishing FileMaker Data as XML
Introduction to XML Publishing
Performing Specific Searches with CWP URLs
Applications of Custom Web Publishing with XML
Build the Site with the Site Assistant
Embedding Query Parameters in a Stylesheet
Using Tokens to Share Data Between Stylesheets
Other Custom Web Publishing Commands and Parameters
About the FileMaker XSLT Extensions
27 Custom Web Publishing with PHP
Choosing a Custom Web Publishing Technology
Preparing for Custom Web Publishing with PHP
Getting Your Databases Ready for Custom Web Publishing with PHP
Getting FileMaker Server Ready for Custom Web Publishing with PHP
Placing Files on the Web Server
Building the Site with the Site Assistant
V Deploying a FileMaker Solution
28 Deploying and Extending FileMaker
Creating a Runtime Application
Polishing Your Custom Solution
Using FileMaker’s Sample Plug-in
Deploying Plug-ins via FileMaker Server
Configuring and Enabling Plug-ins
29 FileMaker Server and Server Advanced
The FileMaker Server Product Line
FileMaker Server Versus Peer-to-Peer Database Hosting
Installing and Deploying FileMaker Server
Starting and Stopping FileMaker Server
Working with External Services
Registering with an LDAP Server
Using External Authentication Services
Automatically Updating Plug-ins
FileMaker Extra: Best Practices Checklist
Determine Network Infrastructure
Deploy Databases and Schedule Backups
Perform Regular File Maintenance
Keep Current with Software Updates
Using FileMaker Mobile on Your Handheld Device
Installing on Your Handheld Device
Synchronizing with a FileMaker Database
Configuring a File to Be Published
18.226.4.191