LEARN FILEMAKER PRO 19 the comprehensive guide to building custom databases. [2 ed.]
9781484266809, 1484266803
257
59
21MB
English
Pages [756]
Year 2021
Report DMCA / Copyright
DOWNLOAD PDF FILE
Table of contents :
Table of Contents
About the Author
About the Technical Reviewer
Foreword
Introduction
Part I: Using FileMaker
Chapter 1: Introducing FileMaker
A Brief Introduction to Databases
The History of FileMaker in a Nutshell
Nashoba Systems
Claris International
FileMaker
Claris International Reborn
Adapting to the Integrated Full Stack
Reviewing the Product Line
Creating with FileMaker Pro
Sharing with FileMaker Server and Cloud
Accessing with FileMaker Go and WebDirect
Summary
Chapter 2: Exploring the Application
Introducing the Launch Center Window
Configuring Application Preferences
Preferences: General
General: User Interface Options
General: Username
General: Application
Preferences: Layout
Preferences: Memory
Preferences: Plug-Ins
Preferences: Permitted Hosts
Exploring Menus (Browse Mode)
FileMaker Pro Menu
File Menu
File: Manage Submenu
Edit Menu
View Menu
Insert Menu
Format Menu
Records Menu
Scripts Menu
Tools Menu
Window Menu
Help Menu
Accessing Contextual Menus
Contextual Menus for Fields
Contextual Menus for Record Content Area
Contextual Menus for Web Viewers
Contextual Menus for Window Components
Contextual Menus for Calculation Formulas
Summary
Chapter 3: Exploring a Database Window
Identifying Window Regions and Modes
Defining Window Modes
Defining Content Views
Exploring the Window Header
Status Toolbar (Browse Mode)
Default Toolbar Items (Browse Mode)
Record Navigation Controls
Function Buttons
Quick Find Search Field
Layout Menu
Content View Buttons
Preview Button
Formatting Bar Button
Edit Layout Button
Customizing the Toolbar (Browse Mode)
Adding, Removing, and Rearranging Toolbar Items
Restoring the Default Toolbar Set
Formatting Bar
Horizontal Ruler
Using Multiple Windows
Creating a New Window
Selecting a Window from the Menu
Hiding and Showing Windows
Summary
Chapter 4: Working with Records
Entering Data
Opening a Record
Understanding Field Focus
Modifying Field Contents
Closing a Record
Creating, Deleting, and Duplicating Records
Searching Records
Performing Fast Searches
Searching with Quick Find
Searching with Find Matching
Using Find Mode
Status Toolbar (Find Mode)
Default Toolbar Items (Find Mode)
Navigation Controls
Function Buttons
Saved Finds Menu
Layout Menu
Content View Buttons
Matching Records Options
Insert Operators Menu
Customizing the Toolbar (Find Mode)
Entering Criteria and Performing the Find
Using Search Operators
Manipulating a Previously Executed Find
Modifying the Last Find
Extending the Last Find
Constraining the Last Find
Managing Multiple Find Requests
Specifying a Matching Record Option
Working with Saved Finds
Managing a Find Request
Editing a Find Request Criteria
Working with Found Sets
Changing the Records in the Found Set
Sorting Records in the Found Set
Modifying Field Values in a Found Set
Replace Field Contents
Relookup Field Contents
Find and Replace
Spell-checking
Exploring the Spelling Menu
Contextual Spelling Features
Printing
Using Preview Mode
Status Toolbar (Preview Mode)
Default Status Toolbar Items (Preview Mode)
Navigation Controls
Function Buttons
Exit Preview Button
Customizing the Status Toolbar (Preview Mode)
Page Setup
Print Dialog Options
Summary
Chapter 5: Transferring Records
Supported File Types
Importing Records
Performing an Import
Browsing the Source Data
Selecting a Target Table
Mapping Fields from Source to Target
Setting Import Options
Finishing the Import
Changing the Import Type
Updating Matching Records in Found Set
Replacing Records in Found Set
Setting Up an Automatic Recurring Import
Exporting Records
Specifying Export Fields
Summarizing Output into Groups
Summary
Part II: Defining Data Structures
Chapter 6: Working with Database Files
Creating a New Database File
Creating a Database from a Starter Solution
Creating a Database from a Blank Template
Converting an Existing File into a Database
Configuring a Sandbox Table
Changing the Default Table Name
Adding Placeholder Fields
Creating Data Entry Fields
Creating a Calculation Field
Creating a Summary Field
Reviewing the Sandbox Fields
Setting Up Placeholder Layouts
Renaming the Default Layout as a Form View
Adding Fields to a Layout
Creating a List Layout
Configuring File Options
File Options: Open
File Options: Icon
File Options: Spelling
File Options: Text
File Options: Script Triggers
Designing and Maintaining Healthy Files
Avoiding Design and Training Deficiencies
Overwriting an Existing Record
Forgetting to Commit a Record
Deleting Records Carelessly
Misidentifying a Found Set
Restraining File Size
Designing Efficiently
Avoiding Fragmentation
Avoiding File Damage
Share Properly
Close Files Properly
Maintain Hardware and Software
Exploring Maintenance Functions
Saving a Copy As
Performing a Consistency Check
Recovering a File
Advanced Recovery Options
Troubleshooting a Damaged File
Locating Damage
Checking the Database Structure
Checking the Record Data
Determining the Best Course of Action
Transferring Records into a Good Structure
Summary
Chapter 7: Working with Tables
Introducing Object Modeling
Introducing the Manage Database Dialog (Tables)
Planning Table Names
Managing Tables
Adding Tables
Creating a New Table
Duplicating an Existing Table
Importing a Table
Adding a Table from an ODBC Data Source (macOS)
Preparing a Computer for an ODBC Connection
Installing the ODBC Manager Application
Installing the ODBC Driver
Configuring Driver
Connecting a FileMaker Database to the ODBC Client Driver
Setting Up External Data Source
Adding to Relationship Graph
Defining an ODBC “Shadow Table” in FileMaker
Renaming and Deleting Tables
Adding Tables to the Example Database
Summary
Chapter 8: Defining Fields
Defining Field Data Types
Entry Fields
Text Fields
Number Fields
Date Fields
Two-Digit Date Conversion
Time Fields
Timestamp Fields
Container Fields
Display Fields
Calculation Fields
Summary Fields
Introducing the Manage Database Dialog (Fields)
Planning Field Names
Defining Default Fields
Creating Your Own Standard Fields
Grouping Standard Fields
Managing Fields
Creating a New Field
Duplicating an Existing Field
Modifying a Field Name or Comment
Modifying a Field’s Type
Deleting Fields
Setting Field Options
Options for Entry Fields
Field Options: Auto-Enter
Automatically Enter the Following Data into This Field
Lookup for Field Dialog
Prohibit Modification of Value During Data Entry
Field Options: Validation
Validation Control
Validation Requirements
Display Custom Message if Validation Fails
Exploring Validation Alternatives
Field Options: Storage
Global Storage
Repeating
Indexing
Container Storage Options
Field Options: Furigana
Options for Display Fields
Options for Summary Field Dialog
Adding Fields to the Example Database
Defining Company Fields
Defining Contact Fields
Defining Project Fields
Renaming and Modifying Default Fields
Summary
Chapter 9: Forming Relationships
Introducing Relationships
Visualizing Relationships
One-to-One Relationship
One-to-Many Relationship
Many-to-Many Relationship
FileMaker’s Unique Multi-key Option
Indexing Match Fields
Using Table Occurrences
Avoiding Hub-and-Spoke Monoliths
Embracing Table Occurrence Groups
Planning a Learn FileMaker Relational Object Model
Managing Data Sources
Introducing the Manage External Data Sources Dialog
Exploring the Edit Data Source Dialog
Introducing the Manage Database Dialog (Relationships)
Working with Table Occurrences
Selecting Table Occurrences
Interacting with Table Occurrences
Arranging and Resizing Occurrences
Viewing Options
Formatting Table Occurrences
Editing Table Occurrences
Introducing the Specify Table Dialog
Adding Table Occurrences
Creating a New Occurrence
Duplicating an Existing Occurrence
Deleting Occurrences
Printing the Relationship Graph
Building Relationships
Adding Relationships
Dragging a Connection Between Occurrences
Using the Add Relationship Button
Manipulating Relationships
Introducing the Edit Relationship Dialog
Selecting a Comparative Operator
Relationship Options
Allowing Creation of Related Records
Automatically Delete Related Records
Sorting Related Records
Adding Notes to the Graph
Implementing a Simple Relational Model
Summary
Chapter 10: Managing Containers
Inserting Files into Containers
Using the Insert Menu
Dragging and Dropping
Copying and Pasting
Extracting Files from Containers
Explaining Container Storage Options
Storing Files Internally
Storing a Reference to an External File
Using Custom-Managed References in Any Directory
Using Database-Managed References in a Central Directory
Using Managed External Storage
Defining Base Directories
Exploring the Manage Containers Dialog
Exploring the Storage Tab
Creating a New Base Directory
Editing a Base Directory
Deleting a Base Directory
Exploring the Thumbnails Tab
Defining a Field’s External Storage Directory
Changing a Field Container Settings
Summary
Chapter 11: Defining Value Lists
Introducing the Value Lists Dialogs
Using Custom Values
Using a List from Another File
Using Values from a Field
Introducing the Specify Fields Dialog
Creating a List of All Records in a Table
Creating Conditional Value Lists
Using a Dedicated Relationship
Using a Calculation Field
Summary
Part III: Writing Formulas and Using Functions
Chapter 12: Writing Formulas
Introducing Formulas
How Formulas Work
Defining Formula Components
Comments
Creating End-of-Line Comments
Creating Multiline Comments
Constants
Field References
Keeping Field References Dynamic
Functions
Calling a Function from a Formula
Calling a Function with Parameters
Optional Parameters
Nesting Function Calls
Operators
Comparison Operators
Equal To
Not Equal To
Greater Than
Greater Than or Equal To
Less Than
Less Than or Equal To
Logical Operators
AND
OR
XOR
NOT
Mathematical Operators
Addition
Subtraction
Multiplication
Division
Raising to a Power
Precedence
Text Operators
Quoting Text
Concatenate Text
Paragraph Return
Backslash
Reserved Name
Understanding Operator Precedence
Reserved Words
Variables
Types of Variables
Statement Variables
Local Variables
Global Variable
Exploring the Calculation Interface
Exploring the Specify Calculation Dialog
Writing Formulas
Constant-Only Formula
Creating Intentional Errors
Experimenting with Storage Options
Inserting Formula Components
Using Auto-complete
Using the Field Selection Pane
Using the Function Selection Pane
Creating Repeating Calculation Fields
Using Repeating Fields in a Repeating Calculation
Using Non-repeating Fields in a Repeating Calculation
Other Repetition Functions
Including Space for Visual Formatting
Adding a Space Between Items
Expanding Complex Statements
Managing Character Limits
Adding Simple Calculations to the Example File
Company Contact Count
Contact Full Name and Address Label
Summary
Chapter 13: Exploring Built-in Functions
Working with Numbers, Dates, and Times
Using Number Functions
Int
Random
Round
Mod
SetPrecision
Truncate
Working with Dates and Times
Getting Current Information
Getting Coordinated Universal Time (UTC)
Creating Dates
Parsing Dates
Creating Times
Creating Timestamps
Parsing Times
Calculating Time Elapsed
Working with Text
Analyzing Text
Length
PatternCount
Position
Changing Data Types
GetAsBoolean
GetAsDate
GetAsNumber
GetAsText
GetAsTime
GetAsTimestamp
Converting Text Encoding
Encoding Text for URLs
Converting to CSS
Converting Text to SVG
Modifying Text
Changing Case
Filter
Substitute
Parsing Text
Extracting Characters
Extracting Words
Working with Values
Counting and Parsing Values
ValueCount
LeftValues
RightValues
MiddleValues
GetValue
Manipulating Values
FilterValues
SortValues
UniqueValues
Introducing Get Functions
Credentials and User Information
OS, Computer, and App
Records
Layouts
Window
Getting Window Properties
Getting Window Dimensions
Accessing Fields
Discovering Active
Converting a Field Reference to Text
Getting Field Content
GetField
GetNthRecord
Getting Selected Text
Aggregating Data
Average
Using the Average Function with Local Fields
Using the Average Function with Related Fields
Count
Using the Count Function with Local Fields
Using the Count Function with Related Fields
List
Using the List Function with Local Fields
Using the List Function with Related Fields
Sum
Using the Sum Function with Local Fields
Using the Sum Function with Related Fields
Using Logical Functions
Case
Choose
Let
While
Removing Double Spaces with a While Statement
Compiling a List of Related Records Using While
Compiling a List of Local Records Using While
Nesting Functions into Complex Statements
Creating a Record Metadata String
Creating a Record Count String
Creating Sentence from Time Elapsed
Converting a Number to a Sentence
Summary
Chapter 14: Using JSON
Defining the JSON Format
Parsing JSON
Using JSONGetElement
Referring to an Element by Key
Referring to an Element by Array Index
Referring to an Element by Path
Using JSONListKeys
Using JSONListValues
Creating and Manipulating JSON
Using JSONSetElement
Specifying a Data Type
Setting Multiple Values at Once
Setting a Value by Path
Setting Array Values
Using JSONDeleteElement
Using JSONFormatElements
Summary
Chapter 15: Creating Custom Functions
Introducing the Custom Function Dialogs
Creating a Custom Function
Adding Parameters to a Custom Function
Adding an Input Date Parameter
Adding a Day Requested Parameter
Adding a Default Date Option
Stressing the Importance of Thorough Testing
Building Recursive Functions
Building Simple Recursive Functions
Controlling Recursion Limits with setRecursion
Embedding Test Code Inside a Function
Summary
Chapter 16: Introducing ExecuteSQL
Defining the ExecuteSQL Function
Understanding the Limits of ExecuteSQL
Creating SQL Queries
Defining SELECT Statements
Formatting Requirements
Using the SELECT Statement
Selecting an Entire Table
Selecting Individual Fields
Specifying a Single Field
Specifying Multiple Fields
Keeping References Dynamic
Getting Unique Values with SELECT DISTINCT
Reformatting SELECT Statements for Clarity
Adding Extra Space with Tabs and Paragraph Returns
Using a LET Statement
Exploring the Benefits of Aliases
Inserting Literal Text in the Field List
Concatenating Results
Using the WHERE Clause
Creating a WHERE Clause with a Single Expression
Creating a WHERE Clause with Multiple Expressions
Using the ORDER BY Clause
Using the JOIN Clause
Using the GROUP BY Clause
Adding a HAVING Clause
Using the UNION Clause
Limiting the Results of a Query
Using the OFFSET Clause
Using the FETCH FIRST Clause
Combining the OFFSET and FETCH FIRST Clauses
Accessing the Database Schema
Selecting FileMaker_Tables
Selecting FileMaker_Fields
Exploring Other SQL Features
Summary
Part IV: Designing User Interfaces
Chapter 17: Introducing Layouts
Understanding Contextual Access
Anatomizing a Layout
Planning Layouts
Using Layout Mode
Status Toolbar (Layout Mode)
Default Status Toolbar Items (Layout Mode)
Navigation Controls
New Layout/Report Button
Layout Tools
Developer Menu and Pane Toggling
Layout Menu
Layout Settings Button
Theme Selection
Screen and Device Dimension Menu
Formatting Bar Button
Exit Layout Button
Customizing the Status Toolbar (Layout Mode)
Menu Changes (Layout Mode)
Edit Menu
View Menu
Insert Menu
Format Menu
Layouts Menu
Arrange Menu
Summary
Chapter 18: Getting Started with Layouts
Working with Layout Parts
Defining Layout Regions and Controls
Resizing a Part Area
Defining Part Types
Defining Standard Parts
Defining Summary Parts
Managing Parts
Adding a Part Using the Toolbar Button
Configuring a Part
Deleting a Part
Using the Part Setup Dialog
Adding Layouts
Creating a New Layout
Additional Options for New Report Layouts
Preparing for the Invoice Report Demonstration
Dialog 1: Include Subtotals and Grand Totals
Dialog 2: Specify Fields
Dialog 3: Organize Records by Category
Dialog 4: Sort
Dialog 5: Specify Subtotals
Dialog 6: Specify Grand Totals
Dialog 7: Header and Footer Information
Dialog 8: Create a Script
Refining the Report Layout
Duplicating an Existing Layout
Configuring Layout Settings
General
Views
Printing
Script Triggers
Using the Manage Layouts Dialog
Optimizing Layout Performance
Summary
Chapter 19: Exploring Layout Panes
Exploring the Objects Pane
Defining the Fields Tab
Defining the Objects Tab
Defining the Add-ons Tab
Exploring the Inspector Pane
Inspecting the Position Tab
Position
Autosizing
Arrange & Align
Sliding & Visibility
Grid
Inspecting the Style Settings
Inspecting the Appearance Settings
Theme and Style
Graphic
Advanced Graphic
Text
Paragraph
Tabs
Inspecting the Data Settings
Field
Behavior
Data Formatting
Data Formatting Options for Numbers
Data Formatting Options for Dates
Data Formatting Options for Times
Data Formatting Options for Containers
Summary
Chapter 20: Creating Layout Objects
Inserting an Object onto a Layout
Working with Field Objects
Adding Fields to a Layout
Specifying the Field Reference After Adding
Specifying the Field Reference While Adding
Exploring the Specify Field Dialog
Editing the Reference of an Existing Field
Working with Field Labels
Configuring a Field’s Control Style
Edit Box
Pop-up Menu
Drop-Down List
Checkbox Set
Radio Button Set
Drop-Down Calendar
Concealed Edit Box
Using Pop-up Menus for Two-Field Value List
Bypassing Value List Entry Restrictions
Halting Entry of Custom Values
Using Field Validation
Filtering Bad Values with a Calculation
Using a Script Trigger
Halting Entry of Multiple Values
Restricting Multiple Value Bypass
Using Auto-Enter to Limit Field to a Single Value
Using a Script Trigger to Limit Field to a Single Value
Using Field Placeholders
Entering Placeholder Text
Replacing Display Calculation Fields with Placeholders
Showing Field Repetitions
Working with Text
Creating Static Text
Creating Dynamic Placeholder Symbols
Creating Merge Fields
Creating Merge Variables
Working with Button Controls
Working with Buttons
Configuring a Button’s Label
Using a Text Label
Using an Icon Label
Configuring a Button’s Action
Performing a Single Step
Performing a Script
Popover Button
Defining the Basic Popover Interface
Exploring the Popover Button Setup Options
Button Bar
Exploring the Button Bar Setup Options
Making Any Object a Button
Working with Panel Controls
Tab Control
Exploring the Tab Control Setup Dialog
Slide Control
Exploring the Slide Control Setup Dialog
Working with Portals
Exploring the Portal Setup Dialog
Adding Objects to Portal Rows
Creating Records in a Portal Directly
Deleting Portal Rows
Filtering Portal Records
Setting Up Portal Filtering
Writing a Basic Portal Filter Formula
Expanding the Formula for Multiple Match Fields
Enhancing the Search Field
Working with Web Viewers
Exploring the Web Viewer Setup Dialog
Building a Web Page Using Data from Fields
Creating a Hello World Web Page
Including Text Fields in a Web Page
Including a Container Field Image in a Web Page
Calling a FileMaker Script with JavaScript
Working with Charts
Creating a Chart Using Calculated Data
Creating a Chart Using the Found Set
Summary
Chapter 21: Manipulating Objects
Selecting Objects
Resizing Objects
Moving Objects
Layout Positioning Helpers
Ruler
Grid
Guides
Dynamic Guides
Arranging and Aligning Objects
Align
Resize To
Distribute
Rotate
Group
Lock
Object Stacking
Hiding Objects
Using Hide to Toggle a Button Bar
Conditional Formatting
Condition Formula Options
Using Value-Based Conditions
Using Formula-Based Conditions
Conditionally Formatting a Project Status Field
Understanding Tab Order
Changing the Tab Order
Using Functions of the Set Tab Order Dialog
Naming Objects
Summary
Chapter 22: Using Themes and Styles
Anatomizing Styles
Using Themes
Changing a Layout’s Theme
Managing Themes
Using Styles
Editing an Object’s Style Settings
Designing a Custom Theme
Summary
Chapter 23: Customizing Menus
Getting Started with Custom Menus Basics
Exploring the Manage Custom Menus Dialog
Creating a Custom Menu Set
Adding Copies of Standard FileMaker Menus
Customizing Menu Items
Exploring the Edit Custom Menu Dialog
Configuring Menu Settings
Exploring Menu Item Settings
Defining Settings for Commands
Defining Settings for Submenus
Modifying a Standard Menu Item
Renaming a Menu Item
Overriding a Menu Item Function
Removing a Menu Item Conditionally
Adding a Custom Menu
Creating an Actions Menu
Adding Items to the Actions Menu
Adding a Command Menu Item
Adding a Submenu Item
Installing a Menu Set
Exploring the Link Between Commands and Menus
Creating a Status-Based Custom Menu
Summary
Part V: Automating Tasks with Scripts
Chapter 24: Introduction to Scripting
Introducing the Script Workspace
Exploring the Workspace Toolbar
Exploring the Scripts Pane
Exploring the Script Content Area
Steps Pane
Menu Changes (Script Workspace)
Edit Menu
View Menu
Scripts Menu
Writing Scripts
Exploring Script Step Basics
Inserting Script Steps
Inserting Steps Using Auto-Complete
Inserting Steps from the Steps Pane
Configuring Script Steps
Configuring Settings Directly Inline
Inline Editing with Formula Text
Inline Editing with a Toggle Button
Inline Editing with Pop-up Menu
Configuring Steps with an Options Dialog
Specifying Targets
Script Comments
Specifying File Paths
Formatting Paths
Path Prefixes
Path Types
Relative Path
Full Path
Network Path (Windows Shared Directory Only)
FileMaker Server Network Path
Building Dynamic Paths
Using Variables in Paths
Using Functions to Generate Contextual Paths
Excluding File Extensions
Converting Paths
Performing Other Scripts
Exploring the Specify Script Dialog
Exchanging Data Between Scripts
Sending Parameters
Parsing a Parameter
Exploring Script Results
Perform Script on Server
Emphasizing the Importance of Context
Managing Scripting Errors
Summary
Chapter 25: Common Scripting Tasks
Scripting Basic Functions
Allowing User Abort
Setting Variables
Creating Navigation Scripts
Go to Layout
Go to Record/Request/Page
Go to Related Record
Interacting with Fields
Go to Field
Set Field
Set Field by Name
Set Selection
Set Next Serial Value
Accessing Folders and Files
Get Folder Path
Manipulating Data Files
Creating a Data File
Opening and Closing a Data File
Reading a Data File
Confirming a Data File’s Existence
Writing to a Data File
Working with Records
Import Records
Export Records
Using Conditional Statements
Showing Custom Dialogs
Configuring Dialog Properties
Configuring Dialog Input Fields
Capturing a Dialog Button Click
Creating a Related Record Using a Dialog
Confirming a Dialog Field Value
Searching and Dealing with Found Sets
Iterating with Repeating Statements
Looping Through a Found Set of Records
Looping Through Data
Managing Windows
Creating a New Window
Building a Custom Dialog Window
Creating a Dialog Layout
Creating a Dialog Layout Script
Connecting the Dialog Buttons to the Script
Introducing the Card Window
Using Insert from URL
Downloading a PDF File
Accessing Zip Code Information
Using cURL Options
Summary
Chapter 26: Debugging Scripts
Introducing Debugging
Exploring the Debugging Interface
Debugging Options Under the Tools Menu
Exploring the Script Debugger Window
Status Toolbar Items (Debugger Window)
Exploring the Data Viewer
Setting Custom Breakpoints
Summary
Chapter 27: Using Script Triggers
Defining Available Triggers
File Triggers
OnFirstWindowOpen
OnLastWindowClose
OnWindowOpen
OnWindowClose
OnFileAVPlayerChange
Layout Triggers
OnRecordLoad
OnRecordCommit
OnRecordRevert
OnLayoutKeystroke
OnLayoutEnter
OnLayoutExit
OnLayoutSizeChange
OnModeEnter
OnModeExit
OnViewChange
OnGestureTap
OnExternalCommandReceived
Object Triggers
OnObjectEnter
OnObjectKeystroke
OnObjectModify
OnObjectValidate
OnObjectSave
OnObjectExit
OnPanelSwitch
OnObjectAVPlayerChange
Understanding Event Precedence
Opening a Database File
Committing a Record with Unsaved Changes
Opening a New Window
Changing Layouts
Accessing Targets Before Event Completion
Avoiding Trigger Exceptions
Summary
Chapter 28: Extending Features with Plug-ins
Finding Plug-ins
MonkeyBread Software
Productive Computing
Prometheus Systems Consulting
Troi Automatisering
Installing Plug-ins
Accessing Plug-in Functions
Summary
Part VI: Deploying, Securing, and Analyzing Files
Chapter 29: Deploying and Accessing Databases
Deploying to a Folder Directory
Deploying to an iOS Device
Sharing Databases on a Network
Understanding Collaborative Limitations
Configuring Network Settings
Enabling Peer-to-Peer Sharing
Configuring Database Network Access Settings
Opening a Hosted Database
Hosting with FileMaker Server
Preparing a Host Computer
Defining Installed Resources
Accessing the Admin Console
Uploading Files to a FileMaker Server
Moving the File into the Databases Folder
Uploading a File from a Client Computer
Managing Database Files
Restarting a Server Computer
Using the Command-Line Interface
Formatting a fmsadmin Command
Available fmsadmin Commands
Getting Detailed Command Help
Hosting with FileMaker Cloud
Controlling FileMaker with Links, URLs, and AppleScript
Sharing Bookmarks with Snapshot Links
Using the FileMaker URL
Formatting a Basic FMP URL
Addressing a Hosted Database
Including Access Credentials
Including a Script Name
Adding a Script Parameter
Adding Script Variables
Using AppleScript to Automate FileMaker
Defining the Tell FileMaker Statement
Opening FileMaker’s Script Dictionary
Scripting Basic Tasks
Opening a Database
Activating an Open Database
Changing Layouts
Finding All Records
Finding Records Based on a Field Value
Counting Records in the Found Set
Counting Every Record in a Table
Summary
Chapter 30: Defining Accounts and Permissions
Defining Default Security
Defining User Accounts
Adding a Password to the Default Account
Creating a FileMaker File Account
Creating an External Server Account
Enabling FileMaker Server External Authentication
Exploring Privilege Sets
Default Privilege Sets
Creating Custom Privilege Sets
Configuring Data Access and Design Settings
Controlling Record Access
Controlling Layout Access
Controlling Value List Access
Controlling Script Access
Assigning Other Privilege Settings
Assigning Extended Privileges
Using Credentials in Formulas
Understanding the Risks of Credential Embedding
Leveraging Custom Extended Privileges
Controlling File Access
Summary
Chapter 31: Analyzing and Modifying Files
Save a Copy as XML
Generating a Database Design Report
Generating a Design Report
Exploring a HTML Design Report
Exploring an XML Design Report
Introducing Professional DDR Tools
BaseElements
FMPerception
InspectorPro
Exploring Developer Utilities
Renaming Files
Specifying a Project Folder
Specifying Solution Options
Removing Admin Access from Files
Enabling Kiosk Mode
Requiring a FileMaker File Extension
Creating an Error Log of Errors
Exploring Encryption Features
Enabling Database Encryption (or Re-encrypt Files)
Removing Database Encryption
Tools Marketplace
Summary
Index