2 Replies Latest reply on May 3, 2012 10:22 PM by sparrow_design

    Offline work with synchronization later




      Can you drect me to information on how to work offline and synchronize files to the same database later. I want to have this option in the event our network access goes down.

        • 1. Re: Offline work with synchronization later

          This is a feature I believe everyone wants to see added to FileMaker, but as of now, you pretty much have to script something yourself to do it.  I've done it a time or two, I've seen others do it, but there isn't a quick easy way (at least not that I've heard of!)


          There are a few issues to consider if you are going to attempt this:


          Multi User systems (which covers most of what I do) bring in more complications, a single user file can easily be backed up and you can jump to the offline version when needed, and then just replace the file when you are back online, or simply import matching records.


          Of course resolving conflicting records with multiple users making changes offline complicates things drastically.

          • 2. Re: Offline work with synchronization later

            Hello again,


            For those times when you need to use an off-line (non-Served) copy of your DB, consider having the field 'mod_timestamp' (auto-enter modification timestamp, always replace) in each of your tables - then use this field to help isolate the Records that need to be synced. This can reduce your work considerably, especially if you have a script that finds these records for you (only the 'found' records will be recognized for import purposes into main Server-file.


            Keep these things in mind:


            1. Importing comes in flavors - you will want to write a Script that saves the following import for each table:


            Field Matching by Field Name

            Update Matching Records on Serial # or UUID ( <=> )

            Do not auto-enter

            Add remaingin records as New


            2. if you use normal incremental Serial # fields, not UUID's. If your off=line copy was copied 'before' the server-file went down, the serial #'s that you now create in off-line copy will be 'used' already by Server-file. Reset these Serial #'s much higher before creating new Records in off-line copy.


            Then, when you import these records, you will need to reset the same numbers to 1 higher in Server-file. This task can be performed automatically by a Script that uses Funcition 'SetNextSerial (FileName::FieldName ; number )' runfrom the last imported record.