Blog

Software tips, techniques, and news.

FMDeveloperTool in Claris FileMaker

Do you host your FileMaker files on a Linux server? Have you ever needed to encrypt your FileMaker applications or change the permissions of your users? As you are probably aware, FileMaker Pro is not accessible on a Linux server, and consequently, neither are the very useful “developer utilities” that are featured in FMP. Until today, if you wanted to modify your FileMaker applications, you would have had to copy your system over to a Mac or Windows machine and then bring it back to your Linux server. This is obviously an annoying process!

With the newest release of Claris FileMaker 20.3, we have been gifted with a new set of command line tools called the FMDeveloperTool, which allows us to access a number of features previously unavailable on Linux systems.

youtube-preview

FMDeveloperTool Features

  • Enabling and removing file encryption

    • Encrypt your database files to protect them from unauthorized access while they are being stored on disk

  • Removing admin access

    • Remove administrative access from all accounts and prevent users from modifying most design or structural elements of your databases

  • Saving a copy (compressed, self-contained) or making a clone

    • Rename a set of database files and automatically update the internal links to related files and scripts

  • Enabling Kiosk mode

    • Display your database files in Kiosk mode

  • Saving a copy as XML

  • Recovering a damaged file

  • Consistency checking a file

If you are unfamiliar with any of these commands, no problem! Let's go over each of them and how to use them in the new FMDeveloperTool and demonstrate how this will improve your FileMaker Linux server experience. Even if you don’t use a Linux server, this command line tool allows you to write reusable commands to automate deployment processes.

At DB Services, over 75% of our clients host their FileMaker applications on Linux servers, so this new tool will prove to be incredibly useful for a large number of FileMaker users. Thankfully, this comes included with FileMaker Server 20.3.

claris filemaker download screen.

If you already have FileMaker Server 20.3, you can find the file in one of the following directories, depending on your operating system.

claris filemaker developer tool directory.

The rest of this guide assumes you have a basic understanding of using the Terminal on Mac or Command Line on Windows / Linux. After downloading the tool, open your terminal and go to the file directory where the tool is located, then run ./FMDeveloperTool. If successful, you should see the following message.

filemaker developer tool terminal.

Saving a copy (compressed, self-contained) or making a clone

Suppose you want to make a copy of your FileMaker application with a different name for development purposes. This is a very common practice when adding new features or testing a migration on your application. If your file was hosted on a Linux server, this would be an annoying process, but using the FMDeveloperTool, we can easily perform this action from the command line by running:

--copy <source_filename> <username> <password> [-target_filename | -t <path>] [-encryption_key | -e <key>]

--clone <source_filename> <username> <password> [-target_filename | -t <path>] [-encryption_key | -e <key>]

Then, in the admin console, simply open the new file and begin hosting.

Enabling and removing file encryption

Enabling and removing file encryption can be really useful, especially if the data in your FileMaker application is related to medical records or requires security clearance. FMDeveloperTool allows you to do this very easily from the command line. Simply run the following command, putting in the proper filename, username, and password.

--enableEncryption <source_filename> <username> <password> [-target_filename | -t <path>] [-encryption_key | -e <key>] [-sharedID | -s <ID>] [-passcode | -p <passcode>] [-passcode_hint | -h <hint>] [-keep_open_storage | -o]

To revert this process, simply run the inverse command.

--removeEncryption <source_filename> <username> <password> [-target_filename -t <path>] [-encryption_key -e <key>]

Removing admin access

In FileMaker, there is a default user called “Admin,” which has full access. If this account was compromised, or if you wanted to prevent any malicious changes to your application after launch, you might want to permanently delete this user, which you can do by running the following command:

--removeAdminAccess <source_filename> [-target_filename -t <path>] [-encryption_key -e <key>]

An important thing to be aware of is that if the Admin was the only account with Full Access, certain aspects of your application will be permanently inaccessible, so make sure that you have an available Full Access account before running this command.

Saving a copy as XML

If you’re performing some advanced data-driven development on your application, it might be useful to save a copy as XML. This allows you to drill into certain data points, or, on a more basic level, can be used with a version control system, such as Git, to compare file version history. To do this from the command line, run the following:

--saveAsXML <source_filename> <username> <password> [-target_filename | -t <path>] [-encryption_key | -e <key>]

Consistency checking a file

If a FileMaker file is closed improperly, a consistency check will be performed to determine if the file has been damaged. If you want to manually run this command, possibly on a schedule, you could use the following command:

--checkConsistency  <source_filename> [-encryption_key -e <key>]

Recovering a damaged file

In the unfortunate case that you have damaged your FileMaker file, Claris recommends first saving a “compacted copy." If that doesn’t work, you can try the recover command. This should recreate your file and salvage as much data as it can while also providing you a status report of unrecovered data so you can find out exactly what information was lost in the damage. To create a recovery file, simply run:

--recover <source_filename> [-target_filename -t <path>] [-encryption_key -e <key>] [-generate | -g <rebuild | datablocks | asis>] [-skipSchema | -r] [-skipStructure | -l] [-rebuildIndex | -i <now | later | false>] [-keepCaches | -k] [-bypass | -b] [-username | -u <username>] [-password | -p <password>]

A note about recovered files: they are often larger than the original file. Claris suggests using a backup of your original file and copying the data from your recovered file into this.

Enabling Kiosk mode

Kiosk mode is a way to limit users who might be unfamiliar with FileMaker by removing access to the default window functions. These can be distracting, confusing, or could possibly even cause data loss if used incorrectly. Using the FMDeveloperTool, we can easily lock down access by running the following command

--enableKiosk <source_filename> [-target_filename -t <path>] [-encryption_key -e <key>]

Conveniently, Kiosk mode does not affect Full Access users, so this can be a useful way to limit some users while allowing your power users to continue using all FileMaker functionality. However, Kiosk mode will completely lock down the machine running the application and will prevent accessing other programs. As the name suggests, this is most useful for an application that will be publicly facing, such as at a kiosk. 

Conclusion

The new FMDeveloperTool has a number of useful features for those hosting their FileMaker applications on a Linux server, and we hope this guide has made using this tool that much easier. If you have any questions about the new FMDeveloperTool, please contact DB Services.

Did you know we are an authorized reseller for Claris FileMaker Licensing?
Contact us to discuss upgrading your Claris FileMaker software.

Download the FMDeveloperTool File

Please complete the form below to download your FREE FileMaker file.

First Name *
Last Name *
Company
Email *
Phone *
FileMaker Experience *
Agree to Terms *
reed brown headshot.
Reed Brown

Reed is a friendly and optimistic developer who values connections and finds joy in supporting coworkers and clients. With an enthusiastic and collaborative approach, he builds team spirit and inspires others to reach their full potential, ensuring a positive and productive environment.