
Quick Course Summary
* This training course focuses on FileMaker 16 and FM Starting Point 5.0, but is largely still applicable to FM 15, 14, 13, and 12.
* There are corresponding versions of FM Starting point for these versions of FileMaker.
* You can get the latest version of FM StartingPoint here: http://www.fmstartingpoint.com
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
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
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, Go, and WebDirect
* FileMaker Pro allows for access to the database while also allowing for development
* FileMaker Pro Advanced provides greater tools for serious developers.
* Pro Advanced provides a script debugger.
* 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 iPhone's and iPads.
Operating System Compatibility issues, etc
* A guide to understanding what devices and operating systems are needed to run various versions of FileMaker.
* Also, for those with older operating systems.... you can purchase the current versions of FileMaker... and then "downgrade."
* To run the latest version of FileMaker the minimum OS version is OS X 10.11 or Windows 7
* For iOS, minimum OS is 10
* Downgrades are allowed, if you have a hardware or migration issue, this is where you have a current license, but you are using an older release of FileMaker
* For iOS you will need a device newer than the iPad 2 - the iPad 2 cannot support iOS 10
Pricing out FileMaker and FLT
* A basic video about the math behind FileMaker's cost
* Discussing the brand New FileMaker Licensing program
* FileMaker Pro Advanced does not come with FLT
FileMakers Business Model
* Describes that and how connections work and cost
* FLT - FileMaker Licensing for Teams
* The FLT version of FileMaker Pro requires a connection to FileMaker Server to work
* With the FLT program you will have to be authenticated by the Server before you can access your FileMaker files
Whats new in FileMaker 16
* Discusses the new features with the FileMaker 16 platform
* Still uses the .fmp12 file format - so no conversion needed
* Windows UI Overhaul
* Layout Object Window
* Rest API
* iBeacons
* OAuth Provider Authentication
* FileMaker Go Layout Animations
* FileMaker Go GeoFence support
* Field Data Encryption
* Sort Values Function - Video 1042
* Unique Value Function - Video 1042
* FileMaker Server - Worker Machines
* FileMaker Cloud - not updated yet
Whats new in FileMaker 16 on Windows
* A review of FileMaker 16 on Windows with the new UI
* Now using FileMaker 16 on Windows looks and acts similar to FileMaker 16 on Mac
* The Window's primary menu stays attached to the window, whereas on the Mac the primary menu stays on the top of the screen all the time
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
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 0306 covers converting from the fp7 to the fmp12 file format
* Video 0307 covers converting from fp5 to fp7
* FileMaker 16 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.
Pro Advanced is for Developers...
* 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
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
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
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
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
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.
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.
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.
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 itegration
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
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
* 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"
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
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
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
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
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
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.
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.
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.
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.
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.
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
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.
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
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.
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, flipping between records
* Deleting records is not always a good thing, so think about that carefully
Yah... its totally automatic.
* FileMaker saves pretty much everything automatically
* There are a few caveats especially with backups and server though, we talk about those as well
* When inputting data, there is no save command because there is no need for a save command
Upgrading a DB from FileMaker 7, 8 , 9, 10, and 11 to 15
* 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.
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.
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
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
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.
"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
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
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.
Where the rubber meets the road...
* Understanding Indexes is the key to understanding how to make your finds run fast.
* Make sure that fields that 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
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.
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.
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
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
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
Formatting fields - Adjusting Currency... etc.
* Note: This is FMSP 4.5... although this is no longer the latest release. Process is the same for ANY database.
* 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.
Basics of Defining Calc fields and Hiding Objects.
* Note: This is FMSP 4.5... although this is no longer the latest release, the Process is the same for ANY database.
* 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.
Defining fields, and Custom Formatting of Fields
* Note: This is FMSP 4.5... although this is no longer the latest release. Process is the same for ANY database.
* 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
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.
Also Managing Objects Layers in FileMaker
* Note: This is FMSP 4.5... although this is no longer the latest release. 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
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.
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.
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)
Summary of Button Options
* Use conditional formatting to control Glyph Color. Glyphs are a GRAPHIC on top of a button.
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.
Essentially 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.
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
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.
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.
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 tool 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.
Major concept for Developers
* Understanding how FileMaker files behave when shared with multiple users is an important skill if you do much work in FileMaker.
* There are some different rules for development when making multi-user databases.
* Understanding record locking, sorts, find, and Global fields... are all important to successfully deploying a shared solution.
* Of course FMSP already is designed to be shared... so we thought this out in advance, but you will want to learn this if you do much 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. But 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.
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 existing 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 open the file in a multi-user environment... I set the Globals with the "Startup Script"
Popup 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.
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 Formating
* Script Triggers
* QuickFind
* Tooltips
* Button
* Popover Button
* Hidden Object Indicator (POV)
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 undos and Grouping and Ungrouping objects.
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
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.
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 show in a different video.
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!
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 adjust 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.
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.
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?
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.
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
Container fields in FileMaker will act different depending on whether they are set with interactive content or not.
* Note: This is FMSP 4.5... although this is no longer the latest release... 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 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
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 is 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. Its 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.
Viewer Requested "How to Video", review video 0528 first
* Want to hijack some container fields... with open, insert, and delete buttons, and copy them to another screen or layout?
* One of our video watchers had problems with this... so we made this video to walk you through the steps
* We talk about Slide Panels, Tab Panels, Container fields, Script Parameters, Variables, Repeating fields... aka Arrays.
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
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.
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
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 it 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.
* Very much behaves like the classic theme.
* Tip of the video: Do not copy and paste between two layouts with different themes.
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.
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.
With Great Power Comes Great Responsibility!
* You'll find these triggers under File > File Options > Script Triggers.
* OnWindowFirstOpen
* Opening a second hidden file will NOT trip this trigger.
* FileMaker calls this implicitly connecting a file.
* OnWindowOpen
* OnWindowClose
* OnWindowLastClose
Pre Trigger and Post Trigger Execution, and Layout Targeted Triggers
* We'll go through which order these script triggers fire.
* By default, none of the script triggers are turned on.
* OnLayoutEnter - one of the more popular triggers
* OnModeEnter - fires when switching between Browse, FInd, and Preview Mode
* OnRecordLoad - fires when flipping through records
* OnLayoutSizeChange and OnGestureTap are pretty much targeted at FileMaker Go users, so we cover these triggers in our FileMaker Go 16 training course in greater detail.
Stopping Pre Trigger Events...with a Script Parameter
* OnObjectEnter - Occurs after you click into a field. In some conditions, you can apply this trigger to a button or a tab, but it is not recommended.
* OnObjectKeystroke - will fire when typing within a field keystroke by keystroke. This will NOT work when entering text into a web viewer or using clipboard keyboard shortcuts.
* OnLayoutKeystroke - this is like OnObjectKeystroke, but is applied to the whole layout.
* OnPanelSwitch - for Tab or Slide Panels. will detect when trying to switch between tab panels. You can determine whether or not that will be allowed.
Managing field validations and workflow
* Some of the most used script triggers!
* New content dealing with more subtle issues of the script triggers. We also discuss Directed Workflow for workflow management.
* OnObjectModify - fires when the value associated with an object changes.
* OnObjectValidate - jumps ahead in line of FM's built in validation system. fires before an active object has been validated or saved.
* OnObjectSave - fires after object data has been validated and saved but before field is exited.
* OnObjectExit - fires when the user exits a field, regardless of whether or not changes were made. You can use this trigger to direct workflow.
Exiting Objects, Records and Layouts
* OnRecordCommit - fires before a record that has been changed is committed
* OnRecordRevert - fires before a set of records is reverted.
* OnViewChange - fires after you switch views manually or in a script step
* OnModeExit - fires before a user tries to exit the current mode on a layout.
* OnLayoutExit - fires before a layout is exited.
* OnWindowClose - fires each time a window is closed
* InstallOnTimer is an automatic Window Script activator tool.
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.
*** 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
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"
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 the icon dynamically. The helper tool assists with this.
FileMaker can be the center of your digital world
* This video introduces the section that will talk about importing and exporting in various formats (PDF, CSV, TAB, Excel, HMTL Table, XML).
* We will also discuss how to do that process manually or to automate it with a script.
* We will talk a bit about email generation using a couple of different methods.
* We will touch on WebDirect and creating and scanning barcodes in this section as well.
Basics of manually importing data into FileMaker tables...
* FileMaker reads lots of different file formats, including:
* Tab-Separated Text (.tab)
* Comma-Separated Text (.csv)
* Excel Spreadsheets (.xlsx)
* Merge (.mer)
* HTML Table (.htm)
* FileMaker Pro (.fmp12)
* XML (.xml)
* It is extremely important to be aware of importing records with an existing ID field system and how to deal with that situation.
* FileMaker will not directly read a PDF or Word document without the aid of a 3rd party plug-in.
* 360Works has a Plugin to have FileMaker integrate directly with MS word.
Basics of manually exporting data out of FileMaker...
* FileMaker can export in the following file formats:
* Tab-Separated Text (.tab, .tsv)
* Comma-Separated Text (.csv)
* Excel Spreadsheets (.xlsx)
* Merge (.mer)
* HTML Table (.htm)
* FileMaker Pro (.fmp12)
* XML (.xml)
* Quick tip: Navigate to the layout that has the info that you want to export.
* You can export a single record, multiple records in a found set, or a blank record with the fields.
* You cannot export multiple records with containers unless you are exporting to the FileMaker Pro format.
Save your Ad-hoc Imports and Exports by Creating a Script
* Power users and new developers forget to "save their work" when doing Ad-hoc imports or exports.
* This will cause a lot of wasted time reproducing the import or export a 2nd or 3rd time... from scratch.
* To avoid this we must make a script to save our work.
*Also, we cover a couple of additional import dialog options.
Recurring Imports, Scripted on a Robot, Scripted on a Server
* We go over some of the strategic level hardware problems facing you.
* We will also have an in-depth conversation on ways to automate imports/exports.
* A few key questions:
* Where are the files you are importing from going to be located?
* Where are the files you are exporting to going to be located?
* How big will your import or export be?
* This will help to decide which method to use:
* Dedicated Robot
* Recurring Import
* Server Assisted Script Execution (SASE)
* FM Cloud does NOT support SASE.
* We recommend avoiding running serious automation with imports or exports with FileMaker Go or WebDirect
What is SMTP...basics...and then more advanced skills
*Learn the basics before getting into deep e-mail Kung-Fu.
* We touch a bit on SMTP vs Send via Client.
*We have a sample file to learn and play with the SendMail script step.
*You can get this file as part of our work files... in a Zip on the RCC website.
*** Important *** I failed to mention that the emails FileMaker sends are plain text... and NOT HTML based e-mails... which is unfortunate.
Use Lee Lukehart SMTP Interrogator tool to hunt for your settings
* Easier video for newer people talking about the background of emails and how they relate to the SMTP
* Utilizing a tool called SMTP Send Mail Interrogation from SavvyData.
Digging through FMSP Code in detail
* We go in detail about FM Starting Point's email system.
*We dive into the scripts that run the email system and cover how we integrated CloudMail into FMSP.
* Passing script parameters, looping records, SMTP settings, and IF THEN decision trees.
* Substitute function to customize the body of email with custom values from each specific record.
* We didn't have to use the let function, but my developer got overly cute.
* Printed out the Scripts to help with the understanding.
* Script 073, 0741
How far can you go... shooting mass emails out of FileMaker?
*Once people figure out that FileMaker can blast out emails... they want to shoots emails out to everyone for sales and marketing.
*Is this a good idea? Maybe.
*You need to know the rules, and also understand what your SMTP email server expects... or will allow. *Your outbound email provider will only allow "so much" outbound email traffic to be sent to them.
*You will probably need to pick up the phone and talk to them on the phone, to establish a "real" relationship, so they know who you are.
Firing off emails to people with attached PDF reports...
* We discuss how to automate sending exports via email with the use of a script.
* FileMaker has access to the Documents directory and the Temp directory via a script command.
* The temporary directory is usually the go-to directory for emailing attachments as the operating system periodically goes through and clears it out for you.
* Keep in mind that the path for the attachment could differ between the Mac and PC platform. We talk about how to account for that.
* These techniques also work great for email exports from a table or the Excel spreadsheet you exported.
How to Delete a File without a Plug in...Very Cool!
*Just use the techniques you have learned previously, but make sure when you create the file that you have a found set of ZERO records.
Breakout the Relational Kung Fu!
*You can only import data into a single table at a time!
*Common scenario: Excel file which needs to be imported into Accounts and Contacts... so we need to do multiple import passes against the same Excel file.
*Pay special attention to when you turn ON auto-import options during the FileMaker Import!
A step by step process on importing multiple tables in FMSP
* This is how to upgrade from FMSP 3 to 5.0, etc.
* While FileMaker has many benefits, unfortunately rolling code forward and making seamless easy upgrades is not something FileMaker is known for :(
* First important question: Should you bother upgrading?
* If not, stick with your current database and upgrade to the current version of FileMaker to take advantage of the new product features.
* You might be able to copy and paste some of the new features in the latest version of FM Starting Point into your copy.
* If you haven't really customized your copy of FM Starting Point, you would be able to export the data from the old copy into the newer version.
* This is NOT a quick and easy process.
We need to import into a temp table first
* This requires some thought and scripts.... but it is pretty straightforward.
* Good for updating contacts, or updating products with the latest prices, etc, etc.
* Integration
A step by step process on how to setup
* HTML emails cannot be generated or processed directly out of FileMaker without the help of a plugin.
* 360Works has a good one for making great looking emails.
* Comes with a Mac and PC version.
* Plug-ins cannot be run on iOS devices without the help of PSOS with the plug-in installed on the server.
* We set up a script to verify settings and create the HTML email.
* 360Works includes a way to handle the situation where the recipient of the email can only view plain text emails.
* Integration
CloudMail makes for easy email demos in FMSP
* We have Jesse Barnum from 360Works with us to talk about the integration of his company's FileMaker plug-in into FM Starting Point.
* Briefly go over email client and SMTP and their pitfalls.
* Which brings us to 360Works CloudMail.
* Jesse Barnum explains the differences between their standard email plug-in and CloudMail.
* You get a free 2 hour demo of Amazon's data center every time you open up FileMaker.
* If you would like to purchase the full plug-in, you need an Amazon Web Services account and you need to purchase the license for the plug-in from 360Works.
* https://www.youtube.com/watch?v=5QK7bj6-aN4
* Integration
A step by step process on how to setup 360Works' CloudMail
*A simple video about setting up this arguably crucial SMTP Plugin... pretty easy setup
* Integration
Overview video... with some additional content...
* Barcodes – Available in FMSP
* You have the option of using a USB Barcode Reader with your computer to scan barcodes
* USB Barcode Scanning guns – usually less than $100
* FileMaker Go camera can scan barcodes for free, but it’s somewhat slow
* Additional hardware for FileMaker Go covered in video 0810
* USB Barcode Scanning gun acts like a keyboard to input data – cursor needs to be in the field in order to receive the information
* Barcode Creator by Geist Interactive is a great tool that helps you generate barcodes in FileMaker
* More information on Barcode Creator here: https://www.geistinteractive.com/products/filemaker-barcode/?giref=1
* Integration
Copy and Paste Two Scripts...and then reconnect one more...
* Installing Geist Interactive's Barcode Creator software into FM Starting Point is a snap
* Great for rapidly scanning items
* FM Starting Point doesn't come with a built in barcode generator
* Make sure you have at least FMSP 4.2 or better... for easy setup.
* Integration
Adding Line items to a Invoice with a Scan Gun... Very Fast!
* Scanning items into FileMaker can be made to work very quickly with some scripting, a bit of hardware, and an understanding of how barcodes work
* Make sure you have at least FMSP 4.2 or better... for easy setup
* Integration
How does the Mac/Window layout scan barcode for invoices....
* Barcode Scanning in FMSP is a function of 3 windows interacting with each other
* Make sure you have at least FMSP 4.2 or better... for easy setup.
* How we built the functionality for adding line items to invoices and estimate... for the desktop and laptop screen... for Mac and Windows Computers.
* Assumes you are using a Laser barcode gun, connected via USB or equivalent.
* Integration
How does the iPad layout scan barcode for invoices....
* Discusses how the iPad camera integration works with barcodes and FileMaker Go
* Discusses single document interface restrictions and the InsertFromDevice command that is specific to FileMaker Go
* FileMaker Go can only have one window open at a time
* FileMaker Go will take up the whole screen when using the camera to look for a barcode - this cannot be controlled
How to customize your script to create your own Barcodes...
* Discusses how to create your own scripts... and tie those into FM Starting Point after you have followed the instructions in video 0804 and installed Barcode Creator
* Base64 - Just a big block of text
* Integration
Adesso NuScan USB and Wireless too...
* The Adesso NuScan 3200u USB corded version.
* Termination character of an ASCII 13 or Carriage return... that forces a FileMaker Script Trigger to fire.
* We talk about the suffix or termination character... and how you go about programming barcode guns... which is kind of cool. You can zap barcodes right out of the printed manual.
* Integration
* Script Trigger OnObjectExit
* Update at end of video talks about... NuScann 4100B Wireless unit.
We have label printers... they probably won't work for you...
* Printer layouts in FileMaker are somewhat finicky... and these will need to be customized and fixed by you once you get the printer you want to use and you get your printer drivers installed.
* Tricks for keeping your users from running wild with their scan guns.
* Printing Labels from your own label printer is a customizable process
* Dymo label printer
* Code 39 and Code 128 Barcodes
* Our barcode gun - Video 0809
* Integration
Troubleshooting Barcodes... and some Q&A
* Answers user questions about various Barcode Scanning features
* The Test Barcode File is part of the work files which can be downloaded from this web page:
http://rcconsulting.com/downloads.html
* Integration
Awesome Laser barcode readers....
* Spotlight on Infinite Peripherals mobile hardware for iOS
* Linea Pro for the iPhone and Infinea Tab for the iPad
* URL Protocol allows FileMaker Go to talk the iLinea app, which you need too have installed on your iOS device
* Allows for single and multiple scans
* Integration
FMS can make Pro Generate PDFs... Introducing PSOC
* Richard Carlton interviews Jesse Barnum about 360Works RemoteScripter
* RemoteScripter - The Server asks the client to run a script for it
* Essentially PSOS, except backwards
* The Server needs to know the IP of the client that you want to run the script
* Integration
Do you need a Robot... where do you hire one???
* A dedicated computer that does repetitive or monotonous tasks in FileMaker Pro during specified times
* Usually the tasks a Robot will accomplish will be time intensive or labor intensive, and they will usually run at night
* The robot can explode into little tiny bits.... and the FileMaker Server will be unaffected
* SASE... is the Server Activated Script Execution... which is basically a backup schedule system in FMS that doesn't run a backup... but runs a FileMaker Script. SASE is limited.
* Integration
You need a Plug-in....and this is a good one...
* Richard Carlton interviews Sam Barnum about 360Works Email plug-in.
* Discusses HTML Emails, and a brief intro to Amazon's Simple Email Service (ASES) or just (SES).
* The Plug-in can send out SMS messages and IM messages as well, which is very cool!!!
* You can find more information here: http://360works.com/email-plugin/
* Integration
Progress Bars look really cool in your solution...
* Progress Bars are everywhere, why not put them in your solution?
* Andy Persons, from Excelisys, has created an amazing free tool that helps you easily add Progress Bars to your FileMaker solutions.
* Base64
* Base64Decode
* Copying and Pasting custom functions requires FileMaker Pro Advanced
* Download the free sample file here:
http://www.excelisys.com/blog/2014/08/28/filemaker-pro-13-tip-n-trick-v3-filemaker-pro-progress-bar/
* Integration
Are your emails valid? Or are they getting rejected?
* Making sure the E-mails that you are sending from FileMaker are valid is very important to your organization and to your E-mail provider
* There may be rules from your internet provider on sending out bogus E-mails
* Integration
Get actual driving distance...and drive time...not as the bird flies.
* This is a very cool service... that is essentially free from Google
* It will output XML...so you may want to watch the video on XML parsing - 1503
* Our calculation will be for driving and not walking or biking
* Integration
Dialing Phone Calls from FileMaker... Real Easy.
* Setting up VOIP in FileMaker is pretty easy
* Great for sales teams
* You will need to Leverage URL Protocal capabilities to talk with SIP
* We leverage Vonage, and X-Lite in this video
* Integration
Sending SMS messages without a Plugin....
* This technology works on any of FileMaker's clients and is very cool
* Sample file is included in the Work Files, but before you can use it... you will need to setup an account at Twilio
* You can visit Twilio here: https://www.twilio.com/
* Short Codes
* Texting with FileMaker
* Integration
Richard Carlton interviews Jesse Barnum about MirrorSync
* Richard Carlton interview at DevCon (Las Vegas) with Jesse Barnum from 360Works
* MirrorSync – Provides Sync capability for various types of databases and devices, works great with Go and Pro
* Client to Server Sync capability
* Easy to set up
* Sync time is less than 1 second on average for no changes
* Sync capability is great especially if you plan to use a local copy without internet access for a period of time
* You can find more information at this website: http://360works.com/filemaker-sync/
* Record conflict resolution is a simple and quick process
* Deletion Tracking
* Bi-Directional Syncing
* Setting up your own solution on your own sync should take less than 1 hour
* MirrorSync – Installed on any machine you want, typically on the FileMaker Server machine
* No plug-ins or extra installations needed on the client side so it works great with Go
* Hub-and-Spoke model – FileMaker Server is the Hub and the spokes are your clients
* Works with FileMaker, MS SQL, MySQL, Oracle, and JDBC as well
* You can sync different databases by selecting “Sync with a separate mobile file” – Your mobile file doesn’t need to have anything in common with your Server file
* MirrorSync can use the same simple process as CloudMail to send E-mail notifications
* Supports Multiple File Solutions and Single File Solutions
* MirrorSync for 1 client device and 1 file is free to use
MirrorSync 3 has some great Server to Server upgrades
* Richard Carlton interview with Jesse Barnum from 360Works
* You can find more information at this website: http://360works.com/filemaker-sync/
* MirrorSync 3 does everything MirrorSync 2 did but faster and better
* MirrorSync 3 has new Server to Server capabilities
* Replication – Getting 2 or more servers to share the same data
* The farther away you get from your Server, the slower it will be
* Clustering Replication – 2 Servers side by side in the same data center
* Clustering Replication is great for load balancing
* Clustering Replication is also great in case one Server fails
* Amazon Web Services – Elastic Load Balancing
* Elastic Load Balancing (ELB) automatically routes incoming connections
* Users connecting to either Server will be accessing the same data, without even knowing they’re accessing separate Servers
* XML Web Publishing
* JDBC (New for MirrorSync 3)
* For a more detailed explanation, you can E-mail: support@360works.com
* Cluster Node – Just another term for FileMaker Server but in a cluster situation
* Availability Zone
* MirrorSync 3 + ELB from Amazon Web Services = Pure Awesomeness
* MirrorSync 3 works on WAN and LAN
* Easy and quick automatic fail-over process
MirrorSync 4 now has even better version updating capabilities
* Richard Carlton interview with Jesse Barnum from 360Works
* 360 Deploy video: https://youtu.be/S45NwYX80Xs
* Support for new version of FileMaker database in offline files
Validate with the U.S. Postal Service...
* A decently advanced discussion about validating addresses with Guest speaker Jonathan Ray
* Access a service by the US Government.
* Online Service will not allow you to blast thousands of email addresses at one time.
* You need to sign up for the service, and you will be given ID... that allows you to be specifically identified.
* The integration is completed as a "InsertFromURL" command via a script.
* Sample file included in the work files.
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.
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
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
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. So 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
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.
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
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?
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
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
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
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 404
* When and why to use 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.
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.
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. A million uses
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.
Card Style, Document, Modal, etc
* New Window Script step, allows NEW card style
* Explains this new feature and benefits it offers
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 took to identify what's happening behind these scenes in FM scripting and script triggers
* How the script debugger works
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
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.
Notify your customers about things in the db...
* Adding a check mark graphic to a button can save you alot of time and stress
* Explains value of visual feedback
* How long should visual cues stay on screen for?
Performance - One Big Cohesive Plan
* A quick overview of the best videos to watch and in what order to tackle your database performance. 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
* Building a database that serves 100+ people can be built in FileMaker Pro
* Optimize a slow database... by having the FileMaker client do less work
* Make sure your using Index Finds.
* Limit sorting as much as possible.
* Limit Found sets BEFORE performing a sort.
* Optimize Layouts... using Custom Themes and Shared Styles... making a layout 200% faster!
* Minimize use of Calculations and Summary fields on screen.
* Think about using "Perform Script on Server" - PSOS
* Think about using a robot machine to handle data processing around the clock.
Performance - How many users can you handle?
* Making a database that can work with 100 simultaneous users is not something that can be easily done by novice developers
* FM Starting Point is designed with Scalability in mind.
* Avoid unneeded calculation fields or summary fields.
* Avoid using sorting in portals.
* Avoid sorting tables with large found sets.
* Avoid filtering portals... or calcs that total the contents of a portal.
* Critical Calcs, etc,.. can be scripted to run when needed... locally on the client... via trigger or push button.
* Use Container fields set with External Storage... aka "Remote Containers"
* Set Containers on a Layout to be Images and NOT interactive content.
* Carefully Setup a FileMaker File... with Globals...before hosting it on a FileMaker Server or FileMaker Cloud.
* Performance Focused video
Visual Graph of 2 Nearly Identical Scripts
* Great visual comparison of Server Performance as it runsan Efficient Script versus an inefficient script
* This is a quick visual video... to demonstrate the effect on a server. We dive into this script... in GREAT detail in Video #1842.
* An unindexed FIND command can kill a FileMaker Server... if multiple users do this at the same time.
* Inefficient scripts will cause slow performance, which will cause you to have to buy a larger, more powerful server.
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
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
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)
Performance - Let Server help your Client...
* Server Assisted Script Execution is very powerful.
* The function is very similar to PSOS with one major difference
* You need to set this up on the Server side in advance
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
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 re-attached to the parent you're going to keep.
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
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
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.
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.
Check out this handy script technique involving Loops
* Using loops to jump lines of code
* Cool Loop Trick
* 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
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!
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.