Todd and I spent a week in Seattle together finishing up the latest version of GoZync: version 5. (GoZync is our scriptable sync framework for FileMaker: free and pro versions are available.) It’s hard to believe GoZync is now 3 years old, the first version having been released in June 2011. We’ve synced a lot of files since then. =)
Faster FileMaker Sync
You’ll see substantial speed improvements when pulling records down to your mobile device thanks to the new Perform Script on Server (PSOS) script step. This radically reduces the time it takes to determine which records have changed, and makes the biggest difference in cases where there are a large number of potential records but only some of them have changed since the last sync.
(PSOS requires FileMaker Server 13, though GoZync will sync without PSOS on FileMaker Pro and on earlier versions of FileMaker Server.)
Here’s an example with 100,000 records; 5,500 on this iPad; 100 records changed on the server and pulled down to iPad; 50 fields.
3:20 min (GoZync 4)
32 seconds to pull (GoZync 5)
Easier to Mod & Better Example Files
GoZync 5 continues our theme of making the sync easy to get inside of and to modify. With this version we’re including a set of demo files (hosted and mobile files) that demonstrate two of the most frequently scripted mods our customers make in their syncs: checkout and filtering.
Checkout: GoZync lets you edit both sides of a transaction during the sync, so you can mark a hosted record as checked out inside the same transaction used to pull the record to your iPad. Marking a record as “checked out” not only confirms that your mobile user grabbed it, but lets you lock the record back at the office if you want to.
This same scripting can be used to edit related records when orders are “checked back in”–things like updating a customer’s outstanding balance or scheduling follow up actions can be done inside the sync as well: and that can make the difference between your mobile users having the latest information versus having just recent information. This is a big difference between transactional syncs like GoZync and eventually consistent syncs like MirrorSync.
Filtering: The key to a great mobile experience is making sure users have the records they need to work with right in front of them. They shouldn’t have to wade through old or irrelevant records to get their work done: and they shouldn’t have to wait through syncing records they’ll never look at. Filtering in GoZync lets you use simple scripted finds to control which records a user pulls down to their iPad. “My active orders” or “my patient visits for today” are common filter setups but you can make these as specific as you’d like: in GoZync you script a find request–any find request–and GoZync looks within those results for records that have changed since the last sync.
GoZync also manages the records on your iPad: records no longer matching your filters–orders that are now closed or assigned to someone else–are removed from the iPad after they’re synced. To get a sense for how cool this is for your mobile users, watch this 1 min video demonstration how our example file manages “my work orders” on an iPad.
Note that in GoZync 5 the scripts for filtering are now in your hosted file: this means you can tweak the found sets sent to your iPads without distributing new mobile files. That’s cool.
Why a new version of GoZync
We originally built GoZync because we knew folks would want their FileMaker Go solutions to work offline, and that FileMaker’s import script step just isn’t reliable when it came to syncing related records.
Three years on and we still think GoZync is the best sync framework out there, and the only one we’d trust in our custom work. This new version is the product of years of sync experience and support: helping hundreds of customers craft a sync specific to their needs.
Faster FileMaker syncs come from doing what FileMaker does best: setting fields vs parsing text or web publishing.
All other engines on the market do some form of packaging and processing–just like the first version of GoZync did. But packaging (putting all the information about a record or a sync into a big text block) and parsing packages degrades with depth, with bigger records or more records being edited.
GoZync 5 also builds in some simple filters so you can test on a subset of your database instead of syncing the whole thing while you’re in development.
During a sync transaction, your scripts are running within a context encompassing both the local and hosted records: you can do almost anything from there. GoZync enables workflows that are impossible with any other engine.
And all that script logic is an an unlocked file that you can follow with the script debugger and inspect with GoZync’s logs.
Still Just FileMaker
No other engine relies on simple FileMaker techniques to the degree that GoZync does. No ExecuteSQL, No black boxes. That makes GoZync easy for third-party hosting providers as it’s just another FileMaker Pro file: and in GoZync 5 there is only one new file to add to your hosted solution (vs two in GoZync 4).
Still Designed for Continuous Development
We know you’ll keep working on your files after you deploy, and that your mobile and hosted solutions will diverge over time. Hosted solutions tend to get more complicated as new reports and features are added; mobile solutions tend to get simpler as you incorporate feedback from your users and more tightly focus the mobile app.
GoZync lets you deploy new versions without re-integrating GoZync: adding fields, layouts, and scripts can even be done without touching any of GoZync’s scripts (you have a couple script steps to add when you add new tables). Delivering new files is done from within GoZync– no iTunes required–and it’s kind of like getting a file from your own FileMaker App Store. =) Watch a movie of this in action if you haven’t seen GoZync deliver a new file yet.
Transactions = Trust
Transactions mean that if something happens during a sync the whole transaction is reverted along with all edits, even those to related records. So if you disconnect mid-sync, you won’t have partial records on the iPad or the server: FileMaker transactions are the only thing that can ensure this doesn’t happen.
If transactions are a new topic for you we highly recommend this introduction by Todd Geist: transactions aren’t just important for syncing–most of us run into them first when doing inventory or financial solutions–so it’s worth wrapping you head around them.
How can I get it?
I’m already using GoZync
- GoZync 5 is a paid upgrade and licensed users of any prior version of GoZync are eligible. (Anyone who purchased the zync engine since May 1 is eligible for a free upgrade and should have heard from us already.)
- You can purchase an upgraded engine and licenses here.
- Once you’ve got the new files and license, much of the work in migrating to GoZync 5 is re-integrating GoZync into your solution, but don’t worry some of your work (like defining fields and making layouts) can be reused. Migration instructions are here.
I’m new to syncing