Special Edition Using FileMaker® 8
By Steve Lane, Scott Love, Bob Bowers
... Publisher: Que
Pub Date: May 12, 2006
Print ISBN-10: 0-7897-3512-1
Print ISBN-13: 978-0-7897-3512-6
Pages: 912
Table of Contents | Index
Special Edition Using FileMaker® 8
By Steve Lane, Scott Love, Bob Bowers
...
Table of Contents | Index
Copyright
About the Authors Acknowledgments
We Want to Hear from You! Introduction to Database Software
Overview of the FileMaker 8 Product Line
FileMaker Extra: Becoming a FileMaker Pro Power User Chapter 3. Defining and Working with Fields
Working with Field Types Assigning Field Options Troubleshooting
FileMaker Extra: Indexing in FileMaker Chapter 4. Working with Layouts
FileMaker Extra: Designing Cross-PlatformFriendly Layouts Part II: Developing Solutions with FileMaker
Chapter 5. Relational Database Design Understanding Database Design Database Analysis
Working with Entities and Attributes Understanding Relationships Relationship Optionality
Understanding the Role of Keys in Database Design Many-to-Many Relationships: Solving the Puzzle The Basics of Process Analysis
FileMaker Extra: Complex Many-to-Many Relationships Chapter 6. Working with Multiple Tables
Multitable Systems in FileMaker Pro
Creating a One-to-Many Relationship in FileMaker Working with Keys and Match Fields
Understanding Table Context Working with Related Data
Creating Self-Relationships Creating Ranged Relationships Creating Cross-Product Relationships Working with Data from Distant Tables Working with Multiple Files
How and When to Use Multiple Files Troubleshooting
FileMaker Extra: Managing the Relationships Graph Chapter 8. Getting Started with Calculations
Understanding How and Where Calculations Are Used Exploring the Calculation Dialog Box
FileMaker Extra: Tips for Becoming a Calculation Master Chapter 9. Getting Started with Scripting
FileMaker Extra: Creating a Script Library Chapter 10. Getting Started with Reporting
FileMaker Extra: Incorporating Reports into the Workflow Part III: Developer Techniques
Chapter 11. Developing for Multiuser Deployment Developing for Multiple Users
"Sessions" in FileMaker Pro Concurrency
Troubleshooting
FileMaker Extra: Working with Multiple Files Chapter 13. Advanced Interface Techniques User Interfaces in FileMaker Pro
Navigation
Multiwindow Interfaces Working with Custom Menus Showing/Hiding Layout Elements Dedicated Find Layouts
Data Presentation Working with Table View Troubleshooting
FileMaker Extra: User Interface Heuristics Chapter 14. Advanced Calculation Techniques What's an Advanced Calculation Technique? Logical Functions
FileMaker Extra: Creating a Custom Function Library Chapter 15. Advanced Scripting Techniques
What Is Advanced Scripting?
Portal Basics
"New Record Only" Relationships Horizontal Portals
FileMaker Extra: Portals and Record Locking Chapter 17. Debugging and Troubleshooting What Is Troubleshooting?
Staying Out of Trouble Planning for Trouble
Troubleshooting Scripts and Calculations
Troubleshooting in Specific Areas: Performance, Context, Connectivity, andGlobals File Maintenance and Recovery
FileMaker Extra: Other Tools of the Trade
Chapter 18. Converting Systems from Previous Versions of FileMaker Pro Migration Choices
Converting Files Pre-Conversion Tasks Post-Conversion Tasks Troubleshooting
FileMaker Extra: Converting Web-Enabled Databases Part IV: Data Integration and Publishing
Chapter 19. Importing Data into FileMaker Pro
FileMaker Extra: Exploiting the FileMaker-to-FileMaker Import Chapter 20. Exporting Data from FileMaker
Export File Formats Formatting Exported Data Exporting Related Fields Exporting Grouped Data
Exporting to Fixed-Width Formats
Working with Large Fields and Container Fields Scripted Exports
Accessing FileMaker Data Using ODBC and JDBC Using FileMaker Pro as an ODBC Client
Troubleshooting
FileMaker Extra: Accessing FileMaker Data via JDBC Chapter 21. Instant Web Publishing
FileMaker Extra: Building Your Own Next and Previous Page Buttons Chapter 22. FileMaker and Web Services
About Web Services FileMaker and XML Transforming XML
XML Import: Understanding Web Services Working with Web Services
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
Publishing FileMaker Data as XML Using XSLT with Custom Web Publishing Building Web Applications with XSLT-CWP
Other Custom Web Publishing Commands and Parameters About the FileMaker XSLT Extensions
Troubleshooting
FileMaker Extra: About the Custom Web Publishing Tools Part V: Deploying a FileMaker Solution
Chapter 24. Deploying and Extending FileMaker FileMaker Deployment Options Customized Deployment Options Plug-ins
Troubleshooting
FileMaker Extra: The Limits of Customization Chapter 25. FileMaker Server and Server Advanced About FileMaker Server
Installing FileMaker Server Running FileMaker Server
Using the Server Administration Tool
Configuring and Administering FileMaker Server Using the SAT Managing Clients
Managing Databases
Administration from the Command Line Working with External Services
Automatically Updating Plug-ins Scheduled Tasks
Monitoring FileMaker Server Troubleshooting
FileMaker Extra: Best Practices Checklist Chapter 26. FileMaker Mobile
FileMaker Mobile 8 Overview
Using FileMaker Mobile on Your Handheld Device Synchronizing with a FileMaker Database
Troubleshooting
Chapter 27. Documenting Your FileMaker Solutions Why Is Documentation Important?
Developing Naming Conventions Using Comments Effectively
Documenting the Relationships Graph Using the Database Design Report Using Third-Party Documentation Tools
Putting the Finishing Touches on Your Documentation Final Thoughts on Documentation
Copyright
SPECIAL EDITION USING FILEMAKER® 8 Copyright © 2006 by Que Publishing
All rights reserved. No part of this book shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission from the publisher. No patent
liability is assumed with respect to the use of the information contained herein. Although every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions. Nor is any liability assumed for damages resulting from the use of the information contained herein.
Library of Congress Catalog Card Number: 2006920311
Printed in the United States of America
First Printing: May 2006
09 08 07 06 4 3 2 1
Trademarks
All terms mentioned in this book that are known to be trademarks or service marks have been appropriately
capitalized. Que Publishing cannot attest to the accuracy of this information. Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark.
Warning and Disclaimer
Every effort has been made to make this book as complete and as accurate as possible, but no warranty or fitness is implied. The information provided is on an "as is" basis. The authors and the publisher shall have neither liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book or from the use of the DVD or programs accompanying it.
Bulk Sales
Que Publishing offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales. For more information, please contact
U.S. Corporate and Government Sales
1-800-382-3419
corpsales@pearsontechgroup.com
For sales outside the United States, please contact
International Sales
international@pearsoned.com
Associate Publisher Greg Wiegand
Acquisitions Editor Stephanie J. McComb
Development Editor Laura Norman
Managing Editor Charlotte Clapp
Project Editor Tonya Simpson
Copy Editor Cheri Clark
Indexer Ken Johnson
Technical Editor Jay Welshofer
Publishing Coordinator Sharry Lee Gregory
Multimedia Developer Dan Scherf
Book Designer Anne Jones
Page Layout Bronkella Publishing Eric Miller
Dedication
To my crew out in the Wild West...without all of you, each of you (even the curmudgeons!), I'd be lost. You're an amazing group of colleagues and I'm grateful we're here building a company together.
Scott Love
To Signe, Erlend, and Rona: I guess this doesn't quite count as "never again"?
Steve Lane
To Eleanor, my new project management challenge.
About the Authors
Steve Lane has worked with relational databases for 16 years.
He has written for FileMaker Advisor magazine and co-authored
two other books, Advanced FileMaker Pro 6 Web Development
and Special Edition Using FileMaker 7, as well as this book's
companion volume, FileMaker 8 Functions and Scripts Desk
Reference. He is a founding partner with Soliant Consulting and has led training classes in FileMaker technologies all over the country, both in open sessions and in onsite client
engagements. He regularly speaks at the annual FileMaker Developer's Conference, where in 2003 he was awarded the FileMaker Fellowship Award for "pushing the boundaries of FileMaker Pro."
Scott Love has been working with FileMaker for more than a decade. He is one of four founding partners at Soliant
Consulting, a company dedicated to custom software development; is a speaker at the FileMaker Developer's
Conference; and is an Authorized FileMaker Trainer. He served at MacUser/MacWEEK as an online managing editor, and at Apple Computer as its Web Publishing Technology Evangelist, followed by directing the Technical Marketing team at
Macromedia. He has written dozens of feature and review articles on FileMaker and Internet/web topics and co-authored
Special Edition Using FileMaker Pro 7, as well as this book's
companion volume, FileMaker 8 Functions and Scripts Desk
Reference.
Bob Bowers, CEO of Soliant Consulting, is a columnist and contributing editor for FileMaker Advisor magazine and has
co-authored three other books: Advanced FileMaker Pro 5.5
Techniques for Developers, Advanced FileMaker Pro 6 Web
Acknowledgments
This book could not exist were it not for the hard work and support of our colleagues and friends. Writing it would have been impossible otherwise, and we'd like to share our gratitude with those who have toiled with us.
First off, Stephanie McComb at Que Publishing gave us an impossible task some months ago: She asked that we update
Special Edition Using FileMaker 7 for the upcoming release of FileMaker 8and that we cut its length by 10%. Full of pluck, we suggested an alternative: Allow us to add 50% and create two books instead. The result was this (slimmer) book, along with
the companion FileMaker 8 Functions and Scripts Desk
Reference. We're deeply grateful to Stephanie for turning what started as a long shot into reality.
The rest of the team at Que Publishing is no less deserving of thanks. It's our deep pleasure to work with development editor Laura Norman again; her good humor and steady wisdom
provide a strength of support that cannot be overstated. Tonya Simpson, our project editor, and Cheri Clark, our copy editor, have worked through our dense material diligently, and
contributed countless improvements to our work. It's an
immeasurable relief that they've been by our side through this whole process.
No acknowledgment would be complete without mentioning all the work our friends at FileMaker, Inc., do to make everything in our careers possible. FileMaker 8 is a fantastic suite of products and we're terrifically excited by the continued promise the
FileMaker platform shows.
Finally, we'd like to thank some of the folks at FileMaker from whom we've learned a great deal, and whom it's our pleasure to know and work with: Jay Welshofer, our technical editor, along with Andy Lecates, Bill Heizer, and Tony Millerall have
We Want to Hear from You!
As the reader of this book, you are our most important critic and commentator. We value your opinion and want to know what we're doing right, what we could do better, what areas you'd like to see us publish in, and any other words of wisdom you're willing to pass our way.
As an associate publisher for Que Publishing, I welcome your comments. You can email or write me directly to let me know what you did or didn't like about this bookas well as what we can do to make our books better.
Please note that I cannot help you with technical problems related to the topic of this book. We do have a User Services group, however, where I will forward specific technical
questions related to the book.
When you write, please be sure to include this book's title and author as well as your name, email address, and phone number. I will carefully review your comments and share them with the author and editors who worked on the book.
Email: feedback@quepublishing.com
Mail: Greg Wiegand
Associate Publisher
Que Publishing
800 East 96th Street
Reader Services
Visit our website and register this book at
www.quepublishing.com/register for convenient access to any
Introduction
In this introductionBest of Three Worlds 2
Best of Three Worlds
Welcome to the world of FileMaker Pro. By simply browsing through this book, you're sure to have heard the word
database. We'll cover what databases are ad nauseam in the rest of this book, but one of the first things you'll need to
understand about FileMaker Pro is that it is far more than just a database application.
FileMaker Pro is nearly unique in the world of software. It is a powerful database system that can manage and store a wide range of information; it's an application for end users (like
Microsoft Excel or Intuit's Quicken); and it's also a robust rapid application software development platform.
When you hear someone speak about FileMaker, keep in mind they may be viewing it from any one of these different
perspectives. An IT professional likely sees FileMaker as a database engine that fits into a larger security and network infrastructure. An end user is probably thinking about a specific solution built in FileMaker Pro and how that solution helps (or doesn't help) make her work more efficient. A software
developer may see FileMaker as one of many tools he employs in building a wide range of applications.
Our previous book, Special Edition Using FileMaker 7, was well received, but we did hear one consistent concern; namely, that the book was felt to be too advanced by some readers. So we'll try to be clear on our aims up front. This book was written with an eye toward the FileMaker developer community. If you're an IT professional who supports FileMaker applications, you'll
possible, we've chosen to focus on an audience that we assume is largely familiar with the essential operations of FileMaker already, and is interested mostly in topics for the beginning to advanced developer.
We have also written a companion work, FileMaker 8 Functions
and Scripts Desk Reference. As a reference, it is meant to be used daily as developers look up function syntax, refresh their memories on how specific script steps work, peruse useful
custom functions, or uncover what a specific error code means. Each book is intended to complement the other, but the two are not interdependent. Some of the feedback we received for
Special Edition Using FileMaker 7 noted that it combined both reference material and deeper, conceptual topics and was perhaps serving two audiences. In this updated version of
How This Book Is Organized
Special Edition Using FileMaker 8 is divided into five parts, organized into something like a tree. Part I, "Getting Started with FileMaker 8," and Part II, "Developing Solutions with FileMaker," constitute the "trunk" of the tree; they cover fundamental material that we recommend everyone read. If you're familiar with previous versions of FileMaker, you may
need only to glance through Part I, but we still recommend you
read Part II carefully.
Subsequent parts branch out from this base. Part III,
"Developer Techniques," focuses on using FileMaker's features to develop complete, robust database applications. Part IV, "Data Integration and Publishing," covers getting data into and out of FileMaker. And Part V, "Deploying a FileMaker Solution," covers options for making a FileMaker solution accessible to others.
The five parts of Special Edition Using FileMaker 8, and the topics they cover, are described in the following sections.
Part I
: "Getting Started with FileMaker 8"
The chapters in Part I introduce you to FileMaker and its uses and features, and get you started with the basics of defining databases.
Chapter 1, "FileMaker Overview," situates FileMaker Pro within the wider world of database and productivity
previous versions and want a quick tour of the major innovations.
Chapter 2, "Using FileMaker Pro," is intended as an introduction to the software from the perspective of a database user rather than a database developer. We introduce the major components and functions of the FileMaker interface, such as the Status Area, layouts, FileMaker's modes, and the basics of record creation,
editing, and deletion. Note that FileMaker Pro 8 has added significant end-user functionality to the product line.
Chapter 3, "Defining and Working with Fields," provides a thorough overview of all of FileMaker's field types and field options, including lookups, validation, storage types, and indexing. This chapter is intended to help lay the
groundwork for talking about database development, and to serve as a thorough reference on FileMaker field types and options.
Chapter 4, "Working with Layouts," covers all of FileMaker's layout-building options in detail. We cover all aspects of layout building, and offer guidelines for quicker and more efficient layout work.
Part II
: "Developing Solutions with FileMaker"
Part II is intended to introduce you to the fundamental
techniques of database application development using FileMaker Pro and FileMaker Pro Advanced. Chapters 5 through 7 cover the theory and practice of designing and building database systems with multiple data tables. Chapters 8 through 10
Chapter 5, "Relational Database Design," introduces you to relational database design concepts. We proceed by working "on paper," without specific reference to FileMaker, and
introduce you to the fundamental vocabulary and techniques of relational database design (keys and
relationships) through a series of modeling exercises based on fictional business and organizational problems.
Chapter 6, "Working with Multiple Tables," begins the task of translating the generic database design concepts of
Chapter 5 into specific FileMaker techniques. We show how
to translate a paper diagram into an actual FileMaker table structure. We show how to model different relationship types in FileMaker using multiple data tables, and how to create fields that function effectively as relational keys.
Chapter 7, "Working with Relationships," builds on the concepts of Chapter 6. Rather than focusing on FileMaker's relationships from the standpoint of database design, we focus on their practical implementation in FileMaker
programming. We look in detail at the new capabilities of FileMaker 8, and discuss nonequality join conditions, file references, and some strategies for organizing a multitable system.
Chapter 8, "Getting Started with Calculations," introduces FileMaker's calculation engine. The chapter delves into the major types of FileMaker calculations. We cover a number of the most important functions, and discuss general
strategies and techniques for writing calculations.
Chapter 9, "Getting Started with Scripting," introduces
FileMaker's scripting engine. Like the preceding chapter, this one covers the fundamentals of an important skill for
interactivity to a user interface.
Chapter 10, "Getting Started with Reporting," illustrates the fundamental techniques of FileMaker Pro reporting, such as list views and subsummary reports, as well as some more advanced subsummary techniques, and some design
techniques for improving the look and usability of your reporting layouts.
Part III
: "Developer Techniques"
The chapters in Part III delve deeper into individual topics in advanced FileMaker application development. We build on earlier chapters by exploring more complex uses of portals, calculations, and scripts. We also offer chapters that help you ready your FileMaker solutions for multiuser deployment, and we examine the still-important issue of conversion from
previous versions.
Chapter 11, "Developing for Multiuser Deployment,"
explores the issues and challenges of designing FileMaker systems that will be used by several or many people at once. We discuss how FileMaker handles concurrent access to data and discuss the concept of user sessions.
Chapter 12, "Implementing Security," is a thorough
overview of the FileMaker 8 security model. We cover the role-based Accounts feature, Extended Privileges, and many of the complexities of server-based external authentication (against Windows or Mac OS user directories, for example).
Chapter 13, "Advanced Interface Techniques," provides
in a FileMaker application. We look at different options for where and how to build interface layouts, explore an
advanced, script-based navigation scheme, and discuss FileMaker's tools for building multiwindow interfaces.
Chapter 14, "Advanced Calculation Techniques," looks closely at some of the more advanced or specialized types of FileMaker calculations, including the Let, Evaluate, and GetNthRecord functions, as well as the functions for text formatting and for list manipulation. The chapter finishes with an examination of custom functions, another important feature in the FileMaker 8 product line.
Chapter 15, "Advanced Scripting Techniques," like the
preceding chapter, is full of information specific to features of FileMaker 8 scripting. Here we cover programming with script parameters, the significant new FileMaker 8 feature of script variables, programming in a multiwindow system, and the complexities of scripted navigation among multiple
tables and recordsets.
Chapter 16, "Advanced Portal Techniques," looks at
FileMaker's portal elements from two perspectives. First, we examine more advanced uses of portals for creating and viewing database records. Second, we examine the ways in which portals can be used to create new types of interface elements, such as filtered record browsers or pick lists.
Chapter 17, "Troubleshooting," is a broad look at how to find, diagnose, and cure trouble in FileMaker systemsbut also how to prevent it. We look at some software
networks.
Chapter 18, "Converting Systems from Previous Versions of FileMaker Pro," explores the complex issues involved in moving to FileMaker 8 from versions prior to FileMaker 7. We begin by discussing migration scenarios that help you decide how much you stand to benefit from moving to 8. For certain systems the choice to move to 8 will be clear; for others it may be less so. We then discuss the mechanics of conversion in detail, and discuss some of the more
significant pitfalls to be aware of.
Part IV
: "Data Integration and Publishing"
Part IV covers technologies and capabilities that allow FileMaker to share data, either by exchanging data with other
applications, or by exporting and publishing data, for example, via ODBC, JDBC, and the Web.
Chapter 19, "Importing Data into FileMaker," looks at all the means by which you can import data into FileMaker. It
covers how to import data from flat files, how to batch imports of images and text, how to import images from a digital camera, and how to import data from ODBC and XML data sources. (The full treatment of XML importing is
reserved for Chapter 22.)
Chapter 20, "Exporting Data from FileMaker," is in some respects the inverse of Chapter 19. It covers almost all the ways by which you can extract or publish data from
Chapter 21, "Instant Web Publishing," looks at the features of the FileMaker 8 Instant Web Publishing model. Anyone interested in making FileMaker data available over the Web should begin with this chapter.
Chapter 22, "FileMaker and Web Services," introduces you to FileMaker's XML capabilities. XML is the backbone of FileMaker's Custom Web Publishing technologies. This
chapter introduces XML and its companion technology XSLT as they relate to FileMaker's XML import capability. Though no substitute for a book devoted to XML and XSLT, this chapter should teach enough for you to begin to get your footing with these technologies as they relate to FileMaker.
Chapter 23, "Custom Web Publishing," covers FileMaker 8's Advanced Web Publishing technology. This chapter
discusses how to configure the FileMaker Web Publishing Engine (WPE), and how to write XSLT stylesheets that
exploit the WPE's capabilities to build FileMaker-backed web applications.
Part V
: "Deploying a FileMaker Solution"
Part V delves into the choices you have for how to deploy a FileMaker database, including deployment via FileMaker Server and via kiosk or runtime mode using FileMaker Developer.
Chapter 24, "Deploying and Extending FileMaker," provides an overview of the ways you can deploy a FileMaker
database to one or more users, reviews plug-ins, and
Chapter 25, "FileMaker Server and Server Advanced," explores in depth setting up and working with FileMaker Server and FileMaker Server Advanced. The chapter covers setup, configuration, and tuning of Server, as well as
managing server-side plug-ins and authentication.
Chapter 26, "FileMaker Mobile," reviews how to work with mobile computing devices and use FileMaker Mobile to both synchronize with and create databases on handheld
organizers.
Chapter 27, "Documenting Your FileMaker Solutions," covers how to put the final touches on a solution: It reviews some industrywide coding conventions, makes commenting
recommendations, and explores how to extract information about a solution using the FileMaker Advanced feature
Database Design Report.
Special Features
This book includes the following special features:
Chapter roadmaps At the beginning of each chapter, you will find a list of the top-level topics addressed in that
chapter. This list enables you to quickly see the type of information the chapter contains.
FileMaker Extra Many chapters end with a section
containing extra information that will help you make the most of FileMaker Pro. In some cases we offer expanded, fully worked examples of tricky database design problems; in others we offer shortcuts and maintenance techniques gleaned from our collective experience with developing production FileMaker systems (creating custom function libraries, or getting the most out of team development); and in others we delve all the way to the bottom of tricky but vital FileMaker features such as the process of importing records.
Notes Notes provide additional commentary or explanation that doesn't fit neatly into the surrounding text. You will find detailed explanations of how something works, alternative ways of performing a task, and other tidbits to get you on your way.
Tips This element will identify some tips and tricks we've learned over the years.
Cautions Here we'll let you know when there are potential pitfalls to avoid.
The new version icon This icon will identify things that are new in FileMaker 8.
Cross-references Many topics are connected to other topics in various ways. Cross-references help you link related information together, no matter where that
Typographic Conventions Used in This Book
This book uses a few different typesetting styles, primarily to distinguish among explanatory text, code, and special terms.
Key Combinations and Menu Choices
Key (and possibly mouse) combinations that you use to perform FileMaker operations from the keyboard are indicated by
presenting the Mac command first in parentheses followed by the Windows command in brackets: ( -click) for Mac and [Ctrl+click] for Windows, for example.
Submenu choices are separated from the main menu name by a comma: File, Define, Value Lists.
Typographic Conventions Used for FileMaker Scripts
Monospace type is used for all examples of FileMaker scripting. FileMaker scripts are not edited as text, but are instead edited through FileMaker's graphical script design tool, ScriptMaker. As a result, scripting options that are presented visually in
ScriptMaker need to be turned into text when written out. We follow FileMaker's own conventions for printing scripts as text: The name of the script step comes first, and any options to the step are placed after the step name, in square brackets, with semicolons delimiting multiple script step options, as in the following example:
Show All Records
Go to Record/Request/Page [ First ]
Who Should Use This Book
Like FileMaker itself, this book has several audiences. If you work with structured data a lot (Excel spreadsheets, for
example) but are new to databases, this book will provide you with a solid foundation in the world of databases, in the basics of database theory, and in the practical skills you need to
become a productive database user or developer. The book's more introductory chapters tell you what you need to know to get started building basic databases for your own use. Later chapters introduce you to the world of multiuser database design, and to some of FileMaker's more advanced application design features.
If you've worked with other database systemseither server-side relational database engines based on SQL, or desktop
development environments such as Accessthis book will help you see how FileMaker Pro fits into the universe of database software. Look over the section in this introduction titled "How This Book Is Organized" to get a sense of which chapters will get you started quickly with FileMaker.
If you're a web developer wondering how FileMaker might fit into your toolkit, note that we have extensive coverage of the new FileMaker web technologies in Chapters 21, 22, and 23.
And in case you're an old hand with FileMaker, we've provided a good bit of in-depth discussion of advanced techniques and
Part I: Getting Started with FileMaker 8
1 FileMaker Overview
2 Using FileMaker Pro
3 Defining and Working with Fields
Chapter 1. FileMaker Overview
In this chapterFileMaker and Its Marketplace 12
Introduction to Database Software 14
Overview of the FileMaker 8 Product Line 19
FileMaker Deployment Options 20
FileMaker and Its Marketplace
However you approach FileMaker Pro, some core strengths of the platform are important for all types of users:
Flexibility Working with FileMaker Pro is inherently open-ended. It is simple to create ad hoc data queries, quickly manage data entry, add functionality to a live system, or deploy to the Web in minutes.
Ease of Use The folks at FileMaker, Inc. have labored hard to make FileMaker as approachable as humanly possible. Day-to-day users can easily learn how to add fields to a database, create reports, add form layouts, and more. With FileMaker Pro, organizations can be less dependent on
specialized software engineers.
Interoperability FileMaker Pro supports many common, open standards for data exchange (SQL, ODBC, JDBC, XML) and allows users to connect their database solutions to the greater world of standards-based applicationsboth within their organizations and online on the Web.
Modern Data Architecture FileMaker Pro, despite being "just" a productivity application that lives on your computer along with Microsoft Word and Solitaire, allows users to create fully relational data structures and to properly build architectures that correctly manage real-world data.
Ultimately, FileMaker exists between the world of desktop
applications and high-end, enterprise-level server systems. It is the third option: a flexible, robust workgroup application that can quickly come together, evolve over time, and be
Rapid Application Development
In the world of software development, flexibility and speed are critical. We live in the world of Internet time, and usually
businesses embark on a development project only when they need something yesterday.
The practices and experiences of the past two decades have proven software development to be a risky, unpredictable
business. NASA's travails are painful reminders that this stuff is, in some ways, truly rocket science. New job functions have
been developed in software quality assurance and project management. Certification programs exist to sift the wheat from the chaff.
FileMaker Pro exists in many respects to help organizations take on less risk and navigate the waters of software development without having to take on massive engineering efforts when they aren't warranted. Because this is a rapid application development platform, it is possible to build a system in
FileMaker Pro in a fraction of the time it takes to build the same system in more classic, compiled software languages or by
using enterprise-level systems.
Low Total Cost of Ownership
Both the cost of the software itself and the rapidity with which systems can be built mean that IT organizations have a viable alternative to the massive enterprise-level systems of the past.
FileMaker Is a Seasoned Platform
FileMaker Pro is now 20 years old. In the mid-1980s, Nashoba Systems created an initial version that was acquired and
published by Forethought, Inc., in April of 1985. Nashoba then reacquired the rights to the software and published FileMaker Plus in 1986 and FileMaker 4 in 1988.
Claris Corp., which was then being formed by Apple Computer and was to become FileMaker's guiding parent, purchased
Nashoba and published FileMaker II in 1988 and 1989. Finally in October 1990, FileMaker Pro 1.0 made its debut and set the product line on the course it has largely followed to this day. In December of 1995, Claris shipped FileMaker Pro 3.0, which saw the introduction of relational data modeling to the platform and, even more important, a completely seamless cross-platform application that's virtually identical between the Mac OS and Microsoft Windows. Today a majority of FileMaker's audience lives on the Windows side.
In 1998, at the time of version 4.1, Claris Corp. rechristened itself FileMaker, Inc. and focused all its energy around its flagship product.
FileMaker has been profitable every quarter since (an
extraordinary feat considering the climate in Silicon Valley for the previous few years) and continues to enjoy the backing (as a subsidiary) of a cash-flush Apple Computer, Inc.
Version 4.0 introduced web publishing to the platform, and version 6.0 offered significant support for XML-based data interchange.
In 2004, FileMaker Pro 7.0 was released. This major release featured a reengineered architecture from the ground up, a new model for working with relationships, modern security
capabilities, and the capability to hold multiple data tables within a single file.
FileMaker Pro 8, launched in August of 2005, is the next release built on the new architecture of 7; it is a testament to that
architecture that FileMaker 8 contains as many significant features as it does.
You're Not Alone
FileMaker, Inc. has sold more than 10 million units worldwide as of this writing. Users range from a single magician booking gigs in Denver, Colorado to Fortune 500 companies such as Citibank and Genentech. Just like any tool, FileMaker is noteworthy only when it has been employed to build somethingand its builders come in all shapes and sizes. The only true common element seems to be that they own computers and have information to store.
There are some trends: FileMaker Pro is widely used in the world of both K12 and higher education. All 50 of the top universities in the United States use FileMaker Pro. The
Introduction to Database Software
At its heart, FileMaker Pro is database software; databases are useful for keeping track of contacts and their addresses and phone numbers, the students in a school, the sales and inventory in a store, or the results of experimental trials. Although this sort of information can be kept in spreadsheets and word processor documents, a database will make it much easier to take on these tasks:
Organize your data into reports Databases can organize information into reports sorted by city, last name, price, or any other criteria necessary.
Find one or several items in your collections Visually scrolling through a document with flat data displayed soon becomes unwieldy. Databases make it relatively simple to search for one record (or row) of data within potentially millions of others.
Create related associations among data Rather than duplicating the name of a company for multiple people (for example), or perhaps having to reenter an address in a dozen places, users can utilize databases to create
associations between data elements (using a form of
addressing) and preserve the integrity of their information.
Share data with other systems Databases are often built to exchange information with other systems; many become one component in multitiered technology solution for
companieseven small businesses often exchange data between QuickBooks, for example, and FileMaker Pro.
least of which is the capability in FileMaker Pro to construct a user interface that can map to an organization's workflow. Often the members of an organization will outgrow the
documents of desktop applications when they need to support multiple authors, track data in structured, interrelated ways, or manipulate data sets based on differing criteria. Often the first herald of the need for a database is when users are frustrated with not being able to find a given piece of information.
The rest of this book gets into detail on how to do everything just mentioned and much more as well. You'll get a more detailed look at what a database is and how it works, how to build databases, and so on. But before we dive into the
mechanics of databases, it's important to understand how
theyand FileMakerfit into the overall software computing world.
Database Software
A huge variety of software is on the market today. FileMaker generally falls into the category of business productivity
software; however, it really is a hybrid application that marries desktop application productivity to a server-based architecture and database. It is as accessible as programs like Microsoft Excel and Intuit's QuickBooks, yet it also allows developers to create complex workgroup databases that are deployed in the same manner as other IT server-based applications.
The idea of managing a collection of structured information is what database software is all about. Some database products on the market manage specialized collections such as business contacts. Products such as Act and Goldmine are good
examples of those. Quicken, QuickBooks, and Microsoft Money manage collections of financial transactions.
word processing software is used to create specific documents and Microsoft Excel is used to create spreadsheets. In fact, Microsoft Excel is often used as a database because it has several strong list-management features. It works well for managing simple databases, but it doesn't work well in managing multiple lists that are related to each other.
Often, simple grids of columns and rows of information (such as spreadsheets) are called flat file or list databases. Simple
databases like these are generally self-contained; they usually don't relate to each other, so keeping information up-to-date across many such databases can become unwieldy or
impossible. In such cases a relational database is called for. FileMaker is a fully relational database system and allows developers to associate a row (or record) in one area of the database (a customer list, for example) with records in another area of the database (a list of purchase orders, for example). To take another example, users of a relational database system can tie a single company entry to multiple contact people or even associate a single person with multiple company entries. Rather than entering this information in a dozen different
places, relational databases, using a form of internal
addressing, simply associate one item with another (customers with their orders, companies with their contacts). It is in this way that FileMaker gradates from a single-user productivity tool to a fully realized database development platform.
Off-the-Shelf Software
It is certainly possible to re-create the functionality of Act or Quicken by using FileMaker, and some organizations choose to do so when faced with the fact that such specialized products are relatively inflexible. If an organization has nonstandard ways of doing things, its members may find it difficult to work with specialized products. Although FileMaker Pro does come with several database templates that might be perfectly suitable for an organization to use right away, most users instead turn to FileMaker to create custom database systems that exactly match how their organization operates.
Custom Development Software
With a database development tool such as FileMaker Pro, a
person can build a system to be exactly what is needed. It's the difference between buying a house that is a pretty good match and building a custom home that has exactly the features one wants (or at least can afford).
Home construction is actually a great analogy for building a
database because both follow similar trajectories. A home needs to be designed by an architect before it can be built. An owner needs to wait for the home to be built before he can move in, and questions or issues often arise during the construction
process. After the home is built, the owner's needs may change and he may need to have an addition built onto the house to accommodate changed circumstances.
Building a custom home often follows a similar path: The
Finally, imagine that a home's construction is well under way and the owner decides to move the living room wall six feet. Although that is always possible, the impact of that change will vary a great deal depending on the stage at which the crew is working.
This last point is an important one, and it is also where we
diverge from the home construction analogy because real-world environments always change. This is especially true for today's email-driven, connected-network world. One of the key
advantages to developing database systems in FileMaker Pro is that these systems can be rapidly redesigned, even while the system is in use by other users. Any aspect of a FileMaker system can be changed while it's live if need be (although that may not always be advisable). FileMaker's greatest strength is its inherent flexibility.
What Database Software Does
FileMaker is database software. The thing that makes it unique in the market is the ease and means by which it allows
developers to present information, but it's important to grasp the fundamentals of how all database softwareincluding
FileMakerworks.
The simplest kind of database is a list. It could be a list of
employees or products or soccer teams. Consider an employee example. The information a Human Resources department might want to keep track of could look like the information shown in Table 1.1.
Table 1.1. Employee Table
First Name Last Name Department Extension
Calvin Russell Accounting 231
Renee Frantz Shipping 843
In database parlance, a list like this is called a table. Crudely put, a table is a collection of like thingsin this case, people. After a table for people is established, one might extend it to include other attributes (or columns) for, say, phone numbers. The result is shown in Table 1.2.
For a thorough understanding of data modeling and the definition of tables, see Chapter 5, "Relational Database Design," p. 129.
Table 1.2. The Growing Phone Directory
First Last Department Ext. Home Cell
Jane Smith Marketing 327 555-1234 555-4453
Calvin Russell Accounting 231 555-8760 555-3321
Renee Frantz Shipping 843 555-9877 555-1122
As mentioned earlier, this type of database is called a flat file
what would happen if the example was tracking people's previous job titles? The spreadsheet or list would have a
potentially unlimited number of columns, and there would be no logical correspondence between one person's "job #1" column and another's.
Furthermore, if someone doesn't have a particular type of phone number, that cell is left blank, resulting in a "Swiss cheese" look to the table. Unused cells take up space in the database and can slow things down for larger data sets.
In a relational structure only the first three columns would be in the employee table itself. The last three columns, which all
represent phone numbers of some kind, would be moved to their own table. A label field could be added to identify each type of phone number, with the resulting two tables looking something like those shown in Tables 1.3 and 1.4.
Table 1.3. The Revised Employee Table
Emp ID First Last Department
1 Jane Smith Marketing
2 Calvin Russell Accounting
3 Renee Frantz Shipping
Table 1.4. The New Phone Table
Emp ID Label Number
1 Extension 327
1 Cell 555-4453
2 Extension 231
2 Home 555-8760
2 Cell 555-3321
3 Extension 843
3 Home 555-9877
3 Cell 555-1122
Note that an additional field has been added: an Emp ID field. Think of this field as an internal address within a table. It is used to match employees with their phone numbers. In relational database terminology, this column is called a key field. The FileMaker Pro help system refers to it as a match field, but they are one and the same. Key fields are used to identify specific records.
Although FileMaker Pro can be used to build simple flat file database systems (see Figure 1.1), it really shines at creating relational database systems (see Figure 1.2).
Figure 1.1. FileMaker can be used to construct
simple flat file databases.
Figure 1.2. The two-table Employee/Phone
example can look something like this when
implemented in FileMaker.
[View full size image]
Overview of the FileMaker 8 Product Line
FileMaker Pro is just one product in a broader product line. It's worth noting the differences between the products and how they work together:
FileMaker Pro 8 This is the regular desktop client version of FileMaker. It can be used to author new database
systems, to host systems for a limited number of guests, or to serve as a guest of a hosted system. It can also publish as many as 10 database files to up to five users with
Instant Web Publishing (IWP).
FileMaker Pro 8 Advanced This version has all the
capabilities of the regular version of FileMaker Pro; it also has additional functionality aimed at application developers. With FileMaker Pro 8 Advanced, developers can create
custom functions, add custom menu sets to a database, and create tool tips for any layout object (all of these
enhancements to the files are usable by both FileMaker Pro and FileMaker Advanced users). A Debug Scripts feature and the new Data Viewer allow developers to walk through scripts one step at a time and test calculations, watching the effect of each script step or process. The Database Design Report (DDR) enables developers to document and troubleshoot development issues from a systemwide
perspective. The Advanced version also enables developers to create runtime versions of single-user solutions and enable kiosk mode.
tools are invaluable and the DDR is a great source for documentation and troubleshooting alike.
The prior version of this book devoted a chapter to FileMaker Developer, the precursor to FileMaker Pro
Advanced; however, in this edition the authors have elected to interweave discussion of Advanced features in
contextually appropriate sections throughout the book. Aside from having a new name, FileMaker Pro Advanced offers significant functionality beyond the Pro product, and a single chapter would have become unwieldy in attempting to cover all the material in an appropriate manner. It also would have been an arbitrary separation of topics
throughout the book. The Script Debugger, for example, clearly belongs in the debugging and troubleshooting chapter.
FileMaker Server 8 This software hosts FileMaker files on a hardware server and offers support routines, evaluates server-based calculations, and provides for a larger user load: FileMaker Server 8 can host a maximum of 125 database files and 250 FileMaker Pro 8 or FileMaker Pro 8 Advanced client connections. In addition, it can manage database backup schedules, log usage statistics, disconnect idle users, and manage FileMaker plug-in updates.
FileMaker Server 8 Advanced FileMaker Server 8
Advanced has all the features of FileMaker Server 8, and can also host ODBC/JDBC and web-based client session connections. It can serve up to 50 xDBC connections (which count against its limit of 250 client connections) and can serve up to an additional 100 web session connections
through IWP or CWP (Custom Web Publishing). Put another way, Server Advanced can host a maximum of 250
FileMaker client connections and an additional 100 web session connections, or it can host 200 FileMaker
connections. The 100 web sessions include any Instant Web Publishing connections, as well as any Custom Web
Publishing sessions configured to use database sessions. (It is possible to query a FileMaker database in CWP without using a database session. In such cases, the number of connections is limited by the server's operating system and hardware capabilities.)
For a complete discussion on Custom Web Publishing,
including session handling and server capacity, see Chapter
23, "Custom Web Publishing," p. 699.
FileMaker Deployment Options
After a database application has been developed in FileMaker Pro or FileMaker Pro Advanced, it can be deployed in various ways, and on various operating systems. FileMaker Pro 8 runs on Mac OS X 10.2 or later and on Microsoft Windows 2000 or later. The following sections describe different ways to deploy a FileMaker database system.
Single User
Many people get their start in FileMaker development by building a small application for their personal use. Although FileMaker Pro is inherently a networkable application, there's nothing wrong with a single user working with a system on his computer.
Peer-to-Peer Hosting
The next stage in a typical system evolution is that other members of an organization notice the system that a single person made and want to use it also. It's a simple matter to enable FileMaker Network Sharing on a file; after that's been done, other FileMaker users can become guests of one user's shared file. This kind of FileMaker hosting is called peer-to-peer
because the database host and the database clients are all using the same applicationdesktop versions of FileMaker Pro or FileMaker Advanced.
You should keep some considerations in mind with this type of hosting. Only 10 files at a time can be hosted on a single
in this fashion. Another consideration is that if you're the host of a file, you can't close the file while other users are working with it, and performance may suffer for other users as the hosting user puts her computer through its daily paces.
FileMaker Server Hosting
FileMaker Server is optimized for sharing FileMaker databases, and it can host (share) more files (125) for more users (250) than FileMaker Pro peer-to-peer can. Administrators can
remotely administer the server, create schedules for automated database backups, set the server to encrypt the network traffic between the server and the clients, and log server actions.
For more information about hosting database files with FileMaker Server, see Chapter 25, "FileMaker Server and Server Advanced," p. 779.
FileMaker Server Advanced Hosting
FileMaker Server Advanced can host files for FileMaker users just as FileMaker Server can, but it can also allow ODBC/JDBC clients to access hosted files and provide service as a web host, allowing up to an additional 100 user connections for web
clients.
For more information about hosting database files for ODBC/JDBC access, see Chapter 20, "Exporting Data from FileMaker," p. 595.
Using FileMaker Pro Advanced, you can configure FileMaker databases to run without the menu bar or operating-system controls, effectively making a solution take over the entire computer screen. Developers will need to build whatever user interface controls users may need, given that menus are no longer available.
FileMaker Single-User Runtime
FileMaker Advanced also allows developers to bind files into a runtime application that will allow a single user to work with a FileMaker solution, without needing a copy of FileMaker. No authoring capabilities exist (a user cannot access layout mode or make schema changes via the runtime engine), nor can the application serve as a host (peer-to-peer or server-based); however, this is a great option for creating a commercial
application without requiring that customers purchase copies of FileMaker Pro.
To learn more about Kiosk mode or the Runtime Engine, see Chapter 24, "Deploying and Extending FileMaker," p. 755.
Extending the Functionality of FileMaker Pro
FileMaker solutions can be enhanced by incorporating plug-ins that extend the functionality of FileMaker Pro. The functionality that plug-ins offer varies widely and is determined by the third-party developers who write and market plug-ins. Some plug-ins provide advanced math capabilities, some generate charts from FileMaker data, some manipulate image files, and others
provide security or user-interface enhancements. There are
the FileMaker industry at large.
What's New in FileMaker Pro 8
FileMaker, the database product, has been around since 1985, and has evolved a great deal since its inception. It is fully
relational, offers both development- and user-level support in a single application, is completely cross-platform compatible, and takes advantage of a modern security architecture.
New Features
The following is a brief list of the major changes and new features in FileMaker 8.
Features for Users
Calendar Picker Date fields can now feature a calendar picker (p. 120).
Auto Complete All fields (with the exception of container fields, summary fields, and calculation fields) can offer
auto-complete ("type-ahead") options to users as they type (p. 78).
Send Mail Users can now email reports and information directly from the File menu (p. 301).
Save/Send As PDF FileMaker licensed the Adobe PDF technology and users now can create PDF documents and email them in one step (p. 298).
documents, rather than having to export data as comma-separated values, and, as with the Save/Send As PDF feature, email the results (p. 300).
Visual Spell Check FileMaker now highlights misspelled words within active fields as users type (p. 42).
Fast Match With one mouse click, Fast Match lets users find all matching records, even refine or broaden a search, all without typing (p. 51).
Field List Filtering Sort and Export dialog boxes can now be limited to showing only those fields that are on the
current layout, making choosing fields much more straightforward (p. 596).
Programming Features
Script Variables and Script Results Powerful new
programming features, script variables and script results, allow developers to build complex routines (p. 444, p.
448).
"Extended" Go to Related Record Script Step It is now possible to jump from an entire found set of records to a related set (p. 462).
Dynamic Repeating Values Repeating field and variable instances can now be dynamically controlled, giving
FileMaker the equivalent of one-dimensional arrays (p. 87).
Value Lists Display Only Second Column It is now
column two (p. 175).
Copy/Paste Schema Objects Fields, scripts, script steps, and tables can all be copied and pasted now (p. 179).
Import As New Table Developers can import just a table's definition or they can import both a definition and data (p.
577).
Relationships Graph Additions The Relationships Graph features new alignment tools, a comment/note object, and new selection capabilities (p. 214).
Layout Alignment Tools Layout tools now include the capability to align objects relative to each other's
characteristics (p. 114).
Debugger, Data Viewer The Script Debugger has been enhanced in FileMaker 8 and a Data Viewer allows
developers to see what values are populated into variables or as the result of an expression as needed (p. 517).
New User Interface Controls
Tab Control The new Tab Control object allows developers to extend screen real estate on layouts (p. 117).
Custom Menus Developers can now control every aspect of FileMaker's menus, including contextual menus and
toolbar controls, by using FileMaker Pro 8 Advanced (p.
373).
FileMaker solution (p. 106).
FileMaker 7/8 Architecture
Version 7 was a major architectural shift for FileMaker, and many of the changes from prior releases of the platform
represent critical issues that all current developers must know. To present a complete picture of FileMaker, the following section reviews, and compares to prior versions, the new architectural structure introduced in FileMaker 7 and extended in FileMaker 8.
File Format
The file format for FileMaker 7 and 8 is radically different from that of earlier versions of FileMaker Pro. Earlier versions of the product were limited to one table per file, whereas FileMaker 7 and 8 allow one million tables per file. Not only is the file format different, but the network protocol that FileMaker uses to
communicate between hosts and guests is different as well. That means that if you need to, you can run both FileMaker 6 and FileMaker 8 on the same network and the two versions won't "see" each other on the network, or conflict in any way. After you convert FileMaker 6 files into FileMaker 8 files, the FileMaker 8 versions will no longer be readable by FileMaker 6.
Conversion in this sense is actually a misnomer because when FileMaker 8 converts a FileMaker 6 file, the original file is left untouched. Instead, FileMaker 8 uses the original to create a new version of the file.
definitions, table definitions, access privilegeswhile the
database is being hosted with guests logged on. This extends the flexibility of the platform even further.
Relationships Graph
The Relationships Graph is a visual representation of the
relationships between table occurrences. The term table
occurrences is used because there can be only a single relationship between two table occurrences. If a developer needs to create multiple relationships between two tables, those tables will be displayed multiple times on the
Relationships Graphhence the term table occurrence (see Figure 1.3).
Figure 1.3. This Relationships Graph shows two
occurrences of the Person table, each with a
different relationship.
For more on the Relationships Graph, see Chapter 6, "Working with Multiple Tables," p. 157.
Enhanced Relationship Functionality
In versions of FileMaker Pro before version 7, relationships could be constructed only on the basis of a key field (match field) in one file being equal to a key field in another file. These relationships, or joins, are known as equijoins in relational
database terminology. FileMaker Pro 8 supports multiple join types. Now relationships can be constructed in which one value is less than, greater than, or not equal to the other value.
complex, multiple-predicate joins, or joins with more than one criteria. In Figure 1.4, the Edit Relationship dialog clearly shows the different join types and the multiple join criteria.
Figure 1.4. This relationship shows all team
members for the selected Team ID, excluding the
current person's record.
Multiple Windows per File
In FileMaker 8, a user can have more than one window open per file and, more important, more than one window open per table (because it is possible to have multiple tables per file). It is possible to view two separate found sets of data at once, perform a search in one window while maintaining the state of another, or develop a multipaned application.
Security
FileMaker 8 supports a centralized, modern security architecture in which accounts and privileges may be changed while a
system is live. System behaviors are grouped into privilege sets; each account is associated with a single privilege set, ensuring that all users have their own accounts and passwords while sharing access levels with their peers.
Extended privileges serve as an additional feature that allows developers to define custom privilege settings. In scripts and calculations, a developer can test for the existence of an extended privilege and modify the behavior of a user's experience with a given solution accordingly.
Security capabilities also include the capability to integrate with an external authentication server (Open Directory or Active
Directory) where an IT organization may maintain passwords on a central server for all the various applications in an
organization, including FileMaker.
Although technically not really a security feature, it is possible to tie a FileMaker Server into an LDAP (Lightweight Directory Access Protocol) infrastructure so that users see only host
For a complete overview of FileMaker's security features, see Chapter 12, "Implementing Security," p. 325.
Calculations
FileMaker 7 introduced support for commenting within
calculations, included the Let() function for declaring variables, and shifted syntax from Status functions to the more broadly applied Get functions.
FileMaker 8 allows developers to extract data by related rows with the GetNthRecord() function, new functions have been added to remove text style attributes (font, text color, font size, style), and additional Get() functions have been added to determine the location of desktop and document folders on client machines.
FileMaker Developer 7 and FileMaker Pro 8 Advanced allow developers to create their own custom functions. Often underappreciated, custom functions give developers the capability of abstracting code into reusable, discrete units.
Scripts
FileMaker 8 contains its own scripting tool, ScriptMaker, which allows developers to create logical routines that run at the press of a button or the selection of a menu choice.
Scripts in FileMaker 8 can be set to run with full access
privileges on a script-by-script basis that then overrides a user's security privilege settings.
Layouts
FileMaker 8 boasts new alignment tools, and, on a layout-by-layout basis, a developer can decide whether record changes will be automatically saved, as they were in previous versions of FileMaker Pro, or whether the user needs to deliberately commit the record to save changes.
Button objects can now be included in tab sequences, and when a user has tabbed to a button object, she may "click" the button by pressing the Enter key or spacebar.
The biggest change with layouts is the Tab Control object.
Developers can now create a tabbed pane without any scripting whatsoever.
Web
Instant Web Publishing was greatly enhanced in FileMaker Pro 7, and Custom Web Publishing was completely overhauled to utilize XML and XSLT. FileMaker 8 made no dramatic changes to web capabilities, but did refine both performance and stability.
Technical Specifications
FileMaker 7 represented a complete rearchitecting of FileMaker's file format and dramatically extended the platform's
capabilities. The transition from the file format supported by FileMaker 3.0 through FileMaker 6.0 is still going on. A
comparison between the two architectures demonstrates the
dramatic growth the platform has undergone (see Table 1.5).
Table 1.5. FileMaker Pro 6 and 8 Capability Comparison
Number of tables per file 1 1,000,000
Maximum file size 2GB 8TB
Maximum amount of data
in a text field 64,000characters 2GB of data, or 1GB ofUnicode characters
Number of significant digits
in a number field 14 FileMaker Pro indexes thefirst 400 significant digits (numbers, decimal points, or signs) of the field, ignoring letters and other symbols
Number of characters in a
number field 120 800
Maximum number of files
allowed open on the client 50 Limited only by memory
Maximum records per file
(theoretical limit) 100 million 64 quadrillion over thelifetime of the file
Maximum amount of data
allowed in a container field 2GB 4GB
Maximum number of fields
in a table N/A 256 million over thelifetime of the file
Number of script steps supported by Instant Web Publishing
10 74
Number of FileMaker clients
hosted by FileMaker Server 250 250
Number of web clients hosted by FileMaker Server Advanced
Chapter 2. Using FileMaker Pro
In this chapterGetting Started 30
Working in FileMaker Pro 38
Troubleshooting 61