FileMaker & Applescript: Force a remote user commit

When editing a live FileMaker database, we’ll sometimes need to force clients to commit their records before the update can happen. If our users are on remote machines, this can be a real problem. The general fallback approach is to send a disconnect request from the FileMaker Server. This will close the database the client is using, so it isn’t the most friendly method.

If you are a computer admin with the credentials to ssh into these remote machines, you can perform a polite Applescript that will commit the current record without most users even noticing. Simply remote connect to the machine using Terminal, then rum the following command:

osascript -e "tell application "FileMaker Pro"" -e "tell database "Products"" -e "set cr_id to current record's ID" -e "show first record" -e "show record ID cr_id" -e "end tell" -e "end tell"

In this example, I am using a database called “Products”, so please modify the script as your needs require.

This solution requires knowledge of usernames and passwords, so it is not ideal in all situations. A more integrated approach would be to add either a timer for auto commit, or using a special command in filemaker to force users to commit. I will write about both when time permits.

Leave a Reply

Your email address will not be published. Required fields are marked *