
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:
https://bit.ly/2pHmJUo
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.
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.
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
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.
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
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)
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.
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
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.
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.
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.
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
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
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
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 integration
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
* 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
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.
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.
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.
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
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.
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
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.
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, and 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 servers, 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 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.
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.
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.
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 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.
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.
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.
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.
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.
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
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, 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
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.
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.
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 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.
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.
* 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.
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."
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.
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).
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.
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 shown 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 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.
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.
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.
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
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.
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.
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 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.
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.
*** 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
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.
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.
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.
Calc Engine... the continuation
* Calc Engine pt.2 and how its UI can be more easily worked with.
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.
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.
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.
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.
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.
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)
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)
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
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.
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.
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.
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.
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!
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.
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. 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 401.
* 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.
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 the 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 look 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 a lot of time and stress.
* Explains value of visual feedback.
* How long should visual cues stay on screen for?
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).
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 reattached 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.
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.
*** 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"
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.