I would like to develop an app for a friend and periodically publish updates without affecting his data. Can I do this with FM 16 Pro Advanced?
The short answer is Yes.
The long answer is that it is possible, but what you update and how the actual updates are implemented can vary. You usually end up with 2-3 files interacting to make this happen. If you want to retain a single file format you will be getting the new file and then moving all the data from one file to the other table by table.
The details of the best ways to do this are always the topic of much lengthy discussion.
Thanks, seems potentially messy. Might need to rethink my method.
Depending on the scope of your project using multiple files like bigtom suggested is a lifesaver in the long run...!
Check out this short article for more infos on using an MVC (Model – View – Controller) approach with FileMaker.
Thanks for this, I’m new to Filemaker though been writing databases for 30 odd years. Still, need to learn to walk before I try running. Will read up on the article you sent and see how that helps me.
How is the application deployed? If it is on FM Server you get a lot of flexibility to use multiple files and the user will not really notice.
If it is on iOS you can use the FM iOS SDK and the user will never really see anything other than the single app.
Could also use FM Server and the iOS SDK together.
If it is local to desktop and you want a single file you will end up with the full data transfer on updates, but this is usually pretty fast.
If it is a Runtime you can have multiple files in the runtime folder and the user does not really notice.
If the schema is never really touched and only the UI changes you may want to do a search for "data separation model" and see if that might work for you.
Wow, thanks Tom, I think. Only just started to use Filemaker so probably trying to run before I can walk. Been developing databases for about 30 years but need to now learn how Filemaker puts it all together.
As I am approaching retirement, I see this as more a friends and family project so will not be doing sellable apps or server type deployments. Still trying to get my head around different techniques. Would like to create peer-to-peer type app using static IP address but need to learn how to do this
The project I’m considering has not started and I might develop this on a windows platform using the 4GL database I am extremely familiar with. Saves me a lot of time while I am learning.
Separating the data from the interface/logic file isn't a big issue, mostly(!) it is just pointing the interface file to the data file(s) using the File:Manage:External Data Sources menu. This allows both upgrade and downgrades that can be applied in seconds.
After that, setup the table occurrences and links in the interface file as normal, but using the data file as the source for these. Options such as global fields can remain in the interface file, as in general they hold no permanent data and are independent of the table occurrence links.
New fields do have to be created in the data file, but you can bring back a backup after adding these and continue developing offline.
We couldn't survive without this method. However, if you're still not keen, do please have a look at 360Works 360Deploy at 360Deploy: Painlessly Rolling out Developer Solutions which allows new features to be added to existing databases.
Wow, thanks Andy. Only just started to use Filemaker so probably trying to run before I can walk. Been developing databases for about 30 years but need to now learn how Filemaker puts it all together.
We wish you the best, hope it goes well.
Retrieving data ...