You cannot use this record until (FileMaker User) is finished

What is record locking? Why did my dashboard break?

While working, have you ever been thwarted by a FileMaker dialog that reads:

“David Weiner (David Weiner)” is modifying this record.  You cannot use this record until “David Weiner (David Weiner)” is finished.

Why can’t I use this record until someone is finished?

This is caused by a challenge that all database systems face called conflict resolution. What happens when two people in different places simultaneously edit the same record? Which edits win? What if I have the most recent information about something, but someone else started editing after me?

Every database system has a method for handling this, and FileMaker is no exception. FileMaker addresses this dispute by instituting a “lock” on the record. As soon as I put my cursor in a record and begin typing, FileMaker “locks” the record on my behalf, and won’t let other users edit the record until I’ve committed or reverted my changes. This YouTube video does a great job of explaining FileMaker’s record locking. This blog post specifically details the hazards and benefits of FileMaker record locking.

Hazards of Record Locking

If your system has a dashboard-style layout that uses a table full of global fields, multiple people can edit the values in those global fields simultaneously. However, as soon as you add a non-global field to that table, the record becomes locked when anyone edits fields on the dashboard, even global fields. It can be puzzling for users when a dashboard suddenly stops working due to record locking.

If you’re trying to edit schema in a table while another user has locked a record in that table, you will be prevented from saving your changes until the lock is released. This can occur frequently in a busy system with many users, and is annoying at best and halting at worst.

Additionally, if a user’s cursor is sitting in a record they’ve locked and they walk away from their computer, the record is totally uneditable while they’re gone. A user with administrative credentials can kick them out of the database by using the admin console, which is again annoying at best and halting at worst.

Benefits of Record Locking

First and foremost, record locking ensures data integrity by guaranteeing that the data you’re working with is the most current. In FileMaker, data is always “live,” meaning that users see updates immediately. If you are in New York editing a record, and I’m in Los Angeles looking at the same record, as soon as you hit “enter” or move out of the record, those edits are reflected on my screen immediately. While you are editing fields in that record, I am able to see the last saved version, but I’m not able to make any changes to that record while you’re editing. I also can’t see what you’re editing until the record is committed due to record locking.

This benefit is extremely useful for multi-user environments. In FileMaker, there’s never a need to manually resolve conflicts between users, because there’s no way for two users to make simultaneous and conflicting edits to a database record. Once a user is finished making changes, the next user can make changes. There’s an argument to be made that perhaps FileMaker could allow field-level locking instead of record-level locking, which would allow people to edit portions of a record without conflicting, but there may be technical or practical challenges involved that currently put this solution out of reach.

Conclusion

Record locking provides instant, accurate data for multi-user environments. While the message “You cannot use this record until “User (User)” is finished” can be frustrating, the benefits of record locking outweigh the hazards.