This is part 3 of a video series on FileMaker Transactions. It might be helpful to watch part 1 and part 2 first. But it’s not required. In this video we took a look at why transactions are important to syncing FileMaker and FileMaker Go. We use GoZync, our fully transactional sync framework, to demonstrate why transactions are so important to sync.
There are two key data transfer problems that you must overcome if you expect to be able to reliably sync data. Since both of them involve updating more than one record at a time, they are best solved with transactions.
The first problem is subtle, but important. At the end of a sync both sides , Server and Client, should agree on what just happened. By wrapping the transfer of records inside a single transaction, GoZync ensures that when a commit is successful both sides know it. It also means that when a transfer fails both side know that as well. There is no ambiguity as to what happened
The second one is maybe more obvious. It has to do with how entities that are made up of more than one record are handled. The example we use in this movie are Work Orders. WorkOrders are a single thing or entity, made up a WorkOrder record and one or more related WorkOrderItem records. We show how GoZync uses transactions to ensure that changes made to both WorkOrders and WorkOrder Items are bundled together into a single transaction and transferred up to the Server.
In the video we show how using a non transactional process like import to sync your records can leave your data in an unknown state. Some of the data may be wrong and it can be very difficult to tell exactly what’s wrong. We then show how using GoZync protects against this problem.
Download the example files!
- Part 1 – Fixing Slow FileMaker Reports
- Part 2 – Simple FileMaker Transactions
- Part 3 – Syncing With Transactions