FileMaker Go solutions that are installed locally on the iPhone or iPad provide a better over-all user experience because they are faster than hosted solutions and can work even when you don’t have a good connection. Once you decide to go down this path, you are faced with two problems. First how do you exchange data with the hosted FileMaker Application? Second, how do you deploy new versions of your solution to your users in the field? These turn out to be fairly complex problems. GoZync was designed to solve them!
Deploying New Versions
GoZync handles sending out updated solution files to your users. When you create a new version of your FileMaker Go application, you can use GoZync’s scripts to upload a copy to the GoZync file on the server. People in the field can then check to see if a new version of the FileMaker Go file they are using is available and with a single button press download and install the new version. The end user experience is seamless and folks don’t need to return to the office or plug in to get new builds. Crucially, this means you can continue developing and enhancing your FileMaker Go solution after you’ve deployed it to your users in the field.
As a developer you just need to decide under what conditions you want allow downloading and installing of the new file. You might decide that they have to upload any new data first before downloading the new version or you might decide they can only get new versions on Tuesday. Its really up to you and you control this logic using normal FileMaker techniques. There are no plugins, or anything else extra. Its just plain FileMaker scripts, and calculations.
Exchanging data with the hosted version has to be done in a transaction safe way, so you can be sure that your data is uploaded or downloaded correctly even when there is a shaky interent connection. GoZync provides a framework for mapping tables and fields from the hosted version to the mobile version and back again. It handles repeating fields and container fields as well. Again, the logic that describes this mapping is all done with straightforward FileMaker techniques. Following the step by step instructions, you create and edit relationships, layouts scripts and tables. Once the mapping is inplace, GoZync handles the transaction-safe data exchange.
As the developer of the solution, you do need to decide what found set of records get exchanged and when. Exchanging all records all the time is almost certainly going to be problematic. Exchanging data does take some time, so exchanging thousands of records all the time is going to frustrate your users. You’re also going to have issues of conflict resolution to deal with. Whose changes are saved when two users edit the same record on their iOS device? You are better off if you give your mobile users just the data that they need. No more, no less.
Again coding that logic is done with just plain old FileMaker techniques. You tell GoZync what records to send up to the host or down to the mobile device, by writing some FileMaker Script Steps that produce a found set of records. For example, you could find all the “pending” orders for the logged in user. Given that found set, GoZync takes over from there and peforms the exchange. You can also add your own logic to the system by setting a field to mark a record as “Checked Out” vs “Pending” after the record has been downloaded. The business logic is up to you.
GoZync provides the framework for doing the hard parts and you, as the developer, teach it about your solution using normal every day FileMaker techniques. GoZync has excellent documentation to help you get through this. Some of the documentation is even auto generated using your table names and field names to make it even easier.
However, If you need some help, we can do the integration for you. We can inject GoZync into your solution files and setup the data exchange for you. If that’s enough we can stop there and let you finish coding what records to send and when. Or we can take it all the way and code the entire process for you.
For more infomation on GoZync please visit the GoZync web page.