Transactional
What does it mean that GoZync is "transactional"?
(It means that we care about your data)
\=)
A transaction means that everything associated with a record stays with the record. In a sync context that means the record, and all its related records, are bound together in an indivisible package. You, as the developer, control which tables are included in the package using the "required" column on GoZyncHosted's configuration tab. Transactions can also include any additional set fields that have to happen on either the mobile or hosted side--things like notifications or checkout.
In a transactional sync, all of that goes with the record, or none of it goes. Without transactions, some or all of that could happen per record, per sync. Fo example, when you have a shaky connection, or turn off your device mid-sync, you could sync an invoice, but not its line items. Or sync the invoice and its line items, but not send the notification. Or sync the invoice, fail the line items, and the send the notification anyway.
While you'll see this on FileMaker networked solutions sometimes (usually as incomplete records, or totals that don't match) you see it much more often in distributed (FMGo) solutions where disconnect and record lock can be common.
GoZync eliminates the possibility of incomplete syncs by enclosing all of the data within a transaction envelope. If a transaction completes a Zync, it's complete. If it fails because of connection problems, it leaves the data untouched.
Transactions are what let us say that when you see "uploaded" on a Zynced record in your mobile file, you know that record made it to the host / server.
Learn more about transactions.
Todd Geist, co-author of GoZync, pioneered the concept of transactions for FileMaker Pro. Read more on this here:
The FileMaker Transactions reference page
Why "import records" doesn't work for sync:Â transactions and syncing.
Older Articles: filemaker-go-and-transactions and inventory-transactions.
Wikipedia definition:Â http://en.wikipedia.org/wiki/Database_transaction