Learning FileMaker 17 - Complete Course
4.1 (150 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
503 students enrolled

Learning FileMaker 17 - Complete Course

Build FileMaker Custom Apps, Tune Performance, and share on the Cloud...Like a BOSS
4.1 (150 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
503 students enrolled
Created by Richard Carlton
Last updated 3/2019
English [Auto]
Price: $79.99
30-Day Money-Back Guarantee
This course includes
  • 57 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn to build and deploy FileMaker 17 solutions
  • Learn to organize and design a database (aka custom application)
  • Learn to create buttons, and customize layouts
  • Learn to build scalable databases (make it go fast!)
  • Learn the basics behind SMTP, and email plugins
  • Learn how to Install and Manage FileMaker Server
  • Learn how to Install and Manage FileMaker Cloud
  • Learn about security and encryption
  • You will learn so much, your head will explode!
  • This course assumes the user has FileMaker Pro 17 installed on their computer. Additional free software will be recommended and is optional to download.

Experience Richard's dynamic and exciting teaching format, while learning both basic, intermediate, and advanced FileMaker development skills. With 28 years of FileMaker experience and a long time speaker at FileMaker's Developer Conference, Richard will teach you all the ins and outs of building FileMaker Solutions, while keeping an eye on customizing your own copy of a FREE Starter Solution! 

  • Learn basic skills such as adding fields and managing layouts.
  • Learn intermediate skills, like script triggers, relationally connecting tables, and mastering the relationship graph.
  • Learn advanced skills like configuration and security of FileMaker Server.
  • Learn to setup and configure FileMaker Cloud on AWS.
  • Learning about deploying and hosting the database for hundreds of simultaneous users

The work file for this software is a copy of FM Starting Point, which is a completely free and unlocked CRM. This free database works on Macs, Windows, iPads, iPhone and Android devices. We'll teach you how to customize it for your business needs while learning important FileMaker skills.

We spend some time discussing the FileMaker certification test and recommendations related to that.

For maximum awesomeness... this course will reference a number of third party products, a couple of books, etc. I make NO money in these references. During this course, we will also reference the use of FM Starting Point... to use as a free software... to anchor the development of your internal systems. You will be required to input your personal information to get this free software.

Who this course is for:
  • This course is a big course that covers topics for basic, intermediate and advanced skills.
  • No programming knowledge is required.
  • Intermediate users will learn a great deal, moving them into the "Expert" category.
  • Advanced users will benefit from learning techniques that they probably missed because they did not attend the annual FileMaker Developer's conference.
  • People with simple skills, like basic Excel skills will learn a tremendous amount from this course
  • People who want to learn how to manage FileMaker Server
  • People who want to learn how to manage FileMaker Cloud
Course content
Expand all 336 lectures 56:51:02
+ Introduction
9 lectures 01:09:07

Quick Course Summary

* This training course focuses on FileMaker 17 platform.   

* Covers Pro Advanced.

* Covers FileMaker Server 17

* Covers FileMaker Cloud 17.

* Covers FM Starting Point 5.0 & 6.0

* Content mostly applicable to previous release of FileMaker.

* There are corresponding versions of FM Starting Point for these versions of FileMaker.

* You can get the latest version of FM Starting Point here: http://www.fmstartingpoint.com

To download the FileMaker work files, please use this link below:


Preview 03:48

What's Inside the FileMaker Pro Course?

* Sections of the course are organized by numbered sections.

* 100's Introduction

* 200'S Under the Hood with FMSP

* 300's FileMaker Fundamentals

* 400's Finds and Sorts

* 500's Layout Construction

* 600's Advanced Layout Topics

* 800's Calculations

* 900's Scripts

* 1000's Performance Optimization

* 1200's Relationships

* 1300's Reporting and Charting

* 1500's FileMaker Server

* 1600's FileMaker Cloud

* 1700's FileMaker WebDirect

* 1800's Emailing, Imports and Exports

* 1900's Basic Integration

* 2000's Advanced Integration - PHP & REST

* Generally sections are organized by difficulty, from easy to hard.

Preview 08:18

Training Course Work Files

* The FileMaker Pro Training Course comes with work files.

* You can find the download link by clicking on the "i" icon in the upper right corner of the video player app.

* You can get all versions of FMSP from www.fmstartingpoint.com. Be sure to download the correct version for your version of FileMaker Pro.

* The course mostly applies to FM 17, but less and less the farther back you go.

* Try not to get too far behind in FM versions. Getting too far behind means you risk getting stuck.

0103 - FMSP, Samples, and Work Files

FileMaker is a Box of Tools!

* Overview video of all the FileMaker clients and hosts

* The FileMaker platform consists of many powerful products that allow you to build any type of custom solution you need to solve any type of business need

* FileMaker has a great collection of tools and products that can be extremely helpful to small and large businesses

* Building and customizing databases in FileMaker is much faster than other types of database systems

* Home Depot analogy

0105 - The FileMaker Platform - Summary

Which FileMaker product(s) should I purchase?

* Picking the right mix of FileMaker products is critical for successful business deployment. 

* Two Types of Server, FileMaker Server and FileMaker Cloud

* Three types of clients - Pro Advanced, Go, and WebDirect

* FileMaker Pro Advanced allows for access to the database while also allowing for development and provides greater tools for serious developers.

* FileMaker Server is an On-Premise server that runs on Mac or Windows.

* FileMaker Cloud provides a server that runs up on Amazon's AWS data centers.

* FileMaker Go works on iPhones and iPads.

0107 - Product Positioning

Examples of FileMaker Solutions

* FM Starting Point solutions are finding their way into a number of different types of business, including the following: training, marketing, aviation, legal, etc.

* We use FM Starting Point internally here at RCC, it's a great starter solution that can solve several business needs

0110 - What kind of Solutions can be made with FMSP?

Whats new in FileMaker 17

* Discusses the new features with the FileMaker 17 platform.

* Still uses the .fmp12 file format - so no conversion needed.

* There is no longer a separate "FileMaker Pro" client.  It is all FileMaker Pro Advanced.

* FileMaker Data Migration Tool.

* Layout Mode - Object/Inspector Panes.

* Master Detail View.

* Improvements to the FileMaker Data API (REST)

* FileMaker Go Type Ahead & Background Mode.

* FileMaker Server 17 is very different.

* Admin API (read/write REST)

0115 - New Features Brain Dump for New and Intermediate Users

What do I need to know

* Plugins now need to be 64 bit for Windows and Mac, 32 bit plugs won't work anymore.

* Video 0310 covers converting from the fp7 to the fmp12 file format.  

* Video 0312 covers converting from fp5 to fp7.

* FileMaker 17 still uses the fmp12 file format.

* Try not to mix more than 2 versions of FileMaker.

* Keep in mind that I think that there is a 32 bit version of Pro available for Windows.  For this, 32 bit Plug-ins should be fine.

* FileMaker Server has been 64 bit since FileMaker 13.

0125 - Upgrading 12, 13, 14, 15, or 16 Solutions to FM17

Turning on the Advanced Tools

* FileMaker Pro Advanced has many interesting features that aren't available in Pro

* Encryption at Rest (EAR)

* Script Debugger

* Custom Menus

* Data Viewer

* Custom Functions

* FileMaker Pro and Go can access this content after it's set up by FileMaker Pro Advanced

0127 - FM Pro Vs. Pro Advanced
+ 0200 - FM Starting Point Walkthrough
24 lectures 03:39:50

Using FMSP as a companion to this course

* FM Starting Point 6.0 is tuned for the FileMaker 17 platform.

* Always check the version of FileMaker you are using with FMSP is appropriate.

* FMSP is a great teaching tool.  About half of the course uses FMSP as a demonstration of some feature/concept.  The other half will use some specific sample file.

* This course is meant to teach you about FileMaker Pro and uses FMSP as a helpful tool.

* The 200's section of videos is specifically about FMSP.

0201 - Quick Overview of FMSP's use in this course.

New Features In FMSP 6

* FMSP 6 is our new version of FMSP.

* FMSP comes in 2 versions, Basic and Enhanced.

* FMSP Basic comes with a new calendar integration.  An open-source html calendar that has more robust features.

* FMSP Enhanced has the calendar, as well as the Avalara Tax Lookup feature and PayPal Integration.

* The PayPal integration allows FMSP to talk to PayPal's REST API. This means that you can create invoices in PayPal and have them sent out from PayPal's website to your customers.

* New Master-Detail layout for all of the main modules.

0205 - What's new in FMSP 6?

We've got lots of great new features and improvements for you with this latest release.

* New in FMSP and in FM Pro 16 is the Card Style Window.

* Changes to the relational key management system.

* We have added Side Nuggets! Great pieces of additional functionality that you have the option to implement.

* We've made performance enhancements specifically in the Invoices and Estimates modules by using pre-stored calculations.

0206 - What's new in FMSP 5?

Desktop, iPad and WebDirect

* Get the inside scoop on how and why RCC organized the FileMaker layouts the way we did, plus how we can support the devices that we support. 

* In FM Starting Point 4.6 and later, all layouts are designed to be WebDirect compatible

* Go on the iPad and Go on the iPhone use different layouts, because they have different screen sizes

* Layout Numbering

* Layout Numbers

0208 - FMSP Device Support & Layout Organization

Learn our organizational secret for Scripts in FMSP

* Well, it's not really a secret, it's pretty straightforward, but new developers rarely think to do this

* We start you out on the "right foot" with FM Starting Point

* Numbering your scripts is important and helps you group and organize them by their unique numbers

0210 - Script Numbering and Organization

Beginning Technical Walk through

* Overview of FM Starting Point

* Beginning of our technical walkthrough series, discussing the Preferences table, which has ONE RECORD

* We do not show the status area when displaying layouts

* Discusses how to report a bug in FM Starting Point

* Adding records to the preferences table is bad, and will result in erratic behavior of FM Starting Point

* You can get the latest version of FM StartingPoint here: http://www.fmstartingpoint.com

0212 - FMSP Walkthrough - Intro

Complexity is Banned in FMSP... violators will be banished

* We want FMSP to be understood by new FileMaker users, power users, or by  "junior level" developers. 

* More experienced FileMaker developers who write complex advanced scripts prevent new FileMaker users from understanding a database... and as a result... prevent them from making useful customizations.

* Keeping FM Starting Point simple is a great way to teach junior developers and enhance the customizability potential for mid to high level developers

0214 - FMSP Complexity Theory

Technical Walk through

* Accounts in FM Starting Point are really companies or organizations  

* Does your new project really need the accounts module? If not, you can remove it easily

* FM Starting Point key fields have prefixes

* We also walk through the various sections and secondary navigation modules.

0218 - FMSP Account & Contacts Walkthrough

Technical Walk through

* Includes instructions on how to customize Invoice Status and also what fields may be removed depending upon the structure of your database.

* There is a limited inventory tracking system built in

* 2 Different Printer Layout Styles are available for printing or e-mailing PDFs.

* Printed Layouts are managed differently in FM Starting Point... than a typical on screen data entry layout.   We normally make sure they are different layouts... depending upon the intended use.

* Reporting is VERY limited in FM Starting Point... since most businesses will have different needs and expectations for the reports the want to see.

0219 - FMSP Invoice Walkthrough

Technical Walk through

* Overview of the E-mail template automated system for quick selection of E-mails, and firing them off to customers

* We demo a version of the E-mail template system, using an older database with an older UI.

* Check out video 0820 for more information about E-mail integration

0220 - FMSP Contacts Email Template Walkthrough

Technical Walk through

* The features here have been in use for a long time and people really like it   

* The 2nd half of the video is a technical under-the-hood look

0231 - FMSP Sales Followups

Discussion of Feature - Transactional Model

* Scripting Popover Windows

* Scripting Slide Controls

* We discuss our deployment of a "transactional model" within FMSP.  

* Discuss Starter Solution - Invoices.fmp12

* Keywords "Invoices, Transactions, Adding Line Items"

0232 - FMSP Invoice - New Line Items - Advanced

A How to Walk through

* Customizing the Estimate to invoice transfer process uses skills that you have already worked on.

* Watch first: 0201, 1130, 1131, 0901, 0904, 1104

* You will learn how to format portal tabs as well and make sure you completely understand the background to the overarching process.

0233 - FMSP Estimate to Invoice Transfer Button

Also in Estimates

* Markup and Margin not the same

* Margin Difference between the price the customer pays and the price you paid internally

* In FMSP margin is a decimal number that transfers to a percentage after you type it in

0234 - FMSP Calculating Margin and Markup in Invoices

Digital Document Management and FMSP

* In this video you'll learn about dealing with digital document management, why it's important, and where it's used in FM Starting Point

* You can get the demo file here: www.rcconsulting.com/downloads.html

0236 - FMSP Unlimited Related Digital Document Upgrade

Dynamically changing the value in a Tab Panel

* All the in's and outs of the tab panel in FMSP and how to modify its values and calcs

* Secondary Navigation is made with Tab Controls

* "Calculation" means that the value is based on a Calc.

* "Show Sample data" in Layout mode can be handy to see how things will look in Browse Mode

* Let Function is Used

* To Change a name... you have to change it in 3 places in the calculation.

* If this is too complicated... DELETE everything... and just put the name in once... in text in Quotes.

0241 - Tab Controls with Calculations

New HTML calander in FMSP is more feature rich

* New calander is a new integrated feature from fullcalender.io

* New calander allows for more filter options and event editing options.

* Also has an event drag and drop functionality.

0245 - Super New Action Calendar

HTML Calender - Under The Hood

* fullcalender.io has 2 versions of their calendar.  A free version and a paid version.  FMSP is integrated with the free version.

* Allows for a variable day range for viewing events.

* When creating an event, there is a check box to tell FileMaker to show the event on the calendar. By default this check box is checked.

* Under the Preferences table, under the calendar tab you can click "View Calendar Code".

* You have the ability to change/view all the source code for the calendar. BE WARNED: Changing the code here can potentially break the calendar, so proceed with caution.  There is a restore code feature to fix bad changes.

* The calendar has full drag and drop functionality. Moving an event with the mouse to a new time slot changes the start and end dates.

* The calendar will try to be smart about saving events sign in account names.  You can link account names to staff accounts.  Staff accounts can then save user specific settings.

* Typing quotes in the JSFunction section can sometimes cause problems as the quotes won't read correctly. Simply copy/paste a quote from another file to fix.

0246 - Calendar Under the Hood

Structural Considerations and Planning for Charts on a Dashboard

* This video requires advanced skills found in later videos. The charts that we deal with are not based on number or text fields

* We'll also be going over chart rendering and performance in your solution

* Charts can run on PSOS or Perform Script on Server or they can run locally if PSOS is NOT available.

* Charts are based on FMI's built-in charts.

* Charts are based on data that is cached in Preferences table.

* The "Update" button will recalculate the values we need for the chart.

* Charts are part of the FileMaker Certification Exam.

* There are 3 ways to feed data to a FileMaker Chart: 

     (A) Grab Found Set of Current Table of the Layout your in.

     (B) Grab the Contents of a field... that contains Delimited data like a Value List.

     (C) Related records to the current record.

* We set up all the charts with option "B" the Delimited Value List.

* Only one record in the preferences table.

* A value list is a text or number value followed by a carriage return.  For Engineers and mathematicians these are also called one dimensional arrays.

* Charts are Word problems.

0250 - Dashboard Charts Part #1

Calculating the Charts... Word Problem Hell!!!

* We use lots of different technology to make the dashboards.

* Scripts that specifically build the charts end up dealing with word problems.

* Word problem:  Find Invoices for just the past 12 months.

* Use GTRR can be used to find all the related records... for the all the records in the current found set.

* Set up cached fields... to hold the value... of what we calculate in the a script.

* Dates are calculated in FileMaker by allowing the users to add or subtract one or more days... by simply adding or subtracting whole numbers.

* Use GTRR or Go to related record command to jump tables.

0251 - Dashboard Charts Part #2 - Scripting

Using PSOS... to speed the generation of the Charts!

* PSOS - Perform Script On Server- please remember that if you aren't an advanced user this video may be confusing 

* PSOS Radically improves performance

* This video wraps up the Chart building set of videos and we will cover the actual chart building scripts themselves and how and where you apply them.

0252 - Dashboard Charts Part #3 - Performance

We have included a couple of new buttons in the Developer tab in the Preferences pane

* To fully understand this video, you should go and watch video 1100 on Relationships.

* We have added two new buttons in the Developer tab of the Preferences pane.

* One that displays a list of Tables and Current Primary Keys.

* One that finds the highest primary and update (reset) next serial.

* Auto-destruct (delete all records) script is 0010

* Listing tables and primary keys is 0017

* Finding highest primary key is 0016

* If you start to add more tables, you will have to modify those scripts for them to still work.

0255 - Managing Primary Keys - Auto Script in FMSP

Using Auto Enter to set a default Tax Rate

* Individual sales tax may vary by jurisdiction

* VAT in the EU and UK is managed somewhat differently than sales tax in the US

*?AvaTax is a free lookup feature for FMSPe 5.0.8 and later... as a Side Nugget.

* AvaTax allows users inside the United States to use the sales tax lookup for free

* You must have a paid subscription to use AvaTax to look up VAT

0260 - Default Tax Rates in FileMaker 16 Invoices - Auto Enter Values

Fixing a bug in FMSP 5.0 - 5.0.8

* A bug exists in FMSP 5.0 - 5.0.8 

* If you try to open FMSP 5.0.X with FileMaker Pro 17 or newer, FMSP will display an incorrect error message. 

* To fix the error go to script line number 85 - 88, and highlight these lines. Then go to to Edit > Disable.

* If you want to modify the bugged code to retain the error checking code, then change your line 85 to reflect what is shown in the video.

0265 - Startup Bug in FMSP - FM 16 Warning... 5.0.1 - 5.0.8
+ 0270 - Old FM Starting Point Videos
2 lectures 22:48

The Basic and Advance pieces of the Calendar System

* Working On the User interface that the customer/developer works with and some of the smaller tips and tricks

* We also discuss the deficiencies of the Calendar

* We also learn about connecting other parts of your solution to the Calendar

0272 - Calendar Under the Hood Part 1 - Old

Connecting to calendars in your solution

* We learn about the behind the scenes in the relationships and diagnostics relating to Calendars

* Notes and tasks can be elsewhere in your solution, and we look at their automation into Calendars

* Editing and automating information into Calendars can get complex at some points

0273 - Calendar Under the Hood Part 2 - Old
+ 0300 - Fundamentals & Basics
11 lectures 01:32:55

For Brand New Users

* There are multiple ways to open a FM file depending on where the file is located.

* Going to File > Create New, will open a dialog window to create a new FileMaker solution file.

* This creation window gives you some convenient options to jump starting a new solution, including template files.

* To open a file that is hosted on a server, you will need to go to File > open and then click the "Hosts" button on the window dialog.

* The Hosts dialog window will give you options to open files that are hosted on FileMaker servers. You can also add new servers to your favorites list.

* You can use a keyboard shortcut to open the remote host window with CMD + SHIFT + O.

0301 - Opening Files ... for New Users

Basic video overview

* Basic overview of FileMaker and Databases in general. 

* Collections of similar types of information goes into Tables.

* Fields are individual data elements.

* What are outside examples of a database?  Ebay is one!   

* Database = Template = Solution.  

* The FileMaker platform uses the .fmp12 file format.   

* FileMaker uses screens, called Layouts.

0304 - What is a Database - Part 1

Basic video overview

* Basic overview of FileMaker and Databases in general.

* Files, Tables, Fields, and Layouts and now we have relationships.

* Relational Databases - Connect tables together.

* Relationships are driven by key fields.

* Relationships allow data from multiple tables to be displayed on a single layout at one time.   

* Scripts are little computer programs that can help automate activities in FileMaker.

0305 - What is a Database - Part 2

Browse, Find, Preview, and Layout modes

* Browse mode is for using the database and editing the data. 

* Layout mode is for customizing the look of the database.   

* Find mode is for executing a Search in the database.   

* Preview is for "previewing" how a print job will look if the print command is run or if a PDF is created from the current layout.   

* The menu bar changes based upon the mode you are in.

0307 - Modes in FileMaker

Basic database usage by end users

* Super basic video that might be good for people who have no previous exposure to FileMaker.

* Navigating between fields, Browse mode, and flipping between records.

* Deleting records is not always a good thing, so think about that carefully.

0308 - Browse Mode, and the Delete menu item

Yah... its totally automatic

* FileMaker saves pretty much everything automatically.

* There are a few caveats especially with backups and servers, we talk about those as well.

* When inputting data, there is no save command because there is no need for a save command.

0309 - Saving Data

Upgrading a DB from FileMaker 7, 8 , 9, 10, and 11 to 16

* it's Pretty straightforward but a couple of "gotcha's" and FYI's.

* Make sure a trial conversion is done.

* Make sure that the end users TEST in advance of the solution going live.

* Test Test Test!!!

* Make sure your developer will be available WHEN you actually go live with the converted database.

0310 - Converting from .fp7 to .fmp12 file formats

Upgrading a DB from FileMaker 4 or 5 to the FM 7 format

* If you have a simple database, then this can be a simple process, but if you have a large complex solution, then this can be an ugly process.   

* You will need MetaDataMagic to help analyze the .fp5 format to determine all the issues that have to be mitigated.

* You might want to weigh the cost of migration, versus the cost of a total rebuild.  A number of companies opt to go with the rebuild.

0312 - Converting from .fp5 to .fp7 file formats

The when why's and how's of Copying A FileMaker Database

* You can use a copy of FMSP as a backup if you're testing something or you're about to make a big change that could potentially destroy the database, copying your database is almost never a bad idea.

* Accessing a copy of the Database while it's live on Dropbox isn't a good idea.

* Make sure your file is totally closed before duplicating it.

0313 - How to make a Copy of a FM Database

Understanding relationships are critical to working on FileMaker databases

* A Relationship is like a Bridge.

* Super basic video that might be good for people who have no previous exposure to FileMaker.

* Fundamental FileMaker conversation.

0315 - What is a Relationship (Very Basic Video)

How do I host a file?

* Basic outline of peer to peer hosting and FileMaker Server and FileMaker Cloud hosting.

* Concepts and benefits of using FileMaker Server.

* FileMaker is great at sharing data with other users and collaborative sharing with your team.

* Peer-to-Peer sharing is good for quick ad-hoc networks, but not a permanent solution.

* Dynamic and Static IPs.

0330 - Basics of Sharing a Database
+ 0400 - Performing Finds & Sorts
8 lectures 58:15

Search, Queries... FInds in FIleMaker

* Discusses the basics of Find mode and Found Sets.

* "Found sets" are collections of records that match a particular find request.  

* Find mode focuses all user activities on the "found set."   

* Default searches in FileMaker are wild card searches that search the first part of each word.

0401 - Finding Records - Basics

"and & "or" searches in FileMaker

* Learning to do finds for various items at one time as an "and" find or as an "or" find is an important skill to learn.

* FileMaker will Include by default.

0402 - Finding - Multiple Requests

Hunt down ranges of records based on a date

* Performing a range search in FileMaker is one of the most useful skills to use, and to teach other FileMaker users.

0403 - Finding Ranges of Dates

Reserve characters can help Finds

* Special operators i.e. reserved characters can do magical things when in FileMaker Find mode.   

* Search for an empty field, E-mail addresses, exact searches, or other wild card searches.

0404 - Finds with Special Operators

Where the rubber meets the road

* Understanding Indexes is the key to understanding how to make your finds run fast.

* Make sure that fields the users will search on will be indexed.  If they are not indexed, expect SLOW performance.

* Stored Calcs - will perform FINDS much faster.

* Unstored Calcs - cannot be indexed, resulting in slow searches.

0405 - Finds and Indexing and Performance, Stored Calcs

95% of FileMaker users never use this

* Extending and Constraining a found set are super helpful skills to help figure out more complex finds especially where multiple requests need to be worked out.  

* Unless you're a rocket scientist and you can do everything in your head, you will want to learn this skill set to help build complex finds.

0406 - Finds Constrain and Extend

Fundamental Basic Skill Set

* Sorts are limited to the current found set.  

* Keep in mind, that added sorts will cause a performance hit on the database when you do it. So automatic scripted sorts should only be used for those sorts that you actually need.   

* We haven't talked about scripting yet; but for now remember to limit sorts to perform only when needed.  Not just for fun, especially for shared databases on the internet.

0407 - Sorting Records

Sorting AD and BC date fields

* Sorts sound simple, until you have AD and BC dates.  

* These are custom sort orders and the content in which your sorting by cause problems and get complicated.

0408 - Custom Sort Orders
+ 0500 - Working on Fields & Layouts
30 lectures 04:29:51

Overview of Layout Menu Bar

* Basics of the layout tools for building and editing layouts.

* Detailed discussion of the tool bar in layout mode.

* Status Toolbar.

* Basic discussion of Buttons, Button Bars, and Tabs/Slides. 

* Basic discussion of the Layout Object Tree / Window.

0501 - Layouts - Available tools

4 panels of Goodness... a tool of modern FileMaker

* Understanding all the panels of the inspector is important, and will come with time as you start building solutions in FileMaker.  FM12 only had 3 panels, but 13, 14, and 15 all have 4 panels.  We talk about the POSITION panel more in a later video on object alignment.  This is more of a well-rounded summary.

* Short discussion about naming objects.

* Data, Position, Appearance, Style.

* Discussing hiding objects or POV.

* Discussing the QuickFind function.

* Discussion of Placeholder labels.

* Discuss the 2 features NOT in the Inspector -  Conditional Formatting or setting up a button.

* Formatting date, time, and currency values.

* Discussion of object states in layout mode: Normal, Hover, Pressed, InFocus (In focus).

* Buttons have the 4 states as well.

* Aligning objects.

* Resizing object to the same size.

0502 - Tour of the Inspector Pane - Right Side

GREAT new feature that shows the layout objects in a list

* New in the 16 release, this is a great tool to use when dealing with layout objects layers deep.

* You can access it of course in Layout Mode and it will open up separate of the Inspector.

* It will highlight items on the layout as you click through the list.

* It allows you to hide certain objects as you work on the layout.

* Hiding something in LOW does NOT reflect browsing the layout in Browse Mode.

* The list is also searchable by object name.

0503 - Tour of the Object Pane - Left Side

Formatting fields - Adjusting Currency... etc.

* Adding new fields; finding space on an FMSP layout for new fields; and introduction to Tab Objects 

* introduction to locking objects; Aligning objects; and the format painter tool; 

* formatting number field for financial currency data type; and reordering tab panels.

0504 - Intro to Adding Fields to Database (Text and Number)

Basics of Defining Calc fields and Hiding Objects

* Super Valuable Video for New FileMaker Users/Developers.

* Introduction to calculation fields and hidden objects.

* Think about naming conventions, I put "calc" at the end of a field name; so I know it is a calc.

* Objects can be hidden by a calculation.  To access this, click the Data Tab of the Inspector. 

* Harry Potter Invisibility Cloak.

* Hiding Objects works by answering this statement:  "Hide Object When.. formula is true"

*** We do NOT discuss Unstored Calc fields yet.

0505 - Added Calc fields and Hiding Objects

Defining fields, and Custom Formatting of Fields

* Creating fields for a survey is easy.   Creating an easy-to-use survey takes more work.   

* Formatting the fields for easy data entry is the trick. 

* Adding or removing a TAB Panel is an easy way to create some room for adding fields.

* You can reorder the Tab Panels to appear in a certain order.

*  You can specify a specific TAB panel is the default tab viewed... its doesn't have to be the first tab.

* Holding down the COMMAND or CONTROL key when selecting will cause FileMaker to select ONLY the item that is completely enclosed inside the selection area.

* The inspector allows us to Align Objects... to a LEFT EDGE..or a RIGHT EDGE.

• Use the CONTROL STYLE in the Data Tab in the Inspector, to customize the formatting of the field.

Keywords: Hide Hidden Object POV

0506 - Creating a Survey, Tab Panels & Value Lists

How Value Lists really work - Basic Value list setup

* Note: This is an internal database at RCC which makes for a great demo.

* Radio buttons and check boxes gone wild... in FileMaker.  

* These tools can auto-enter data into normal text fields which can be super handy.   

* Radio buttons and checks boxes can also obscure actual data in the field... if the actual data in the field does not match an approved value for the value list.

* Holding the SHIFT KEY down... allows you to multi-select items with Multiple radio buttons.

0507 - Value Lists - Under the hood

Also Managing Objects Layers in FileMaker

* Note: This is FMSP 4.5 although this is no longer the latest release, the process is the same for ANY database.

* Deleting objects on a layout without affecting the database structure.

* Managing object layers, and customizing Tab Controls which are made up of individual tab panels.   

* More advanced Object layering with hidden objects and conditional formatting of text blocks.

* Harry Potter Invisibility Cloak.

Keywords: Hide Hidden Object POV

0508 - Hiding Objects & Conditional Formatting

Locking Objects & Grabbing Objects with Mouse

* Note: This is FMSP 4.5 although this is no longer the latest release, the process is the same for ANY database.

* Holding the SHIFT key allows you to select multiple objects.

* Selecting an area grabs all items that "touch" the box.

* Hold the COMMAND or CONTROL key down gives you a shaded box which only selects items that are totally enclosed within the shaded box.

* Users frequently copy and paste text from other sources into a FileMaker database.   

* This creates local styling which can override your nice, pretty layouts.  

* You need to clean the text and learn how to format text fields.  

* Also covered: Selecting multiple objects in layout mode.

0509 - Text Fields with User Specified Formatting

Add Dynamic data to a Text block

* Note: This is FMSP 4.5.  Although this is no longer the latest release, the process is the same for ANY database.

* Seamlessly adding dynamic data in the form of fields, tightly mixed with blocks of text data is best handled by Merge fields, which cannot be manually edited in BROWSE mode.

0510 - Merge Fields

Performance and Update Issues

* Sometimes you have a choice between using a Stored Calc, and an Unstored Calc.  But often, FileMaker will FORCE you to use a unstored calc because of the contents of the formula.

* 3 Things That can Make a Stored Calculation Field Reevaluate:

(1) When you First Define the Field. (Duh)

(2) Making a new record.  FileMaker will reevaluate the Calculation.

(3) If LOCAL referenced data Changes (Local... Not related data).  I.e. Local filed or Merge fields on a Layout.  No Variables!  Variables are NOT considered Locally referenced data.  They are nothing.  Not Local data and not referenced data.

* Stored Calcs cannot handle variables at all and will not evaluate reliably.  Think of Variables like transient Get functions.  Always in flux and changing.  For that reason if you're connecting a variable to a calculation filed, make sure it is unstored.

* Unstored Calcs have the Same Dependencies, plus one additional One.

* If the Unstored Calc is drawn on screen it will reevaluate.


FileMaker forces a Calc to be Unstored if it:

(1) References Related Data.

(2) References Global Field.

(3) References Summary Field.

(4) References another Unstored Calc (in case you're trying to cheat).

0511 - Stored Vs Unstored Calculations

Summary of Button Options

* Use conditional formatting to control Glyph Color. Glyphs are a GRAPHIC on top of a button.

0512 - 3 Types of Buttons and One Glyph - Icon

Button Bar used in a Very Clever Fashion

* Button Bar wasn't intended to be used as a "Control Style"

* Exploding Monkeys.

* Different Buttons in the Button bars have different Colors.

* Changing the Color of a button segment by using Conditional Formatting.

* The Creator of FileMaker's Starter Solutions, Nick Hunter, showed me these techniques.

0513 - Button Bar as New Data Input Control Style

Essential placeholder text within a field

* These are labels that live in the field as placeholder text.

* As with most things in the FileMaker platform, just because it's great that doesn't mean it can't be abused.

* Make sure you keep in mind that if the inline label isn't visible, is the purpose of the field still obvious?

* That can be an issue in a list view if there are no labels at the top of the list.

0514 - Inline Field Labels

Understand these layout objects

* Slide Controls were added in FileMaker 13 and sometimes developers get confused as to the proper deployment for Tab Controls as opposed to Slide Controls.

* Both Slide and Tab panels are similar, but Tab panels provide visual guidance in terms of the contents of the panel. 

* You can drag a Tab Control Object onto a layout from the tools in Layout mode.

* You can drag a Slide Control Object onto a layout from the tools in Layout mode.

0515 - Tabs vs. Slide Controls

We're talking about a generic New Window Command

* Popovers may seem cute and cuddly, but they have some serious short comings for both the FileMaker Go and WebDirect platforms.   

* For FileMaker Pro popovers provide another awesome option for providing data, adding navigational controls, etc.  Record locking is discussed.

* A new Window can be handy in preserving context.  For example, a user has to stop what they are doing in FileMaker and perform some other task.

* We are not talking about scripting a New Window Command and the various options if you're scripting the process.

0516 - Popovers and New Window Command

Lots of options for auto-populating data into fields

* Auto-enter options can fire upon creation of a record, upon modification, or upon trigger of a calculation, etc.  They are extremely powerful.   

* They are used to form the "backbone" of the automatic processes that drive FileMaker.  

* My opinion is that they are still useful, but more complex situations would probably be better suited by leveraging script triggers, which are new tools with exponentially more precision and power.

* The most common auto-entry uses is for assigning unique serial numbers for use with Relationships, or auto entering the time and date of record creation.

* Primary Keys are frequently assigned this way.

0517 - Auto-Enter Options for Fields

Major concept for Developers

* Understanding how FileMaker files behave when shared with multiple users is an important skill if you do a lot of work in FileMaker.  

* There are some different rules for development when making multi-user databases.

* Understanding record locking, sorts, finds, and Global fields are all important to successfully deploying a shared solution.  

* Of course FMSP is already designed to be shared; so we thought this out in advance.  You will want to learn this if you do a lot of development.   

* If 2 people try to edit the same record at the same time users will get a Record locking error.  

* Managing record locking is handled automatically by FileMaker.

* Many user can VIEW a single record at one time  No problem.  Only one can edit that record at one time.

* Peer to Peer sharing is technically multi-user, but it sucks.  No Backups and less reliability.

* Use FileMaker Server for best results for sharing.

* Only one person can be in "Manage Databases" at one time.

* Only one person can change a specific layout at one time.  

* Multiple people can change different layouts.

* Only one person can be editing a single script at one time.

* Multiple people can change different scripts at the same time.

* Individual users will have their own founds sets and sort orders while sharing a single database.

0519 - Introduction to Single-User vs. Multi-User databases

* Understanding record locking is  important to successfully deploying a shared solution.  

* If 2 people try to edit the same record at the same time users will get a Record locking error.  

* Managing record locking is handled automatically by FileMaker.

* Many users can VIEW a single record at one time  No problem.  Only one can edit that record at one time.

0520 - Record Locking Basics

Unique tools, one value for every record

* Global fields are essentially regular fields with "Global Storage." 

* Global fields are a great tool for scripting and other unique data organization.  

* Globals have different properties.  One value for the table, but essentially accessible anywhere in the file through a relationship.

* Each user has their OWN UNIQUE values in "their" Global fields.  Global field values ARE NOT shared between users in a Multi-user database.

* On a single user file Global fields that have values will have those values saved when the user closes the file.

* On a multi user file (being hosted) Global fields that have values will NOT have those values saved when the user closes the file.

* On a multi user file (being hosted) when opening the file Global fields will have values that exist when it was last closed by a single user.  NOT the values set by the previous Multi-users. 

*** To ensure that Global fields have the values I want when a user opens the file in a multi-user environment I set the Globals with the "Startup Script."

0522 - Global Fields

Pop-up text by mouse hovering

* A user can add a text description to various objects in Layout mode.  

* This text will then pop-up when a user hovers their mouse over the corresponding object.  

* This has limited uses largely due to the lack of controls provided by FMI.

* Introduction to IF THEN statements in Calculations.

* The time a ToolTip is displayed is NOT customizable, so your stuck with the settings that FileMaker gave you.

0523 - Tooltips

Lots of features means lots of little icons

* Part of learning to develop in FileMaker is learning all the little icons that may be assigned to an object in layout mode.

* Inline Text Badge.

* Conditional Formatting.

* Script Triggers.

* QuickFind.

* Tooltips.

* Button.

* Popover Button.

* Hidden Object Indicator (POV).

0524 - Object Flags, or Badges

Aligning Objects and Misc. features

* View Page margins can be shown.

* View Page Breaks.

* Horizontal Pages breaks are pretty critical.

* Page breaks vary depending upon that paper size that is currently setup.

* Show and Align to Grids.

* Learning the various methods for aligning objects, and learning what works for YOU as a developer is an important step in your development.   

* We will also spend some time in the VIEW menu item and also the POSITION panel of the inspector. 

* Multiple Inspectors, Grid system, & customizing the toolbar is "User Specific" so changes are not shared with other people.  The settings are specific to your copy of FileMaker Pro.

* Unlimited number levels of undoing and Grouping and Ungrouping objects.

0525 - Object Alignment tools

Managing Stencils for all the iOS Devices

* In addition to customizing a prebuilt FileMaker template like FM Starting Point, you can create a layout from scratch.  

* You can specify a custom layout size in the Stencil specific to a type of device.  

* Please reference the 2 cheat sheets in the work files for this training course.

* Resolutions are Points Not Pixels.

* Field Picker.

0526 - Creating a new iOS Layout from Scratch - Stencils

Old school field Validations that apply at the field definition level

* Modern Validations may be better for you depending upon what you need.  Consider using Script triggers for a modern validations.

* Old School Validation is defined in the same area where you define the fields and setup the auto-enter options.

* Applying field level validation applies the validation process EVERYWHERE on all Layouts.

* Validation Options are different between the field types.

* Specifying a Validation occurs during data entry only or always.  This can affect imports.

* Test for Empty fields, or contain unique values.

* Test for values that must already exist.

* Validate data is within a range.

* Validate a maximum number of characters.

* WordCount allows you to count the number of words.

* In general, FileMaker Validation error messages are not very good.

0527 - Field Validation Options

When I was your age I walked 10 miles to school, barefoot...in the snow!

* Before FileMaker 3 we needed repeating fields and the LOOKUP functionality to make basic databases in FileMaker.  

*Now we use repeating fields sparingly.  FM Starting Point uses repeating fields to help manage containers.

* In the mathematics and engineering fields, these are essential arrays, 1-D arrays.

* Matt Petrowski developed an alternate method for displaying UNLIMITED numbers of containers, and that is shown in a different video.

0528 - Repeating Fields

Stay in Layout mode and understand the badges

* No more drilling down for conditional formatting, etc.

* FileMaker 14 introduced Layout level tooltips to tell you all the attributes for an object.  Very cool!

0530 - Layout Badge Tooltips

How to display currencies besides Dollars

* The ins and outs of Currencies in FileMaker.

* To adjust the currency symbol, you do this in layout mode.

* Data Formatting is a Superficial layer that adjusts how a number field looks.

* Adding data formatting does not affect the number that is stored inside the database.  It is only a superficial layer.

* This data formatting CANNOT be changed with a script.  It must be changed manually. 

0539 - Custom Currency in FMSP

Making sure Money looks like Money

* Custom Function.

* Text fields do not automatically format currency properly when inserting a number value into the text field.  

* For example, having a note, that is created via a script, that has a number value, will not easily show the number as a currency.

* Custom function easily found at www.briandunning.com

* To add or edit a custom function, you need to be using FileMaker Pro Advanced.

0540 - Formatting Currency - When it goes into a Text Field

Hamburger Menus - UX Nightmare or Efficient Design

* Hamburger Menu - Not an official FileMaker object, but used almost everywhere.

* Hamburger Menu - Usually a button with a popover window.

* This is a somewhat controversial method.

* Don't make your Hamburger Menu a junk drawer of buttons.

* Hidden Buttons - Invisibility Cloak for your buttons.

*  FMSP - A great place to start your next project

* Do you have secondary capabilities that need to be hidden?  Or is there a positive benefit to having these capabilities be visible?

* There are some Apple applications that use Hamburger Menus.

* Does your Hamburger Menu help the experience of the user?

0545 - Hamburger Menus
+ 0550 - Container Fields & Document Management
6 lectures 56:12

Digital Document Storage

* Starting with the release of FM 12, and improved in 13, 14 and 15...

* Digital Document Management is now built into the base FileMaker Platform without the need for 3rd party add-ons.

* Containers can store any kind of documents, but most commonly, I see scanned PDFs, Excel files, and Word files.

0551 - Container Field Introduction

Container Thumbnails and How They Are Generated

* Container fields show small thumbnails to help cut down on network traffic.

* Whatever machine is hosting the file, will be the one to generate the thumbnail.

* The PDF, Charting, and Thumbnails engines are licensed 3rd party technologies that FMI put in to FileMaker.

* Mac computers will generate file thumbnails, but Microsoft windows will not.

* Containers generally perform better when optimized for image mode.

0552 - Thumbnailing - Under the Hood

Understanding streaming, Scripting etc.

* Selecting "Interactive Content" can slow performance for a hosted solution.  

* In FMSP, we wrote some scripts to allow for easy opening of the container content.  

* We also show how FM Go shows "Interactive" containers.  

* We also show how to script the export of the container, into a temporary folder, and then have the operating system open it.

* Get(temporaryPath) is used

* Setting Variables for establishing a Export Path

0553 - Interactive Containers

If you "Insert" a Container it won't be interactive

* Note: This is FMSP 4.5 although this is no longer the latest release, the process is the same for ANY database.

* NOT a remote container video.  This video deals with the more common interactive fields and tips and tricks with the interactive components.

* Interactive Setting in the Inspector causes FileMaker to load a "player" so it can play a video, etc.

* Only turn on Interactive Setting when your sure you want to watch a video or listen to a audio file.

* Non-Interactive has much better performance but gives you thumbnails for images and PDFs (as long as you have a Mac client, or the server is a Mac).

* There are essentially 2 methods for inserting documents into FileMaker.  

* Method #1:  Right Clicking a container and selecting "Insert File" option or using the equivalent script step.

* Method #2:  Drag and Drop. 

* Method #1 will NOT provide any interactivity.  You will especially see this if you have containers added from FileMaker 11 or earlier.

*  https://www.teamdf.com/blogs/change-containers-from-files-to-interactive-content-in-an-instant/

* Base64 Encode.

* Base64 Decode.

* GetContainerAttribute.

0556 - Fixing Interactive Containers - Which are not Interactive

Final thoughts on how to stay out of trouble

* Unless you are a senior FileMaker Kung-Fu developer, the "Store Only as a Reference to a File" option is bad news, and will get you in trouble.   

* "Store Only as a Reference to a File" is essentially a FileMaker legacy behavior that has been preserved in the newest version of FMP.  I would recommend staying away from this.

* FMSP ships in its default state of being "Internally Stored" NOT "Externally Stored."

* We ship FMSP this way to keep FMSP simple as possible for new people to understand and use.

* Experience users can easily change containers to be "Externally Stored" when they realize they actually need it.  It's a learning and experience issue.

* If Containers are stored Externally, then the FileMaker files (.fmp12 files) has to be KEPT with the folder of containers.  They MUST stay together or things will break.

0560 - Containers in FMSP

When your documents become unlinked or missing

* We discuss container problems, and what generally happens and how we at RCC solve them.

* Try to keep your external container files organized.

* Do you want keep your external container files locally or host them on the Server?

* Manually uploading to FileMaker Server can potentially cause issues.

0580 - When Container Storage goes Bad... Recovery Plan...
+ 0600 - Advanced Layout Techniques
9 lectures 01:28:40

Performance - Shared Styles and Themes Part 1

* Most legacy layouts will have the "Classic" theme, and that is very wasteful and slow when compared to other themes.

* Using a custom theme and shared Styles, like what we did for ALL layouts in FMSP 5, will make layouts load twice as fast.

* Now you can start to unwind our hard work once you start to customize the look of FMSP, but if you follow our guidelines and observations in the rest of our videos you shouldn't have any problems affecting performance negatively.

* Before we start customizing a theme, we should remove unnecessary objects from the layouts to minimize network traffic from the server to the client.

0601 - Making Layouts load 200% faster in FM 16 - Performance

Performance - Shared Styles and Themes Part 2

* Learn to make a layout load twice as fast.

* This video is one of the most critical videos to watch if you want to learn how to lighten your layouts and make the load 200% faster.  No Joke.  This is a new technique in FileMaker 13 and optimized in 14 and 15.

* Step 1 - Minimize number of layouts.

* Step 2 - Optimize layout.

* You want to have groups of objects with shared styles to minimize the CSS footprint.

* Making these changes cut the data being sent over the internet back and forth by HALF.

0602 - 200% faster Part 2 - Performance

Performance - Shared Styles and Themes Part 3

* Learn not to blow up your hard work of shared styles.  

* Avoid the format painter tool because it creates its own blocks of CSS AKA a "local CSS override."

* Be careful about copying objects from one layout to another layout, that uses a different theme.

* Do not use the format painter if you are trying to optimize your layout.

* Painter tool very much behaves like the classic theme.

* Tip of the video: Do not copy and paste between two layouts with different themes.

0603 - 200% faster Part 3 - Performance

Performance - Massive Performance Improvements

* This is a super clever process that I learned from Nicholas Hunter (the creator of FileMaker's Starter Solutions). 

*  This saves a ton of processing time and effort if you have a number of hidden objects with the same formula.  

* This can be a factor in performance improvements.

* Apply "Hidden Object" to an entire Slide Control.which minimizes the number of Hidden calculations that must be processed to render a layout.

0604 - Grouping with Slide Panels to Hide Objects

Scanning for hidden objects

* The GetLayoutObjectAttribute function is handy for determining if something is actually hidden without using a big long calculation.

* If you have a big long calculation, this function is a performance advantage.

0605 - Get Object Attribute for Hidden Objects

*** Super Advanced Topic ***

* Advanced discussion, covering the use of OnRecordLoad Script Trigger, GetNthRecord,  Get(RecordNumber).  Cartesian Join, Summary field List field.

* GetNthRecord of the current table returns the Nth record of the found set according to how the current table is sorted.

* GetNthRecord of a related table returns the Nth record of the related set (relative to the current record), regardless of how the related table (or portal) is sorted.

* Get (RecordNumber) - The value returned is determined by the relative place of the record in the found set, and it changes depending on the find criteria and the sort order.

* Cartesian Join - describes a relationship where any record in one table occurrence will match all the records in another table occurrence.

* Summary Field - Use summary fields to calculate values such as subtotals, averages, and grand totals across multiple records.

0614 - What is a Virtual List? *** Advanced ***

*** Super Advanced Topic *** Uses Virtual List

* You need to have mastered the previous video on virtual list prior to watching this video.

* Sample files available from http://www.newleafdata.com

0615 - Hierarchical Portal for Navigation *** Advanced ***

You need to hack SVG's to get them to work with FileMaker 

* Featuring Claus Lavendt of DataManix who explains what an SVG is, how its different than a PNG, and how to hack the SVG to get it to work with FM15.

* Unless it is hacked, FMP won't be able to control the color of the icon dynamically. The helper tool assists with this.

0622 - FileMaker 14 SVG Icon Helper Tool

Quick Overview of Web Viewers

* Webviewers were introduced in FM 8.  Since then they have become a very flexible and useful tool. 

* Webviewers are driven by your Operating System, and it's not actually rendered by FM.

* Webviewers don't necessarily need to display data from the internet.  It can be told to render local HTML code.

0630 - Web Viewers
+ 0800 - Calculations
17 lectures 02:26:12

Calc Engine ... Super Powerful

* The calculation engine in FileMaker is super powerful, and is available in a ton of places

* We will be covering concatenating text.

* If then functions -  IF Statements.

* IsEmpty functions; IsFull Functions (which don't exist).

* Get(Thumbnail) function actually resizes an image or picture.

* FileMaker Experts generally never memorize all the functions because there are too many.  

* The best strategy is to be familiar with the available capabilities, and then hunt for what you need.  Also discussed the creation of Calculated container fields.

0801 - Calculation Engine & Work Space

Calc Engine... the continuation 

* Calc Engine pt.2 and how its UI can be more easily worked with.

0802 - Calculation Engine & Work Space Part 2

Extracting the text we want from a Block

* FileMaker has Character based functions.

* FileMaker has Word based functions.

* FileMaker has Value list Management.

* Middle (text), PatternCounts, and Position Functions Isolating an E-mail address.

* How To extract an e-mail out of a block of text.

* Sample File here is not available as part of this training.

* We use the Data Viewer as part of FileMaker Pro Advanced.

* PatternCount allows you to search for a single character or a "string" of characters in a block of text.

* Middle, allows you to extract one or more characters from anywhere in a block of text.

* Calculate the length of  string of characters.

0810 - Parsing Text with Calcs - Part 1

Word functions and Value List Functions

* Learning to clean up blocks of text, and parse into individual fields. 

* This video focuses on entire lines in a Value List or evaluating entire words.

* ValueCount

* RightValues

* LeftValue

* GetValue

* Save copies of the scripts in versions in case you need to go back and check some previous calc.  When you're totally done then delete the unneeded scripts.

0811 - Parsing Text with Calcs - Part 2

Learn to detect When the user is in Find Mode or Browse

* The @ symbol can lead to some confusion when searching for E-mails, so quotes are important.

* By using Get(WindowMode) = 0 we can hide objects in Browse mode, and show it in Find mode.

* Starting with FileMaker 14 you can also use a calculation in the Placeholder Text section of the Inspector.

* To help search for phone numbers you can use a Filter function to remove parentheses, slashes, and dashes.

0812 - Detecting Window Mode and Filter Function

Lots of Cool Date Related Function to get your Job Done

* Adding numbers to a date adds days.

* You can put Month, Day, and Year functions inside the main Date function.

0813 - Date Calcs

Learn to detect what type of device a user is running

* FMGo and WebDirect Training Tool.

* Get (SystemPlatform).

* Get (Device).

* The Android platform is Device 5 starting with FileMaker 14.

* Chromebook is not technically supported, but returned Device 0 in this demo.

0814 - Detecting Device & Platform Types

A high speed walk through

* Active In focus.

* The following functions are discussed in this video:

* Get(AccountExtendedPrivileges) Get(AccountName) Get(AccountPrivilegeSetName)

* Get(ActiveFieldContents) Get(ActiveFieldName) Get(ActiveFieldTableName) Get(ActiveLayoutObjectName) Get(ActiveModifierKeys)

* Get(ActivePortalRowNumber) Get(ActiveRepetitionNumber) Get(ActiveSelectionSize) Get(ActiveSelectionStart) Get(AllowAbortState)

* Get(AllowFormattingBarState) Get(ApplicationArchitecture) Get(ApplicationLanguage) Get(ApplicationVersion) Get(CalculationRepetitionNumber)

* Get(ConnectionAttributes) Get(ConnectionState) Get(CurrentDate) 

Get(CurrentTime) Get(CurrentTimestamp) Get(CurrentHostTimestamp) 

* Get(CurrentExtendedPrivileges) Get(CurrentPrivilegeSetName)

Get(CustomMenuSetName) Get(DesktopPath) Get(DocumentsPath) Get(TemporaryPath)

* Get(EncryptionState) Get(ErrorCaptureState) Get(FileName) Get(FilePath) Get(FileSize) Get(FoundCount) Get(HighContrastColor) Get(HighContrastState)

* Get(HostApplicatoinVersion) Get(HostIPAddress) Get(HostName) Get(InstallledFMPlugins) Get(LastError) Get(LastMessageChoice) Get(LastODBCError)

0820 - Get Functions Walkthrough - Part 1

A high speed walk through

* The following functions are discussed in this video:

* Get(LayoutAccess) Get(LayoutCount) Get(LayoutName) Get(LayoutNumber) Get(LayoutTableNamer) Get(LayoutViewState) Get(ModifiedFields) 

* Get(MultiUserState) Get(NetworkProtocol) Get(PageNumber) Get(PersistentID) Get(PrinterName) Get(QuickFindText) Get(RecordAccess) Get(RecordID)

* Get(RecordModificationCount) Get(RecordNumber) Get(RecordOpenCount) Get(RecordOpenState) Get(RequestCount) Get(ScreenDepth) Get(ScreenHeight) Get(ScreenWidth)

* Get(ScriptAnimationState) Get(ScriptName) Get(ScriptParameter) Get(ScriptResult)

* Get(SortState) Get(StatusAreaState)

0821 - Get Functions Walkthrough - Part 2
0822 - Get Functions Walkthrough - Part 3

A high speed walk through....Some updated in 14

* The following functions are discussed in this video:

* Get(MenubarState) Get(ApplicationArchitecture) Get(ScreenScaleFactor) Get(AVPlayerAttribute) Get(TriggerExternalEvent)

* Get(TouchKeyboardState) Get(ApplicationVersion) Get(TriggerGestureInfo) Get(WindowContentHeight)

* Base64Encode

* TextFont and TextFontRemove

0823 - Get Functions Walkthrough - Part 4

Universal tool for returning data on layout objects

* GetLayoutAttribute will return info on all sorts of objects, but it is more useful on certain types of objects.   

* Very handy for Web Viewers.  

* Very handy for managing Slide or Tab panels.

* hasFocus containsFocus isFrontPanel.

0824 - GetLayoutAttribute

Universal tool for returning data on container fields

* GetContainerAttribute will return all kinds of info from container fields, related to images, photos, PDFs, barcodes, and signatures.  

* Similar to GetLayoutAttribute except you can specify a source field name.

* You can return all available metadata on the file in the container.

* It is especially useful in finding out whether a signature is a valid signature or not.

0825 - GetContainerAttribute

Handy tools for generating unique serials

* These two Get functions can help you uniquely determine users and machines that are running your database.

* http://filemakerstandards.org/display/bp/Key+values

* Persistent ID is reset when you delete and reinstall a new copy of FileMaker Pro or Go.

0826 - Get(UUID) and Get(PersistentID)

Pretty Awesome stuff... and we use it everywhere

* List function Allows you to create a Value List from Related Data or from local data within one record.

* To create a Value List from related data you actually use a SUMMARY type field with the LIST option, set to Individual.

* GetValue alows you to extract elements of a Value List.

* To take 2 lists where a 2nd list is appended to the bottom of the first, embed one list inside another list.

0840 - List Function, Summary List, and GetValue

Extra Capabilities for Value List Management

* Continuing the conversation about Value lists.

* A negative Number Changes to descending sort order as opposed to a positive number doing an Ascending Sort.

* You need to pass the expected Type of data that is expected, Text, Number, Date, or Time.

* Unique Values gives you a list of Unique Values. Very Cool!

0842 - SortValues and UniqueValues

Double Click Sample File by Excelisys

* Andy Persons, from Excelisys, has created an amazing free tool that helps you.

* Get(ScriptName) gives you the name of the current scrip that is running.

* Assuming no script was already running at the time YOU PRESS a BUTTON a Script is NOT running yet.

* Putting Get(ScriptName) in a button parameter will return nothing because the script is NOT running yet.  So it returned nothing.

* When you start a script you can HALT other Script that may be running.

* PAUSING an existing script is the default behavior.

0845 - Get (ScriptName) - Understand Timing Issues...
+ 0900 - Writing Scripts
32 lectures 05:17:28

Introduction and Context

* Writing Code and understanding where the FileMaker Client "is at" the moment the code is executing is called context.  

* What layout and record is the FileMaker Client viewing?  

* What is the found set and sort order?   

* You will need to keep these items in mind when writing scripts.

0901 - Scripting

Basic intro to this Script Workspace

*This was introduced in 14, with some improvements in 15 and it's heavily loaded with Keyboard shortcuts.

* New Feature for checking for "Obvious Problem" in red.  Does not find subtle errors in scripts.

* Show Compatibly (drop down in upper right) will show which FileMaker clients the script steps will work with.

* Lines of scripts are marked to help locate lines of code.

* Search bar in the left allows script names to be searched.

0902 - Intro to Script Workspace

If you like a mouse, then skip this video

* Basic Keyboard shortcuts.

* Comment your code!!  This is a sign of a good developer. Use the hash tag to start a comment.

* Inline scripts coding can be done for SOME script steps.  IF...THEN statements support inline editing.

* Command W closes current script, when all are closed it closes the script workspace.

0903 - Workspace Keyboard Shortcuts

Your first script

* We will be covering script creation, adding comments to scripts, and the difference between Set Field and Copy/Paste.

* We also build our first button and use it to activate the script.

* We did skip over the Table Occurrence conversation because we deal with that in our Relationship videos.  If you want to know about TOs; then please skip to that video.

* Before writing a script, plan out what sort of automation you want.

* Set Field will be able to set fields even if they are off screen.  They just have to be on the current table.

* Copy/Paste ONLY works when the field is visible on the current layout.

0904 - Set fields vs. Copy, Paste

Set Field works against fields not visible on layout

* Set Field works against fields not visible on layout as long as they do exist on the table for the active layout.   

* Copy/Paste/Cut will only work on fields if they are visible on the current layout.

0905 - Set fields & Context

Detailed discussion of FMSP Navigational Scripts & Modifier Keys

* We talk about one button scripts, which are almost worthless.   

* We will also cover how the navigational scripts in FMSP can pop-up a new window if the user holds down a modifier key.  Super cool!!!  We use this capability all the time when juggling a busy schedule!   

* The modifier key function is omitted from GO and WebDirect for various reasons.  The reasons range from "it just won't work" to both of these technologies use a "Single Document Interface" unlike FM Pro. Popping Multiple Windows.

0906 - Buttons run one Command

Navigating between records too

* Resizing a window to refit the content size.

* Open a new window or go to new layout.  Is there value in opening a second window?

0907 - Navigation

Making Logical Decisions in FileMaker

* If Then go together everywhere, but you can also use ELSE then and ELSE IF

* Must end with End If.

* There can be other If Statements within an If Statement.

* No Limit on how many Else if statements.

* Else is all other conditions that don't meet the IF or Else if conditions.

0908 - IF...THEN...decisions

Great tools for capturing and holding bits of data

* Global fields go way back before variables were added to the FileMaker platform.  Mastering both is important for good scripting skills.

* To see global or local variables that are defined and in use while a script is running pop open the Data Viewer.

* Path names for files must use variables.

* In Multi user solutions - Globals are specific to the users session

0909 - Variables vs. Globals

There is more than one way to script a Find

* You can script your finds using several different techniques.  One is somewhat succinct and the other is somewhat more verbose.

* Perform find or Enter Find Mode.

0910 - Performing Finds

Learn the Basic of Trapping for finds.

* Discussion of how Error Capture in FileMaker is NOT historical in nature and only tracks the LAST error generated by a script step.  Finds, GTRR (Go To Related Records), and other similar commands that are prone to failure MUST be trapped.  Also, Finds can be trapped by using more than one technique.

* Error 401. 

* When and why to use error capture.

0911 - Basic Error Capture

Learning to "call" or activate scripts i.e. pieces of "code" to save time

* You can call a common process that repeats a behavior many times.  Write the code once in a script, then reference in other scripts as necessary.

* Defining terms: Script, Subscript, Script Parameter.

* Demo: We take apart the Sent Email Script for FMSP from the contact module, script #0783

* Calling a Script which writes to a Log table, a log record, or audit trail type situation.

0912 - Calling Subscripts - Script Parameters

Passing Multiple Value via a List Function in Parameters

* Advanced Info: Passing values from multiple fields can be concatenated, and loaded into a script parameter or script result.  Use the List function to make things much more simple.

* GetValue Function is used to extract data.

0913 - Advanced Script Parameters & Script Results

Loop and EndLoop are Great Tools to add to your skill set

* Looping a script is a great way to process a group of records or to perform some sort of maintenance on the records, etc.   We have been using some sort of looping capabilities since FileMaker Pro 2 in 1990.

0914 - Looping Scripts

New Window Script Step is really helpful!

* Popping a new Window and working in that can preserve the users context.  

* Popping the new with window 2000 points off to the left side of the screen also hides this window; so users don't see a bunch of flashing.  A diagnostic check in the script for the get modifier key can help you decide to make the window visible for running it through the script debugger.

* Use modifier keys to detect if a Window should be visible or spawn differently.

0917 - Preserving User Context when running a Script

Card Style, Document, Modal, etc.

* New Window Script step, allows NEW card style.

* Explains this new feature and the benefits it offers.

0918 - New Window - Script Step

Secret Agent Tracking Device for Your Scripts in FileMaker

* The Script debugger is probably the biggest justification for buying FileMaker Pro Advanced.   Script debugger doesn't come with "regular FileMaker Pro."  This tool is a like a leash for your dog or 3 year old child.  Whatever works for you.  Its great!

* Get demo of firing a sequence of script triggers in scripts.  Totally invisible.

* Essential look to identify what's happening behind these scenes in FM scripting and script triggers. 

* How the script debugger works.

0920 - Script Debugger - Part 1

The less used features

* Step Out, Triggers OFF/ON, Break Points, etc.

* How to turn script triggers off, but why you may not want to.

* Data Viewer teaser and how it works with the script debugger.

0921 - Script Debugger - Part 2

How to spy on fields and variables in realtime

* Learn how the variables and fields can be reviewed in real time while a script executes.   

* Current tab will show the fields and variable being acted upon by the current script.   

* The dots to the left tell you which field or variable is being affected by the current script step.

* Discussion of Variables and how, if they are defined as NULL they may or may not be visible in the Data Viewer.

0924 - Data Viewer

Notify your customers about things in the db

* Adding a check mark graphic to a button can save you a lot of time and stress.

* Explains value of visual feedback.

* How long should visual cues stay on screen for?

0932 - UI Indicators for Database Activity

Performance - Unload your client's burden

* Learn how a new script step can run your process-heavy scripts on the server allowing your client to run more efficiently.

* Don't Choke your Donkey.

* You can pass a Script Parameter to the FileMaker Server.

* Global Field Values are not passed to the Server through PSOS.

* Variables are not passed to the Server through PSOS.

* Context is NOT passed to the the FileMaker Server through PSOS.   

* FileMaker Server can run your scripts for you.

*** IMPORTANT *** If the process that runs the scripts crashes or quits running on FileMaker Server you can restart the process with the command line:

fmsadmin restart fmse

* Performance Focused video.

* No Animals were mistreated while filming this video.

0943 - Perform Script on Server - PSOS

Performance - Important Things with PSOS

* PSOS can only work on files that use the matching credentials that you are actually using at the time you call PSOS. 

* PSOS can also work on files that auto open with credentials.

* SASE and PSOS tend to act like Clients even though they are not.  PSOS and SASE will run startup scripts and close scripts (Script Triggers).

* You can adjust the Startup Script to look for Server and to Exit if it sees the name "Server"

* We have an audit log that logs when users open FMSP.

* Everyone has to Login to a solution, but a number of people never log out properly.

* Performance Focused video.

0945 - PSOS in FMSP

Performance - PSOS, are you there?

* PSOS is not always available.  A request in a script to perform it does not mean its available. 

* When is PSOS not an option: Service crashes; all slots are being used. 

* How to create a check (PSOS Diagnosis) to see if PSOS is working correctly.

* When and how to check PSOS (startup & Periodically).

0946 - Testing for PSOS Availability

Can be easier to understand than "If, Then"

* Power users and developers use Case statements regularly.  They have the same functionality as an If statement, but are cleaner and more concise.

0948 - Case Statement

Purge your records of duplicates

* Take a look at how RCC has wired in a way to eliminate duplicate records by some smart scripting.

* Tiger by the tail.

* Just because you find duplicate records deleting them might not be a good idea.

* There can be 2 duplicate records where there is original data on each of the records.

* You will need to figure out your business processes to see how to keep all the original data while consolidating the records.

* Related records need to be detached from the parent record you're going to delete and              reattached to the parent you're going to keep.

0950 - Deduplicating Records, the Plan

Have you watched relationship videos yet???

* This command can be activated manually or via a script step.  It is exceptionally powerful and also dangerous.  Kinda like a tiger in the zoo.  If you don't know what you're doing, you're going to accidentally turn it loose and it's going to start eating people.

* Can be used to re-serialize a bad import but be CAREFUL.

0951 - Replace Command - A Tiger Loose at the Zoo

Beware of accidental script trigger detonation

* Unplanned script triggers are like hidden land mines waiting to go off and cause problems if they are being triggered unexpectedly.

* How to properly plan script triggers and avoid unwanted triggers.

0953 - Landmines in FileMaker

Error Capture - Lock Sync Error Testing

* Using error capture AKA testing your script and checking to make sure your code works under any situation.

* Robustify your script.

* Check to make sure a field can be edited before assuming you can actually edit the field.

* Open Record/Request Script Step will lock a record.

* Commit will release the record.

0955 - Testing to Make Sure Your Script has Access to a Record

Simple and Clever use of the Filter and Trim Function

* You can use this technique to specifically test if the contents of a field are what you expected them to be (a number, a block of text, etc.).  Very Cool!  

* Also, a quick explanation of the Trim function.

0957 - Testing to See if a Field or variable contains ONLY a number / Trim Funct

Check out this handy script technique involving Loops

* Using loops to jump lines of code.

* Cool Loop Trick.

0965 - One Use Loop Technique

Is your Get (Error Capture) on?

* FileMaker 16 has  a new behavior change that can cause you pain if you aren't properly capturing errors.

* Get (Error Capture).

* Go To Object.

0968 - Go To Object

*** Semi Advanced Topic ***  

* How to jump from one record to another through a relationship using the Go To Related Record script step.

* Also covers how this interacts with Anchor Buoy, and the design methodology of FMSP.

* Also covers error trapping error 101, and the option of setting up Portals to add records by clicking on a new line i.e. "Cascading adds"

0970 - Go to Related Record - GTRR