Read an Excerpt
INTRODUCTION: Welcome to FileMaker Pro 10Introduction: Welcome to FileMaker Pro 10 Best of Three Worlds
Welcome to the world of FileMaker Pro 10. By simply browsing through this book, you’re sure to have seen the word database. We cover what databases are in the rest of this book, but one of the first things you need to understand about FileMaker Pro 10 is that it is far more than just a database application.
FileMaker Pro 10 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 people speak about FileMaker, keep in mind they might 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 it helps make her work more efficient. A software developer might see FileMaker as one of many tools he employs in building a wide range of applications.
This book was written with an eye toward the FileMaker developer community. If you’re mostly interested in learning how to use the essential features of the FileMaker application, though, this book might not be for you. Although we’ve included some introductory chapters to be as comprehensive as 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.
How This Book Is Organized
FileMaker Pro 10 In Depth is divided into five parts, organized into something like a tree. Part I, “Getting Started with FileMaker 10,” and Part II, “Developing Solutions with FileMaker,” constitute the “trunk” of the tree; they cover fundamental material that we recommend everyone read.
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 following sections describe the five parts of FileMaker Pro 10 In Depth and the topics they cover.
Part I: Getting Started with FileMaker 10
- 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 software. It provides an overview of the new FileMaker 10 product line and mentions the most important new features in FileMaker 10. This chapter is appropriate both for those who are new to FileMaker Pro and for those who 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 and Tables,” 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 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 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).
- 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 10 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 FileMaker developers. We cover some common scripting techniques and show how to use event-driven scripts to add 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.
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 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 10 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 X user directories, for example.
- Chapter 13, “Using the Web Viewer,” explores one of the interesting recent features of FileMaker Pro. You can incorporate live web pages into your FileMaker layouts, and you can use data from the FileMaker database to construct the URLs that are displayed.
- Chapter 14, “Advanced Interface Techniques,” provides detailed explanations of a number of more complex, applied techniques for working with layouts and data presentation in a FileMaker application.
- Chapter 15, “Advanced Calculation Techniques,” looks closely at some of the more advanced or specialized types of FileMaker calculations, as well as the functions for text formatting and for list manipulation.
- Chapter 16, “Advanced Scripting Techniques,” like the preceding chapter, is full of information specific to features of FileMaker 10 scripting. Here, we cover programming with script parameters, the significant feature of script variables, programming in a multiwindow system, and the complexities of scripted navigation among multiple tables and recordsets.
- Chapter 17, “Working with FileMaker Triggers,” examines one of the most important new features of FileMaker Pro 10. Triggers let you set up automatic behaviors that occur whenever certain events happen. They let you exercise more control over the user interface with less programming in many cases.
- Chapter 18, “Advanced FileMaker Solution Architecture,” is the last of the chapters in the Advanced series. It presents a variety of features and solutions that integrate and expand some of the techniques in the previous chapters. You will find information on window management, multiwindow interfaces, and selection portals, among other topics.
- Chapter 19, “Debugging and 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 various areas, from multiuser record lock issues to performance difficulties over large networks.
- Chapter 20, “Converting Systems from Previous Versions of FileMaker Pro,” explores the complex issues involved in moving to FileMaker 10 from versions prior to FileMaker 7. We then discuss the mechanics of conversion in detail, and discuss some of the more significant pitfalls to be aware of.
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 21, “Connecting to External SQL Data Sources,” explores FileMaker’s ODBC/JDBC interface as well as the exciting features that let you add SQL tables to your Relationships Graph. This means that you can now use SQL tables very much as if they were native FileMaker tables. You can use them in layouts along with FileMaker tables, you can use them in reports, and you can even expand them by adding your own variables to the FileMaker database that are merged with the external SQL data as you use it.
- Chapter 22, “Importing Data into FileMaker Pro,” looks at almost 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, and how to import images from a digital camera. (
- Chapter 23, “Exporting Data from FileMaker,” is in some respects the inverse of Chapter 22. It covers almost all the ways by which you can extract or publish data from FileMaker.
- Chapter 24, “Instant Web Publishing,” looks at the features of the FileMaker 10 Instant Web Publishing model. Anyone interested in making FileMaker data available over the Web should begin with this chapter.
- Chapter 25, “Custom Web Publishing with
- Chapter 26, “Custom Web Publishing with PHP,” shows you how to use FileMaker’s newest web publishing tools to build a PHP-based site. For many people, PHP sites are easier to develop and integrate into existing websites than
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 27, “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 explores means of distributing standalone databases. Read this chapter for a quick orientation toward your different deployment choices.
- Chapter 28, “FileMaker Server and Server Advanced,” explores in depth setting up and working with FileMaker Server and FileMaker Server Advanced. The chapter covers setting up, configuring, and tuning FileMaker Server, as well as managing server-side plug-ins and authentication. The new Server Admin Console is described in detail here.
This book includes the following special features:
- 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 still 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 feature identifies some tips and tricks we’ve learned over the years.
- Cautions—Here, we let you know when there are potential pitfalls to avoid.
- New in This Version icon—This icon identifies things that are new in FileMaker 10.
- 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 can find the related information.
- FileMaker Scripts—Numerous examples of scripting are provided in the book. Because you can create long lines of code, they are sometimes split in order to be printed on the page. The arrow indicates the continuation of the previous line of code.
Most of the examples in this book are based on the FileMaker Starter Solutions that are installed automatically for you when you install FileMaker. Thus, you already have most of the files. In some cases, additional files or additional code has been added to the Starter Solutions as described in this book. These files can be downloaded from filemakerindepth.com. You can also download them from the publisher’s website at http://www.informit.com/title/9780789739469.
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 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. Refer to the “How This Book Is Organized” section earlier in this Introduction to get a sense of which chapters will get you started quickly with FileMaker.
And in case you’re an old hand with FileMaker, we’ve provided a good bit of in-depth discussion of advanced techniques and have called out new FileMaker 10 features throughout the book.
© Copyright Pearson Education. All rights reserved.