34,99 €
FileMaker Pro 10 Bible provides information that grows with you nomatter what your level when you start. Topics range from thegeneral (how databases fit into real life and your business needs;comparisons with other database development tools; a broaddiscussion of integration with existing systems and software)through the building-blocks of FileMaker solutions, and on up tostate-of-the-art advice on concepts of optimization,modularization, innovative and sophisticated user-interface design,dynamic elements, logic, cutting-edge calculations, publishing yourdatabase to the Web, and integrating tightly with SQL databases via"ESS". The book also includes the special developer tools availablein FileMaker Pro Advanced, and covers topics too oft skipped overin other books on the market -- backup how-to's and strategies,must-read information about good database husbandry and filerecovery, and so on. Much of the information in the book isdocumented nowhere else. This is the one must-have FileMaker book! Note: CD-ROM/DVD and other supplementary materials arenot included as part of eBook file.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 1325
Veröffentlichungsjahr: 2009
Table of Contents
Part I: The Fundamentals
Chapter 1: Databases: The What, Why, and How
The Many Faces of Databases: Lists, Tables and Forms
The limitations of paper-based databases
Entering the digital age
Preparing to get organized
The Concept of a Relational Database
Flat-file databases and data redundancy
Opportunities for making connections
The Anatomy of a Database Solution
The data: Foundation and substance
The interface: Screens, letters, forms, and reports
The hidden helper: Process management
How FileMaker Fits In
What FileMaker Pro calls things
Familiar ideas from the real world
Integrating processes and information
Knowledge is power — personal and professional
Chapter 2: Putting FileMaker Pro in Perspective
What Makes FileMaker Pro Different from Other Database Development Tools?
Some common misperceptions
A unique approach to design
The FileMaker Product Family
Desktop and server
Scalability and flexibility
FileMaker's Hidden Talents
The cross-platform chameleon
Multiple technologies and formats
Plug-ins and extensibility
The FileMaker calculation engine: Simplicity and power
Resources and Exemplars
Examples and brainteasers
Other resources and opportunities
Chapter 3: Getting Acquainted with FileMaker
Getting FileMaker Working for You
Starting and exiting from FileMaker
Creating, saving, and closing files
Handling files and data safely
Earlier file formats and conversion issues
Finding Your Way Around
The modes and their uses
Navigating and viewing data
Searching and the FileMaker Find/Omit puzzle
Screen elements and what they're for
Entering and Editing Data
Creating and duplicating records
Field definitions: Validation and dependencies
The significance of commitment
The Ins and Outs
Importing and exporting data
Previewing and printing options
Send/Save as PDF and Excel
Getting to Know the Relatives
Ways to view and edit related data
The importance of context
Making complexity simple in practice
Optimizing the Application
Preference settings for your workstation
File options for the current database
Chapter 4: What's New in FileMaker 10
Embracing Change
Status Area Redesign
Live Reports/Sub-summaries
Maintain Record Sort Order
Saved Find Requests
Set Field by Name
Script Events Triggers
Layout object triggers
Layout script triggers
Timed interval script triggers
File-based script triggers
Avoiding trigger tangles
New Calculation Functions
Get(TriggerKeystroke)
Get(TriggerModifierKeys)
Code(text)
Char(code)
GetFieldName(field)
Get(DocumentsPathListing)
External SQL Data Sources (ESS) Enhancements
Additional SQL database support
Value lists based on external SQL data
Single Sign-On for remote Windows clients
Handling of DATETIME values — MS SQL Server
Bento Integration
File Recovery Improvements
Layout Mode Enhancements
Inserting an object into the tab order
Defining tooltips in Pro
Additional font sizes in the format menu
Send Mail by SMTP
Quick Start Screen Enhancements
Import/Export Enhancements
Save Target Printer
The Manage Scripts Interface
Other Useful Enhancements
IPv6 Support
Format changes for automatically generated log files
Updated templates and themes
FileMaker Pro Advanced Script Debugger enhancements
Relookup Replace and Field Contents no longer commit
Only a single sharing error for multiple files
Script error codes and control commands
Part II: Introduction to Database Design
Chapter 5: Creating a Database
Before Getting Started
Creating a New Database File
Adding tables and fields
Working with the Field Options dialog: Validation and Auto-Entry
Setting up simple calculations
Capturing simple metadata
Creating relationships between tables
Adding aggregating calcs
Viewing and Interacting with Data
Looking at the multiple uses of layouts
Creating records and entering data
Editing or deleting data
Finding and sorting data you've already entered
Using special find symbols
Searching with the range and wild card operators
Avoiding the Need for Data Duplication
Recognizing the visual cues to data relationships
Information has a logical flow
Anticipating the user
Making complex things simple
Getting Started with File Security
Working with accounts and privilege sets
Setting a default account and password
Thinking about Usability
Moving between records
Managing context
Moving between tables
Using and changing views
Using buttons for static and dynamic actions
Chapter 6: The Interface: Layout Mode
Initial Layouts
A map of Layout mode
Organizing the presentation of information
Applying formats to field and text objects
Setting up layouts for printing
Understanding lists and forms
Layout parts and their purposes
The Importance of Visual Structure
Adding visual pointers and aids
Using white space
Ergonomics and avoiding visual fatigue
Giving information meaning
Defining Tooltips
Using conditional tooltips
Keeping track of tooltips
Different Kinds of Layout Objects
Static and dynamic objects
Inherent object properties
Conditional format attributes
FileMaker as a Graphical Environment
Building graphic objects in FileMaker
Default object formats and attributes
Controlling stacking and alignment
Bringing in graphics from other applications
Interacting with Layout Objects
Keyboard control of a layout
Setting the tab order
Assigning names to layout objects
Controlling visual spell-checking
The Tab Control and Its Uses
Defining and creating a tab panel
Navigating between tab panels
Tab panel limitations
Displaying Related Data
Working within layout context
Setting up a portal
The Magic of Buttons
Defining buttons
Button scope and button commands
The button as an object
The Web Viewer: Inviting in the World
Setting up a Web viewer
Controlling a Web viewer
Complementary data concepts
Reports and Data Output
Considerations for printed output
Using fonts
Page sizes and page setup
Paper output versus PDF or Excel output
Composite PDFs from multiple layouts
Chapter 7: The Structure: The Manage Database Dialog
Working with Tables
Table concepts: A room with a view
Adding, deleting, and renaming tables
Moving tables between files
Importing tables
Specifying Fields
Adding, deleting, and renaming fields
Understanding field/data types and their significance
Auto-Entry options
Field validation options
Storage and indexing options
Summary and Calculation fields
Working with global fields
Basic Calculations
Creating a Calculation field
Defining a calculation formula
Entering literal text
Referencing fields
Understanding calculation functions and their syntax
Doing some simple calculations
The Relationships Graph
Common misconceptions about the Relationships Graph
Tables versus Table Occurrences
Avoiding circular references
Named and unnamed data sources
Creating references to other FileMaker files
Working with External SQL Data Sources
Configuring ODBC drivers: Setting up a DSN
Integrating SQL tables with FileMaker data
Adding supplemental fields
The Concept of Data Relationships
Why bother with relationships anyway?
How relationships work
Solving problems by using relationships
Deciding what goes where
The FileMaker relational model
Chapter 8: The Processes: FileMaker Scripting
Scripting: What It Is and What It Offers You
Building blocks of automation
Context is everything
Doing things in sequence
Addressing objects by name
Defining and Editing Scripts
Script Editor windows
Setting up a basic script
How script commands function
Changing the order of commands
Assigning attributes to a command
Using the Scripts Menu
Managing the Scripts menu
Other ways to trigger a script
Using the single-threaded script engine
Working with the script stack and paused scripts
Controlling Script Execution
Using conditional statements
Using repetition
Pausing for user input
Some Notable Script Uses
Navigation and view controls
Editing information via scripts
Printing and managing files
Ease of Editing in FileMaker Scripting
Selecting and duplicating multiple commands
Copying and pasting scripts
Copying and pasting script steps
Organizing Scripts
Creating list separators
Script commenting
Creating script folders
Reordering and grouping scripts
Filtering scripts by folder
Searching for scripts by name
Some Examples to Start With
Performing a Find
Printing a report
Acting on user input
Calling Your Scripts
The Scripts menu
Script hotkeys
Scripts assigned to custom menu commands
Layout buttons
Calling scripts from other scripts
On Timer Script Triggers
File Open and File Close scripts
Layout event Script Triggers
Object event Script Triggers
External script calls
Part III: Beyond the Basics
Chapter 9: The FileMaker Power User
Making Browse Mode Work for You
Using multiple windows and views
Filtering portals and creating pick lists
Jump buttons: Shortcut navigation
Controlling one window from another
Performing Complex Search Operations
Compound Find criteria: The AND Find
Stacking Find requests: The OR Find
Constraining and extending the found set
Saving Finds and found sets
Sorting Records
Multiple sort keys
Dynamic sort techniques
Creating click-sort columns
Sorting related data
Understanding Formatting
The management of formatting: A three-tiered approach
Character-level formatting
Paragraph-level formatting
Layout format filters
Precedence of number, date, and time formats
Controlling formatting programmatically
Creating style buttons
Some Notes on Variables
The three kinds of variables
Variables and memory usage
Instantiating and destroying variables
Keeping track of variables
Understanding Indexing
Text index types
Indexing myths exploded
Differences between numeric and text indexing
Unicode and alternate language indexes
Optimizing field index configurations
The Table of Dependencies
Cascading calculation operations
The limits of dependency
Tiers of dependency
Caching Join Results
What caching does for you
Solving caching problems
Gaining control of the cache
Understanding Global Fields
The behavior of global fields
Uses for global fields
When to avoid global fields
Using global calculation fields
Chapter 10: Building Advanced Interfaces
Developing for Mac and Windows Users
Selecting fonts
Paying attention to differences in screen rendering
Considering platform-specific window behavior
Using Dynamic Screen Elements
Disappearing/reappearing objects
The hidden power of conditional formatting
Multi-state buttons and objects
Working with Sub-Summary Parts and Part Controls
Building adaptable screens
Stacking up multiple Sub-summary parts
Using multiple break fields
Controlling pagination and page breaks
Designing for Print
Nonprinting objects
Sliding objects and reducing parts
Using Merge fields
Creating a letter generator
Using Multiple Windows and Views
Managing window placement and size
Windows as pop-ups and drill-downs
Simulating modal window behavior
Employing Custom Dialogs as an Interface Tool
Dialogs as a data-entry device
Dynamic dialog attributes
Looking at Anchors and Resizable Layout Objects
Objects that move according to window size
Objects that grow and shrink
Managing complex layout resizing
Resizing behavior of enclosing objects
Centering objects within the viewable area
Implementing Shortcut Navigation
The power of the Go to Related Record command
One interface, many paths
Building Back button functionality
Building Depth and Dimensionality
Using embossing and engraving effects
Spatial cues for added meaning
Delineation of element groups
Color
Transparency and translucency
Working with Tab Controls
Organizers and space savers
Tab navigation via keyboard
Scripting tab operations
Recognizing the Flexibility of Portals
Lists in many guises
Portals as a navigation device
Dynamically sorted portals
Innovative portal implementations
Using Advanced Web Viewer Techniques
Access to advanced functionality
Rendering internally calculated content
Scraping data from Web pages
Progress Bars and Native Charting Techniques
Creating script progress monitors
Native indicators and graphical displays
Using Interface Elements
Splash screens
Main menus
About and version info
Online Help for your users
Handling User Preferences
A user-centric development philosophy
Capturing state by user
Example — a multi-lingual solution interface
Chapter 11: Data Modeling in FileMaker
Background in Relational Theory
Set Theory in the management of data
Modeling the real world
Remembering some guiding principles
FileMaker Relationships Graph Symbols
Visual cues and clues
The TO as a pointer
Understanding the graph metaphor
Relationship Operators
Equi-joins and non-equal joins
Comparative operators (theta joins)
Cartesian joins
Multi-predicate relationships
Alternative Relationship Techniques
Multi-Key fields
Compound keys
One-way relationships
Join tables
Naturally occurring joins
Working with Data Arrays
Repeating fields as an array handler
Collapsing and expanding arrays
Relationship-based techniques for managing data
Graph Techniques — Spiders, Squids, and Anchor-Buoy
Constellations and modular centers
A satellite-based graph solution
Segmentation on functional lines
Documenting the Database Structure
Graph annotations
Naming conventions
Field commenting
Ancillary notes and documentation
The Concept of Layers
“Back end” and “front end”
The business or procedural layer
FileMaker as an integrated environment
Separation anxiety
File Architecture versus Data Structure
Multi-file solutions
The modular approach
Interface files
Approaches to separation of data
Costs and benefits of separation
Separation and External SQL Sources
Understanding the rules
Working within constraints
Supporting the user
Implementing Separation in an Existing Solution
Establishing data source(s)
Re-pointing Table Occurrences
Creating separate graphs
Deployment Considerations
Your remotest dreams
The model of adaptability
Chapter 12: Calculation Wizardry
Compound Calculation Expressions
The language of logic
Functions and schema references
Structured syntax and nesting
Putting it all together
Order of Operations
Boolean Operations
Zero, empty, and everything else
Implicit Boolean coding
Explicit Boolean coding
Variables — Calculation, Script, and Global
Declaring calculation variables — the Let( ) function
Understanding variables' scope
Benefiting from variables in a calculation
Text Processing and Parsing Functions
Substitute, Replace, and Trim
Left, Right, and Middle
Position and PatternCount
The xWords suite
Parsing in practice
Text Formatting Operations
Applying text formatting
Removing text formatting
Applying selective formatting
Creating a Format button
Dates, Times, and Timestamps
How FileMaker manages dates
Plotting time
The number of seconds in 2009 years
Juggling days, months, and years
Summary Data
Using aggregate functions
The ballad of Max and Min
Referencing summary fields
Lists and Arrays
Retrieving values as a list
Managing lists — the xValues functions
Extracting one value from a list
Adding or inserting a list value
Removing a value from a list
Layers of Abstraction
Building blocks with GetField( )
Completing the circuit with GetFieldName( )
The value of Evaluate( )
Unstored Calculations
Why and when calculations are unstored
Understanding the benefits and trade-offs of unstored calculations
Discovering the hidden secrets of unstored calcs
Calculation Fields versus Auto-Enter Calculations
The user over-ride capability
Auto-enter calculations and storage
The Do Not Replace option
Global Calculations
The moon follows you everywhere
Managing global dependencies
The freedom and efficiency of global calculations
Environment and Metadata
The Get( ) functions
Design functions
Calculations Using Custom Functions
Documenting Your Code
Code formatting
Code commenting
Chapter 13: Scripting in Depth
Scripting the Control of Objects and Interface
Addressing objects by name
Locking down the interface
Managing user interaction
Trapping for Errors
Retrieving error codes appropriately
What the error codes mean
Why bother with error handling?
Handling errors
Scripts and Access Privileges
Privilege-based errors
Run script with full access privileges
Determining the substantive privileges
Automating the Automation
Defining a script to run on file open
Housekeeping practices for start-up scripts
Scripts that run on file close
Script Triggers
Harnessing the Power of Parameters, Results, and Variables
Getting data into a script
Branching according to state
Declaring variables
Passing and retrieving multiple parameters
Specifying and retrieving a script result
Storing and accumulating data as you go
Dynamic and Indirect Controls in Scripts
Example — Go to Layout by name or number
Dynamic file paths using variables
Dynamically building Find criteria
Editing field data on the fly (indirection)
Using Nonlinear Logic
Nested and sequential If/Else conditions
Looping constructs
Specifying exit conditions
Modular Script Code
Using sub-scripts
Script recursion
Scripted Window Management
Addressing windows by name (title)
Moving and resizing windows
Creating windows off-screen
Freezing and refreshing the screen
Scripting Data Import and Export
Exporting field contents
Exporting table data
Selecting fields for export
Import options
Data matching for import
Loading and unloading container objects
Pivoting Data between Tables
Using utility relationships
Managing related data (walking through related records)
Going over Some Practical Examples
Locating unique records
Building a multi-part PDF report
Part IV: Integrity and Security
Chapter 14: In Control with FileMaker Security
Concepts of Security
Balance and perspective
Protecting your investment
Interface vulnerabilities
The Privilege Set
Concepts of role-based security
Defining and constraining access
Schema privilege controls
Granular Security
Access to value lists and scripts
The two dimensions of layout access
Privileges for table, record, and field access
Using and managing extended privileges
User Authentication
Creating user accounts
Internal and external authentication
Scripted Account Management
Provision for automation of database security
Working with multi-file solutions
Safe scripting implementations
Creating a Custom Logout Option
The locked-down database
Structuring a solution for logging out
Security logging
How Much Security Is Enough?
Ways to evaluate risk
A balanced view of threats
A strategic model for response
The Importance of Physical File Security
Layers of protection
Alternative forms of protection
A multi-faceted approach
Security in Deployment: FileMaker Server
Filtered display of files
Secure Socket Layer encryption
Server checks and logs
Chapter 15: Maintaining Referential Integrity
Pinpointing Common Causes of Referential Integrity Problems
The potential impact on your solution
Costs and benefits
Using Unique Keys
Key safeguards
Keys and meaning (existence, persistence, uniqueness)
Generating Keys
Serial numbers
Record IDs
Unique identification (UID) values
Exploring Keys and Data Type
Retrofitting Keys
Deleting Redundant Records
The use of cascading deletion
Configuring relationships for referential integrity
Privilege requirements for cascade delete
Controlled cascading deletes at runtime
Considering Other Integrity Issues
Lookups and when to use them
Auto-entry lookups and references
Data design issues
Managing Dependencies
Literal text references
Indirect object/element references
Filename references
Structural anomalies
Chapter 16: Making FileMaker Systems Fail-Safe
Expecting the Unexpected
Successful backup strategies
The hazards of copying open files
Backing up local files
Backing up hosted files
A Comprehensive Approach to Error Trapping
Dealing with record locking
Techniques to avoid in multi-user or multi-window environments
Opening Remote Files
Peer-to-peer hosting
File sharing risks
Network spaghetti
Opener files
Sending an e-mail link
Temporary Edit Interface Techniques
The Data Viewer concept
The legitimate purpose of record locking
Creating double-blind entry systems
Field Masking, Filtering, and Error Rejection
Applying standard data formations
Dealing with trailing spaces and carriage returns
Rejecting out-of-scope characters
Handling styled source text
Built-In Logging Capabilities
Making use of auto-enter options
Capturing and extending standard metadata
Script Logging
Infrastructure for script logging
Tracking script execution
Capturing User Edits in Detail
Trapping edits, field-by-field
Incorporating ancillary data
Logging record deletions
Managing the Accumulation of Log Data
Archiving options
Generating secondary output
Implementing Roll-Back Capabilities
Chronological roll-back
Alternative undo and roll-back capabilities
Using logs to roll forward
Alternative Logging Approaches
Logs as Data
Scripted and triggered logging
Chapter 17: Maintaining and Restoring Data
Some Notes on File Recovery
Debunking common myths and misconceptions
The Recover process
Salvaging data
Understanding file corruption
Exporting and Importing Data
File format considerations
Exporting to and importing from a folder
Delimiters and EOL markers
Data Cleansing Operations
Extract, transform, and load
Data format considerations
Filtering capabilities in FileMaker
Synchronizing Data Sets
Import matching
Importing selectively
Handling Embedded Images and Stored Files
Assigning and retrieving paths
Scripted field updates
Text-Handling Considerations
Export field contents
Designing a custom export process
Part V: Raising the Bar
Chapter 18: FileMaker Pro Advanced Features
Script Debugger
Watching code in action
Debugging restricted privilege scripts
Getting used to the Debugger controls
Data Viewer
Current and Watch panels
Using the Viewer with the Debugger
The Data Viewer sand box
The Data Viewer and variables
Database Design Report
DDR capabilities
Mining the DDR for information
Tools and techniques for interpreting DDR data
Creating Custom Menus
Defining menus
Editing individual menus
Adding menus to sets
Assigning menu sets throughout your file
Custom Functions
Defining custom functions
Custom functions as an aid to syntax readability
Maximizing efficiency and ease of use
Custom Functions and Recursion
Things that only custom functions can do
The stack and the limits of recursion
Tail recursion in practice
Some useful examples
Creating Runtime Applications
Generating a stand-alone solution
Binding for each platform
Hosting runtime files
Chapter 19: Efficient Code, Efficient Solutions
Designing for Scale: Size Considerations
The elephant in the cherry tree
Predicting what will scale well
Eliminating Redundancy
Avoiding duplication of elements
Using portable and reusable code
Designing for Flexibility and Adaptability
Layouts and adaptable design
Concepts of reusability applied to the Relationships Graph
Traveling the Shortest Distance Between Two Points
Optimal calculation syntax
Alternative syntax examples
Avoiding dependency “spaghetti”
Applying simplicity principles
Transaction Modeling
Live versus batch data
Posting edits and propagating edits to related records
Offline updates and processing
Robots and batch automation
Host/server script execution
Managing File Size
Dealing with data in chunks
Data archiving
Images and Media in Databases
Chapter 20: Extending FileMaker's Capabilities
External Scripting Calls
Using Send Event and VBScript
Perform AppleScript
Cross-platform solutions and external script calls
Third-party helpers and macros
Rendering HTML and JavaScript
Harnessing HTTP
Bringing services to your solution
Handling hypertext
Web Viewer Widgets
Charting with Flash
Applets and servlets
FileMaker Plug-Ins
Installing and enabling plug-ins
Using external functions
Script triggering
Dialog capabilities
File and media handling
E-mail, HTTP, and FTP
Charting and other functionality
Web Deployment Options
Instant Web publishing
Custom Web publishing
Finding Third-Party Tools
Developer tools
Analysis and documentation
Shared information
Part VI: Appendixes
Appendix A: Expanding Your Knowledge with Additional Resources
Appendix B: About the Web Site
FileMaker® Pro 10 Bible
Ray Cologon, PhD
FileMaker® Pro 10 Bible
Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com
Copyright © 2009 by Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-0-470-42900-6
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Website is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Website may provide or recommendations it may make. Further, readers should be aware that Internet Websites listed in this work may have changed or disappeared between when this work was written and when it is read.
For general information on our other products and services or to obtain technical support, please contact our Customer Care Department within the U.S. at (877) 762-2974, outside the U.S. at (317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books.
Library of Congress Control Number: 2009924155
Trademarks: Wiley and related trade dress are registered trademarks of Wiley Publishing, Inc., in the United States and other countries, and may not be used without written permission. FileMaker is a registered trademark of FileMaker, Inc. All other trademarks are the property of their respective owners. Wiley Publishing, Inc., is not associated with any product or vendor mentioned in this book.
About the Author
Ray Cologon began using FileMaker in 1990, after having taught and worked with a number of other database tools. He subsequently used FileMaker to compile and analyze data for his doctoral thesis, as well as to design databases for a wide range of other purposes.
Ray has had a diverse career in the creative arts, education, and consulting. Over the past decade, he has developed his own business, NightWing Enterprises, (www.nightwing.com.au/FileMaker) which specializes in the design and development of bespoke FileMaker Pro solutions and provides consulting services to developers and clients in various parts of the world. In 2005, Ray was recipient of the FileMaker Excellence Award for Leadership and Technical Excellence in FileMaker Pro, and he has been a presenter at recent FileMaker Developer Conferences in the United States. He has also been a significant contributor to and moderator of a number of public forums on FileMaker and is a FileMaker Certified Developer.
Ray lives in Melbourne, Australia, where he is known for his sculpture and music, as well as his innovative work with FileMaker Pro.
Dedication
To my many colleagues in the FileMaker Developer Community, whose commitment, ingenuity, and passion provide constant inspiration!
Credits
Acquisitions Editor
Kyle Looper
Project Editor
Kelly Ewing
Copy Editor
Kelly Ewing
Technical Editors
Corn Walker
Jason DeLooze
Editorial Manager
Jodi Jensen
Vice President & Executive Group Publisher
Richard Swadley
Vice President and Publisher
Andy Cummings
Editorial Director
Mary C. Corder
Project Coordinator
Kristie Rees
Graphics and Production Specialists
Andrea Hornberger
Sarah Philippart
Quality Control Technician
Melissa Cossell
Proofreading and Indexing
Bonnie Mikkelson
Sossity R. Smith
Broccoli Information Mgt.
In a project of the size and complexity of this book, many people are involved in the process that delivers the final bound copy into your hands, and 'listing or individually thanking them all isn't feasible. However, I'd like to make a special mention of those at FileMaker, Inc. whose sustained dedication and attention to detail has produced the remarkable application that is FileMaker Pro 10.
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!