About the Book
Once upon a time, you
were an experienced FileMaker user. Now there's an updated version of the
software and you feel like you're back at the beginning of the story. Special
Edition Using FileMaker 7 can help you get back to "happily ever after"
with your database building skills. Frequent tips, case studies and thorough
examples create a learning experience as if you were in the same room with
the experienced FileMaker developers. Written by The Moyer Group, a leading
FileMaker Pro consulting and training organization, this book will show
you how to avoid mistakes and save time in developing databases. A CD is
included to show you sample files with before-and-after examples, as well
as an interface explorer tool that will allow you to prototype interfaces
quickly for clients. Special Edition Using FileMaker 7 is sure to keep
you from seeing the end of your database building days.
Related Books
Special Edition Using Books (Special
Edition Using Books)
Table ofContents
Welcome to FileMaker Pro 7.
Waiter, There’s a Software Development
Tool in My Productivity Application!
Rapid Application Development.
Low Total Cost of Ownership.
FileMaker Is a Seasoned Pro.
You’re Not Alone.
How This Book Is Organized.
Part I: “Getting Started with FileMaker
7.”
Part II: “Developing Solutions with
FileMaker
Part III: “Developer Techniques.”
Part IV: “Data Integration and Publishing.”
Part V: “Deploying a FileMaker Solution.”
Special Features.
Typographic Conventions Used in This
Book.
Who Should Use This Book.
A Brave, New World.
I. GETTING STARTED WITH FILEMAKER.
1. FileMaker Overview.
Introduction to Database Software.
Types of Database Software.
What Database Software Does.
Overview of the FileMaker 7 Product
Line.
FileMaker Deployment Options.
Single User.
Peer-to-Peer Hosting.
FileMaker Server Hosting.
FileMaker Server Advanced Hosting.
Kiosk Mode.
Extending the Functionality of FileMaker
Pro.
What’s New in FileMaker Pro 7.
Technical Specifications.
File Format.
Relationships Graph.
Enhanced Relationship Functionality.
Multiple Windows per File.
Security.
Calculations.
Scripts.
Layouts.
Web.
Server.
2. Using FileMaker Pro.
Getting Started.
Records and Fields.
Tables.
FileMaker Pro Navigation.
Working in FileMaker Pro.
Opening a Database.
Creating a New Database from a Template.
Creating and Deleting Records.
Working with Fields.
Field Types.
Data Validation.
Manipulating Records in Portals.
Working with a Found Set.
Using Find Mode to Perform a Find
Request.
Omit and Show All Records.
Sorting.
Printing.
Presenting Data with Subsummary Reports.
Importing and Exporting Data.
Troubleshooting.
FileMaker Extra: Becoming a FileMaker
Pro Power User.
Technique 1: Use Your Keyboard for
More Speed.
Technique 2: Work with Table View.
Technique 3: Replacing Data.
Technique 4: Inserting Specific Information.
Technique 5: Get to Know Your Entire
Database.
Technique 6: Multi-tiered Sorts.
Technique 7: Use Multiple Windows.
Technique 8: Text Styling and Tabs.
3. Defining and Working with Fields.
Working Under the Hood.
New Databases Begin with Field Definitions.
Using the Define Database Dialog.
Working with Fields.
Field Naming Conventions.
Adding Field Comments.
Creating New Fields.
Working with Field Types.
Text.
Number.
Date.
Time.
Timestamp.
Container.
Calculation.
Summary.
Assigning Field Options.
Auto-Entry Field Options.
Field Validation.
Storage and Indexing.
Furigana.
Troubleshooting.
FileMaker Extra: Indexing in FileMaker
Pro 7.
4. FileMaker Fundamentals: Working
with Layouts.
What’s a Layout?
Creating and Managing Layouts.
Creating a New Layout.
Layout Context.
Layout Setup.
Hiding and Reordering Layouts.
Restricting Access to Layouts.
Working with Parts.
Adding and Ordering Parts.
Formatting a Part.
Part Definition.
Working with Objects on a Layout.
Adding Objects to a Layout.
Positioning Objects on a Layout.
Arranging Objects.
Working with Fields.
Adding Fields to Layouts.
Field Formatting.
Field Behavior.
Setting the Tab Order.
Merge Fields.
Troubleshooting.
FileMaker Extra: Designing Cross-Platform—Friendly
Layouts.
II. Developing Solutions with FileMaker.
5. Relational Database Design.
Understanding Database Design.
Database Analysis.
Working with Entities and Attributes.
Entities Versus Attributes: A Case
Study.
Design as an Iterative Process.
Understanding Relationships.
Representing Relationships in a Diagram.
Relationship Types.
Relationship Cardinality.
Relationship Optionality.
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.
Attributes in a Join Entity.
Additional Many-to-Many Examples.
The Basics of Process Analysis.
Process Analysis: Legal Documents.
FileMaker Extra: Complex Many-to-Many
Relationships.
6. Working with Multiple Tables.
Multi-table Systems in FileMaker Pro.
Creating a One-to-Many Relationship
in FileMaker.
Creating the First Table in a Multi-table
System.
Adding a Table to a Multi-table System.
Adding a Relationship.
Working with Keys and Match Fields.
Understanding Table Context.
Working with Related Data.
Using a Portal to View Related Child
Data.
Using a Portal to Add Related Records.
Working with Related Parent Data in
a Child File.
Portals Versus Related Fields: Which
Is Which?
Creating a Many-to-Many Relationship.
Building the Structure.
Creating a Data Entry Interface.
Using a Value List for Data Entry.
Relational Integrity.
Using a Value List to Ensure Relational
Integrity.
Preserving Referential Integrity During
Deletion.
Troubleshooting.
FileMaker Extra: Building a Three-Way
Join.
7. Working with Relationships.
Relationship Graphs and ERDs.
Relationships as Queries.
Non-Equijoins.
Adding a Table Occurrence to the Relationships
Graph.
Defining a Relationship with Multiple
Match Criteria.
Creating Self-Relationships.
Managers and Employees: A “Structural”
Self-Relationship.
An “Exclusionary” Self-Relationship.
Creating Ranged Relationships.
Creating Cross-Product Relationships.
Working with Data from Distant Tables.
Working with Multiple Files.
Creating a File Reference.
Adding an External Table to the Relationships
Graph.
How and When to Use Multiple Files.
Working with Converted Files.
Separation of a System into Modules.
Troubleshooting.
FileMaker Extra: Managing the Relationships
Graph.
8. Getting Started with Calculations.
Understanding How and Where Calculations
Are Used.
Writing Calculation Formulas.
Uses for Calculation Formulas.
Exploring the Calculation Dialog Box.
Specifying Context.
Writing the Formula.
Other Options.
Essential Functions.
The Parts of a Function.
Text Operations.
Nested Functions.
Number Functions.
Working with Dates and Times.
Using Conditional Functions.
Aggregate Functions.
Learning About the Environment.
Get Functions.
Design Functions.
Troubleshooting.
FileMaker Extra: Tips for Becoming
a Calculation Master.
9. Getting Started with Scripting.
Scripts in FileMaker Pro.
Creating Scripts.
Topology of ScriptMaker.
Script Naming Practices.
Script Editing.
Full Access Privileges.
Commenting Scripts.
Using a Script Template.
Using Subscripts.
Common Scripting Techniques.
Error Management.
Setting and Controlling Data.
Providing User Navigation.
Saved Script Options.
Using Conditional Logic.
Using Loops.
Working with Custom Dialogs.
Triggering Scripts.
Working with Buttons on Layouts.
Troubleshooting.
FileMaker Extra: Creating a Script
Library.
10. Reporting with Grouped Data.
Deriving Meaning from Data.
Begin with the End in Mind.
Determine Report Requirements.
Generic Versus Specific Report Structures.
Working with Lists of Data.
Trailing Summaries.
Alternating Row Color.
Horizontal and Vertical Dividers.
Sortable Column Headers.
Go to Detail.
Summarized Reports.
Using a Break Field.
Creating a Subsummary Report.
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.
Troubleshooting.
FileMaker Extra: Incorporating Reports
into the Workflow.
III. DEVELOPER TECHNIQUES.
11. Developing for Multi-User Deployment.
Developing for Multiple Users.
“Sessions” in FileMaker Pro.
Session-Specific Elements.
Global Behavior.
User Accounts and Session Data.
Concurrency.
The ACID Test.
Script Log.
Commit Versus Create and Serial IDs.
Record Locking.
Audit Trails in FileMaker Pro.
Record Create/Modify Meta Data.
Script-Controlled Editing.
Auto-Entry Technique for Audit Trails.
Creating Rollback Functionality.
Launch Files.
Troubleshooting.
FileMaker Extra: Development with
a Team.
12. Implementing Security.
FileMaker Security Features Overview.
Accounts.
Privilege Sets.
Extended Privileges.
FileMaker Server Security Features.
Administration Security.
Directory Service Integration.
Assessing the Security Risk.
Developing a Security Plan.
Troubleshooting.
FileMaker Extra: Configuring External
Authentication Servers for Mac OS X.
13. Advanced Layout Techniques.
User Interfaces in FileMaker Pro.
FileMaker’s Native User Interface.
Building Your Own Interface.
Interface Look and Feel.
Single File Interface Versus Distributed
Interface.
Navigation.
Tabbed Navigation.
Other Navigation Techniques.
Multi-Window Interfaces.
Tool and Function Palettes.
Rich Dialog Windows.
Special Effects.
Showing/Hiding Contextual Layout Elements.
Dedicated Find Layouts.
Dedicated Find Mode Layouts.
Script-Driven Finds.
Data Presentation.
Text Formatting.
Auto-Formatting Data.
Working with Table View.
Troubleshooting.
FileMaker Extra: User Interface Heuristics.
14. Specialized Calculation Functions.
What’s a Specialized Function?
Logical Functions.
The Let function.
The Choose Function.
The GetField Function.
The Evaluate Function.
The Lookup Functions.
Text Formatting Functions.
Text Color, Font, and Size.
Text Style.
Examples Involving Text Formatting
Functions.
Array Functions.
Working with Return-Delimited Data
Arrays.
Stepping Through an Array.
The “Filter”-ing Functions.
The Filter Function.
The FilterValues Function.
Custom Functions.
Uses of Custom Functions.
Creating Custom Functions.
Examples of Custom Functions.
Troubleshooting.
FileMaker Extra: Creating a Custom
Function Library.
15. Advanced Scripting.
What Is Advanced Scripting?
Script Parameters.
Specifying Script Parameters.
Retrieving a Script Parameter.
Passing Multi-valued Parameters.
Strategies for Using Script Parameters.
Window Management Techniques.
The Anatomy of a Window.
Positioning a Window Relative to Another
Window.
Go to Related Record.
GTRR Basics.
Predicting the Found Set.
Jumping to Disconnected Table Occurrences.
Troubleshooting.
FileMaker Extra: Recursive Scripts.
16. Working with Portals.
Portals in FileMaker Pro.
Portal Basics.
Portals Versus List View/Table View.
New Portal Setup.
Relationship Properties.
Sticky Portals.
Scripted New Portal Records.
“New Record Only” Relationships.
“Horizontal” Portals.
Selection Portals.
Basic Selection Portals.
Portal Row Highlights.
Multi-keys and Multi-row Selections.
Filtered Portals.
Multi-value “and” Filtered Portals.
Multi-value “or” Filtered Portals.
Ranged, Multi-value “or” Filtered
Portals.
Exploded Key Filtered Portals.
Dynamic Portal Sorting.
Multiple Field Type Portal Sorting.
Descending Dynamic Portal Sorting.
Troubleshooting.
FileMaker Extra: Portals and Record
Locking.
17. Troubleshooting.
What Is Troubleshooting?
Staying Out of Trouble.
Understand Software Requirements.
Avoid Unclear Code.
Planning for Trouble.
Troubleshooting Scripts and Calculations.
Handling Errors in Scripts.
Tracking Down Errors.
Troubleshooting in Specific Areas:
Performance, Context, Connectivity, and Globals.
Performance.
Connectivity and Related Issues.
Context Dependencies.
Globals.
File Maintenance and Recovery.
File Maintenance.
File Recovery.
FileMaker Extra: Other Tools of the
Trade.
18. Converting Systems from Previous
Versions of FileMaker Pro.
Migration Choices.
Factors Influencing Your Migration
Strategy.
The Bottom Line.
Converting Files.
Converting Single-File Solutions.
Converting Relational Solutions.
Pre-Conversion Tasks.
Prepare for Conversion.
Document Your Solution.
Fix File References.
Do Some Housekeeping.
Post-Conversion Tasks.
Security.
Relationships.
Scripts.
Fields and Formulas.
Troubleshooting.
FileMaker Extra: Converting Web-Enabled
Databases.
Instant Web Publishing.
Custom Web Publishing.
IV. DATA INTEGRATION AND PUBLISHING.
19. Importing Data into FileMaker
Pro.
Working with External Data.
Flat-File Data Sources.
Choosing the Target Table.
Initiating the Import.
The Import Field Mapping Dialog.
Updating Records with Imported Data.
Special Flat File Formats.
Importing Multiple Files from a Folder.
Importing Text Files.
Importing Image Files.
Importing Photos from a Digital Camera.
Importing from an ODBC Data Source.
How ODBC Works.
Installing ODBC.
Creating a DSN.
Performing the ODBC Import.
Importing from an XML Data Source.
Using a Script to Import Data.
Troubleshooting.
FileMaker Extra: Exploiting the FileMaker-to-FileMaker
Import.
Duplicating a Found Set.
Duplicating Between Tables.
20. Getting Data Out of FileMaker.
Reasons for Exporting Data.
Fundamentals of Exporting Data.
Exporting with Layout Formatting.
Fixed-Length Field Exporting.
Exporting Field Contents.
Exporting Grouped Data.
Scripted Exports.
Accessing FileMaker Data Using ODBC/JDBC.
Setting Up FileMaker Pro to Host an
ODBC/JDBC Session.
Setting up FileMaker Server 7 Advanced
to Host Multiple ODBC/JDBC Sessions.
Configuring a Data Source Name for
ODBC.
Using FileMaker Pro as an ODBC Client.
Troubleshooting.
FileMaker Extra: Installing and Troubleshooting
the ODBC Client Driver.
21. Instant Web Publishing.
Instant Web Publishing–An Overview.
What Is IWP?
IWP Improvements in FileMaker Pro
7.
Scenarios for IWP.
Getting Started with IWP.
Enabling and Configuring IWP.
Configuring FileMaker Pro for IWP.
Configuring FileMaker Server 7 Advanced
for IWP.
Sharing and Securing Files Via IWP.
Designing for IWP Deployment.
Constraints of IWP.
Scripting for IWP.
Layout Design.
Container Fields.
Application Flow.
Using an IWP Solution.
Browse Mode.
Edit Mode.
Find Mode.
Sorting Records.
Troubleshooting.
FileMaker Extra: Building Your Own
Next and Previous Page Buttons.
22. FileMaker and Web Services.
About Web Services.
FileMaker and XML.
The Basics of XML.
FileMaker’s XML Grammars.
Transforming XML.
Introducing XSL Stylesheets.
Analyzing a Stylesheet.
Applying an Export Transformation
to FileMaker XML.
XML Import: Understanding Web Services.
FileMaker’s XML Import Capability.
Web Services Reviewed.
A Stylesheet for XML Import.
Working with Web Services.
Accessing the Amazon Web Services.
Writing a Stylesheet to Import Amazon
Data.
Building a More Flexible Interface
to a Web Service.
Using FileMaker as a Web Services
Source.
Troubleshooting.
FileMaker Extra: Write Your Own Web
Services.
23. Custom Web Publishing.
About Custom Web Publishing.
Custom Web Publishing Versus Instant
Web Publishing.
Custom Web Publishing Versus XML Export.
Getting Your Databases Ready for Custom
Web Publishing.
Setting Up the Server-Side Components
for CWP.
Installing the Web Publishing Engine.
Configuring the Web Publishing Engine.
Publishing FileMaker Data as XML.
Introduction to XML Publishing.
Understanding Query Strings.
Performing Specific Searches with
CWP URLs.
Applications of Custom Web Publishing
with XML.
Using XSLT with Custom Web Publishing.
About Server-Side XSLT.
Getting Started with XSLT in CWP.
A Simple Stylesheet to Display Search
Results.
Format of the XSLT URL.
Embedding Query Parameters in a Stylesheet.
Building Web Applications with XSLT-CWP.
Building a “View Detail” Link.
Using Tokens to Share Data Between
Stylesheets.
Using a Stylesheet to Delete a Record.
Using Stylesheets to Create and Edit
Records.
Other Custom Web Publishing Commands
and Parameters.
Other Query Commands.
Other Query Parameters.
About the FileMaker XSLT Extensions.
About Sessions.
Troubleshooting.
FileMaker Extra: About the Custom
Web Publishing Tools.
The CDML Converter.
The Site Assistant.
Learning How to Program with CWP.
V. DEPLOYING A FILEMAKER SOLUTION.
24. FileMaker Deployment Options.
FileMaker Deployment Options.
Single User.
Peer-to-Peer Hosting.
FileMaker Server.
Web Publishing.
ODBC/JDBC.
Citrix/Terminal Services.
Runtime Solutions.
Deploying to Handheld Devices.
25. FileMaker Server.
About FileMaker Server.
The FileMaker Server Product Line.
FileMaker Server Versus Peer-to-Peer
Database Hosting.
FileMaker Server Capabilities.
FileMaker Server Requirements.
Installing FileMaker Server.
Running FileMaker Server.
Starting and Stopping FileMaker Server.
Hosting Databases.
Using the Server Administration Tool.
Configuring and Administering FileMaker
Server Using the SAT.
Server Administration Settings.
Resource Usage Settings.
Client Connectivity Settings.
Managing Clients.
Managing Databases.
Administration from the Command Line.
About System Paths.
Command Line Reference.
Scripting FileMaker Server Administrative
Tasks.
Working with External Services.
Registering with an LDAP Server.
Using External Authentication Services.
Automatically Updating Plug-ins.
Preparing FileMaker Server.
Preparing FileMaker Pro.
Performing the Auto Update.
Putting It All Together.
Scheduled Tasks.
Scheduling Backups.
Running Scripts.
Sending Messages to Users.
Monitoring FileMaker Server.
Working with Usage Statistics.
Working with Application Events.
Troubleshooting.
FileMaker Extra: Best Practices Checklist.
Determine Network Infrastructure.
Purchase Hardware.
Install Software.
Configure FileMaker Server.
Deploy Databases and Schedule Backups.
Monitor Usage Statistics.
Monitor Event Logs.
Perform Regular File Maintenance.
Keep Current with Software Updates.
26. FileMaker Developer and Plug-ins.
FileMaker Developer.
Script Debugger.
Database Design Report.
Developer Utilities.
Custom Functions.
File Maintenance.
Plug-ins.
Understanding Plug-ins.
Using FileMaker’s Sample Plug-in.
Installing Plug-ins.
Deploying Plug-ins via FileMaker Server.
Configuring and Enabling Plug-ins.
Troubleshooting.
FileMaker Extra: The Limits of Customization.
Lack of Multi-user Capability.
Lack of Menu Customization.
Lack of Event Triggers.
VI. APPENDIXES.
Appendix A: Additional Resources.
General Information on Relational
Databases.
Data Modeling and Database Design.
Running a FileMaker Consulting Practice.
General Resources for Tips and Tricks.
Hosting FileMaker Databases on the
Web.
FileMaker News Sources.
Plug-ins.
Developer Tools.
Web Programming.
XML/XSL.
ODBC/JDBC.
Appendix B: Calculation Function
Reference.
Appendix C: Script Step Reference.
About the Script Step Reference.
Appendix D: Documenting FileMaker
Pro Systems.
Why Is Documentation Important?
Developing Naming Conventions.
Using Comments Effectively.
Adding Comments for Fields.
Commenting Within Formulas.
Scripts.
Adding Descriptions in the Accounts
& Privileges Dialog.
Documenting the Relationships Graph.
Using the Database Design Report.
Creating a DDR.
Working with the DDR in HTML.
Using the XML version.
Using Third-Party Documentation Tools.
Putting the Finishing Touches on Your
Documentation.
Final Thoughts on Documentation.
Index. |