FileMaker Go 17 Development Guide
Introducing FileMaker Go
About FileMaker Go
FileMaker Go® runs FileMaker custom apps on iPad and iPhone so you can easily manage and share information with your team anywhere you go. Build custom apps using FileMaker Pro Advanced, then use FileMaker Go to work with the data on an iOS device.
About this guide
Setting up custom apps for FileMaker Go
Working with data in FileMaker Go
Use one of the following options to work with data in FileMaker Go:
- Connect to a hosted file from an iOS device and work with data interactively. When you change data on the iOS device, the data is updated on the host computer, and vice versa. You can connect to files that are hosted by FileMaker Pro Advanced, FileMaker Server, or FileMaker Cloud.
- Transfer a file to an iOS device, then work offline with a local copy of the file on the device. When you transfer a file to your iOS device, you create a copy of the file. When you make data changes to the local file on your iOS device, the original file on your computer is not updated. You must transfer the file back to your computer, then use FileMaker Pro Advanced to import and update data. See About file transfers.
About file transfers
For information about transferring files to or from a device, see FileMaker Go Help.
- Make sure to back up your files before you transfer them.
- Before you replace an existing file on a device, make sure the file is closed or removed. Otherwise, the file may not transfer properly and may become damaged.
Transferring a file with container fields that store data externally
To transfer a file with container fields that store data externally, you must first embed the container field data. In FileMaker Pro Advanced, use the Save a Copy As command and choose self-contained copy (single file). Then transfer the copy, not the original file.
Importing to and from a transferred file
You can use the Import Records script step to merge data from a local FileMaker Pro Advanced file on an iOS device to another FileMaker Pro Advanced file.
Set up the field mapping and import order before you import. You can:
- import from a remote source into a local or remote file
- import from a local source into a local or remote file
Example 1: Importing from a remote source (Remote.fmp12) into a local file (Local.fmp12)
In this example, the Local.fmp12 file is on an iOS device and needs a script that imports data from a remote source (Remote.fmp12). You need to use FileMaker Pro Advanced to create the script in the local file, then transfer the file to FileMaker Go. You can then run the script in FileMaker Go to import the data from the remote file.
- Open Local.fmp12 and Remote.fmp12 in FileMaker Pro Advanced.
- Create a script in Local.fmp12. For example:
Import Records [With dialog: Off; "Remote.fmp12"; Update existing; Mac Roman]
and set up a path to the remote source file using your machine IP address. For example:
- Specify the import order.
- Close Local.fmp12.
- Transfer Local.fmp12 to FileMaker Go.
- Open Local.fmp12 in FileMaker Go, and run the script.
The local file is updated with data from the remote file.
Example 2: Importing from a local source (Local.fmp12) into a remote file (Remote.fmp12)
In this example, the remote file (Remote.fmp12) needs a script that imports data from a local file (Local.fmp12). You need to use FileMaker Pro Advanced to create the script in the remote file, then use FileMaker Go to open the hosted remote file on your iOS device and run the script to import the data from the local file.
- Transfer Local.fmp12 to FileMaker Go.
- Open Remote.fmp12 in FileMaker Pro Advanced.
- Use the Script Workspace to create a script in Remote.fmp12. For example:
Set Variable [$FilePath; Value:Get(DocumentsPath) & "Local.fmp12"]
Import Records[With dialog: Off; "$FilePath"; Add; Mac Roman]
where the path to the source file on the device is
Select Specify import order.
If the source fields do not appear in the Import Field Mapping dialog box, in the Script Workspace, select Specify data source for the Import Records script step. In the Specify File dialog box, for File Type, select FileMaker Pro Advanced files. Then add another path to Local.fmp12 to the path list. For example:
- In FileMaker Go, open the hosted Remote.fmp12 file.
- Run the script from Remote.fmp12 in FileMaker Go.
The remote file is updated with data from the local file.
Differences between FileMaker Go and FileMaker Pro Advanced
FileMaker Pro Advanced features not supported in FileMaker Go
- creating and modifying database schema such as tables, fields, relationships, data sources, and privileges
- creating and modifying database structure such as layouts, scripts, value lists, and custom menus
- importing records from any formats other than FMP12
- exporting records to FMP12 or XML format
- text baselines
- hosting files
Script steps not supported in FileMaker Go
FileMaker Go does not support some script steps. To identify the script steps that are not supported, use the FileMaker Pro Advanced Script Workspace. See FileMaker Pro Advanced Help.
FileMaker Go does not display an alert for unsupported script steps. Unsupported script steps are skipped and return error code 3 ("Command is unavailable"). Use Get(LastError) to check for this error code.
Important:Running unsupported script steps may lead to unintended behavior.
Layout and Preview modes aren’t supported in FileMaker Go. However, you can preview records by saving records as PDF and viewing the PDF within FileMaker Go.
In FileMaker Go, you can't:
- remove views or layouts
- add or remove fields
- switch to layouts that aren’t displayed in the Layouts menu, unless you provide a navigation button
- define and assign value lists, unless they are used for drop-down lists and pop-up menus that allow editing of value lists
- display tooltips
- display leader characters such as “...” in tab control names
- display shadows on layout objects
Date and time selection
You can't select seconds or fractions of seconds in FileMaker Go. To enter seconds, tap on the editing toolbar until the keyboard appears, then enter the time.
Scripted or calculated times will display seconds on the device.
- The print options that you set for a file in FileMaker Pro Advanced have no effect on the print options for the same file in FileMaker Go, and vice versa.
- If you’re printing a layout where exact spacing is important, such as labels or a preprinted form, specify page margins.
Fonts and text styles
- Fonts that aren't supported by iOS are converted to supported fonts.
- You can view the following text styles in FileMaker Go: bold, italic, underline, word underline, double underline, title case, uppercase, lowercase, and strikeout. FileMaker Go doesn’t support highlight, condense, extend, small caps, superscript, or subscript.
- Only fields are supported in the tab order. You can set up Tab and Return, but not Enter, to go to the next field.
- The Auto-Correction setting will not work in text fields that have script triggers set up to capture keystrokes.
- Asian languages: Sideways text isn’t supported. Input method editors (IMEs) will not work in text fields that have script triggers set up to capture keystrokes.
- If a text field is configured to display as a drop-down calendar in FileMaker Pro Advanced, it is displayed as an edit box in FileMaker Go.
- By default, all manual export operations except those from the XLSX format use UTF-8; XLSX uses UTF-16.
- You must use the Export Records script step to:
- select fields that are not on the current layout
- configure the output file character set
- The Inspector Data Formatting options Images and Interactive content do not apply to container fields in FileMaker Go.
- FileMaker Go doesn’t support storing container field data externally for local files.
You can use the Insert From Device script step to enter content into a container field from a music library, photo library, camera, video camera, microphone, or signature; or to enter content into a container field or text field from a bar code source. See FileMaker Pro Advanced Help.
Video and audio playback in container fields
You can use the following script steps, functions, and script triggers to work with media in FileMaker Go:
- script steps: AVPlayer Play, AVPlayer Set Options, AVPlayer Set Playback State
- script triggers: OnObjectAVPlayerChange, OnFileAVPlayerChange, OnExternalCommandReceived
- functions: GetAVPlayerAttribute, Get(TriggerExternalEvent)
You can’t enable or disable file encryption in FileMaker Go. To enable or disable encryption, use FileMaker Pro Advanced. If you transfer an encrypted file to an iOS device, the file remains encrypted on the device.
Note:The encryption feature in FileMaker Pro Advanced is available when the Use advanced tools general preference is selected.
In FileMaker Go, you can enlarge the image on the screen up to 200%.
You can use keyboard shortcuts in FileMaker Go if you have an external keyboard connected to your iOS device or the Smart Keyboard connected to your iPad Pro.
To see a list of shortcuts for common commands, press and hold the Command key ⌘ on the keyboard.
For a list of supported keyboard shortcuts in FileMaker Go, see FileMaker Go Help.
Saved local files
By default, the files you save locally appear in the Device tab and are saved in the Documents folder. To save the files in a temporary folder, use the Set Variable script step to create a variable to specify the output file path and filename for the script step.
You can use the following example to create an email with the file as an attachment.
Set Variable [$Output; Value: Get( TemporaryPath ) & "Sample.pdf"]
Save Records as PDF [With dialog: Off; "$Output"; Records being browsed]
Send Mail [Send via E-mail Client; With dialog: Off;
To: "email@example.com"; Subject: "Invoice";
Message: "Test"; "$Output"]
Some keystrokes behave differently on external keyboards.
|Key||Behavior in FileMaker Go|
|Eject key||Hides or shows the onscreen keyboard|
|Arrow keys||Not supported for value lists or date, time, and timestamp lists|
Scripts and functions behavior
- To stop a running script, tap anywhere on the screen, and confirm that you want to stop the script. If you do not make a choice, the script will continue running.
- When you switch to another app, FileMaker Go enters a suspended state unless there is an audio or video file playing. When you return to FileMaker Go, the app and scripts resume from where they left off. For hosted files, if the data or schema was modified while FileMaker Go was suspended, the script stops running; otherwise, the script continues.
- If you've switched away from FileMaker Go for an extended period and iOS forces the app to quit, FileMaker Go attempts to generate a hibernation file. When you restart FileMaker Go, it uses the hibernation file to reopen files. A hibernation file is not generated when a script with Allow User Abort set to Off was running when you switched away from FileMaker Go.
By default, script steps that create output files will not overwrite an existing file. Instead, a number is added to the end of each filename. For example, the first time you run the Save Records as PDF script step for a file named Sample.fmp12, the output filename is Sample.pdf. The second time you run the script, the filename will be Sample 1.pdf.
To replace the output file with the new one instead of keeping multiple copies, add the file path (file:fileName or filemac:fileName) to the script. For example, if you type
filemac:Sample.pdfin the Specify Output File dialog box each time you run the script, the Sample.pdf file in the Documents folder will be replaced with the new one.
Protecting files in FileMaker Go
Opening files protected with passwords
When users try to open a protected file in FileMaker Go, a dialog prompts them to specify an account name and password. FileMaker Go checks the following settings in the specified order to determine how to open a protected file. If none of these settings are used, the user needs to enter the account credentials to open the file.
- File Options dialog box to log in automatically
In FileMaker Pro Advanced, you can use the File Options dialog box to automatically log in using a specific account name and password when you open the file.
- User manual override
In FileMaker Go, users can temporarily bypass the default login information when they open a file by touching and holding a filename in the files list. Tapping Sign In displays a dialog where users can enter a different account name and password.
- Accessing passwords saved in the keychain
To save passwords in the keychain, use the File Options dialog box in FileMaker Pro Advanced to allow saving passwords, then make sure the Save Passwords in Keychain option in FileMaker Go is turned on. You can also require users to authenticate with iOS before FileMaker Go can access its keychain. See FileMaker Go Help.
Returning to FileMaker Go
When FileMaker Go moves to the background, it saves the state of any open FileMaker apps. When you switch back to FileMaker Go, you return to where you left off.
Files can be configured to require reauthentication after being in the background for a specified period of time. See Using the fmreauthenticate extended privilege.
After FileMaker Go moves to the background, you must reenter your account name and password to return to the file, unless:
- you are using the Guest account
- your account name and password match the account name and password set in the File Options dialog box in FileMaker Pro Advanced
- you have returned to the file before the time limit specified in the fmreauthenticate extended privilege
- you are using an account that does not have the fmreauthenticate extended privilege
- you saved the password in Keychain Access
Using the fmreauthenticate extended privilege
Use the fmreauthenticate extended privilege to require reauthentication after not using FileMaker Go for the specified number of minutes.
With this extended privilege, when FileMaker Go switches to the foreground, users must reenter the account name and password if the specified time limit has elapsed. Users can attempt to enter their account name and password five times before FileMaker Go closes the files.
New privilege sets created in FileMaker Pro Advanced include the fmreauthenticate10 (ten minutes) keyword by default.