Build 3.16 (Nov 21, 2012) makes a number of changes to harden GoZync and speeds up a whole class of syncs. We've also improved our SQL and introduced better error trapping to make integrating GoZync easier.
We recommend this for all users of 3.14. If you're already up and running these changes will make the addition of new sync tables easier and should give you a speed bump, especially when pulling records down from the host if there are container fields involved.
The Changes
To make these changes please backup your files (really) and then download a copy of 3.16 from our site. You'll copy and paste the following elements from that build into yours. (If you're using a version earlier than 3.14, get that up to 3.14 here before moving to 3.16)
Please follow these steps in order; this looks like a long list but it goes quickly, so take your time.
CUSTOM FUNCTIONS (in GoZyncHosted)…
- Add the following custom function (copy and paste this from 3.16):
- gz_Package_AddTo
Modify the following functions by replacing the function definition (the calc part) with that from 3.16:
- gz_GetIDs
gz_Package_AddFieldValuePair
gz_UseZyncDB
Delete the following function:
- gz_Package_AddAttachment
SCRIPTS (in GoZyncHosted)...
- Begin by renaming the script
- Build Package - FLM OFF to "Build Package for Found Set"
Add the following scripts (copy and paste this from 3.16):
- Compact $$gz_PackageData
Add Data To Package With FLM
Field Exist on Layout - Hosted
Field Exist on Layout - Mobile
Modify the following scripts by replacing all the script steps with the steps from the 3.16 version:
- Startup -{ runs only once }-
Create Package FROM TO ( List( $TOName | LastZyncID | RecordID ))
Pull A Single TO (TOName | LastTimeZync | RecordID)
Prepare Outbox For New Package
Get IDs For Found Set (PrimaryIDFieldName, Separator)
Get Fields { FileName } (LayoutName; LayoutTableName)
Build Package for Found Set
On Setup 2 of 4 Load
Check Main Layout's Configuration - Hosted ( 1 of 4 )
Check Main Layout's Configuration - Mobile ( 1 of 4 )
Check Required Fields & Scripts ( 3 of 4 )
Delete the following scripts:
- Reset Header and Data
Build Package - FLM ON
Serialize Layout ( PrimaryID )
Add Attachments to Outbox
CUSTOM FUNCTIONS (in GoZyncMobile)
- Modify the following functions by replacing the function definition (the calc part) with that from 3.16:
- gz_GetIDsToSend
gz_UseZyncDB
SCRIPTS (in GoZyncMobile)
- Modify the following scripts by replacing all the script steps with the steps from the 3.16 version:
- Startup -{ runs only once }-
Push One TO ( TOName | RecordID)
Check Network Connection
Cache Fields On Layouts (LayoutName; LayoutTableName)
Serialize Layout ( PrimaryID )
Parse Package (Package)
ProgressBar ( Percent )
Finally, you need to make a change to the graph in GoZyncHosted. Add the field DeviceIDUnstored to the GoZync table, copying it from the latest version. Be sure the calc is set to be unstored. Next, change the relationship between GoZync and Outboxes to use this field as shown below, making sure the "Outboxes" side of the relationship is to to "Allow creation of records in this table..."
Now edit the field Interface::GoZyncCodeBase in GoZyncHosted and change the build number to 3.16...you did it.
Enjoy!