The Philosophy of FileMaker - Part 3
4.9 (43 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
339 students enrolled
Wishlisted Wishlist

Please confirm that you want to add The Philosophy of FileMaker - Part 3 to your Wishlist.

Add to Wishlist

The Philosophy of FileMaker - Part 3

Intermediate FileMaker Pro 15 Scripting, Calculations, Relationships and Reporting
4.9 (43 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
339 students enrolled
Created by John Mark Osborne
Last updated 8/2016
Current price: $50 Original price: $200 Discount: 75% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 9 hours on-demand video
  • 7 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Design a multi-user solution
  • Identify and create one-to-many, many-to-one, one-to-one and many-to-many relationships
  • Create an Entity-Relationship diagram (ERD)
  • Design according to the principals of anchor-buoy relational design
  • Translate business systems from real-life to electronic using data modeling
  • Create portals, filtered portals and filtered relationships
  • Learn how to print properly in a multi-table environment
  • Work with columns, merge fields, labels and a variety of other print mediums
  • Create reports using sub summary parts and summary fields
  • Learn how to script complex automations with decision making intelligence
  • Create adaptive or dynamic scripts
  • Work with modular scripting
  • Capture errors and redirect programming with error analysis
  • Save and restore found sets for a better user experience
  • Compare and contrast different approaches to a problem in order to design better solutions
  • Validate and format a phone number for consistent data entry
  • Flag overdue or upcoming events
  • Understand record locking and script for multi-user solutions
  • Learn the differences and best uses for global fields, variables and parameters
View Curriculum
  • Students should have completed Part 1 & 2 of the Philosophy of FileMaker
  • Students should be familiar with the basics of browse, find, layout and preview mode which can be achieved by taking any of the beginner courses also available on Udemy
  • Students do not need to have experience with relational design, scripting and calculations but familiarity can help in faster learning
  • This is an intermediate course with some advanced information
Part 3 of this training series continues on with FileMaker Scripting, Calculations, Relationships and Reporting from the guy who actually wrote the book, Scriptology: FileMaker Pro Demystified. With over two decades of experience teaching FileMaker, John Mark Osborne will help you understand tough FileMaker concepts with ease. Intermediate and advanced FileMaker techniques will be taught throughout the three part tutorial series. In order to better understand every nut and bolt that goes into designing a solution, a single file will be created from scratch. The chosen solution is an invoicing solution for its familiarity to a wide audience and flexibility of applying techniques to other solutions. The completed FileMaker file at each stage is provided to assist with the learning process.
Who is the target audience?
  • Students will learn how to design a complete solution from the ground up including layout design, scripting, calculations, relational design and reporting
  • An invoicing solution will be used as the basis for the course but the concepts learned can be applied to any solution
  • This is an intermediate course with some advanced information
Compare to Other FileMaker Courses
Curriculum For This Course
75 Lectures
Part 3
1 Lecture 05:26

A quick recap of what we learned in Part 2 during the 8 previous hours of this tutorial series.

Preview 05:26
Script Triggers
16 Lectures 01:53:41

A introduction to script triggers including simple examples, pre vs post and areas of operation.

Trigger Types

Short definitions, some simple examples and associated functions for each script trigger.


Script Trigger behaviors, warnings and general considerations should be aware of before implementing them.


Scripts that trigger at the same time have an order of operation that could affect the outcome.

Order of Execution

A simple script trigger that makes navigating layouts easy without utilizing valuable screen real estate.

Layout Navigation

Use a script trigger to sort a layout automatically no matter how it is navigated.

Centralized Sorting

Three methods for preventing those bothersome carriage returns from being entered into one row fields.

Prevent Carriage Returns

The first part in tracking field modifications with a script trigger is creating the table to store the data.

History Table

Before we create the script to store field modification data, we need to decide on the type of trigger and the method for moving the data to the Modifications table.

History Decisions

The final step to tracking field modifications is writing the script and attaching it to fields as triggers.

History Script

Providing an iTunes, as-you-type, filter provides a great interface for list view.

List View Filter

Lots of people like record changes to be challenged but let's make sure the message is clear for users who aren't familiar with FileMaker terminology.

Commit Interruption

When leaving a layout, the active tab panel is lost.

Tab Panel Restoration

With multiple FileMaker windows, it can be tough to identify the window you want based on the standard window naming numbers.

Window Naming

The OnObjectValidate Script Trigger may not always be used quite the way you imagine.

Validation Substitution

Script Triggers can solve some of the toughest problems but they can also create conflicts.

Find Interrupted
Save a Found Set
15 Lectures 01:43:52

Let's improve the bookmark feature by gathering the serial numbers with a loop.

Loop with Global

Variables are significantly faster than global fields.

Loop with Variable

When considering advantages and disadvantages of a solution, speed is commonly a important factor.

Speed Testing

By combining the GetNthRecord function and recursion, another approach to gathering serial numbers is possible.

GetNthRecord Recursion

The List option in a Summary field allows you to collect the contents of a field across the records in a found set and store it as a multi-key.

Summary List

Let's compare and contrast the advantages and disadvantages of the various gathering serial number techniques.

Compare and Contrast

Storing a single found set just isn't practical.

Saving Multiple Found Sets

Preventing users from overwriting found sets with the same name is a crucial interface element.

Duplicate Set Names

A popup menu and the Go to Related Record script step are enough interface to restore any found set selected from a popup menu.

Restoring Multiple Found Sets

Let's add the ability to delete a found set to the existing interface.

Deleting a Found Set

Let's investigate making the save found set feature adaptive to any table.

Multiple Tables

If you have a lot of users in your solution, it might be nice to limit the found sets each user can see to just the ones he created.

Account Aware Found Sets

An entirely different approach to saving found sets can be achieved via the Snapshot Link feature.

Save with Snapshot Link

A script designed to restore a found set saved via the Snapshot Link feature.

Restore Snapshot Link

The Snapshot Link feature is significantly more adaptive across tables.

Multiple Tables Revisited
Parsing for Features
14 Lectures 01:40:29

The job of a developer is to make a solution as easy as possible to use for people who aren't as familiar with FileMaker.

New Requests Made Easier

By combining two or more functions, more advanced parsing can be achieved.

Beyond Basic Parsing

Regardless of whether you know what a form email is or not, this technique can be applied in so many areas!

Parsing a Form Email

The brains of this solution is the calculation formula.

Parse a Form Email Formula

Let's put everything together in a script to finalize the solution.

Parse a Form Email Script

Let's apply the parsing a form email technique to saving and restoring find criteria.

Saving Find Criteria

Restoring the find criteria is almost as simple as duplicating the parse form email script.

Restoring Find Criteria

Let's investigate how well the find criteria technique adapts to support multiple tables or multiple users.

Multiple Tables or Users

This brain teaser will increase your problem solving skills.

Menu Number

Mimicking a back button from a web browser requires you to first understand how it works.

Web Browser Back Button

The first step to creating a back button feature is storing the layout.

Storing Layouts

Creating a back button to restore layouts is fairly easy using a straightforward value parsing technique.

Restoring Layouts

A forward button is essentially a back button in reverse.

Forward Button

Why backing through records, files and windows isn't practical.

Back Records, Files and Windows
14 Lectures 01:50:48

A general overview of the security features in FileMaker Pro.

Security Overview

Combine the security features in FileMaker Pro along with security best practices to insure the safety of the data in your solution.

Complete Approach

Setting up accounts is pretty easy but there are a few gotchas in File Options.


Privilege Sets is the most complicated part of FileMaker security, controlling what accounts can do with records, layouts, value lists, scripts and more.

Privilege Sets

The Data Access and Design section of privilege sets is the most complicated area!

Data Access and Design

There are two types of Extended Privileges: default and custom.

Extended Privileges

This feature allows you to limit access to records on a case by case basis using a calculation formula.

Record Level Access

Prevent unauthorized access to your FileMaker files via other FIleMaker files.

External File Protection

Layouts with no access should never be navigated!

No Access Layout

Since the data entry account doesn't have access to delete records, let's add some error checking so we don't get a FileMaker error message.

Capturing Security Errors

Re-Login is often overlooked but very helpful for efficient testing.


Generating a random password can helpful in maintaining a secure system but will also teach you a lot about how FileMaker works.

Random Passwords

Let's combine scripting and security to create a feature for allowing discounted items with manager approval.

Manage Override Setup

The final step for the discount feature is the script to re-login the different users.

Manager Override Script
Odds & Ends
14 Lectures 01:45:32

Back in Part 2 we created custom menus but never showed how to install them.

Open: Install Menu Set

Hiding certain window options, positioning your window and resizing windows are important steps for any professional solution.

Open: Window Settings

One script step in particular takes issue with file name changes.

Open: File Name Variable

Let's use the $$FileName variable from the previous video to create a feature that adapts to file name changes.

Bundling Products

A common open script task is automating the finding of a certain set of records.

Open: Locate Overdue Invoices

Initializing globals in a multi-user solution is essential to user satisfaction.

Open: Initialize Globals

Seven methods for accomplishing the same task are presented in order to compare and contrast them.

Find Similar Methods

Compare and contrast the seven techniques from the previous video in order to understand how to choose the best approach.

Find Similar Comparison

Identifying a duplicate record may not be as easy as it seems given data entry inconsistencies.

Identifying a Duplicate

A script to efficiently delete duplicates after they have been entered.

Deleting Duplicates

Sometimes you want to prevent a duplicate record from ever being entered in the first place.

Preventing Duplicates

Cleaning up the tab order is one of the last tasks.

Tab Order

It's a good idea to go through your layouts and clean up the Autosizing objects.

Cleaning Up Layouts

Cleaning up the relationship graph, Script Workspace and layout list are important for the next time you need to work on the program.

Cleaning Up Schema
Working with John Mark Osborne
1 Lecture 05:18

Find out about training courses, consulting and solutions from Database Pros.

Preview 05:18
About the Instructor
John Mark Osborne
4.7 Average rating
585 Reviews
4,517 Students
9 Courses
FileMaker Pro Expert

John Mark Osborne has been working with FileMaker Pro for over 20 years. He earned his FileMaker Pro degree working on the frontlines of Claris technical support. John was the Technical Lead for FileMaker, serving as an escalation path for other technical support representatives and writing a large portion of TechInfo (now called Knowledgebase), their technical information reference. John also acted as a liaison between the technical support department and the FileMaker development team, reporting bugs, attending product meetings and acting as resource for the development team.

John Mark is best known as the author of the popular FileMaker Pro web site Database Pros. The Database Pros web site has been on the internet for 20 years and gets over 35,000 hits a day by offering free FileMaker Pro tips, tricks and techniques.

John Mark is also well known as the co-author of the wildly popular Scriptology book and CD ROM. John Mark launched a hands-on training class based on his Scriptology book and it has become so popular that it is now taught at MacWorld Exposition in San Francisco and New York. Most recently, John Mark was one of twelve trainers in the United States authorized to teach their new FileMaker Training Series of classes.

John Mark has been a featured speaker at the FileMaker Developer Conference for 15 years. At the 1999 Developer Conference, he was awarded the FileMaker Pro Excellence award for "creation of outstanding technical resources".

John Mark is a former technical editors for Advisor magazine working on the tips and tricks section which is the most popular column in the magazine.

John Mark has recorded beginner, intermediate and advanced tutorial videos for FileMaker 8, 9, 10, 11, 12, 13, 14 and 15 totaling thousands of hours.

John Mark Osborne is an FBA member (FileMaker Business Alliance) working closely with FileMaker, Inc. and their most important customers. John Mark Osborne has also passed the rigorous FileMaker 7, 8, 9, 10, 11, 12, 13, 14 and 15 certification tests and is proud to display the FileMaker 7, 8, 9, 10, 11, 12, 13, 14 and 15 certification logos.