• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL

INTRODUCTION Welcome to FileMaker Pro 7

Welcome to FileMaker Pro 7

In this introduction

Waiter, There's a Software Development Tool in My Productivity Application! 2

How This Book Is Organized 4

A Brave, New World 10

Waiter, There's a Software Development Tool in My Productivity Application!

Welcome to the world of FileMaker Pro. By simply standing in this section of your local bookstore, you're sure to have heard the word “database.” We'll cover what databases are ad nauseam in the rest of this book—so go ahead and take it up to the counter…we'll wait—but one of the first things you'll need to understand about FileMaker Pro is that it is far more than just a database.

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 one of these different perspectives or another. An IT professional likely sees it as a database engine that fits into a greater security and network infrastructure. An end-user probably is thinking about a specific solution built in FileMaker Pro and how that solution helps (or doesn't help) make work more efficient. A software developer may see it as one of many tools he employs in building a wide range of applications.

However you approach FileMaker Pro, some core strengths of the platform are important to 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 need not be dependent on mysterious software engineers and their arcane knowledge or, even worse, consultants like us!

  • 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 applications—both 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 for information and to properly build architectures that rightly manage real-world data.

We'll cover the right and wrong ways to build solutions in FileMaker throughout the book; for now the point we're making is that FileMaker Pro is both something you use (a productivity application) and something with which you build things (a development tool).

Rapid Application Development

In the world of software development, flexibility and speed are critical. We live in the world of Internet time—burst bubbles notwithstanding—and businesses usually embark on a development project only when they need something yesterday.

In addition to simple impatience, 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 reinvent the boat, the oar, the sail, and the steam engine. Because it 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.

Low Total Cost of Ownership

FileMaker Pro is focused around offering a low total cost of ownership for organizations. In October 2001, the Aberdeen Group, an independent research firm in Boston, found that, “Under conservative assumptions, FileMaker Pro was superior, with an average ratio of 5:1 in [cost of ownership] over the industry average database.” (Quote taken from the Aberdeen Group Executive White Paper "FileMaker Low-IT Database Cost-of-Ownership Study," October 2001.)

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 Pro

The history of FileMaker Pro reveals that the software is nearing its 20th birthday, though its first years are a bit fuzzy: Sometime between 1983 and 1985, Nashoba Systems created an initial version that was acquired and published by Forethought, Inc., in April of 1985. Nashoba then reacquired the rights to their 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 importantly 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.

Other major innovations have occurred along the way, but nearly everyone in the community recognizes that it was the watershed version 3.0 that broke open the gates for FileMaker. Version 4.0 introduced Web publishing to the platform and version 6.0 offered significant support for XML-based data interchange.

In 1999, 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 changing its name from Claris Corporation to FileMaker, Inc., in 1998 (an extraordinary feat considering the climate in Silicon Valley for the past few years) and continues to enjoy the backing (as a subsidiary) of a cash-flush Apple Computer, Inc.

You're Not Alone

FileMaker, Inc., has sold more than 8.5 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 something…and its builders come in all shapes and sizes. The only true common element seems to be that they own computers (but not always!).

There are some trends: FileMaker Pro is widely used in the world of both K-12 and higher education. Of the 50 top Universities in the United States, 49 use FileMaker Pro. The non-profit industry is also a key focal point for FileMaker. Ultimately these trends have more to do with FileMaker Pro's price tag than with any inherent advantage the software offers. FileMaker Pro truly is like a hammer: You can build a birdhouse or the Golden Gate Bridge. It's just a question of the skill of the craftsman and the time you're willing to devote to your system.

How This Book Is Organized

Special Edition Using FileMaker 7 is divided into five parts, organized into something like a tree. Part I, “Getting Started with FileMaker 7,” and Part II, “Developing Solutions with FileMaker,” constitute the “trunk” of the tree; they cover central material that we recommend everyone read. If you're familiar with previous versions of FileMaker, you may only need 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 7, and the topics they cover, are described in the following sections.

Part I: “Getting Started with FileMaker 7”

The chapters in Part I introduce you to FileMaker, its uses and features, and get you started with basics of defining databases.

  • Chapter 1, “FileMaker Overview,” situates FileMaker Pro within the wider world of database and productivity software. It provides an overview of the new FileMaker 7 product line, and mentions the most important new features in FileMaker 7. This chapter is appropriate both for those who are new to FileMaker Pro, and for those who may have used 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.

  • Chapter 3, “Defining and Working with Fields,” provides a thorough overview of all of FileMaker Pro'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, “FileMaker Fundamentals: 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. Chapters 57 cover the theory and practice of designing and building database systems with multiple data tables. Chapters 810 introduce you to foundational concepts in application and reporting logic.

  • 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 use in FileMaker programming. We look in detail at the new capabilities of FileMaker 7, and discuss non-equijoin conditions, file references, and some strategies for organizing a multi-table system.

  • Chapter 8, “Getting Started with Calculations,” introduces FileMaker's calculation engine. The chapter delves into the major types of FileMaker calculations (though it's not an exhaustive reference—you'll find that in Appendix B, “Calculation Function Reference”). 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 previous chapter, this one covers the fundamentals of an important skill for FileMaker developers. We cover some common scripting techniques and show how to use triggered scripts to add interactivity to a user interface.

  • Chapter 10, “Reporting with Grouped Data,” 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 multi-user deployment, and we examine the tricky issue of conversion from previous versions.

  • Chapter 11, “Developing for Multi-User 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 new FileMaker 7 security model. We cover the new role-based Accounts feature, the new Extended Privileges, and many of the complexities of server-based external authentication (against Windows or Mac OS user directories, for example).

  • Chapter 13, “Advanced Layout Techniques,” provides detailed explanations of a number of more complex, applied techniques for working with layouts and data presentation in a FileMaker application. We look at different options for where and how to build interface layouts, and explore an advanced, script-based navigation scheme and discuss FileMaker's new tools for building multi-window interfaces.

  • Chapter 14, “Specialized Calculation Functions,” looks closely at some of the more advanced or specialized types of FileMaker calculations, including the new Let and Evaluate functions, as well as the new functions for text formatting and for array manipulation. The chapter finishes with an examination of custom functions, another important new feature in the FileMaker 7 product line.

  • Chapter 15, “Advanced Scripting,” like the preceding chapter, is full of information that is specific to new features of FileMaker 7. Here we cover programming with script parameters, programming in a multi-window system, and the complexities of scripted navigation among multiple tables and record sets.

  • Chapter 16, “Working with Portals,” 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 systems—but also how to prevent it. We look at some software engineering principles that can help make systems more robust, and can reduce the incidence and severity of errors. The chapter also includes detailed discussions of how to troubleshoot difficulties in a variety of areas, from multi-user record lock issues to performance difficulties over large networks.

  • Chapter 18, “Converting Systems from Previous Versions of FileMaker Pro,” explores the complex issues involved in moving to FileMaker 7 from a previous version. We begin by discussion migration scenarios that help you decide how much you stand to benefit from moving to 7. For certain systems, the choice to move to 7 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 Pro,” looks at all the different 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 import is reserved for Chapter 22.)

  • Chapter 20, “Getting Data Out of 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 FileMaker, including simple export, XML export, and pushing data into SQL databases via ODBC, as well as means by which others can query FileMaker data over ODBC.

  • Chapter 21, “Instant Web Publishing,” looks at the features of the new FileMaker 7 Instant Web Publishing model. IWP is vastly improved in FileMaker 7. 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 7's new advanced Web publishing technology. The new technology, which is XML- and XSLT-based, replaces CDML. 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 different 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, “FileMaker Deployment Options,” is a short chapter that provides an overview of the different ways you can distribute a FileMaker database to one or more users. Read this chapter for a quick orientation toward your different deployment choices.

  • Chapter 25, “FileMaker Server,” tells you everything you need to know to deploy solutions to FileMaker Server, for distribution to many users. The chapter covers setup, configuration, and tuning of Server, as well as managing server-side plugins and authentication.

  • Chapter 26, “FileMaker Developer and Plug-ins,” looks at some of the special features of FileMaker Developer, such as the creation of bound runtime solutions and kiosk solutions. We also explore FileMaker plugins in this chapter, from the standpoint of a developer rather than a plugin programmer.

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.

  • Troubleshooting— Many chapters in the book have a section dedicated to troubleshooting specific problems related to the chapter's topic. Cross-references to the solutions to these problems are placed in the context of relevant text in the chapter as Troubleshooting Notes to make them easy to locate.

  • 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 7. In one sense we could just put this icon on the front of the book and be done with it, but instead we've used it to call out areas that are particularly new and noteworthy in 7, or things that are particularly different from the way things would have been done in earlier versions.

  • Cross-references— Many topics are connected to other topics in various ways. Cross-references help you link related information together, no matter where that information appears in the book. When another section is related to one you are reading, a cross-reference directs you to a specific page in the book on which you will find the related information.

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 parenthesis followed by the Windows command in brackets: (-click) for Mac and [Ctrl+click] for Windows, for example.

Sub-menu 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, called 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 ]
Show Custom Dialog [Title: "Message window"; Message; "Hello, world!"; Buttons: "OK"]


Who Should Use This Book

Like FileMaker Pro 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 (we like to call these “spreadsheet-plus”). Later chapters introduce you to the world of multi-user database design, and to some of FileMaker's more advanced application design features.

If you've worked with other database systems—either server-side relational database engines based on SQL, or desktop development environments such as Access—this 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, we have extensive coverage of the new FileMaker Web technologies in Chapters 21, 22, and 23.

And if you're an old hand with FileMaker and are wondering what's new, the answer is…more than you think! We've called out some notable differences between FileMaker 7 and previous versions, but in some sense, it's all new. The application has been significantly redesigned. Chapters 6 and 7 (which cover the new relational model), Chapters 14 and 15 (which cover important changes to FileMaker scripting and calculations), and Chapter 18 (covering conversion from previous versions) contain a lot of information about new features, but there are changes, large and small, lurking everywhere.

A Brave, New World

Without wanting to resort to hyperbole, we feel that FileMaker Pro 7 represents a dramatic step forward for FileMaker. This version includes a wide range of impressive changes to the platform, and this book is being written while the software is still in an alpha and beta state. We have done our best to research and double-check everything we present here, but do please keep in mind that some aspects of the software may change by the time this book reaches your hands. We encourage you to use Appendix A, “Additional Resources,” as a means of finding online information about FileMaker Pro…and if you're new to the platform, welcome to a great community!

  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint