Search the Community
Showing results for tags 'roundtrip'.
Found 1 result
Joshua Willing Halpern posted a topic in FM EasySyncHi. I noticed that when using EasyDeploy, the new file will not pull records the client pushed just before updating. This is because the client will not pull records that have the same ES_Device_ID despite their ES_UTC_TIME being greater than the last sync timestamp of the updated file (file stored in 'database_container' on server's EasyDeploy table). i.e. Client A has version 1 and new version is listed as 1.1. Client A pushes a record to server and then updates his file with EasyDeploy The new file opens and does not contain any of the records created by Client A after the last sync stamp of the updated file. Even after syncing again, Client A does not have these records because the matching ES_Device_ID prevents them from being pulled. One solution is to append the ES_Device_ID field with the current version #. That way the device field in the above example would read <deviceID>1.0 for the pre-updated records and <deviceID>1.1 for any records created on the new file version. Since records with <deviceID>1.0 and <deviceID>1.1 do not match they will be pulled as if another device created them. A couple other things need to be changed to work: Create a field in EasyDeploy called EasyDeploy::Current_Version that stores the current version #. Update the ES_Device_ID field auto-enter calculation in all sync tables to Let ( trigger = GetField ( "" ); If ( IsEmpty ( $script_override ) ; Get ( PersistentID ) & EasyDeploy::Current_Version ; Self ) ) Update the 'EasySync Settings Client' script so that: $$client_version [ EasyDeploy::Current_Version ] Update the 'Pull Payload' script so that line 3 of $pull_parameters reads 'Get ( PersistentID ) & $$client_version & ¶ &' Update the 'Push Payload' script so that line 4 of $settings_info reads 'Get ( PersistentID ) & $$client_version & "</setting>" & ' To test it out. Save a new file version and update the database_container field on server (and increase the version number field). Then create a new record or two on the client and press sync. When prompted, perform the version update. After update check to see if that new record or two is missing (it should be). Sync again and voila they should appear. Do this same test with the existing EasySync and the records will not appear after post-update sync. Apologies for the long-windedness. I don't think this applies to everyone and a little extra description of the problem was required. Best, Josh