From SeedCode Documentation

GoZync5: One-Page Tutorial

Follow the instructions on this one-page guide for a trouble-free GoZync integration. Be sure to do the steps in order. A longer, more descriptive version of our integration instructions are here.

Follow along with a 23-minute movie of a sample integration using these instructions. NOTE: In the video, the GoZyncHosted section is missing the added step 5. When following along with the video, make sure to follow the written steps below.

Need Help?

Our products are designed so you can integrate them into your own FileMaker solutions yourself following the instructions in our online documentation, and our team is happy to provide any guidance you need at no additional charge. So please don't hesitate to reach out if you get stuck--we can likely get your integration unstuck with a quick phone call or email.

Alternatively, our trained and certified developers can do your integration for you from start to finish. Just pick up our minimum three-hour implementation package ($570) and send us your file (more complex integrations may require more time).

We can also help you build custom features in any FileMaker solution that involves one or more of our products, including customized deployments of SeedCode Complete. For these types of projects that involve custom-built features, please get in touch to discuss the details so we can give you an estimate of the cost and timeline.

Preparing your hosted file

☐ 1. Put your hosted file in the same folder as GoZyncHosted (“Host”). Note: Make sure your file is closed before moving it. Do not move the GoZyncHosted or GoZyncMobile files from their folders at this point.
☐ 2. Make sure each table to be synced in your hosted file has a primary-key field. It should be a Text field, set to auto-enter Get(UUID) by calc. Uncheck the “Do not replace…” setting, and be sure Indexing is set to “All”.
☐ 3. If you already had a primary-key field, you do not need to change the values in existing records (as long as the values are unique), but if you created the ID field AFTER there were already records in the table, you’ll need to populate that field for all existing records. Find those empty records, then use FileMaker’s “Replace Field Contents” command and the Get(UUID) function to populate the new ID field with a unique value in all found records. Note: if you are going to be duplicating your file to create the mobile version, populate this field in the main file BEFORE you duplicate the file.
☐ 4. If you don't have a separate mobile file, duplicate your hosted file and add “_mobile” to the name (make sure the file is closed before you duplicate it), then move it to the same folder as GoZyncMobile (“Mobile”).
☐ 5. Copy two fields (gz_ModTimeStamp and gz_id_ListOF) from the WorkOrders table in WorxHosted, and paste them into each table to be synced in your hosted file. If you don’t have FileMaker Advanced, you’ll need to recreate these fields manually, matching all options.
☐ 6. Repair the gz_id_ListOF field if necessary (the field definition will break when pasted if your ID field’s name is different). Make sure it's a Summary field, defined as “List of[your ID field]”.
☐ 7. Create a “gzh_TableName” TO on the graph for each table to be synced.
☐ 8. Create blank “gzh_TableName” layouts for each table to be synced, associate each of these layouts with the TO of the same name. These layouts can remain empty (no fields).
☐ 9. Copy/paste the “GoZync” scripts folder from WorxHosted into your hosted file (or import it).
☐ 10. Edit the “Setup Go To Related Records (TOName)” script, making sure there is an “Else If” branch for each “gzh_” TO (follow the pattern).
☐ 11. Edit the “Filter Records To Pull” script - Disable or delete the “Omit Multiple Records [No Dialog; 100]” and “Show Omitted Only” steps (leave the “Show All Records” step). NOTE: These steps were removed in build 5.05. Optional: set up filtering if desired.
☐ 12. If you are doing related syncing, make a relationship using the applicable key fields between the parent and child gzh_ TOs on the graph, then write a simple script to update the gz_ModTimeStamp field in the parent record, and set that up to run via the OnRecordCommit script trigger on any layouts where you will be editing the child records.
☐ 13. Add the “If[]” condition shown below at the beginning of your startup script (if you have one) so it doesn’t run when the file is opened via a PSOS call.
If [PatternCount ( Get ( ApplicationVersion ) ; "Server" )]
ExitScript[]
End If

Preparing your mobile file

☐ 1. Put your mobile file in the same folder as GoZyncMobile (“Mobile”).
☐ 2. Copy/paste these three custom functions from WorxMobile into your mobile file: URLScheme, IsNativeApp, and __GoZyncMobile__. Copying custom functions requires FileMaker Pro Advanced. If you don't have access to Advanced, feel free to reach out and we'll be glad to do this step for you.
☐ 3. Make sure each table to be synced in your mobile file has a primary-key field. It should be a Text field, set to auto-enter Get(UUID) by calc. Uncheck the “Do not replace…” setting, and be sure Indexing is set to “All”.
☐ 4. Copy/paste the “gz” table from WorxMobile into your mobile file.
'''☐ 5. Copy four fields (gz_ModTimeStamp, gz_LatestAction, gz_Send and gz_TimeStampZynced) from the WorkOrders table in WorxMobile, and paste them into each table to synced in your mobile file. If you don’t have FileMaker Advanced, you’ll need to recreate these fields manually, matching all options).
☐ 6. Copy/paste the “GoZync” scripts folder from WorxMobile into your mobile file (or import it).
☐ 7. Edit the Go to Layout step in the "Zync - Is a new version permitted" script to use a layout that is associated with the primary TO you're syncing. The layout you use should have no script triggers on it. Duplicate the "Find any unsent records" section to check additional tables for unsynced records before allowing mobile users to update and overwrite their mobile file.
☐ 8. Add a “Sync Now” button somewhere on the user interface that runs the “Zync It - Everything” script.
☐ 9. Add a “Check for Updates” button somewhere on the user interface that runs the “Zync - Check for Updates” script.

GoZyncMobile

☐ 1. Add TOs to the Relationships Graph for each of your hosted and mobile tables to be synced (prefixed with "gzh_" and "gzm_", respectively), adding new External Data Sources as necessary.
☐ 2. Establish relationships between each of your TOs and the GoZync TO, using the “=” operator to connect GoZync::PrimaryID to gzh/m_YourTable::YourIDField, with the “Allow creation…” option turned on on the “gzh/m_” side of the relationship.
☐ 3. Remove any TOs you won’t be using (gzh_WorkOrderItems, etc).
☐ 4. Edit the "PSOS Config" script. Change the "Else If[]" condition to $TOName = "gzh_YourTable", and have the Perform Script step run your hosted file's "GoZync Call from GZM" script. Make sure its parameter is set to "Get (Script Parameter)."
☐ 5. Edit the “Setup Go To Related Records (TOName)” script, making sure there is an “Else If” branch for each “gzm_” TO (follow the pattern).
☐ 6. Edit the "Finish Sync" script, changing If["1=0"...] to If["1=1"...] so the hosted files are closed after syncing. NOTE: This default setting was changed to "1=1" in build 5.05. Specify your hosted file in the "Close File" step.
☐ 7. Layouts - Create “gzh_TableName” and “gzm_TableName” layouts for each table to synced, then add the fields you want to sync. Don’t include calc fields, summary fields, global fields, the primary key field (ID), or any of the “gz…” fields.
☐ 8. Delete any gzm_ or gzh_ layouts for TOs you aren’t using.
☐ 9. External Data Sources - Delete WorxHosted and WorxMobile entries.

GoZyncHosted

☐ 1. Close the WorxHosted and WorxMobile files (check the “Window > Show Window” list to make sure they aren’t still open in the background).
☐ 2. Move the WorxHosted and WorxMobile files to a different folder (or to the trash).
☐ 3. Delete “GoZyncMobile” and “WorxMobile” from the “Downloads” screen in GoZyncHosted.
☐ 4. Select “Relogin” from the Scripts menu to log in as “administrator” (Password is on the "License Admin" tab).
☐ 5. Edit the "Call Test GTRR in their Hosted File" script. Change the "Else If[]" condition to $TOName = "gzh_YourTable", and have the Perform Script step run your hosted file's "TEST Go To Related Records (Parent and Child To Test)" script.
☐ 6. Click the “Refresh and check for errors” button on the Configuration screen.
☐ 7. Click on any caution icons that appear for guidance on how to correct errors.
☐ 8. If you are going to use related syncing, click the “Requires” column and follow the prompts.

Run a Sync

☐ 1. Edit a record in your hosted file (commit the change), then click that "Sync" button in your mobile file. The record you changed in the hosted file should change in the mobile file.
☐ 2. Edit a record in your mobile file (commit the change), then click that "Sync" button. You should see the same change in the hosted file.
If you encounter any errors or unexpected results, consult our troubleshooting page for help.

Deployment

☐ 1. Move the hosted files (GoZyncHosted and your hosted file) to your host computer, and open them in FileMaker Server (or FileMaker Pro).
☐ 2. Update the External Data Sources in GoZyncMobile for GoZyncHosted and your hosted file to reflect their network paths.
☐ 3. Run the “Prep and Upload new File” script from your mobile file. This inserts copies of the mobile files into container fields in the GoZyncHosted file.
☐ 4. Send an email to your mobile users with link to GZH “Downloads” screen. From here your mobile users can download the mobile files directly to their devices.
Retrieved from http://archive.seedcode.com/pmwiki/index.php?n=GoZync5.Tutorial
Page last modified on September 17, 2019, at 12:01 AM