Troubleshooting FileMaker Extra: About the Custom Web Publishing Tools Part V: Deploying a FileMaker Solution... He has written for FileMaker Advisor magazine and co-authored two other b
Trang 1By 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
Trang 2By 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
Trang 4Understanding How and Where Calculations Are Used Exploring the Calculation Dialog Box
Trang 8Troubleshooting
FileMaker Extra: About the Custom Web Publishing Tools Part V: Deploying a FileMaker Solution
Trang 9Chapter 27 Documenting Your FileMaker Solutions Why Is Documentation Important?
FileMaker Extra: Soliant Development Standards Index
Trang 10SPECIAL 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 informationcontained herein Although every precaution has been taken inthe preparation of this book, the publisher and author assume
no responsibility for errors or omissions Nor is any liabilityassumed for damages resulting from the use of the informationcontained herein
as affecting the validity of any trademark or service mark
FileMaker is a registered trademark of FileMaker, Inc
Trang 11Every 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 andthe publisher shall have neither liability nor responsibility to anyperson or entity with respect to any loss or damages arisingfrom the information contained in this book or from the use ofthe DVD or programs accompanying it
Bulk Sales
Que Publishing offers excellent discounts on this book whenordered in quantity for bulk purchases or special sales For
Trang 12To Signe, Erlend, and Rona: I guess this doesn't quite count as "never again"?
Steve Lane
To Eleanor, my new project management challenge.
Bob Bowers
Trang 13Steve 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 thecountry, 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 theFileMaker Fellowship Award for "pushing the boundaries of
contributing editor for FileMaker Advisor magazine and has co-Techniques for Developers, Advanced FileMaker Pro 6 Web
Development, and Special Edition Using FileMaker Pro 7 At the
2002 FileMaker Developer's Conference, where he is a perennial
Trang 14"developing outstanding technical and educational resources forFileMaker."
Trang 15This book could not exist were it not for the hard work andsupport of our colleagues and friends Writing it would havebeen impossible otherwise, and we'd like to share our gratitudewith 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, wesuggested an alternative: Allow us to add 50% and create twobooks 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 ofthanks It's our deep pleasure to work with development editorLaura Norman again; her good humor and steady wisdom
provide a strength of support that cannot be overstated TonyaSimpson, 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 thiswhole process
Taking a page from our own work in software development,Mickey Burns joined our team as a project manager who found
a perfect blend between bullying and babying as he helped usthrough (and at times past) each deadline Liz Kinsella, JulyBelber, and Will Danford put in tireless hours pulling togetherdemo files, screenshots, facts, and figures Jan Jung lent hertremendous design skills Carlos Ramirez made vital technicalcontributions, especially to the Mobile chapter
Trang 16FileMaker platform shows
Finally, we'd like to thank some of the folks at FileMaker fromwhom we've learned a great deal, and whom it's our pleasure toknow and work with: Jay Welshofer, our technical editor, alongwith Andy Lecates, Bill Heizer, and Tony Millerall have
contributed to this work and to our understanding of FileMaker,
in ways large and small, and it's our pleasure to have their
support and advice
Trang 17
As the reader of this book, you are our most important criticand commentator We value your opinion and want to know
what we're doing right, what we could do better, what areasyou'd like to see us publish in, and any other words of wisdomyou're willing to pass our way
As an associate publisher for Que Publishing, I welcome yourcomments You can email or write me directly to let me knowwhat you did or didn't like about this bookas well as what wecan 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 andauthor as well as your name, email address, and phone number
I will carefully review your comments and share them with theauthor and editors who worked on the book
Trang 18Visit our website and register this book at
www.quepublishing.com/register for convenient access to anyupdates, downloads, or errata that might be available for thisbook
Trang 20
Microsoft Excel or Intuit's Quicken); and it's also a robust rapidapplication software development platform
When you hear someone speak about FileMaker, keep in mindthey 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 networkinfrastructure An end user is probably thinking about a specificsolution built in FileMaker Pro and how that solution helps (ordoesn'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, thatthe book was felt to be too advanced by some readers So we'lltry 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
probably find a few chapters (such as the one on FileMaker
Server) to be of interest If you're mostly interested in learninghow to use the essential features of the FileMaker application,though, this book may not be for you Although we've includedsome introductory chapters in order to be as comprehensive as
Trang 21is largely familiar with the essential operations of FileMakeralready, and is interested mostly in topics for the beginning toadvanced 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 theirmemories 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 arenot interdependent Some of the feedback we received for
Trang 22Subsequent 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 andout of FileMaker And Part V, "Deploying a FileMaker Solution,"covers options for making a FileMaker solution accessible toothers
Chapter 1, "FileMaker Overview," situates FileMaker Pro
within the wider world of database and productivity
software It provides an overview of the new FileMaker 8product line, and mentions the most important new features
in FileMaker 8 This chapter is appropriate both for thosewho are new to FileMaker Pro and for those who have used
Trang 23groundwork for talking about database development, and toserve as a thorough reference on FileMaker field types andoptions
Chapter 4, "Working with Layouts," covers all of FileMaker'slayout-building options in detail We cover all aspects oflayout building, and offer guidelines for quicker and moreefficient layout work
Part II : "Developing Solutions with FileMaker"
Part II is intended to introduce you to the fundamental
techniques of database application development using FileMakerPro and FileMaker Pro Advanced Chapters 5 through 7 coverthe 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
Trang 24types in FileMaker using multiple data tables, and how tocreate fields that function effectively as relational keys
Chapter 7, "Working with Relationships," builds on the
concepts of Chapter 6 Rather than focusing on FileMaker'srelationships from the standpoint of database design, wefocus on their practical implementation in FileMaker
programming We look in detail at the new capabilities ofFileMaker 8, and discuss nonequality join conditions, filereferences, and some strategies for organizing a multitablesystem
Chapter 8, "Getting Started with Calculations," introducesFileMaker's calculation engine The chapter delves into themajor types of FileMaker calculations We cover a number ofthe 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, thisone covers the fundamentals of an important skill for
FileMaker developers We cover some common scriptingtechniques and show how to use event-driven scripts to add
Trang 25Chapter 10, "Getting Started with Reporting," illustrates thefundamental techniques of FileMaker Pro reporting, such aslist views and subsummary reports, as well as some moreadvanced subsummary techniques, and some design
we examine the still-important issue of conversion from
previous versions
Chapter 11, "Developing for Multiuser Deployment,"
explores the issues and challenges of designing FileMakersystems 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 therole-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
detailed explanations of a number of more complex, appliedtechniques for working with layouts and data presentation
Trang 26Chapter 15, "Advanced Scripting Techniques," like the
preceding chapter, is full of information specific to features
of FileMaker 8 scripting Here we cover programming withscript parameters, the significant new FileMaker 8 feature ofscript variables, programming in a multiwindow system, andthe complexities of scripted navigation among multiple
tables and recordsets
Chapter 16, "Advanced Portal Techniques," looks at
FileMaker's portal elements from two perspectives First, weexamine more advanced uses of portals for creating andviewing database records Second, we examine the ways inwhich portals can be used to create new types of interfaceelements, such as filtered record browsers or pick lists
Chapter 17, "Troubleshooting," is a broad look at how tofind, diagnose, and cure trouble in FileMaker systemsbutalso how to prevent it We look at some software
engineering principles that can help make systems morerobust, and can reduce the incidence and severity of errors.The chapter also includes detailed discussions of how totroubleshoot difficulties in various areas, from multiuserrecord lock issues to performance difficulties over large
Trang 27Chapter 18, "Converting Systems from Previous Versions ofFileMaker 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 youdecide 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
Chapter 19, "Importing Data into FileMaker," looks at all themeans 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 adigital camera, and how to import data from ODBC and XMLdata sources (The full treatment of XML importing is
reserved for Chapter 22.)
Chapter 20, "Exporting Data from FileMaker," is in somerespects the inverse of Chapter 19 It covers almost all theways by which you can extract or publish data from
FileMaker, including simple export, XML export, and pushingdata into SQL databases via ODBC, as well as means bywhich others can query FileMaker data over ODBC
Trang 28of the FileMaker 8 Instant Web Publishing model Anyoneinterested in making FileMaker data available over the Webshould begin with this chapter
Chapter 23, "Custom Web Publishing," covers FileMaker 8'sAdvanced Web Publishing technology This chapter
discusses how to configure the FileMaker Web PublishingEngine (WPE), and how to write XSLT stylesheets that
exploit the WPE's capabilities to build FileMaker-backed webapplications
Part V : "Deploying a FileMaker Solution"
Part V delves into the choices you have for how to deploy aFileMaker database, including deployment via FileMaker Serverand 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
explores means of distributing standalone databases Readthis chapter for a quick orientation toward your differentdeployment choices
Trang 29explores in depth setting up and working with FileMakerServer and FileMaker Server Advanced The chapter coverssetup, configuration, and tuning of Server, as well as
managing server-side plug-ins and authentication
Chapter 26, "FileMaker Mobile," reviews how to work withmobile computing devices and use FileMaker Mobile to bothsynchronize with and create databases on handheld
organizers
Chapter 27, "Documenting Your FileMaker Solutions," covershow to put the final touches on a solution: It reviews someindustrywide coding conventions, makes commenting
recommendations, and explores how to extract informationabout a solution using the FileMaker Advanced feature
these problems are placed in the context of relevant text inthe chapter as Troubleshooting Notes to make them easy tolocate
Trang 30containing extra information that will help you make themost of FileMaker Pro In some cases we offer expanded,fully worked examples of tricky database design problems;
in others we offer shortcuts and maintenance techniquesgleaned from our collective experience with developing
production FileMaker systems (creating custom functionlibraries, or getting the most out of team development);and in others we delve all the way to the bottom of trickybut vital FileMaker features such as the process of importingrecords
Notes Notes provide additional commentary or explanation
that doesn't fit neatly into the surrounding text You will finddetailed explanations of how something works, alternativeways of performing a task, and other tidbits to get you onyour way
Trang 32Like FileMaker itself, this book has several audiences If youwork with structured data a lot (Excel spreadsheets, for
example) but are new to databases, this book will provide youwith 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'smore introductory chapters tell you what you need to know toget started building basic databases for your own use Laterchapters introduce you to the world of multiuser database
design, and to some of FileMaker's more advanced applicationdesign features
If you've worked with other database systemseither server-siderelational database engines based on SQL, or desktop
development environments such as Accessthis book will helpyou see how FileMaker Pro fits into the universe of databasesoftware Look over the section in this introduction titled "HowThis Book Is Organized" to get a sense of which chapters willget you started quickly with FileMaker
If you're a web developer wondering how FileMaker might fitinto your toolkit, note that we have extensive coverage of thenew FileMaker web technologies in Chapters 21, 22, and 23
And in case you're an old hand with FileMaker, we've provided agood bit of in-depth discussion of advanced techniques and
have called out new FileMaker 8 features throughout the book.
Trang 35However you approach FileMaker Pro, some core strengths ofthe 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, quicklymanage data entry, add functionality to a live system, ordeploy 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 adatabase, create reports, add form layouts, and more WithFileMaker 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 thegreater world of standards-based applicationsboth withintheir organizations and online on the Web
Modern Data Architecture FileMaker Pro, despite being
"just" a productivity application that lives on your computeralong with Microsoft Word and Solitaire, allows users tocreate fully relational data structures and to properly buildarchitectures that correctly manage real-world data
Ultimately, FileMaker exists between the world of desktop
applications and high-end, enterprise-level server systems It isthe third option: a flexible, robust workgroup application thatcan quickly come together, evolve over time, and be
dramatically cost-effective
Trang 36In the world of software development, flexibility and speed arecritical We live in the world of Internet time, and usually
businesses embark on a development project only when theyneed something yesterday
The practices and experiences of the past two decades haveproven software development to be a risky, unpredictable
development platform, it is possible to build a system in
FileMaker Pro in a fraction of the time it takes to build the samesystem in more classic, compiled software languages or by
using enterprise-level systems
Low Total Cost of Ownership
FileMaker Pro is focused around offering a low total cost of
ownership for organizations In October 2001, the AberdeenGroup, 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 AberdeenGroup Executive White Paper "FileMaker Low-IT Database Cost-of-Ownership Study," October 2001)
Trang 37FileMaker Is a Seasoned Platform
FileMaker Pro is now 20 years old In the mid-1980s, NashobaSystems created an initial version that was acquired and
published by Forethought, Inc., in April of 1985 Nashoba thenreacquired the rights to the software and published FileMakerPlus in 1986 and FileMaker 4 in 1988
Claris Corp., which was then being formed by Apple Computerand was to become FileMaker's guiding parent, purchased
Nashoba and published FileMaker II in 1988 and 1989 Finally inOctober 1990, FileMaker Pro 1.0 made its debut and set theproduct line on the course it has largely followed to this day InDecember of 1995, Claris shipped FileMaker Pro 3.0, which sawthe introduction of relational data modeling to the platform and,even more important, a completely seamless cross-platformapplication that's virtually identical between the Mac OS andMicrosoft Windows Today a majority of FileMaker's audiencelives on the Windows side
In 1998, at the time of version 4.1, Claris Corp rechristeneditself 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 forthe previous few years) and continues to enjoy the backing (as
a subsidiary) of a cash-flush Apple Computer, Inc
Other major innovations have occurred along the way, but
nearly everyone in the community recognizes that it was thewatershed version 3.0 that broke open the gates for FileMaker
Trang 38version 6.0 offered significant support for XML-based data
interchange
In 2004, FileMaker Pro 7.0 was released This major releasefeatured a reengineered architecture from the ground up, a newmodel 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 releasebuilt on the new architecture of 7; it is a testament to that
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
nonprofit industry is also a key focal point for FileMaker, as isthe creative-professionals industry
Trang 39At its heart, FileMaker Pro is database software; databases areuseful for keeping track of contacts and their addresses andphone 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 spreadsheetsand word processor documents, a database will make it mucheasier to take on these tasks:
Organize your data into reports Databases can organize
information into reports sorted by city, last name, price, orany other criteria necessary
Find one or several items in your collections Visually
scrolling through a document with flat data displayed soonbecomes unwieldy Databases make it relatively simple tosearch for one record (or row) of data within potentiallymillions of others
Create related associations among data Rather than
duplicating the name of a company for multiple people (forexample), or perhaps having to reenter an address in adozen 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 becomeone component in multitiered technology solution for
companieseven small businesses often exchange data
between QuickBooks, for example, and FileMaker Pro
There are other advantages to using database software, not the
Trang 40Often the members of an organization will outgrow the
documents of desktop applications when they need to supportmultiple authors, track data in structured, interrelated ways, ormanipulate data sets based on differing criteria Often the firstherald of the need for a database is when users are frustratedwith not being able to find a given piece of information
The rest of this book gets into detail on how to do everythingjust mentioned and much more as well You'll get a more
detailed look at what a database is and how it works, how tobuild 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 FileMakergenerally falls into the category of business productivity
software; however, it really is a hybrid application that marriesdesktop application productivity to a server-based architectureand database It is as accessible as programs like MicrosoftExcel and Intuit's QuickBooks, yet it also allows developers tocreate complex workgroup databases that are deployed in thesame manner as other IT server-based applications
The idea of managing a collection of structured information iswhat database software is all about Some database products
on the market manage specialized collections such as businesscontacts Products such as Act and Goldmine are good
examples of those Quicken, QuickBooks, and Microsoft Moneymanage collections of financial transactions
FileMaker and other nonspecialized database products such asMicrosoft Access are used to create database systems just as