| | Copyright |
| | About the Authors |
| | Acknowledgments |
| | We Want to Hear from You! |
| | INTRODUCTION Welcome to FileMaker Pro 7 |
| | | Waiter, There's a Software Development Tool in My Productivity Application! |
| | | How This Book Is Organized |
| | | A Brave, New World |
| | Part I. Getting Started with FileMaker 7 |
| | | Chapter 1. FileMaker Overview |
| | | Introduction to Database Software |
| | | Overview of the FileMaker 7 Product Line |
| | | FileMaker Deployment Options |
| | | What's New in FileMaker Pro 7 |
| | | Chapter 2. Using FileMaker Pro |
| | | Getting Started |
| | | Working in FileMaker Pro |
| | | Troubleshooting |
| | | FileMaker Extra: Becoming a FileMaker Pro Power User |
| | | Chapter 3. Defining and Working with Fields |
| | | Working Under the Hood |
| | | Working with Fields |
| | | Working with Field Types |
| | | Assigning Field Options |
| | | Troubleshooting |
| | | FileMaker Extra: Indexing in FileMaker Pro 7 |
| | | Chapter 4. FileMaker Fundamentals: Working with Layouts |
| | | What's a Layout? |
| | | Creating and Managing Layouts |
| | | Working with Parts |
| | | Working with Objects on a Layout |
| | | Working with Fields |
| | | Troubleshooting |
| | | FileMaker Extra: Designing Cross-Platform “Friendly Layouts |
| | Part II. Developing Solutions with FileMaker |
| | | Chapter 5. Relational Database Design |
| | | Understanding Database Design |
| | | Database Analysis |
| | | Working with Entities and Attributes |
| | | Understanding Relationships |
| | | Relationship Optionality |
| | | Understanding the Role of Keys in Database Design |
| | | Many-to-Many Relationships: Solving the Puzzle |
| | | The Basics of Process Analysis |
| | | FileMaker Extra: Complex Many-to-Many Relationships |
| | | Chapter 6. Working with Multiple Tables |
| | | Multi-table Systems in FileMaker Pro |
| | | Creating a One-to-Many Relationship in FileMaker |
| | | Working with Keys and Match Fields |
| | | Understanding Table Context |
| | | Working with Related Data |
| | | Creating a Many-to-Many Relationship |
| | | Relational Integrity |
| | | Troubleshooting |
| | | FileMaker Extra: Building a Three-Way Join |
| | | Chapter 7. Working with Relationships |
| | | Relationship Graphs and ERDs |
| | | Relationships as Queries |
| | | Creating Self-Relationships |
| | | Creating Ranged Relationships |
| | | Creating Cross-Product Relationships |
| | | Working with Data from Distant Tables |
| | | Working with Multiple Files |
| | | How and When to Use Multiple Files |
| | | Troubleshooting |
| | | FileMaker Extra: Managing the Relationships Graph |
| | | Chapter 8. Getting Started with Calculations |
| | | Understanding How and Where Calculations Are Used |
| | | Exploring the Calculation Dialog Box |
| | | Essential Functions |
| | | Using Conditional Functions |
| | | Aggregate Functions |
| | | Learning About the Environment |
| | | Troubleshooting |
| | | FileMaker Extra: Tips for Becoming a Calculation Master |
| | | Chapter 9. Getting Started with Scripting |
| | | Scripts in FileMaker Pro |
| | | Creating Scripts |
| | | Common Scripting Techniques |
| | | Triggering Scripts |
| | | Working with Buttons on Layouts |
| | | Troubleshooting |
| | | FileMaker Extra: Creating a Script Library |
| | | Chapter 10. Reporting with Grouped Data |
| | | Deriving Meaning from Data |
| | | Working with Lists of Data |
| | | Summarized Reports |
| | | Troubleshooting |
| | | FileMaker Extra: Incorporating Reports into the Workflow |
| | Part III. Developer Techniques |
| | | Chapter 11. Developing for Multi-User Deployment |
| | | Developing for Multiple Users |
| | | "Sessions" in FileMaker Pro |
| | | Concurrency |
| | | Audit Trails in FileMaker Pro |
| | | Launch Files |
| | | Troubleshooting |
| | | FileMaker Extra: Development with a Team |
| | | Chapter 12. Implementing Security |
| | | FileMaker Security Features Overview |
| | | FileMaker Server Security Features |
| | | Assessing the Security Risk |
| | | Developing a Security Plan |
| | | Troubleshooting |
| | | FileMaker Extra: Configuring External Authentication Servers for Mac OS X |
| | | Chapter 13. Advanced Layout Techniques |
| | | User Interfaces in FileMaker Pro |
| | | Navigation |
| | | Multi-Window Interfaces |
| | | Showing/Hiding Contextual Layout Elements |
| | | Dedicated Find Layouts |
| | | Data Presentation |
| | | Working with Table View |
| | | Troubleshooting |
| | | FileMaker Extra: User Interface Heuristics |
| | | Chapter 14. Specialized Calculation Functions |
| | | What's a Specialized Function? |
| | | Logical Functions |
| | | Text Formatting Functions |
| | | Array Functions |
| | | The "Filter"-ing Functions |
| | | Custom Functions |
| | | Troubleshooting |
| | | FileMaker Extra: Creating a Custom Function Library |
| | | Chapter 15. Advanced Scripting |
| | | What Is Advanced Scripting? |
| | | Script Parameters |
| | | Window Management Techniques |
| | | Go to Related Record |
| | | Troubleshooting |
| | | FileMaker Extra: Recursive Scripts |
| | | Chapter 16. Working with Portals |
| | | Portals in FileMaker Pro |
| | | Portal Basics |
| | | "New Record Only" Relationships |
| | | "Horizontal" Portals |
| | | Selection Portals |
| | | Filtered Portals |
| | | Dynamic Portal Sorting |
| | | Troubleshooting |
| | | FileMaker Extra: Portals and Record Locking |
| | | Chapter 17. Troubleshooting |
| | | What Is Troubleshooting? |
| | | Staying Out of Trouble |
| | | Planning for Trouble |
| | | Troubleshooting Scripts and Calculations |
| | | Troubleshooting in Specific Areas: Performance, Context, Connectivity, and Globals |
| | | File Maintenance and Recovery |
| | | FileMaker Extra: Other Tools of the Trade |
| | | Chapter 18. Converting Systems from Previous Versions of FileMaker Pro |
| | | Migration Choices |
| | | Converting Files |
| | | Pre-Conversion Tasks |
| | | Post-Conversion Tasks |
| | | Troubleshooting |
| | | FileMaker Extra: Converting Web-Enabled Databases |
| | Part IV. Data Integration and Publishing |
| | | Chapter 19. Importing Data into FileMaker Pro |
| | | Working with External Data |
| | | Flat-File Data Sources |
| | | Importing Multiple Files from a Folder |
| | | Importing Photos from a Digital Camera |
| | | Importing from an ODBC Data Source |
| | | Importing from an XML Data Source |
| | | Using a Script to Import Data |
| | | Troubleshooting |
| | | FileMaker Extra: Exploiting the FileMaker-to-FileMaker Import |
| | | Chapter 20. Getting Data Out of FileMaker |
| | | Reasons for Exporting Data |
| | | Fundamentals of Exporting Data |
| | | Exporting with Layout Formatting |
| | | Fixed-Length Field Exporting |
| | | Exporting Field Contents |
| | | Exporting Grouped Data |
| | | Scripted Exports |
| | | Accessing FileMaker Data Using ODBC/JDBC |
| | | Troubleshooting |
| | | FileMaker Extra: Installing and Troubleshooting the ODBC Client Driver |
| | | Chapter 21. Instant Web Publishing |
| | | Instant Web Publishing ”An Overview |
| | | Enabling and Configuring IWP |
| | | Designing for IWP Deployment |
| | | Using an IWP Solution |
| | | Troubleshooting |
| | | FileMaker Extra: Building Your Own Next and Previous Page Buttons |
| | | Chapter 22. FileMaker and Web Services |
| | | About Web Services |
| | | FileMaker and XML |
| | | Transforming XML |
| | | XML Import: Understanding Web Services |
| | | Working with Web Services |
| | | Using FileMaker as a Web Services Source |
| | | Troubleshooting |
| | | FileMaker Extra: Write Your Own Web Services |
| | | Chapter 23. Custom Web Publishing |
| | | About Custom Web Publishing |
| | | Custom Web Publishing Versus Instant Web Publishing |
| | | Custom Web Publishing Versus XML Export |
| | | Getting Your Databases Ready for Custom Web Publishing |
| | | Setting Up the Server-Side Components for CWP |
| | | Publishing FileMaker Data as XML |
| | | Using XSLT with Custom Web Publishing |
| | | Building Web Applications with XSLT-CWP |
| | | Other Custom Web Publishing Commands and Parameters |
| | | About the FileMaker XSLT Extensions |
| | | About Sessions |
| | | Troubleshooting |
| | | FileMaker Extra: About the Custom Web Publishing Tools |
| | Part V. Deploying a FileMaker Solution |
| | | Chapter 24. FileMaker Deployment Options |
| | | FileMaker Deployment Options |
| | | Single User |
| | | Peer-to-Peer Hosting |
| | | FileMaker Server |
| | | Web Publishing |
| | | ODBC/JDBC |
| | | Citrix/Terminal Services |
| | | Runtime Solutions |
| | | Deploying to Handheld Devices |
| | | Chapter 25. FileMaker Server |
| | | About FileMaker Server |
| | | Installing FileMaker Server |
| | | Running FileMaker Server |
| | | Using the Server Administration Tool |
| | | Configuring and Administering FileMaker Server Using the SAT |
| | | Managing Clients |
| | | Managing Databases |
| | | Administration from the Command Line |
| | | Working with External Services |
| | | Automatically Updating Plug-ins |
| | | Scheduled Tasks |
| | | Monitoring FileMaker Server |
| | | Troubleshooting |
| | | FileMaker Extra: Best Practices Checklist |
| | | Chapter 26. FileMaker Developer and Plug-ins |
| | | FileMaker Developer |
| | | Plug-ins |
| | | Troubleshooting |
| | | FileMaker Extra: The Limits of Customization |
| | Part VI. Appendixes |
| | | Appendix A. Additional Resources |
| | | General Information on Relational Databases |
| | | Data Modeling and Database Design |
| | | Running a FileMaker Consulting Practice |
| | | General Resources for Tips and Tricks |
| | | Hosting FileMaker Databases on the Web |
| | | FileMaker News Sources |
| | | Plug-ins |
| | | Developer Tools |
| | | Web Programming |
| | | XML/XSL |
| | | ODBC/JDBC |
| | | Appendix B. Calculation Function Reference |
| | | Abs()z |
| | | Atan() |
| | | Average() |
| | | Case() |
| | | Ceiling() |
| | | Choose() |
| | | Combination() |
| | | Cos() |
| | | Count() |
| | | DatabaseNames() |
| | | Date() |
| | | Day() |
| | | DayName() |
| | | DayOfWeek() |
| | | DayOfYear() |
| | | Degrees() |
| | | Div() |
| | | Evaluate() |
| | | EvaluationError() |
| | | Exact() |
| | | Exp() |
| | | Extend() |
| | | External() |
| | | Factorial() |
| | | FieldBounds() |
| | | FieldComment() |
| | | FieldIDs() |
| | | FieldNames() |
| | | FieldRepetitions() |
| | | FieldStyle() |
| | | FieldType() |
| | | Filter() |
| | | FilterValues() |
| | | Floor() |
| | | FV() |
| | | Get(AccountName) |
| | | Get(ActiveFieldContents) |
| | | Get(ActiveFieldName) |
| | | Get(ActiveFieldTableName) |
| | | Get(ActiveModifierKeys) |
| | | Get(ActiveRepetitionNumber) |
| | | Get(ActiveSelectionSize) |
| | | Get(ActiveSelectionStart) |
| | | Get(AllowAbortState) |
| | | Get(ApplicationLanguage) |
| | | Get(ApplicationVersion) |
| | | Get(CalculationRepetitionNumber) |
| | | Get(CurrentDate) |
| | | Get(CurrentHostTimestamp) |
| | | Get(CurrentTime) |
| | | Get(CurrentTimestamp) |
| | | Get(ErrorCaptureState) |
| | | Get(ExtendedPrivileges) |
| | | Get(FileName) |
| | | Get(FilePath) |
| | | Get(FileSize) |
| | | Get(FoundCount) |
| | | Get(HighContrastColor) |
| | | Get(HighContrastState) |
| | | Get(HostName) |
| | | Get(LastError) |
| | | Get(LastMessageChoice) |
| | | Get(LastODBCError) |
| | | Get(LayoutAccess) |
| | | Get(LayoutCount) |
| | | Get(LayoutName) |
| | | Get(LayoutNumber) |
| | | Get(LayoutTableName) |
| | | Get(LayoutViewState) |
| | | Get(MultiUserState) |
| | | Get(NetworkProtocol) |
| | | Get(PageNumber) |
| | | Get(PortalRowNumber) |
| | | Get(PrinterName) |
| | | Get(PrivilegeSetName) |
| | | Get(RecordAccess) |
| | | Get(RecordID) |
| | | Get(RecordModificationCount) |
| | | Get(RecordNumber) |
| | | Get(RequestCount) |
| | | Get(ScreenDepth) |
| | | Get(ScreenHeight) |
| | | Get(ScreenWidth) |
| | | Get(ScriptName) |
| | | Get(ScriptParameter) |
| | | Get(SortState) |
| | | Get(StatusAreaState) |
| | | Get(SystemIPAddress) |
| | | Get(SystemLanguage) |
| | | Get(SystemNICAddress) |
| | | Get(SystemPlatform) |
| | | Get(SystemVersion) |
| | | Get(TotalRecordCount) |
| | | Get(UserCount) |
| | | Get(UserName) |
| | | Get(WindowContentHeight) |
| | | Get(WindowContentWidth) |
| | | Get(WindowDesktopHeight) |
| | | Get(WindowDesktopWidth) |
| | | Get(WindowHeight) |
| | | Get(WindowLeft) |
| | | Get(WindowMode) |
| | | Get(WindowName) |
| | | Get(WindowTop) |
| | | Get(WindowVisible) |
| | | Get(WindowWidth) |
| | | GetAsCSS() |
| | | GetAsDate() |
| | | GetAsNumber() |
| | | GetAsSVG() |
| | | GetAsText() |
| | | GetAsTime() |
| | | GetAsTimestamp() |
| | | GetField() |
| | | GetNextSerialValue() |
| | | GetRepetition() |
| | | GetSummary() |
| | | Hour() |
| | | If() |
| | | Int() |
| | | IsEmpty() |
| | | IsValid() |
| | | IsValidExpression() |
| | | Last() |
| | | LayoutIDs() |
| | | LayoutNames() |
| | | Left() |
| | | LeftValues() |
| | | LeftWords() |
| | | Length() |
| | | Let() |
| | | Lg() |
| | | Ln() |
| | | Log() |
| | | Lookup() |
| | | LookupNext() |
| | | Lower() |
| | | Max() |
| | | Middle() |
| | | MiddleValues() |
| | | MiddleWords() |
| | | Min() |
| | | Minute() |
| | | Mod() |
| | | Month() |
| | | MonthName() |
| | | NPV() |
| | | PatternCount() |
| | | Pi |
| | | PMT() |
| | | Position() |
| | | Proper() |
| | | PV() |
| | | Quote() |
| | | Radians() |
| | | Random |
| | | RelationInfo() |
| | | Replace() |
| | | RGB() |
| | | Right() |
| | | RightValues() |
| | | RightWords() |
| | | Round() |
| | | ScriptIDs() |
| | | ScriptNames() |
| | | Seconds() |
| | | SerialIncrement() |
| | | SetPrecision() |
| | | Sign() |
| | | Sin() |
| | | Sqrt() |
| | | StDev() |
| | | StDevP() |
| | | Substitute() |
| | | Sum() |
| | | TableIDs() |
| | | TableNames() |
| | | Tan() |
| | | TextColor() |
| | | TextFont() |
| | | TextSize() |
| | | TextStyleAdd() |
| | | TextStyleRemove() |
| | | Time() |
| | | Timestamp() |
| | | Trim() |
| | | Truncate() |
| | | Upper() |
| | | ValueCount() |
| | | ValueListIDs() |
| | | ValueListItems() |
| | | ValueListNames() |
| | | Variance() |
| | | VarianceP() |
| | | WeekOfYear() |
| | | WeekOfYearFiscal() |
| | | WindowNames |
| | | WordCount() |
| | | Year() |
| | | Appendix C. Script Step Reference |
| | | About the Script Step Reference |
| | | Appendix D. Documenting FileMaker Pro Systems |
| | | Why Is Documentation Important? |
| | | Developing Naming Conventions |
| | | Using Comments Effectively |
| | | Documenting the Relationships Graph |
| | | Using the Database Design Report |
| | | Using Third-Party Documentation Tools |
| | | Putting the Finishing Touches on Your Documentation |
| | | Final Thoughts on Documentation |
| | Index |