• Tidak ada hasil yang ditemukan

Que Using FileMaker 8 Special Edition May 2006 ISBN 0789735121

N/A
N/A
Protected

Academic year: 2019

Membagikan "Que Using FileMaker 8 Special Edition May 2006 ISBN 0789735121 "

Copied!
1832
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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?

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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.

(11)

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

(12)

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.

(13)

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

(14)
(15)

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.

(16)

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

(17)

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

(18)

Reader Services

Visit our website and register this book at

www.quepublishing.com/register for convenient access to any

(19)

Introduction

In this introduction

Best of Three Worlds 2

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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.

(30)

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

(31)

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 ]

(32)

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

(33)

Part I: Getting Started with FileMaker 8

1 FileMaker Overview

2 Using FileMaker Pro

3 Defining and Working with Fields

(34)

Chapter 1. FileMaker Overview

In this chapter

FileMaker and Its Marketplace 12

Introduction to Database Software 14

Overview of the FileMaker 8 Product Line 19

FileMaker Deployment Options 20

(35)

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

(36)

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

(37)

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.

(38)

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

(39)

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.

(40)

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.

(41)

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

(42)

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

(43)

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

(44)

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

(45)

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

(46)

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.

(47)

Figure 1.2. The two-table Employee/Phone

example can look something like this when

implemented in FileMaker.

[View full size image]

(48)

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.

(49)

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

(50)

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.

(51)

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

(52)

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.

(53)

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

(54)

the FileMaker industry at large.

(55)

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).

(56)

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

(57)

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).

(58)

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.

(59)

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.

(60)

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.

(61)

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.

(62)

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

(63)

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.

(64)

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

(65)

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

(66)

Chapter 2. Using FileMaker Pro

In this chapter

Getting Started 30

Working in FileMaker Pro 38

Troubleshooting 61

Gambar

Figure 1.1. FileMaker can be used to constructsimple flat file databases.
Figure 1.4. This relationship shows all teammembers for the selected Team ID, excluding the
Figure 2.1. These are the primary areas of allFileMaker Pro databases; in some cases, however,
Figure 2.3. FileMaker applicationscommerciallyavailable database solutions from FileMaker,Inc.demonstrate the possibilities of more feature-rich systems
+7

Referensi

Dokumen terkait

Fan Page Facebook : entrepreNurse Bukti transfer mohon dikirim ke alamat Sekretariat Panitia:. PSIK

Jika pada tanggal / waktu tersebut diatas Saudara atau yang mewakili Saudara (yang ditunjukkan dengan Surat Kuasa dari Perusahaan ) tidak dapat hadir dan/atau

Sapon dan Pengadaan Bahan Bangunan untuk Pemeliharaan Saluran Sekunder Wonokasih dan Kengkeng sebagai berikut :.

SECONDARY TREATMENT ADVANCED TREATMENT efluen sludge treatment influen coarse materials and/or oil & grease sludge sludge sludge disposal ke disposal Proses fisika -bar

Namun, jika antara kedua orang yang sebenarnya mempunyai hubungan saling mewarisi tersebut berbeda agama baik yang kafir adalah orang yang meninggal dunia atau

Paket ini kami kirim paket aqiqah ketempat anda berupa 100 porsi sate dalam wadah, 95 porsi gulai dikemas dalam panci dan 65 porsi tengkleng juga dalam panci.... Paket Nasi Kotak

Federal agencies play a key role in educating the next generation of earth scientists by offering programs that attract students to the ield, support them through formal

di SMK Negeri 2 Purbalingga perilaku merokok sudah bukan lagi menjadi hal yang aneh, walaupun sebagian besar dilakukan tidak di sekolah. Namun, sebagian siswa berani