A common request that we receive from users is to have the ability to use an iOS FileMaker solution offline and sync it back with the server later.
There could be a number of reasons for this request, but the most frequent one we hear is because of an unreliable or non-existent Internet connection. This offline method, while great for a lot of reasons, can present some challenging maintenance issues.
Today’s blog will look at a method for pushing an updated version of an iOS solution to an end user without losing any of their existing data and without requiring much effort on their end.
Once a solution has been deployed and then additional improvements have been made to it, we face the challenge of how to install an updated version onto their mobile device without wiping out any data.
Virtual lists
Before performing this process, you should have a bit of FileMaker scripting and calculation knowledge as well as know how to use virtual lists. If you’re not familiar with virtual lists already, check out Seed Code’s virtual list example and read Mighty Data’s tutorial on how to create a virtual list in three easy steps.
Technique
This technique involves three components
- A virtual list to show the user what's currently in their documents folder
- A script to actually set up the virtual list
- A button on the virtual list record to call a script that runs the import
Demonstration
Take a look at this Assets file which provides an example of this process in action. This is a modified version of the Assets file that is included with FileMaker Go. There are no records in the tables that we care about so it’s a good test! Just download it, open in FileMaker Go, select Assets.fmp12 from the list and you’ll have the data from that version in this version.
Please keep in mind that this demo doesn’t include some of the important verification and error checking tasks that you’ll want to handle.
While this isn’t anything groundbreaking, we hope it saves you a headache or two when it comes time to push out your first update to end users of your offline mobile solution in the field!
About the Author
Mike Beargie has been with MainSpring since 2013 and has over 10 years of application development experience. As a developer, he creates solutions for clients in a wide variety of sectors across the U.S. and abroad. Prior to working at MainSpring, Mike worked as the lead developer for a consulting company, serving high profile political, special interest and nonprofit clients in the Washington, D.C., and Columbus, Ohio, markets. Mike regularly presents solutions and best practices to the FileMaker development community around the country, and is well known as an answer man online as well. In 2014 and 2016, Mike was recognized with the FileMaker Excellence Award for community contributions. Mike is a man of many hobbies, including woodworking, home brewing, art and music.