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.
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.
If you already have FileMaker Server 20.3, you can find the file in one of the following directories, depending on your operating system.
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.
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.